@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
@@ -1,4 +1,4 @@
1
- "use client";import{a as Je}from"./chain-hint-c7994aad798ef430.js";import{a as ze,b as Ue,c as Ge,d as Ve}from"./agent-pills-f07bea43753a9342.js";import{b as Ye}from"./instructions-9f173d4229d9b77e.js";import{a as Qe}from"./agent-toggle-dabbca2fe4006852.js";import{a as Fe}from"./connect-repositories-90f1aedea6de7a99.js";import{$0a as j}from"./shared-init-02666a6f76606589.js";import{$1c as We}from"./shared-init-02666a6f76606589.js";import{a as je,d as qe,h as He,l as _e}from"./model-options-5e07b3318d69d218.js";import{b as Ke}from"./types-3eca2c7f47c46054.js";import{a as Me}from"./segmented-15503e745dd97f56.js";import{a as F}from"./field-444bab2e16b91c26.js";import{$1a as V,$1b as Q}from"./shared-init-a69029db2d72fb52.js";import{$0g as G}from"./shared-init-a69029db2d72fb52.js";import{$1m as xe,$1n as ne}from"./shared-init-7a7f1e623f0f5861.js";import{$2B as te,$2C as $e,$2D as U,$2a as W,$2i as Ee,$2j as Be,$2k as ee,$2p as Ne,$2v as z,$2z as Oe}from"./shared-init-7a7f1e623f0f5861.js";import{$0c as N,$0g as Re,$0h as X,$0k as M,$0l as Ae,$0m as Te,$0n as Le,$0p as De,$0r as Z}from"./shared-init-7a7f1e623f0f5861.js";import"./wular-pnext-3fcac605fffcc273-0.js";import{$4B as Ie,$4H as Se,$4J as J,$4Q as e,$4R as O,$4S as R,$4T as Pe,$4b as ye,$4h as ke,$4t as K,$4y as Ce}from"./shared-init-7a7f1e623f0f5861.js";import"./shared-init-3fcac605fffcc273-2.js";import"./shared-init-3fcac605fffcc273-2.js";import{$2c as P,$2h as I,$2j as _,$2l as we}from"./shared-init-3fcac605fffcc273-2.js";var Y=2,Xe=({name:n,platform:o})=>e("li",{children:[e("b",{children:["@",n]})," on ",o]},`${o} ${n}`);function Ze({agent:n,actions:o,back:u}){return e(P,{children:[e(Be,{}),e("header",{class:"hero",children:[e("span",{class:"hero-mark",children:G(n.name)}),e("div",{class:"grow",children:[u,e("div",{class:"title-row",children:[e("h1",{children:n.name}),e(Ve,{agent:n}),n.settings?.disabled?e(Qe,{agent:n,link:!0}):null]}),e("p",{class:"lead",children:n.description??"No description yet."})]}),o||n.handles?.length?e("div",{class:"hero-side",children:[o?e("div",{class:"actions",children:o}):null,n.handles?.length?e("ul",{class:"handles",title:"Mention it on its platforms by these names",children:[n.handles.slice(0,Y).map(Xe),n.handles.length>Y?e("li",{children:e(Re,{label:`+${n.handles.length-Y} more`,children:e("ul",{class:"handles",children:n.handles.slice(Y).map(Xe)})})}):null]}):null]}):null]})]})}function et({port:n}){return e(De,{title:"Receive platform events",note:`Expose port ${n} so platforms can reach this server`,open:"Show",children:e("div",{class:"guide",children:[e("p",{children:["Platforms reach this server through a public address. Expose port ",n," with one of these."]}),e("ul",{class:"steps-list",children:[e("li",{children:e("code",{children:["ngrok http ",n]})}),e("li",{children:e("code",{children:["cloudflared tunnel --url http://localhost:",n]})}),e("li",{children:"VS Code's Ports panel, with the port's visibility set to Public"})]}),e("p",{children:["Then restart with ",e("code",{children:"PUBLIC_URL=<tunnel URL> coder server serve"}),". The tunnel serves only webhooks and app setup, never this dashboard."]})]})})}var tt=/^[\w.-]+\/[\w.-]+$/,St=n=>/^[0-9a-f]{12,}$/i.test(n)?n.slice(0,7):n;function Pt({preview:n,onDone:o}){let[u,p]=I(new Set),g=Q({leaves:!0});if(n.failed)return null;if(!n.agents)return e(Z,{label:`Reading ${n.repo}`,h:180,late:!0});if(!n.agents.length)return e("p",{class:"muted",children:[n.repo," has no agents yet. Add a folder per agent under ",e("code",{children:".coder/agents"}),", with an ",e("code",{children:"agent.json"})," and a ",e("code",{children:"system.md"}),"."]});let l=n.agents.filter(i=>!i.taken&&!u.has(i.id)).map(i=>i.id);return e("form",{class:"import-agents",onSubmit:async i=>{i.preventDefault(),l.length&&await g.run("import",async()=>o((await N.agents.import(n.repo,void 0,l)).imported))},children:[e("ul",{class:"picks-list",children:n.agents.map(i=>e("li",{children:e("label",{class:"check",children:[e("input",{type:"checkbox",checked:!i.taken&&!u.has(i.id),disabled:i.taken,onChange:a=>{let r=new Set(u);a.currentTarget.checked?r.delete(i.id):r.add(i.id),p(r)}}),e("span",{children:[e("b",{children:i.name})," ",e(Le,{value:i.id}),i.version?e(M,{children:["v",i.version,i.commit?` \xB7 ${St(i.commit)}`:""]}):null,e("small",{children:i.taken?"An agent with this id already exists here.":i.description??"No description."}),i.warnings?.map(a=>e("small",{role:"status",children:a},a))]})]})},i.id))}),e("p",{class:"muted",children:["Each push to ",n.repo," that changes an agent publishes its new version here."]}),e("div",{class:"form-actions end",children:e(R,{type:"submit",disabled:!!g.pending||!l.length,children:["Import ",l.length===1?"1 agent":`${l.length} agents`]})})]})}function nt({connected:n,connectLabel:o,tunnel:u,port:p}){let g=W(),l=U(),[i,a]=I(),[r,b]=I(""),[w,B]=I(),L=we("");_(()=>{n&&N.repositories.list().then(s=>a(s.map(k=>k.repo))).catch(s=>{a([]),V(s)})},[]);let y=s=>{L.current=s,B({repo:s}),N.agents.preview(s).then(({agents:k})=>L.current===s&&B({repo:s,agents:k})).catch(k=>{L.current===s&&(B({repo:s,failed:!0}),V(k))})},h=s=>s.length===1?g.push("/dash/[org]/agents/[slug]",{params:{org:l,slug:s[0]}}):g.push("/dash/[org]/agents",{params:{org:l}}),D=r.trim().toLowerCase(),q=(i??[]).filter(s=>s.toLowerCase().includes(D)),A=tt.test(r.trim())&&!i?.includes(r.trim())?r.trim():"";return e("div",{class:"import",children:[e("div",{class:"import-repos",children:[n?e(z,{value:r,label:"Search repositories or type owner/repo",onInput:b}):e(P,{children:[e(j,{children:[e(O,{d:K}),e("span",{class:"grow",children:"Connect to list your repositories here."}),e(R,{variant:"outline",size:"sm",onClick:()=>void Fe(`/dash/${l}/agents/new?template=import`).catch(V),children:o})]}),e("form",{class:"with-btn",onSubmit:s=>{s.preventDefault(),tt.test(r.trim())&&y(r.trim())},children:[e("input",{class:"mono","aria-label":"Repository",placeholder:"owner/repo",autocomplete:"off",value:r,onInput:s=>b(s.currentTarget.value)}),e(R,{type:"submit",variant:"outline",children:"Look up"})]})]}),n?e("div",{class:"repo-list scroll-box",role:"list",children:i?e(P,{children:[A?e(ee,{"aria-pressed":w?.repo===A,icon:K,title:A,onClick:()=>y(A)}):null,q.map(s=>e(ee,{"aria-pressed":w?.repo===s,icon:K,title:s,onClick:()=>y(s)},s)),!q.length&&!A?e(Ne,{children:"No repository matches. Type owner/repo to use another."}):null]}):e(Z,{label:"Loading repositories",h:240,late:!0})}):null,!n&&u?e(et,{port:p}):null]}),e("div",{class:"import-preview",children:w?e(P,{children:[e("h3",{children:["Agents in ",w.repo]}),e(Pt,{preview:w,onDone:h},w.repo)]}):e("p",{class:"muted",children:"Pick a repository to see the agents in its .coder/agents folder."})})]})}var st=[["Brisk","Calm","Clever","Keen","Nimble","Quiet","Steady","Swift","Tidy","Bright","Patient","Lucky"],["Heron","Otter","Falcon","Lynx","Badger","Relay","Beacon","Compass","Lantern","Pilot","Sparrow","Harbor"]],ot=n=>n[Math.floor(Math.random()*n.length)],it=()=>`${ot(st[0])} ${ot(st[1])}`;var rt={auto:"Changes things too, like opening pull requests; the engine reviews what leaves the sandbox.","read-only":"Reads files, platforms and connections; replies and reacts in the conversation."},Rt={name:"agent-name",description:"agent-name",integrations:"agent-platforms",engine:"agent-run",model:"agent-run",effort:"agent-run",access:"agent-run",permissions:"agent-run",runner:"agent-run"},at=n=>Rt[n.split(/[\s:.]/)[0]],At=[["blank","Blank","start from nothing"],["helper","Slack helper","answers questions in chat"],["reviewer","GitHub reviewer","reviews pull requests"]],Tt=6,Lt=`You review this team's pull requests.
1
+ "use client";import{a as Je}from"./chain-hint-dcb6933d6f8a6324.js";import{a as ze,b as Ue,c as Ge,d as Ve}from"./agent-pills-1414a96077ec37de.js";import{b as Ye}from"./instructions-7b1485330fc4e8fd.js";import{a as Qe}from"./agent-toggle-d14e2838d11ab0f7.js";import{a as Fe}from"./connect-repositories-3a317a5db3ea50b1.js";import{$0a as j}from"./shared-init-5734a91cdb78a173.js";import{$1c as We}from"./shared-init-5734a91cdb78a173.js";import{a as je,d as qe,h as He,l as _e}from"./model-options-5e07b3318d69d218.js";import{b as Ke}from"./types-3eca2c7f47c46054.js";import{a as Me}from"./segmented-a994b4c20434c0ad.js";import{a as F}from"./field-7c895f6d8d5d9eb3.js";import{$1a as V,$1b as Q}from"./shared-init-e8cf924a73e46497.js";import{$0g as G}from"./shared-init-e8cf924a73e46497.js";import{$2m as xe,$2n as ne}from"./shared-init-4f4cac48ca0ef193.js";import{$4B as te,$4C as $e,$4D as U,$4a as W,$4i as Ee,$4j as Be,$4k as ee,$4p as Ne,$4v as z,$4z as Oe}from"./shared-init-4f4cac48ca0ef193.js";import{$1c as N,$1g as Re,$1h as X,$1k as M,$1l as Ae,$1m as Te,$1n as Le,$1p as De,$1r as Z}from"./shared-init-4f4cac48ca0ef193.js";import"./wular-pnext-9b28886f3cbe0ed3-0.js";import{$3B as Ie,$3H as Se,$3J as J,$3Q as e,$3R as O,$3S as R,$3T as Pe,$3b as ye,$3h as ke,$3t as K,$3y as Ce}from"./shared-init-4f4cac48ca0ef193.js";import"./shared-init-9b28886f3cbe0ed3-2.js";import"./shared-init-9b28886f3cbe0ed3-2.js";import{$3c as P,$3h as I,$3j as _,$3l as we}from"./shared-init-9b28886f3cbe0ed3-2.js";var Y=2,Xe=({name:n,platform:o})=>e("li",{children:[e("b",{children:["@",n]})," on ",o]},`${o} ${n}`);function Ze({agent:n,actions:o,back:u}){return e(P,{children:[e(Be,{}),e("header",{class:"hero",children:[e("span",{class:"hero-mark",children:G(n.name)}),e("div",{class:"grow",children:[u,e("div",{class:"title-row",children:[e("h1",{children:n.name}),e(Ve,{agent:n}),n.settings?.disabled?e(Qe,{agent:n,link:!0}):null]}),e("p",{class:"lead",children:n.description??"No description yet."})]}),o||n.handles?.length?e("div",{class:"hero-side",children:[o?e("div",{class:"actions",children:o}):null,n.handles?.length?e("ul",{class:"handles",title:"Mention it on its platforms by these names",children:[n.handles.slice(0,Y).map(Xe),n.handles.length>Y?e("li",{children:e(Re,{label:`+${n.handles.length-Y} more`,children:e("ul",{class:"handles",children:n.handles.slice(Y).map(Xe)})})}):null]}):null]}):null]})]})}function et({port:n}){return e(De,{title:"Receive platform events",note:`Expose port ${n} so platforms can reach this server`,open:"Show",children:e("div",{class:"guide",children:[e("p",{children:["Platforms reach this server through a public address. Expose port ",n," with one of these."]}),e("ul",{class:"steps-list",children:[e("li",{children:e("code",{children:["ngrok http ",n]})}),e("li",{children:e("code",{children:["cloudflared tunnel --url http://localhost:",n]})}),e("li",{children:"VS Code's Ports panel, with the port's visibility set to Public"})]}),e("p",{children:["Then restart with ",e("code",{children:"PUBLIC_URL=<tunnel URL> coder server serve"}),". The tunnel serves only webhooks and app setup, never this dashboard."]})]})})}var tt=/^[\w.-]+\/[\w.-]+$/,St=n=>/^[0-9a-f]{12,}$/i.test(n)?n.slice(0,7):n;function Pt({preview:n,onDone:o}){let[u,p]=I(new Set),g=Q({leaves:!0});if(n.failed)return null;if(!n.agents)return e(Z,{label:`Reading ${n.repo}`,h:180,late:!0});if(!n.agents.length)return e("p",{class:"muted",children:[n.repo," has no agents yet. Add a folder per agent under ",e("code",{children:".coder/agents"}),", with an ",e("code",{children:"agent.json"})," and a ",e("code",{children:"system.md"}),"."]});let l=n.agents.filter(i=>!i.taken&&!u.has(i.id)).map(i=>i.id);return e("form",{class:"import-agents",onSubmit:async i=>{i.preventDefault(),l.length&&await g.run("import",async()=>o((await N.agents.import(n.repo,void 0,l)).imported))},children:[e("ul",{class:"picks-list",children:n.agents.map(i=>e("li",{children:e("label",{class:"check",children:[e("input",{type:"checkbox",checked:!i.taken&&!u.has(i.id),disabled:i.taken,onChange:a=>{let r=new Set(u);a.currentTarget.checked?r.delete(i.id):r.add(i.id),p(r)}}),e("span",{children:[e("b",{children:i.name})," ",e(Le,{value:i.id}),i.version?e(M,{children:["v",i.version,i.commit?` \xB7 ${St(i.commit)}`:""]}):null,e("small",{children:i.taken?"An agent with this id already exists here.":i.description??"No description."}),i.warnings?.map(a=>e("small",{role:"status",children:a},a))]})]})},i.id))}),e("p",{class:"muted",children:["Each push to ",n.repo," that changes an agent publishes its new version here."]}),e("div",{class:"form-actions end",children:e(R,{type:"submit",disabled:!!g.pending||!l.length,children:["Import ",l.length===1?"1 agent":`${l.length} agents`]})})]})}function nt({connected:n,connectLabel:o,tunnel:u,port:p}){let g=W(),l=U(),[i,a]=I(),[r,b]=I(""),[w,B]=I(),L=we("");_(()=>{n&&N.repositories.list().then(s=>a(s.map(k=>k.repo))).catch(s=>{a([]),V(s)})},[]);let y=s=>{L.current=s,B({repo:s}),N.agents.preview(s).then(({agents:k})=>L.current===s&&B({repo:s,agents:k})).catch(k=>{L.current===s&&(B({repo:s,failed:!0}),V(k))})},h=s=>s.length===1?g.push("/dash/[org]/agents/[slug]",{params:{org:l,slug:s[0]}}):g.push("/dash/[org]/agents",{params:{org:l}}),D=r.trim().toLowerCase(),q=(i??[]).filter(s=>s.toLowerCase().includes(D)),A=tt.test(r.trim())&&!i?.includes(r.trim())?r.trim():"";return e("div",{class:"import",children:[e("div",{class:"import-repos",children:[n?e(z,{value:r,label:"Search repositories or type owner/repo",onInput:b}):e(P,{children:[e(j,{children:[e(O,{d:K}),e("span",{class:"grow",children:"Connect to list your repositories here."}),e(R,{variant:"outline",size:"sm",onClick:()=>void Fe(`/dash/${l}/agents/new?template=import`).catch(V),children:o})]}),e("form",{class:"with-btn",onSubmit:s=>{s.preventDefault(),tt.test(r.trim())&&y(r.trim())},children:[e("input",{class:"mono","aria-label":"Repository",placeholder:"owner/repo",autocomplete:"off",value:r,onInput:s=>b(s.currentTarget.value)}),e(R,{type:"submit",variant:"outline",children:"Look up"})]})]}),n?e("div",{class:"repo-list scroll-box",role:"list",children:i?e(P,{children:[A?e(ee,{"aria-pressed":w?.repo===A,icon:K,title:A,onClick:()=>y(A)}):null,q.map(s=>e(ee,{"aria-pressed":w?.repo===s,icon:K,title:s,onClick:()=>y(s)},s)),!q.length&&!A?e(Ne,{children:"No repository matches. Type owner/repo to use another."}):null]}):e(Z,{label:"Loading repositories",h:240,late:!0})}):null,!n&&u?e(et,{port:p}):null]}),e("div",{class:"import-preview",children:w?e(P,{children:[e("h3",{children:["Agents in ",w.repo]}),e(Pt,{preview:w,onDone:h},w.repo)]}):e("p",{class:"muted",children:"Pick a repository to see the agents in its .coder/agents folder."})})]})}var st=[["Brisk","Calm","Clever","Keen","Nimble","Quiet","Steady","Swift","Tidy","Bright","Patient","Lucky"],["Heron","Otter","Falcon","Lynx","Badger","Relay","Beacon","Compass","Lantern","Pilot","Sparrow","Harbor"]],ot=n=>n[Math.floor(Math.random()*n.length)],it=()=>`${ot(st[0])} ${ot(st[1])}`;var rt={auto:"Changes things too, like opening pull requests; the engine reviews what leaves the sandbox.","read-only":"Reads files, platforms and connections; replies and reacts in the conversation."},Rt={name:"agent-name",description:"agent-name",integrations:"agent-platforms",engine:"agent-run",model:"agent-run",effort:"agent-run",access:"agent-run",permissions:"agent-run",runner:"agent-run"},at=n=>Rt[n.split(/[\s:.]/)[0]],At=[["blank","Blank","start from nothing"],["helper","Slack helper","answers questions in chat"],["reviewer","GitHub reviewer","reviews pull requests"]],Tt=6,Lt=`You review this team's pull requests.
2
2
  Point at what matters, skip nits, keep it short.
3
3
  When mentioned, answer plainly and cite the code.`,Et=`You are the team's helper in Slack.
4
4
  Be warm, brief and direct. Say when you are unsure.
@@ -1 +1 @@
1
- import{$4Q as n}from"./shared-init-7a7f1e623f0f5861.js";function m({label:l,hint:e,group:o,children:a}){return n(o?"div":"label",{class:"field",children:[n("span",{children:[l,e?n("small",{children:e}):null]}),a]})}export{m as a};
1
+ import{$3Q as n}from"./shared-init-4f4cac48ca0ef193.js";function m({label:l,hint:e,group:o,children:a}){return n(o?"div":"label",{class:"field",children:[n("span",{children:[l,e?n("small",{children:e}):null]}),a]})}export{m as a};
@@ -1,2 +1,2 @@
1
- import{$4Q as e,$4S as x}from"./shared-init-7a7f1e623f0f5861.js";import{$2b as g,$2h as m,$2k as b,$2l as C}from"./shared-init-3fcac605fffcc273-2.js";function v({lines:c=10,class:t,children:l}){let s=C(null),[p,h]=m(!1),[r,d]=m(!1);return b(()=>{let n=s.current,o=()=>h(r||n.scrollHeight>n.clientHeight+1);o();let i=new ResizeObserver(o);i.observe(n);let u=new MutationObserver(o);return u.observe(n,{childList:!0,subtree:!0,characterData:!0}),()=>{i.disconnect(),u.disconnect()}},[r]),e("div",{class:`collapse${p?" long":""}${r?" open":""}`,style:`--lines:${c}`,children:[e("div",{class:t?`collapse-box ${t}`:"collapse-box",ref:s,children:l}),p?e(x,{variant:"ghost",size:"sm",class:"more-toggle","aria-expanded":r,onClick:()=>d(!r),children:r?"Show less":"Show more"}):null]})}var $=/`([^`\n]+)`|\*\*(.+?)\*\*|__(.+?)__|\*(\S(?:.*?\S)?)\*|(?<!\w)_(\S(?:.*?\S)?)_(?!\w)|\[([^\]\n]+)\]\(([^)\s]+)\)/g,w=/^(?:https?:|mailto:)/i,L=/^\s*(```|~~~)/,S=/^(#{1,6})\s+(.*?)(?:\s+#+)?\s*$/,E=/^\s*(?:([-*+])|\d+[.)])\s+(.*)$/,y=/^\s*(?:#{1,6}\s|```|~~~|[-*+]\s|\d+[.)]\s|\|)/,I=/^\s*\|?\s*:?-+:?\s*(?:\|\s*:?-+:?\s*)*\|?\s*$/;function a(c){let t=[],l=0;for(let s of c.matchAll($)){let[p,h,r,d,n,o,i,u]=s;s.index>l&&t.push(c.slice(l,s.index)),h?t.push(e("code",{children:h})):r||d?t.push(e("strong",{children:a(r||d)})):n||o?t.push(e("em",{children:a(n||o)})):w.test(u)?t.push(e("a",{class:"link",href:u,target:"_blank",rel:"noopener noreferrer",children:a(i)})):t.push(...a(i)),l=s.index+p.length}return l<c.length&&t.push(c.slice(l)),t}var _=c=>c.trim().replace(/^\||\|$/g,"").split("|").map(t=>a(t.trim()));function k(c){let t=c.split(/\r?\n/),l=[];for(let s=0;s<t.length;){let p=t[s],h=L.exec(p),r=S.exec(p),d=E.exec(p);if(h){let n=t.findIndex((i,u)=>u>s&&i.trim().startsWith(h[1])),o=n<0?t.length:n;l.push(e("pre",{children:e("code",{children:t.slice(s+1,o).join(`
1
+ import{$3Q as e,$3S as x}from"./shared-init-4f4cac48ca0ef193.js";import{$3b as g,$3h as m,$3k as b,$3l as C}from"./shared-init-9b28886f3cbe0ed3-2.js";function v({lines:c=10,class:t,children:l}){let s=C(null),[p,h]=m(!1),[r,d]=m(!1);return b(()=>{let n=s.current,o=()=>h(r||n.scrollHeight>n.clientHeight+1);o();let i=new ResizeObserver(o);i.observe(n);let u=new MutationObserver(o);return u.observe(n,{childList:!0,subtree:!0,characterData:!0}),()=>{i.disconnect(),u.disconnect()}},[r]),e("div",{class:`collapse${p?" long":""}${r?" open":""}`,style:`--lines:${c}`,children:[e("div",{class:t?`collapse-box ${t}`:"collapse-box",ref:s,children:l}),p?e(x,{variant:"ghost",size:"sm",class:"more-toggle","aria-expanded":r,onClick:()=>d(!r),children:r?"Show less":"Show more"}):null]})}var $=/`([^`\n]+)`|\*\*(.+?)\*\*|__(.+?)__|\*(\S(?:.*?\S)?)\*|(?<!\w)_(\S(?:.*?\S)?)_(?!\w)|\[([^\]\n]+)\]\(([^)\s]+)\)/g,w=/^(?:https?:|mailto:)/i,L=/^\s*(```|~~~)/,S=/^(#{1,6})\s+(.*?)(?:\s+#+)?\s*$/,E=/^\s*(?:([-*+])|\d+[.)])\s+(.*)$/,y=/^\s*(?:#{1,6}\s|```|~~~|[-*+]\s|\d+[.)]\s|\|)/,I=/^\s*\|?\s*:?-+:?\s*(?:\|\s*:?-+:?\s*)*\|?\s*$/;function a(c){let t=[],l=0;for(let s of c.matchAll($)){let[p,h,r,d,n,o,i,u]=s;s.index>l&&t.push(c.slice(l,s.index)),h?t.push(e("code",{children:h})):r||d?t.push(e("strong",{children:a(r||d)})):n||o?t.push(e("em",{children:a(n||o)})):w.test(u)?t.push(e("a",{class:"link",href:u,target:"_blank",rel:"noopener noreferrer",children:a(i)})):t.push(...a(i)),l=s.index+p.length}return l<c.length&&t.push(c.slice(l)),t}var _=c=>c.trim().replace(/^\||\|$/g,"").split("|").map(t=>a(t.trim()));function k(c){let t=c.split(/\r?\n/),l=[];for(let s=0;s<t.length;){let p=t[s],h=L.exec(p),r=S.exec(p),d=E.exec(p);if(h){let n=t.findIndex((i,u)=>u>s&&i.trim().startsWith(h[1])),o=n<0?t.length:n;l.push(e("pre",{children:e("code",{children:t.slice(s+1,o).join(`
2
2
  `)})})),s=o+1}else if(r)l.push(g(`h${Math.min(r[1].length+2,6)}`,null,a(r[2]))),s++;else if(p.trim().startsWith("|")&&I.test(t[s+1]??"")){let n=[];for(s+=2;t[s]?.trim().startsWith("|");s++)n.push(t[s]);l.push(e("div",{class:"table",children:e("table",{children:[e("thead",{children:e("tr",{children:_(p).map(o=>e("th",{children:o}))})}),e("tbody",{children:n.map(o=>e("tr",{children:_(o).map(i=>e("td",{children:i}))}))})]})}))}else if(d){let n=!d[1],o=[];for(let i;(i=E.exec(t[s]??""))&&!i[1]===n;s++)o.push(e("li",{children:a(i[2])}));l.push(n?e("ol",{children:o}):e("ul",{children:o}))}else if(!p.trim())s++;else{let n=[];for(;t[s]?.trim()&&(!n.length||!y.test(t[s]));s++)n.length&&n.push(e("br",{})),n.push(...a(t[s]));l.push(e("p",{children:n}))}}return l}function K({text:c}){return e(v,{class:"body md",children:k(c)})}export{v as a,k as b,K as c};
@@ -0,0 +1 @@
1
+ "use client";import{b as a,c as b}from"./instructions-7b1485330fc4e8fd.js";import"./shared-init-4f4cac48ca0ef193.js";import"./shared-init-9b28886f3cbe0ed3-2.js";export{b as Instructions,a as markdown};
@@ -1 +1 @@
1
- import{a as g}from"./confirm-6e26ab941d655b9f.js";import{$1a as S}from"./shared-init-a69029db2d72fb52.js";import{$2c as p,$2k as x}from"./shared-init-7a7f1e623f0f5861.js";import{$0c as y,$0f as w,$0o as A}from"./shared-init-7a7f1e623f0f5861.js";import{$4A as k,$4B as h,$4Q as o,$4R as C,$4S as v}from"./shared-init-7a7f1e623f0f5861.js";import{$2h as u,$2l as d}from"./shared-init-3fcac605fffcc273-2.js";function m(e,t){if(!t||typeof t!="object"||Array.isArray(t))return t;let r=e&&typeof e=="object"&&!Array.isArray(e)?Object.fromEntries(Object.entries(e)):{};for(let[n,i]of Object.entries(t))i===null?delete r[n]:Object.defineProperty(r,n,{value:m(Object.hasOwn(r,n)?r[n]:void 0,i),writable:!0,enumerable:!0,configurable:!0});return r}function $(e){let[t,r]=u(e),n=d(0),i=d(e);return{value:t,patch:l=>{let c=++n.current;return r(s=>m(s,l)),y.config.patch(l).then(s=>(i.current=s,c===n.current&&r(s),s),s=>{c===n.current&&(r(i.current),S(s))})}}}function E(e){let t=p().get("delete"),[r,n]=u(!!(e?.link&&e.link===t)),[i,a]=u(!1);if(!e)return{};let{title:l,body:c,label:s="Remove",icon:P,onRemove:R}=e,f=()=>{if(n(!1),e.link&&e.link===t){let b=new URL(location.href);b.searchParams.delete("delete"),history.replaceState(history.state,"",b)}};return{item:o(x,{icon:P,title:s,danger:!0,onClick:()=>n(!0)}),dialog:r?o(g,{open:!0,title:l,body:c,confirmLabel:s,busy:i,onClose:f,onConfirm:()=>{a(!0),R().finally(()=>{a(!1),f()})}}):null}}function z(e,t){let[r,n]=u(p().has("add"));return{open:r,show:()=>n(!0),close:()=>{n(!1);let a=new URL(location.href);for(let l of["add",...t])a.searchParams.delete(l);history.replaceState(history.state,"",a)},button:o(v,{size:"sm",leftIcon:h,onClick:()=>n(!0),children:e})}}var G=(e,t)=>t==="workspace"?`Replace ${e} for the workspace?`:`Replace the personal ${e}?`;function J(){let[e,t]=u();return{ask:(r,n)=>t({title:r,run:n}),dialog:e?o(g,{open:!0,title:e.title,body:"Tasks use the new one from now on.",confirmLabel:"Replace",onClose:()=>t(void 0),onConfirm:()=>{t(void 0),e.run()}}):null}}function Q({title:e,badges:t,sub:r,actions:n,menu:i,alignMenu:a,remove:l,muted:c}){let s=E(l);return o("tr",{class:c?"muted":void 0,children:[o("td",{children:[o("span",{class:"row-title",children:[o("b",{children:e}),t]}),r?o("span",{class:"sub mono",children:r}):null]}),o("td",{class:"acts",children:[n,i||s.item||a?o(w,{button:"icon",label:"Actions",summary:o(C,{d:k}),children:[i,s.item,i||s.item?null:o("p",{class:"menu-none",children:"No options"})]}):null,s.dialog]})]})}function X({title:e,count:t,actions:r,help:n,children:i,add:a,look:l}){return o(A,{title:e,count:t,actions:r,look:l,children:[n?o("p",{class:"body muted",children:n}):null,o("div",{class:"table-scroll",children:o("table",{class:"rows settings",children:o("tbody",{children:i})})}),a]})}export{$ as a,E as b,z as c,G as d,J as e,Q as f,X as g};
1
+ import{a as g}from"./confirm-c0c0642856e64b11.js";import{$1a as S}from"./shared-init-e8cf924a73e46497.js";import{$4c as p,$4k as x}from"./shared-init-4f4cac48ca0ef193.js";import{$1c as y,$1f as w,$1o as A}from"./shared-init-4f4cac48ca0ef193.js";import{$3A as k,$3B as h,$3Q as o,$3R as C,$3S as v}from"./shared-init-4f4cac48ca0ef193.js";import{$3h as u,$3l as d}from"./shared-init-9b28886f3cbe0ed3-2.js";function m(e,t){if(!t||typeof t!="object"||Array.isArray(t))return t;let r=e&&typeof e=="object"&&!Array.isArray(e)?Object.fromEntries(Object.entries(e)):{};for(let[n,i]of Object.entries(t))i===null?delete r[n]:Object.defineProperty(r,n,{value:m(Object.hasOwn(r,n)?r[n]:void 0,i),writable:!0,enumerable:!0,configurable:!0});return r}function $(e){let[t,r]=u(e),n=d(0),i=d(e);return{value:t,patch:l=>{let c=++n.current;return r(s=>m(s,l)),y.config.patch(l).then(s=>(i.current=s,c===n.current&&r(s),s),s=>{c===n.current&&(r(i.current),S(s))})}}}function E(e){let t=p().get("delete"),[r,n]=u(!!(e?.link&&e.link===t)),[i,a]=u(!1);if(!e)return{};let{title:l,body:c,label:s="Remove",icon:P,onRemove:R}=e,f=()=>{if(n(!1),e.link&&e.link===t){let b=new URL(location.href);b.searchParams.delete("delete"),history.replaceState(history.state,"",b)}};return{item:o(x,{icon:P,title:s,danger:!0,onClick:()=>n(!0)}),dialog:r?o(g,{open:!0,title:l,body:c,confirmLabel:s,busy:i,onClose:f,onConfirm:()=>{a(!0),R().finally(()=>{a(!1),f()})}}):null}}function z(e,t){let[r,n]=u(p().has("add"));return{open:r,show:()=>n(!0),close:()=>{n(!1);let a=new URL(location.href);for(let l of["add",...t])a.searchParams.delete(l);history.replaceState(history.state,"",a)},button:o(v,{size:"sm",leftIcon:h,onClick:()=>n(!0),children:e})}}var G=(e,t)=>t==="workspace"?`Replace ${e} for the workspace?`:`Replace the personal ${e}?`;function J(){let[e,t]=u();return{ask:(r,n)=>t({title:r,run:n}),dialog:e?o(g,{open:!0,title:e.title,body:"Tasks use the new one from now on.",confirmLabel:"Replace",onClose:()=>t(void 0),onConfirm:()=>{t(void 0),e.run()}}):null}}function Q({title:e,badges:t,sub:r,actions:n,menu:i,alignMenu:a,remove:l,muted:c}){let s=E(l);return o("tr",{class:c?"muted":void 0,children:[o("td",{children:[o("span",{class:"row-title",children:[o("b",{children:e}),t]}),r?o("span",{class:"sub mono",children:r}):null]}),o("td",{class:"acts",children:[n,i||s.item||a?o(w,{button:"icon",label:"Actions",summary:o(C,{d:k}),children:[i,s.item,i||s.item?null:o("p",{class:"menu-none",children:"No options"})]}):null,s.dialog]})]})}function X({title:e,count:t,actions:r,help:n,children:i,add:a,look:l}){return o(A,{title:e,count:t,actions:r,look:l,children:[n?o("p",{class:"body muted",children:n}):null,o("div",{class:"table-scroll",children:o("table",{class:"rows settings",children:o("tbody",{children:i})})}),a]})}export{$ as a,E as b,z as c,G as d,J as e,Q as f,X as g};
@@ -1 +1 @@
1
- "use client";import{a as Ie}from"./combo-7b125f3927083749.js";import{$0a as Se}from"./shared-init-02666a6f76606589.js";import{$1c as H}from"./shared-init-02666a6f76606589.js";import{e as Ce,i as Me,m as Ae,n as Pe}from"./model-options-5e07b3318d69d218.js";import{a as Re,c as Oe,d as Te,e as Ue,f as te,g as $e}from"./list-84356c9286747b10.js";import"./confirm-6e26ab941d655b9f.js";import{a as P}from"./field-444bab2e16b91c26.js";import{$1b as we}from"./shared-init-a69029db2d72fb52.js";import{$0h as ke}from"./shared-init-a69029db2d72fb52.js";import{$1n as ye}from"./shared-init-7a7f1e623f0f5861.js";import{$2D as ve,$2c as ae,$2k as A,$2o as be,$2q as ge,$2z as X}from"./shared-init-7a7f1e623f0f5861.js";import{$0c as R,$0f as J,$0k as x,$0o as Q,$0r as he}from"./shared-init-7a7f1e623f0f5861.js";import"./wular-pnext-3fcac605fffcc273-0.js";import{$3a as ee}from"./shared-init-7a7f1e623f0f5861.js";import{$4A as ue,$4B as z,$4C as Z,$4D as me,$4E as G,$4J as pe,$4Q as e,$4R as j,$4S as W,$4T as fe,$4f as ie,$4g as re,$4i as de,$4w as ce,$4x as V}from"./shared-init-7a7f1e623f0f5861.js";import"./shared-init-3fcac605fffcc273-2.js";import"./shared-init-3fcac605fffcc273-2.js";import{$2c as M,$2h as g,$2l as _}from"./shared-init-3fcac605fffcc273-2.js";var D=Pe,ne=D.at(-1),Ke=f=>f.split("/").pop().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"");function Le({credentials:f,admin:d,onAdd:a,onClose:u}){let[n,y]=g(!1),m=Ue(),h=async o=>{y(!0);let C=await a(async()=>{let i=o.envKey||"OPENAI_API_KEY";return o.key&&await R.credentials.add({env:{[i]:o.key},workspace:o.scope==="workspace"}),R.models.add({name:o.name,baseUrl:o.baseUrl,model:o.model,envKey:i,...o.contextWindow?{contextWindow:Number(o.contextWindow)}:{}})});y(!1),C&&u()};return e(M,{children:[e(ee,{class:"add-modal",title:"Add a model",dismiss:!0,busy:n,onSubmit:o=>{o.preventDefault();let C=o.currentTarget,i=Object.fromEntries([...new FormData(C)].map(([p,v])=>[p,String(v).trim()]));if(i.name||(i.name=Ke(i.model??"")),!i.name||!i.model||!i.baseUrl)return;let c=i.envKey||"OPENAI_API_KEY",k=i.scope||"personal";if(i.key&&f?.some(p=>p.name===c&&p.scope===k))return m.ask(Te(c,k),()=>void h(i));h(i)},onClose:u,actions:e(W,{type:"submit",loading:n,children:"Add model"}),children:e("div",{class:"add-form",children:e(Ne,{credentials:f,admin:d})})}),m.dialog]})}function Ne({credentials:f,admin:d}){let a=ae(),u=a.get("base-url")??"",[n,y]=g(u?D.find(l=>l.baseUrl===u)??ne:D[0]??ne),[m,h]=g(u||n.baseUrl),[o,C]=g(a.get("env-key")??n.envKey),[i,c]=g(""),[k,p]=g(d?"workspace":"personal"),[v,O]=g(null),B=_(0),$=_(""),[I,F]=g(a.get("model")??""),[E,K]=g(a.get("context-window")),U=v?.contextWindows?.[I],t=(l,b)=>!!l&&!!f?.some(S=>S.name===l&&S.scope===b),s=(l,b=k)=>t(l,b)?b:!d&&t(l,"workspace")?"workspace":void 0,r=s(o,d?"workspace":"personal"),w=l=>l==="workspace"?"the workspace's":"the personal",[L,oe]=g(!1),se=_(),Y=(l,b,S)=>{let Be=++B.current;if(!l.trim())return O(null);oe(!0),R.models.probe({baseUrl:l.trim(),...b.trim()?{envKey:b.trim()}:{},...S.trim()?{key:S.trim()}:{}}).catch(T=>({reachable:!1,modelListed:null,models:null,detail:ke(T)})).then(T=>{if(Be!==B.current)return;oe(!1),O(T.models?{...T,models:[...T.models].sort()}:T);let N=T.reachable?"":/HTTP 40[13]/.test(T.detail)?"The API key was rejected.":`${l.trim()} isn't reachable.`;N&&N!==$.current&&ye("Models not listed",N),$.current=N})},le=(l,b,S)=>{clearTimeout(se.current),se.current=setTimeout(()=>Y(l,b,S),250)},De=v?.models?`${v.models.length} listed`:void 0,q=n.needsKey&&f?e("div",{class:"add-grid",children:[e(P,{label:"API key",hint:e(M,{children:[s(o)?`uses ${w(s(o))} saved ${o}; enter one to replace it`:`a new key, stored as ${o}`,n.keyUrl?e(M,{children:[", ",e("a",{class:"link",href:n.keyUrl,target:"_blank",rel:"noopener noreferrer",children:"get a key"})]}):null]}),children:e("input",{name:"key",type:"password",autocomplete:"off",placeholder:s(o)?"Leave empty to use the saved key":`${n.name} API key`,value:i,onInput:l=>{c(l.currentTarget.value),le(m,o,l.currentTarget.value)}})}),d?e(P,{label:"Scope",group:!0,children:e(X,{label:"Scope",name:"scope",options:Ce,value:k,onChange:p})}):null]}):null;return e(M,{children:[e("div",{class:"add-grid",children:[e(P,{label:"Provider",group:!0,children:e(X,{label:"Provider",name:"provider",options:D.map(l=>[l.id,l.name]),value:n.id,onChange:l=>{let b=D.find(S=>S.id===l)??ne;y(b),h(b.baseUrl),C(b.envKey),F(""),K(null),c(""),O(null),(s(b.envKey)||!b.needsKey)&&Y(b.baseUrl,b.envKey,"")}})}),e(P,{label:"Model id",group:!0,hint:L?e(he,{label:"Fetching models",inline:!0,dots:!0}):De,children:e(Ie,{label:"Model id",onOpen:()=>{!v&&!L&&Y(m,o,i)},name:"model",options:v?.models??[],placeholder:v?.models?.[0]??"qwen3-coder",value:I,onChange:l=>{F(l),K(null)}})}),e(P,{label:"Short name",hint:"used as --model; defaults to the model id",children:e("input",{name:"name",defaultValue:a.get("add")??void 0,placeholder:Ke(I)||"kimi",autocomplete:"off",pattern:"[a-z0-9][a-z0-9\\-]*"})})]}),q&&r?e("details",{class:"add-more",children:[e("summary",{children:["API key \xB7 uses ",w(r)," saved ",o]}),q]},o):q,e("details",{class:"add-more",open:n.id==="other"||void 0,children:[e("summary",{children:"Advanced"}),e("div",{class:"add-grid",children:[e(P,{label:"Base URL",children:e("input",{name:"baseUrl",type:"url",placeholder:"http://localhost:11434/v1",autocomplete:"off",value:m,onInput:l=>{h(l.currentTarget.value),le(l.currentTarget.value,o,i)}})}),e(P,{label:"Key variable",children:e("input",{name:"envKey",class:"mono",placeholder:"OPENAI_API_KEY",autocomplete:"off",pattern:"[A-Za-z_][A-Za-z0-9_]*",value:o,onInput:l=>C(l.currentTarget.value)})}),e(P,{label:"Context window",hint:"tokens; empty uses Codex's default, 272000",children:e("input",{name:"contextWindow",type:"number",min:"1",step:"1",placeholder:"272000",autocomplete:"off",value:E??(U?String(U):""),onInput:l=>K(l.currentTarget.value)})})]})]})]})}function _e({shape:f,editing:d,onSave:a,onClose:u}){let n=d?f.models[d]:void 0,[y,m]=g(d??""),[h,o]=g(typeof n=="string"?n:n===!1?"":"sol"),[C,i]=g(!1),c=f.builtin[y.trim()],k=y.trim()||"name";return e(ee,{title:d?`Edit ${d}`:"Add alias",dismiss:!0,busy:C,onSubmit:async p=>{p.preventDefault();let v=y.trim();if(!v)return;i(!0);let O=await a(()=>h?R.models.alias(v,h):R.models.disable(v));i(!1),O&&u()},onClose:u,actions:e(W,{type:"submit",loading:C,children:"Save"}),children:[e(P,{label:"Name",hint:c?`replaces the built-in, ${c}`:"used as --model",children:e("input",{name:"name",value:y,onInput:p=>m(p.currentTarget.value),placeholder:"fast",autocomplete:"off",spellcheck:!1,pattern:"[a-z0-9][a-z0-9\\-]*",readOnly:!!d,required:!0})}),e(P,{label:"Model",group:!0,children:e(H,{shape:f,value:h,onChange:o,empty:c?{label:"Off",sub:"can't be picked or fallen back to"}:void 0})}),e("p",{class:"muted mono",children:h?`${k} = ${h}`:`${k} can't be picked or fallen back to`})]})}function ze({shape:f,spec:d,index:a,count:u,runsOn:n,onChange:y,onMove:m,onRemove:h,onDrop:o,onAdd:C}){let i=n?.includes("no credential");return e("span",{class:"chain-item chain-chip",draggable:!0,onDragStart:c=>c.dataTransfer?.setData("text/plain",String(a)),onDragOver:c=>c.preventDefault(),onDrop:c=>{c.preventDefault(),o(Number(c.dataTransfer?.getData("text/plain")))},children:[e(H,{shape:f,value:d,onChange:y,onAdd:C,compact:!0}),e(J,{button:"icon",class:"chain-more",label:`${d} actions`,summary:e(j,{d:ue}),children:[e(ge,{icon:e("span",{class:"chain-n",children:a+1}),title:a?d:`${d}, the default`,sub:n??""}),a>0?e(A,{icon:ie,title:"Make default",onClick:()=>m(0)}):null,a>0?e(A,{icon:re,title:"Move earlier",onClick:()=>m(a-1)}):null,a<u-1?e(A,{icon:de,title:"Move later",onClick:()=>m(a+1)}):null,u>1?e(A,{icon:V,title:"Remove from chain",danger:!0,onClick:h}):null]}),i?e("i",{class:"chain-dot",title:n}):null]})}function Fe(f,d){let a=f.models[d];return a===!1?f.builtin[d]??"":typeof a=="object"&&a?`${a.model} \xB7 ${URL.canParse(a.baseUrl)?new URL(a.baseUrl).host:a.baseUrl}`:String(a??"")}function ft({first:f,config:d,credentials:a,admin:u}){let[n,y]=g(f),m=Oe("Add model",["base-url","model","env-key","context-window"]),[h,o]=g(),C=we(),i=Re(d.config),c=(t,s)=>C.run("send",async()=>{let r=await t();y(w=>({...w,models:r.models??{},runsOn:r.runsOn}))},{toast:s}),k=async t=>{let s=await i.patch(t);s&&y(r=>({...r,runsOn:s.runsOn}))},p=i.value.chain??d.effective.chain??[],v=i.value.reviewModel??d.effective.reviewModel??"",O=(t,s)=>{if(t===s||Number.isNaN(t))return;let r=[...p];r.splice(s,0,...r.splice(t,1)),k({chain:r})},{options:B,headings:$}=Ae(n),I=B.filter(([t])=>!p.some(s=>Me(s,n).model===t)),F=Object.keys(n.models),E=Object.keys(n.builtin).filter(t=>!(t in n.models)),K=ve(),U=p.filter(t=>n.runsOn?.[t]?.includes("no credential"));return e(M,{children:[e(Q,{look:"filled",title:"Chain",children:[e("p",{class:"body muted",children:"Tasks try these in order; drag a model to move it."}),U.length?e(Se,{tone:"warning",slim:!0,children:[e(j,{d:pe}),e("span",{class:"grow",children:[U.join(", ")," ",U.length>1?"have":"has"," no credential, so tasks skip ",U.length>1?"them":"it","."]}),e(fe,{variant:"outline",size:"sm",href:"/dash/[org]/settings/[tab]",params:{org:K,tab:"credentials"},children:"Add credential"})]}):null,e("div",{class:"chain",children:[p.map((t,s)=>e(M,{children:[s?e("span",{class:"chain-arrow","aria-hidden":"true",children:"\u2192"}):null,e(ze,{shape:n,spec:t,index:s,count:p.length,runsOn:n.runsOn?.[t],onChange:r=>k({chain:p.map((w,L)=>L===s?r:w)}),onMove:r=>O(s,r),onRemove:()=>k({chain:p.filter((r,w)=>w!==s)}),onDrop:r=>O(r,s),onAdd:m.show})]},`${s}:${t}`)),u?e(J,{class:"chain-add",label:"Add to the chain",summary:e(M,{children:[e(j,{d:z}),"Add"]}),summaryClass:"chain-add-btn",children:[I.map(([t])=>e(M,{children:[$[t]?e(be,{children:$[t]}):null,e(A,{title:t,end:e("small",{class:"muted",children:Fe(n,t)||n.builtin[t]}),onClick:()=>k({chain:[...p,t]})})]},t)),e(A,{icon:z,title:"Add a model",onClick:m.show})]}):null]})]}),e(Q,{look:"filled",title:"Review",children:[e("p",{class:"body muted",children:"coder review and the review tool run this model, then the chain."}),e("div",{class:"chain",title:n.runsOn?.[v],children:e(H,{shape:n,value:v,onChange:t=>k({reviewModel:t}),onAdd:m.show,compact:!0})})]}),e($e,{look:"filled",title:"Models",count:F.length+E.length,actions:u?e(M,{children:[e(W,{size:"sm",variant:"secondary",leftIcon:z,onClick:()=>o(!0),children:"Add alias"}),m.button]}):void 0,children:[F.map(t=>{let s=n.models[t],r=s===!1||typeof s=="object"&&s?.disabled,w=typeof s=="string"&&t in n.builtin;return e(te,{title:t,actions:r?e(x,{children:"off"}):w?e(x,{tone:"acc",children:"replaces built-in"}):null,sub:Fe(n,t),menu:u?e(M,{children:[typeof s=="string"||s===!1?e(A,{icon:G,title:"Edit",onClick:()=>o(t)}):null,typeof s=="object"&&s?e(A,{icon:r?ce:Z,title:r?"Enable":"Disable",onClick:()=>void c(()=>R.models[r?"enable":"disable"](t))}):null]}):void 0,remove:u?{title:w||r?`Reset ${t}?`:`Remove ${t}?`,body:w||r?`${t} runs the built-in ${n.builtin[t]} again.`:"Tasks that ask for it stop running.",label:w||r?"Reset":"Remove",icon:w||r?me:V,link:t,onRemove:()=>c(()=>R.models.remove(t))}:void 0},t)}),E.map(t=>e(te,{title:t,actions:e(x,{children:"built-in"}),sub:n.builtin[t],menu:u?e(M,{children:[e(A,{icon:G,title:"Override",onClick:()=>o(t)}),e(A,{icon:Z,title:"Disable",onClick:()=>void c(()=>R.models.disable(t))})]}):void 0},t))]}),h?e(_e,{shape:n,editing:h===!0?void 0:h,onSave:t=>c(t,"Not saved"),onClose:()=>o(void 0)}):null,m.open?e(Le,{credentials:a,admin:u,onAdd:t=>c(t,"Not saved"),onClose:m.close}):null]})}export{ft as ModelsList};
1
+ "use client";import{a as Ie}from"./combo-460bff876882c694.js";import{$0a as Se}from"./shared-init-5734a91cdb78a173.js";import{$1c as H}from"./shared-init-5734a91cdb78a173.js";import{e as Ce,i as Me,m as Ae,n as Pe}from"./model-options-5e07b3318d69d218.js";import{a as Re,c as Oe,d as Te,e as Ue,f as te,g as $e}from"./list-c0633e5e742dff16.js";import"./confirm-c0c0642856e64b11.js";import{a as P}from"./field-7c895f6d8d5d9eb3.js";import{$1b as we}from"./shared-init-e8cf924a73e46497.js";import{$0h as ke}from"./shared-init-e8cf924a73e46497.js";import{$2n as ye}from"./shared-init-4f4cac48ca0ef193.js";import{$4D as ve,$4c as ae,$4k as A,$4o as be,$4q as ge,$4z as X}from"./shared-init-4f4cac48ca0ef193.js";import{$1c as R,$1f as J,$1k as x,$1o as Q,$1r as he}from"./shared-init-4f4cac48ca0ef193.js";import"./wular-pnext-9b28886f3cbe0ed3-0.js";import{$0a as ee}from"./shared-init-4f4cac48ca0ef193.js";import{$3A as ue,$3B as z,$3C as Z,$3D as me,$3E as G,$3J as pe,$3Q as e,$3R as j,$3S as W,$3T as fe,$3f as ie,$3g as re,$3i as de,$3w as ce,$3x as V}from"./shared-init-4f4cac48ca0ef193.js";import"./shared-init-9b28886f3cbe0ed3-2.js";import"./shared-init-9b28886f3cbe0ed3-2.js";import{$3c as M,$3h as g,$3l as _}from"./shared-init-9b28886f3cbe0ed3-2.js";var D=Pe,ne=D.at(-1),Ke=f=>f.split("/").pop().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"");function Le({credentials:f,admin:d,onAdd:a,onClose:u}){let[n,y]=g(!1),m=Ue(),h=async o=>{y(!0);let C=await a(async()=>{let i=o.envKey||"OPENAI_API_KEY";return o.key&&await R.credentials.add({env:{[i]:o.key},workspace:o.scope==="workspace"}),R.models.add({name:o.name,baseUrl:o.baseUrl,model:o.model,envKey:i,...o.contextWindow?{contextWindow:Number(o.contextWindow)}:{}})});y(!1),C&&u()};return e(M,{children:[e(ee,{class:"add-modal",title:"Add a model",dismiss:!0,busy:n,onSubmit:o=>{o.preventDefault();let C=o.currentTarget,i=Object.fromEntries([...new FormData(C)].map(([p,v])=>[p,String(v).trim()]));if(i.name||(i.name=Ke(i.model??"")),!i.name||!i.model||!i.baseUrl)return;let c=i.envKey||"OPENAI_API_KEY",k=i.scope||"personal";if(i.key&&f?.some(p=>p.name===c&&p.scope===k))return m.ask(Te(c,k),()=>void h(i));h(i)},onClose:u,actions:e(W,{type:"submit",loading:n,children:"Add model"}),children:e("div",{class:"add-form",children:e(Ne,{credentials:f,admin:d})})}),m.dialog]})}function Ne({credentials:f,admin:d}){let a=ae(),u=a.get("base-url")??"",[n,y]=g(u?D.find(l=>l.baseUrl===u)??ne:D[0]??ne),[m,h]=g(u||n.baseUrl),[o,C]=g(a.get("env-key")??n.envKey),[i,c]=g(""),[k,p]=g(d?"workspace":"personal"),[v,O]=g(null),B=_(0),$=_(""),[I,F]=g(a.get("model")??""),[E,K]=g(a.get("context-window")),U=v?.contextWindows?.[I],t=(l,b)=>!!l&&!!f?.some(S=>S.name===l&&S.scope===b),s=(l,b=k)=>t(l,b)?b:!d&&t(l,"workspace")?"workspace":void 0,r=s(o,d?"workspace":"personal"),w=l=>l==="workspace"?"the workspace's":"the personal",[L,oe]=g(!1),se=_(),Y=(l,b,S)=>{let Be=++B.current;if(!l.trim())return O(null);oe(!0),R.models.probe({baseUrl:l.trim(),...b.trim()?{envKey:b.trim()}:{},...S.trim()?{key:S.trim()}:{}}).catch(T=>({reachable:!1,modelListed:null,models:null,detail:ke(T)})).then(T=>{if(Be!==B.current)return;oe(!1),O(T.models?{...T,models:[...T.models].sort()}:T);let N=T.reachable?"":/HTTP 40[13]/.test(T.detail)?"The API key was rejected.":`${l.trim()} isn't reachable.`;N&&N!==$.current&&ye("Models not listed",N),$.current=N})},le=(l,b,S)=>{clearTimeout(se.current),se.current=setTimeout(()=>Y(l,b,S),250)},De=v?.models?`${v.models.length} listed`:void 0,q=n.needsKey&&f?e("div",{class:"add-grid",children:[e(P,{label:"API key",hint:e(M,{children:[s(o)?`uses ${w(s(o))} saved ${o}; enter one to replace it`:`a new key, stored as ${o}`,n.keyUrl?e(M,{children:[", ",e("a",{class:"link",href:n.keyUrl,target:"_blank",rel:"noopener noreferrer",children:"get a key"})]}):null]}),children:e("input",{name:"key",type:"password",autocomplete:"off",placeholder:s(o)?"Leave empty to use the saved key":`${n.name} API key`,value:i,onInput:l=>{c(l.currentTarget.value),le(m,o,l.currentTarget.value)}})}),d?e(P,{label:"Scope",group:!0,children:e(X,{label:"Scope",name:"scope",options:Ce,value:k,onChange:p})}):null]}):null;return e(M,{children:[e("div",{class:"add-grid",children:[e(P,{label:"Provider",group:!0,children:e(X,{label:"Provider",name:"provider",options:D.map(l=>[l.id,l.name]),value:n.id,onChange:l=>{let b=D.find(S=>S.id===l)??ne;y(b),h(b.baseUrl),C(b.envKey),F(""),K(null),c(""),O(null),(s(b.envKey)||!b.needsKey)&&Y(b.baseUrl,b.envKey,"")}})}),e(P,{label:"Model id",group:!0,hint:L?e(he,{label:"Fetching models",inline:!0,dots:!0}):De,children:e(Ie,{label:"Model id",onOpen:()=>{!v&&!L&&Y(m,o,i)},name:"model",options:v?.models??[],placeholder:v?.models?.[0]??"qwen3-coder",value:I,onChange:l=>{F(l),K(null)}})}),e(P,{label:"Short name",hint:"used as --model; defaults to the model id",children:e("input",{name:"name",defaultValue:a.get("add")??void 0,placeholder:Ke(I)||"kimi",autocomplete:"off",pattern:"[a-z0-9][a-z0-9\\-]*"})})]}),q&&r?e("details",{class:"add-more",children:[e("summary",{children:["API key \xB7 uses ",w(r)," saved ",o]}),q]},o):q,e("details",{class:"add-more",open:n.id==="other"||void 0,children:[e("summary",{children:"Advanced"}),e("div",{class:"add-grid",children:[e(P,{label:"Base URL",children:e("input",{name:"baseUrl",type:"url",placeholder:"http://localhost:11434/v1",autocomplete:"off",value:m,onInput:l=>{h(l.currentTarget.value),le(l.currentTarget.value,o,i)}})}),e(P,{label:"Key variable",children:e("input",{name:"envKey",class:"mono",placeholder:"OPENAI_API_KEY",autocomplete:"off",pattern:"[A-Za-z_][A-Za-z0-9_]*",value:o,onInput:l=>C(l.currentTarget.value)})}),e(P,{label:"Context window",hint:"tokens; empty uses Codex's default, 272000",children:e("input",{name:"contextWindow",type:"number",min:"1",step:"1",placeholder:"272000",autocomplete:"off",value:E??(U?String(U):""),onInput:l=>K(l.currentTarget.value)})})]})]})]})}function _e({shape:f,editing:d,onSave:a,onClose:u}){let n=d?f.models[d]:void 0,[y,m]=g(d??""),[h,o]=g(typeof n=="string"?n:n===!1?"":"sol"),[C,i]=g(!1),c=f.builtin[y.trim()],k=y.trim()||"name";return e(ee,{title:d?`Edit ${d}`:"Add alias",dismiss:!0,busy:C,onSubmit:async p=>{p.preventDefault();let v=y.trim();if(!v)return;i(!0);let O=await a(()=>h?R.models.alias(v,h):R.models.disable(v));i(!1),O&&u()},onClose:u,actions:e(W,{type:"submit",loading:C,children:"Save"}),children:[e(P,{label:"Name",hint:c?`replaces the built-in, ${c}`:"used as --model",children:e("input",{name:"name",value:y,onInput:p=>m(p.currentTarget.value),placeholder:"fast",autocomplete:"off",spellcheck:!1,pattern:"[a-z0-9][a-z0-9\\-]*",readOnly:!!d,required:!0})}),e(P,{label:"Model",group:!0,children:e(H,{shape:f,value:h,onChange:o,empty:c?{label:"Off",sub:"can't be picked or fallen back to"}:void 0})}),e("p",{class:"muted mono",children:h?`${k} = ${h}`:`${k} can't be picked or fallen back to`})]})}function ze({shape:f,spec:d,index:a,count:u,runsOn:n,onChange:y,onMove:m,onRemove:h,onDrop:o,onAdd:C}){let i=n?.includes("no credential");return e("span",{class:"chain-item chain-chip",draggable:!0,onDragStart:c=>c.dataTransfer?.setData("text/plain",String(a)),onDragOver:c=>c.preventDefault(),onDrop:c=>{c.preventDefault(),o(Number(c.dataTransfer?.getData("text/plain")))},children:[e(H,{shape:f,value:d,onChange:y,onAdd:C,compact:!0}),e(J,{button:"icon",class:"chain-more",label:`${d} actions`,summary:e(j,{d:ue}),children:[e(ge,{icon:e("span",{class:"chain-n",children:a+1}),title:a?d:`${d}, the default`,sub:n??""}),a>0?e(A,{icon:ie,title:"Make default",onClick:()=>m(0)}):null,a>0?e(A,{icon:re,title:"Move earlier",onClick:()=>m(a-1)}):null,a<u-1?e(A,{icon:de,title:"Move later",onClick:()=>m(a+1)}):null,u>1?e(A,{icon:V,title:"Remove from chain",danger:!0,onClick:h}):null]}),i?e("i",{class:"chain-dot",title:n}):null]})}function Fe(f,d){let a=f.models[d];return a===!1?f.builtin[d]??"":typeof a=="object"&&a?`${a.model} \xB7 ${URL.canParse(a.baseUrl)?new URL(a.baseUrl).host:a.baseUrl}`:String(a??"")}function ft({first:f,config:d,credentials:a,admin:u}){let[n,y]=g(f),m=Oe("Add model",["base-url","model","env-key","context-window"]),[h,o]=g(),C=we(),i=Re(d.config),c=(t,s)=>C.run("send",async()=>{let r=await t();y(w=>({...w,models:r.models??{},runsOn:r.runsOn}))},{toast:s}),k=async t=>{let s=await i.patch(t);s&&y(r=>({...r,runsOn:s.runsOn}))},p=i.value.chain??d.effective.chain??[],v=i.value.reviewModel??d.effective.reviewModel??"",O=(t,s)=>{if(t===s||Number.isNaN(t))return;let r=[...p];r.splice(s,0,...r.splice(t,1)),k({chain:r})},{options:B,headings:$}=Ae(n),I=B.filter(([t])=>!p.some(s=>Me(s,n).model===t)),F=Object.keys(n.models),E=Object.keys(n.builtin).filter(t=>!(t in n.models)),K=ve(),U=p.filter(t=>n.runsOn?.[t]?.includes("no credential"));return e(M,{children:[e(Q,{look:"filled",title:"Chain",children:[e("p",{class:"body muted",children:"Tasks try these in order; drag a model to move it."}),U.length?e(Se,{tone:"warning",slim:!0,children:[e(j,{d:pe}),e("span",{class:"grow",children:[U.join(", ")," ",U.length>1?"have":"has"," no credential, so tasks skip ",U.length>1?"them":"it","."]}),e(fe,{variant:"outline",size:"sm",href:"/dash/[org]/settings/[tab]",params:{org:K,tab:"credentials"},children:"Add credential"})]}):null,e("div",{class:"chain",children:[p.map((t,s)=>e(M,{children:[s?e("span",{class:"chain-arrow","aria-hidden":"true",children:"\u2192"}):null,e(ze,{shape:n,spec:t,index:s,count:p.length,runsOn:n.runsOn?.[t],onChange:r=>k({chain:p.map((w,L)=>L===s?r:w)}),onMove:r=>O(s,r),onRemove:()=>k({chain:p.filter((r,w)=>w!==s)}),onDrop:r=>O(r,s),onAdd:m.show})]},`${s}:${t}`)),u?e(J,{class:"chain-add",label:"Add to the chain",summary:e(M,{children:[e(j,{d:z}),"Add"]}),summaryClass:"chain-add-btn",children:[I.map(([t])=>e(M,{children:[$[t]?e(be,{children:$[t]}):null,e(A,{title:t,end:e("small",{class:"muted",children:Fe(n,t)||n.builtin[t]}),onClick:()=>k({chain:[...p,t]})})]},t)),e(A,{icon:z,title:"Add a model",onClick:m.show})]}):null]})]}),e(Q,{look:"filled",title:"Review",children:[e("p",{class:"body muted",children:"coder review and the review tool run this model, then the chain."}),e("div",{class:"chain",title:n.runsOn?.[v],children:e(H,{shape:n,value:v,onChange:t=>k({reviewModel:t}),onAdd:m.show,compact:!0})})]}),e($e,{look:"filled",title:"Models",count:F.length+E.length,actions:u?e(M,{children:[e(W,{size:"sm",variant:"secondary",leftIcon:z,onClick:()=>o(!0),children:"Add alias"}),m.button]}):void 0,children:[F.map(t=>{let s=n.models[t],r=s===!1||typeof s=="object"&&s?.disabled,w=typeof s=="string"&&t in n.builtin;return e(te,{title:t,actions:r?e(x,{children:"off"}):w?e(x,{tone:"acc",children:"replaces built-in"}):null,sub:Fe(n,t),menu:u?e(M,{children:[typeof s=="string"||s===!1?e(A,{icon:G,title:"Edit",onClick:()=>o(t)}):null,typeof s=="object"&&s?e(A,{icon:r?ce:Z,title:r?"Enable":"Disable",onClick:()=>void c(()=>R.models[r?"enable":"disable"](t))}):null]}):void 0,remove:u?{title:w||r?`Reset ${t}?`:`Remove ${t}?`,body:w||r?`${t} runs the built-in ${n.builtin[t]} again.`:"Tasks that ask for it stop running.",label:w||r?"Reset":"Remove",icon:w||r?me:V,link:t,onRemove:()=>c(()=>R.models.remove(t))}:void 0},t)}),E.map(t=>e(te,{title:t,actions:e(x,{children:"built-in"}),sub:n.builtin[t],menu:u?e(M,{children:[e(A,{icon:G,title:"Override",onClick:()=>o(t)}),e(A,{icon:Z,title:"Disable",onClick:()=>void c(()=>R.models.disable(t))})]}):void 0},t))]}),h?e(_e,{shape:n,editing:h===!0?void 0:h,onSave:t=>c(t,"Not saved"),onClose:()=>o(void 0)}):null,m.open?e(Le,{credentials:a,admin:u,onAdd:t=>c(t,"Not saved"),onClose:m.close}):null]})}export{ft as ModelsList};
@@ -1 +1 @@
1
- import{$3a as m}from"./shared-init-7a7f1e623f0f5861.js";import{$4J as p,$4Q as o,$4S as u,$4w as c}from"./shared-init-7a7f1e623f0f5861.js";import{$2c as l,$2e as a}from"./shared-init-3fcac605fffcc273-2.js";function B({ok:t,title:e,text:n,issues:r,cancel:h="Close",focus:d,children:f}){let i=a(f),s=!t&&r?o(u,{variant:"outline",href:`${r}?${new URLSearchParams({title:e,body:n})}`,external:!0,children:"Report issue"}):null;return o(m,{class:"outcome-dialog",tone:t?"success":"error",title:e,icon:t?c:p,cancel:h,focus:d,actions:s||i.length?o(l,{children:[s,i]}):void 0,onClose:()=>history.replaceState(history.state,"",location.pathname),children:o("p",{role:"status",children:n})})}export{B as a};
1
+ import{$0a as m}from"./shared-init-4f4cac48ca0ef193.js";import{$3J as p,$3Q as o,$3S as u,$3w as c}from"./shared-init-4f4cac48ca0ef193.js";import{$3c as l,$3e as a}from"./shared-init-9b28886f3cbe0ed3-2.js";function B({ok:t,title:e,text:n,issues:r,cancel:h="Close",focus:d,children:f}){let i=a(f),s=!t&&r?o(u,{variant:"outline",href:`${r}?${new URLSearchParams({title:e,body:n})}`,external:!0,children:"Report issue"}):null;return o(m,{class:"outcome-dialog",tone:t?"success":"error",title:e,icon:t?c:p,cancel:h,focus:d,actions:s||i.length?o(l,{children:[s,i]}):void 0,onClose:()=>history.replaceState(history.state,"",location.pathname),children:o("p",{role:"status",children:n})})}export{B as a};
@@ -0,0 +1 @@
1
+ "use client";import{a}from"./outcome-dialog-36842dfe50be1c85.js";import"./shared-init-4f4cac48ca0ef193.js";import"./shared-init-4f4cac48ca0ef193.js";import"./shared-init-9b28886f3cbe0ed3-2.js";export{a as OutcomeDialog};
@@ -0,0 +1 @@
1
+ "use client";import{$2m as s,$2n as a}from"./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{$3j as r}from"./shared-init-9b28886f3cbe0ed3-2.js";var u=["status","platform","account","app","appId","error","outcome"];function p({ok:c,title:t,text:o}){return r(()=>{c?s(t,o,"success"):a(t,o);let e=new URL(location.href);for(let n of u)e.searchParams.delete(n);history.replaceState(history.state,"",e)},[]),null}export{p as OutcomeToast};
@@ -1 +1 @@
1
- import{a as W,b as P}from"./copy-38fa78628f39ec10.js";import{a as z}from"./confirm-6e26ab941d655b9f.js";import{a as se}from"./segmented-15503e745dd97f56.js";import{a as ie}from"./outcome-dialog-c4d61a288688f53a.js";import{a as M}from"./field-444bab2e16b91c26.js";import{$1b as S}from"./shared-init-a69029db2d72fb52.js";import{$0h as H}from"./shared-init-a69029db2d72fb52.js";import{$1m as I,$1n as F}from"./shared-init-7a7f1e623f0f5861.js";import{$2a as x,$2b as Q,$2d as V,$2k as D,$2l as oe,$2z as ae}from"./shared-init-7a7f1e623f0f5861.js";import{$0c as y,$0f as E,$0k as ne}from"./shared-init-7a7f1e623f0f5861.js";import{$3a as A}from"./shared-init-7a7f1e623f0f5861.js";import{$4A as Y,$4B as Z,$4G as ee,$4P as te,$4Q as e,$4R as R,$4S as C,$4h as L,$4r as X,$4v as J,$4y as K}from"./shared-init-7a7f1e623f0f5861.js";import{$2c as b,$2h as $,$2j as O,$2l as U}from"./shared-init-3fcac605fffcc273-2.js";var j={private:{text:"Private",note:()=>"Only the account that owns it can install it.",owner:"Owns it and is the only place it installs. Leave empty for your personal account."},public:{text:"Public",note:t=>`Any account can install it. ${t} asks where on each install.`,owner:"Manages its settings; it still installs anywhere. Leave empty for your personal account."}},le=(t,n,o={})=>n().then(({tx:s})=>y.apps.finish(t,{...o,tx:s})).then(({url:s})=>location.assign(s)),N=t=>t.split(/\*\*(.+?)\*\*/).map((n,o)=>o%2?e("span",{class:"ui-name",children:n},o):n),fe=t=>t?.focus();function ce({url:t,fields:n}){let o=Object.assign(document.createElement("form"),{method:"post",action:t});for(let[s,i]of Object.entries(n))o.append(Object.assign(document.createElement("input"),{type:"hidden",name:s,value:i}));document.body.append(o),o.submit()}var he=(t,n,o)=>t&&!n.public?Promise.resolve(t):o().then(({post:s,create:i})=>s?void ce(s):i??t),re=(t,n="",o=!1)=>({...Object.fromEntries(new URL(t,location.href).searchParams),...n?{owner:n}:{},...o?{public:"1"}:{}});function ue(){return e("p",{class:"flash err",children:["This server is only reachable from this machine, so"," ",e("a",{href:"#tunnel",onClick:t=>{t.currentTarget.closest("dialog").close(),document.querySelector("#tunnel details")?.setAttribute("open","")},children:"set a public address"})," ","first."]})}function pe(){let t=S({toast:"Not installed",leaves:!0}),n=o=>void t.run("install",async()=>{location.href=(await y.apps.install(o,location.pathname)).url});return{busy:!!t.pending,install:n}}function je({app:t,label:n,...o}){let{busy:s,install:i}=pe();return e(C,{...o,loading:s,onClick:()=>i(t),children:n})}function be({app:t,name:n,onClose:o}){let s=S({toast:"Not removed",leaves:!0}),i=()=>void s.run("remove",async()=>{await y.apps.remove(t.id),location.replace(location.pathname.replace(/\/[^/]*$/,""))});return e(z,{open:!0,title:`Remove ${t.name}?`,body:e(b,{children:["Coder forgets this app and its installs here, and the agent stops answering through it on"," ",n,".",e("br",{}),"Delete the app itself on ",n,t.settingsUrl?e(b,{children:[" ","in"," ",e("a",{class:"link",href:t.settingsUrl,target:"_blank",rel:"noreferrer",children:"its settings"})]}):null,"."]}),confirmLabel:"Remove",busy:!!s.pending,onConfirm:i,onClose:o})}function ye({install:t,name:n,onClose:o}){let[s,i]=$(),c=S({toast:"Not uninstalled",refresh:!0,leaves:!0}),l=()=>void c.run("uninstall",async()=>{await y.installations.uninstall(t.id).catch(r=>{throw i(r.hint),r}),I(`Uninstalled from ${t.account}`,`${t.app} no longer answers there.`,"success")});return e(z,{open:!0,title:`Uninstall ${t.app} from ${t.account}?`,body:e(b,{children:["The agent stops answering on ",t.account,". Installing again works any time.",s?e(b,{children:[e("br",{}),n," did not uninstall it, so uninstall it"," ",e("a",{class:"link",href:s,target:"_blank",rel:"noreferrer",children:["on ",n]})," ","instead."]}):null]}),confirmLabel:"Uninstall",busy:!!c.pending,onConfirm:l,onClose:o})}function Ne({install:t,name:n,url:o}){let[s,i]=$();return e(b,{children:[o?e("span",{class:"split",children:[e(C,{variant:"outline",size:"sm",href:o,external:!0,children:["Manage on ",n]}),e(E,{button:{variant:"outline",size:"sm",class:"split-more"},label:`More for ${t.account}`,summary:e(R,{d:L}),children:e(D,{icon:J,title:"Uninstall",danger:!0,onClick:()=>i(t.id)})})]}):e(C,{variant:"outline",size:"sm",onClick:()=>i(t.id),children:"Uninstall"}),s===t.id?e(ye,{install:t,name:n,onClose:()=>i(void 0)}):null]})}function me(t){let n=new URL(location.href);n.searchParams.delete(t),history.replaceState(history.state,"",n)}function qe({app:t,name:n,asked:o=!1}){let[s,i]=$(o);return e(b,{children:[e(C,{variant:"outline",danger:!0,size:"sm",onClick:()=>i(!0),children:"Remove"}),s?e(be,{app:t,name:n,onClose:()=>{i(!1),me("delete")}}):null]})}function Ce({integration:t,step:n,start:o,unreachable:s,onClose:i}){let c=S({leaves:!0}),l=!!c.pending,r=U(null),[d,u]=$(()=>Object.fromEntries(n.fields.map(a=>[a.name,a.options?.[0]?.value??""]))),p=({when:a})=>!a||d[a.field]===a.equals,v=n.steps.filter(p),B=n.fields.filter(p),f=(a,h)=>{let m=r.current.closest("dialog");if(!m.style.marginTop){let{top:g}=m.getBoundingClientRect();Object.assign(m.style,{marginTop:`${g}px`,maxHeight:`calc(100dvh - ${g+24}px)`})}u({...d,[a]:h})},k=a=>{a.preventDefault();let h=a.currentTarget;c.run("create",()=>le(t,o,{...n.hidden,...Object.fromEntries(new FormData(h))}))};return e(A,{class:"create-dialog",title:n.submit,dismiss:!0,busy:l,onSubmit:k,onClose:i,actions:e(C,{type:"submit",rightIcon:ee,loading:l,children:n.submit}),children:[s?e(ue,{}):null,e("p",{ref:r,class:"muted",children:n.intro}),B.filter(a=>a.options).map(a=>e(M,{label:a.label,hint:a.hint,group:!0,children:e(ae,{label:a.label,name:a.name,options:a.options.map(({value:h,label:m})=>[h,m]),value:d[a.name],onChange:h=>f(a.name,h),disabled:l})},a.name)),v.length?e(b,{children:[e("div",{class:"create-link",children:[e(C,{variant:"secondary",class:"create-open",href:n.link,external:!0,children:["Open ",new URL(n.link).host]}),e(W,{value:n.link,label:"Copy link"})]}),e("ol",{class:"create-steps",children:v.map(({text:a,link:h,copy:m=[]})=>e("li",{children:[e("p",{children:N(a)}),h&&h!==n.link?e("div",{class:"create-link",children:[e("a",{href:h,target:"_blank",rel:"noreferrer",children:h.replace(/^https:\/\//,"")}),e(W,{value:h,label:"Copy link"})]}):null,m.map(g=>e(P,{value:g,label:"Copy"},g))]},a))})]}):null,n.notes?.length?e("details",{class:"create-more",children:[e("summary",{children:"Advanced"}),e("ul",{children:n.notes.map(a=>e("li",{children:N(a)},a))})]}):null,B.filter(a=>!a.options).map(a=>e(M,{label:a.label,hint:a.hint??(a.required?void 0:"optional"),children:e("input",{ref:a.when?fe:void 0,name:a.name,placeholder:a.placeholder,required:a.required,autocomplete:"off",spellcheck:!1})},a.name))]})}function ve({integration:t,name:n,publicApps:o,organizationApps:s,unreachable:i,onSubmit:c,onClose:l}){let[r,d]=$("private"),u=S({leaves:!0}),p=!!u.pending,v=U(null);O(()=>{s&&y.installations.list(void 0,{limit:200,active:!0}).then(f=>{let[k]=f.map(a=>a.value).filter(a=>a.integration===t&&a.account.type&&a.account.type!=="User").map(a=>a.account.login).sort();k&&v.current&&!v.current.value&&(v.current.value=k)}).catch(f=>console.error("coder dashboard: installations",f))},[]);let B=f=>{f.preventDefault();let k=new FormData(f.currentTarget);u.run("submit",()=>c(String(k.get("owner")??"").trim(),r==="public"))};return e(A,{class:"create-dialog",title:`Create ${n} app`,dismiss:!0,busy:p,onSubmit:B,onClose:l,actions:e(C,{type:"submit",rightIcon:X,loading:p,children:["Continue to ",n]}),children:[i?e(ue,{}):null,o?e(M,{label:"Who can install it",group:!0,children:[e(se,{label:"Who can install it",options:Object.entries(j).map(([f,{text:k}])=>[f,k]),value:r,onChange:f=>d(f),disabled:p}),e("small",{class:"where-note",children:j[r].note(n)})]}):null,s?e(M,{label:"Owner",hint:j[r].owner,children:e("input",{ref:v,name:"owner",placeholder:"your-org",autocomplete:"off",spellcheck:!1})}):null]})}function de({app:t,name:n,check:o,confirmed:s,onClose:i}){let c=S({toast:`${n} app not updated`,leaves:!0}),l=!!c.pending,r=!o.changed,d=u=>{let p=u.currentTarget.closest("dialog");c.run("confirm",async()=>{await s(),p.close()})};return e(A,{class:"create-dialog",title:`Update ${t.name} on ${n}`,busy:l,cancel:r?"Close":"Cancel",onClose:i,actions:r&&!o.confirm?null:e(b,{children:[o.confirm&&!r?e(C,{variant:"secondary",loading:l,onClick:d,children:"I updated it"}):null,e(C,{href:o.url,external:!0,children:o.label})]}),children:o.confirm?e(b,{children:[e("p",{class:"muted",children:r?`Up to date on ${n}. The app uses these values.`:`${n} cannot show Coder the app's settings. Enter the values marked changed in the app on ${n}, then confirm.`}),e("ul",{class:"create-steps update-values",children:o.lines.map(({text:u,copy:p,changed:v})=>e("li",{children:[e("p",{children:[u," ",v?e(ne,{tone:"warn",children:"changed"}):null]}),p?e(P,{value:p,label:"Copy"}):null]},`${u} ${p}`))})]}):r?e("p",{children:["Up to date on ",n,"."]}):e(b,{children:[e("p",{class:"muted",children:["The app on ",n," differs from what the agent needs now. Make these changes in its settings and save them."]}),e("ol",{class:"create-steps",children:o.lines.map(({text:u,copy:p})=>e("li",{children:[e("p",{children:N(u)}),p?e(P,{value:p,label:"Copy"}):null]},u))})]})})}function _e({app:t,name:n,appUpdate:o,check:s}){let i=x(),c=S({toast:`${n} app not updated`}),[l,r]=$(s),d=()=>o==="push"?void c.run("update",async()=>{await y.apps.update(t.id),I(`${n} app updated`,`${t.name} now matches the agent.`,"success")},{refresh:!0}):void c.run("update",async()=>r(await y.apps.drift(t.id)),{toast:`Not read from ${n}`});return e(b,{children:[e(C,{variant:t.changed?"primary":"outline",size:"sm",leftIcon:K,loading:!!c.pending,onClick:d,children:["Update on ",n]}),l?e(de,{app:t,name:n,check:l,confirmed:()=>y.apps.update(t.id),onClose:()=>{r(void 0),me("update"),i.refresh()}}):null]})}function Ge({apps:t}){let n=x(),[o,s]=$(t),[i,c]=$(),l=o[0],r=d=>{s(d),c(void 0);let[u]=d;if(!u){history.replaceState(history.state,"",location.pathname),n.refresh();return}y.apps.drift(u.id).then(c).catch(p=>{F(`Not read from ${u.platform}`,H(p)),r(d.slice(1))})};return O(()=>r(t),[]),l&&i?e(de,{app:l,name:l.platform,check:i,confirmed:()=>y.apps.update(l.id),onClose:()=>r(o.slice(1))}):null}function ke({name:t,issues:n,title:o=`Setting up ${t} failed`,text:s="Coder ran into an unexpected error, so nothing was set up. Try again, and if it fails again, report it on GitHub.",onRetry:i}){return e(ie,{ok:!1,title:o,text:s,issues:n,focus:"actions",children:e(C,{autofocus:!0,onClick:l=>{l.currentTarget.closest("dialog").close(),i()},children:"Try again"})})}function ge({integration:t,name:n,createUrl:o,create:s,unreachable:i,publicApps:c=!1,organizationApps:l=!1}){let[r,d]=$(!1),[u,p]=$(),[v,B]=$(!1),f=m=>(d(!0),y.apps.create(t,m).then(({post:g})=>g&&ce(g)).catch(g=>{throw d(!1),g})),k=m=>(d(!0),le(t,()=>y.apps.create(t,m),s.hidden).catch(g=>{throw d(!1),g})),a=m=>s?s.fields.length?he(s,m,()=>y.apps.create(t,m)).then(g=>{g&&(p({state:m,step:g}),B(!1))}):k(m):f(m);return{leaving:r,start:()=>c||l?B(!0):void a(re(o)).catch(m=>F("App not created",H(m))),dialogs:e(b,{children:[u?e(Ce,{integration:t,step:u.step,start:()=>y.apps.create(t,u.state),unreachable:i,onClose:()=>p(void 0)}):null,v?e(ve,{integration:t,name:n,publicApps:c,organizationApps:l,unreachable:i,onSubmit:(m,g)=>a(re(o,m,g)),onClose:()=>B(!1)}):null]})}}function Qe(t){let{leaving:n,start:o,dialogs:s}=ge(t);return e(b,{children:[e(C,{variant:"outline",size:"sm",loading:n,onClick:o,children:["Create another ",t.name," app"]}),s]})}function Ve({apps:t,installed:n,reinstall:o,shared:s=!1,failed:i,agent:c,...l}){let r=V(),{org:d}=r,u=c??r.slug,p=Q(),v=p.startsWith(`/dash/${d}/agents/${u}`)?void 0:p,{busy:B,install:f}=pe(),{leaving:k,start:a,dialogs:h}=ge(l),{integration:m,name:g,create:T}=l,q=t.find(w=>w.id===o)??t[0],_=i?e(ke,{name:i.name,issues:i.issues,title:i.title,text:i.text,onRetry:()=>t.some(w=>w.id===i.app)?f(i.app):a()}):null;return t.length?e(b,{children:[e("span",{class:"split",children:[n?null:e(C,{size:"sm",loading:B,onClick:()=>f(q.id),children:o?"Reinstall":"Install"}),e(E,{button:n?"icon":{size:"sm",class:"split-more"},label:`More for ${g}`,wide:!0,summary:e(R,{d:n?Y:L}),children:[t.map(w=>{if(!n&&w===q)return null;let G=t.length>1?` ${w.name}`:"";return e(D,{icon:Z,title:n?`Install${G} on another account`:`Install${G}`,sub:s?`Any ${g} account can add it.`:`Any ${g} account if the app is public, else only the account that owns it.`,onClick:()=>f(w.id)},w.id)}),t.map(w=>e(oe,{icon:te,href:"/dash/[org]/agents/[slug]/platforms/[app]",params:{org:d,slug:u,app:w.id},search:v?{back:v}:void 0,children:t.length>1?`Manage ${w.name}`:"Manage app"},`manage ${w.id}`))]})]}),h,_]}):e(b,{children:[e(C,{size:"sm",loading:k,onClick:a,children:T&&!T.fields.length?T.submit:"Create app"}),h,_]})}export{he as a,je as b,Ne as c,qe as d,Ce as e,de as f,_e as g,Ge as h,Qe as i,Ve as j};
1
+ import{a as W,b as P}from"./copy-eeb076af6e19e501.js";import{a as se}from"./segmented-a994b4c20434c0ad.js";import{a as z}from"./confirm-c0c0642856e64b11.js";import{a as ie}from"./outcome-dialog-36842dfe50be1c85.js";import{a as M}from"./field-7c895f6d8d5d9eb3.js";import{$1b as S}from"./shared-init-e8cf924a73e46497.js";import{$0h as H}from"./shared-init-e8cf924a73e46497.js";import{$2m as I,$2n as F}from"./shared-init-4f4cac48ca0ef193.js";import{$4a as x,$4b as Q,$4d as V,$4k as D,$4l as oe,$4z as ae}from"./shared-init-4f4cac48ca0ef193.js";import{$1c as y,$1f as E,$1k as ne}from"./shared-init-4f4cac48ca0ef193.js";import{$0a as A}from"./shared-init-4f4cac48ca0ef193.js";import{$3A as Y,$3B as Z,$3G as ee,$3P as te,$3Q as e,$3R as R,$3S as C,$3h as L,$3r as X,$3v as J,$3y as K}from"./shared-init-4f4cac48ca0ef193.js";import{$3c as b,$3h as $,$3j as O,$3l as U}from"./shared-init-9b28886f3cbe0ed3-2.js";var j={private:{text:"Private",note:()=>"Only the account that owns it can install it.",owner:"Owns it and is the only place it installs. Leave empty for your personal account."},public:{text:"Public",note:t=>`Any account can install it. ${t} asks where on each install.`,owner:"Manages its settings; it still installs anywhere. Leave empty for your personal account."}},le=(t,n,o={})=>n().then(({tx:s})=>y.apps.finish(t,{...o,tx:s})).then(({url:s})=>location.assign(s)),N=t=>t.split(/\*\*(.+?)\*\*/).map((n,o)=>o%2?e("span",{class:"ui-name",children:n},o):n),fe=t=>t?.focus();function ce({url:t,fields:n}){let o=Object.assign(document.createElement("form"),{method:"post",action:t});for(let[s,i]of Object.entries(n))o.append(Object.assign(document.createElement("input"),{type:"hidden",name:s,value:i}));document.body.append(o),o.submit()}var he=(t,n,o)=>t&&!n.public?Promise.resolve(t):o().then(({post:s,create:i})=>s?void ce(s):i??t),re=(t,n="",o=!1)=>({...Object.fromEntries(new URL(t,location.href).searchParams),...n?{owner:n}:{},...o?{public:"1"}:{}});function ue(){return e("p",{class:"flash err",children:["This server is only reachable from this machine, so"," ",e("a",{href:"#tunnel",onClick:t=>{t.currentTarget.closest("dialog").close(),document.querySelector("#tunnel details")?.setAttribute("open","")},children:"set a public address"})," ","first."]})}function pe(){let t=S({toast:"Not installed",leaves:!0}),n=o=>void t.run("install",async()=>{location.href=(await y.apps.install(o,location.pathname)).url});return{busy:!!t.pending,install:n}}function je({app:t,label:n,...o}){let{busy:s,install:i}=pe();return e(C,{...o,loading:s,onClick:()=>i(t),children:n})}function be({app:t,name:n,onClose:o}){let s=S({toast:"Not removed",leaves:!0}),i=()=>void s.run("remove",async()=>{await y.apps.remove(t.id),location.replace(location.pathname.replace(/\/[^/]*$/,""))});return e(z,{open:!0,title:`Remove ${t.name}?`,body:e(b,{children:["Coder forgets this app and its installs here, and the agent stops answering through it on"," ",n,".",e("br",{}),"Delete the app itself on ",n,t.settingsUrl?e(b,{children:[" ","in"," ",e("a",{class:"link",href:t.settingsUrl,target:"_blank",rel:"noreferrer",children:"its settings"})]}):null,"."]}),confirmLabel:"Remove",busy:!!s.pending,onConfirm:i,onClose:o})}function ye({install:t,name:n,onClose:o}){let[s,i]=$(),c=S({toast:"Not uninstalled",refresh:!0,leaves:!0}),l=()=>void c.run("uninstall",async()=>{await y.installations.uninstall(t.id).catch(r=>{throw i(r.hint),r}),I(`Uninstalled from ${t.account}`,`${t.app} no longer answers there.`,"success")});return e(z,{open:!0,title:`Uninstall ${t.app} from ${t.account}?`,body:e(b,{children:["The agent stops answering on ",t.account,". Installing again works any time.",s?e(b,{children:[e("br",{}),n," did not uninstall it, so uninstall it"," ",e("a",{class:"link",href:s,target:"_blank",rel:"noreferrer",children:["on ",n]})," ","instead."]}):null]}),confirmLabel:"Uninstall",busy:!!c.pending,onConfirm:l,onClose:o})}function Ne({install:t,name:n,url:o}){let[s,i]=$();return e(b,{children:[o?e("span",{class:"split",children:[e(C,{variant:"outline",size:"sm",href:o,external:!0,children:["Manage on ",n]}),e(E,{button:{variant:"outline",size:"sm",class:"split-more"},label:`More for ${t.account}`,summary:e(R,{d:L}),children:e(D,{icon:J,title:"Uninstall",danger:!0,onClick:()=>i(t.id)})})]}):e(C,{variant:"outline",size:"sm",onClick:()=>i(t.id),children:"Uninstall"}),s===t.id?e(ye,{install:t,name:n,onClose:()=>i(void 0)}):null]})}function me(t){let n=new URL(location.href);n.searchParams.delete(t),history.replaceState(history.state,"",n)}function qe({app:t,name:n,asked:o=!1}){let[s,i]=$(o);return e(b,{children:[e(C,{variant:"outline",danger:!0,size:"sm",onClick:()=>i(!0),children:"Remove"}),s?e(be,{app:t,name:n,onClose:()=>{i(!1),me("delete")}}):null]})}function Ce({integration:t,step:n,start:o,unreachable:s,onClose:i}){let c=S({leaves:!0}),l=!!c.pending,r=U(null),[d,u]=$(()=>Object.fromEntries(n.fields.map(a=>[a.name,a.options?.[0]?.value??""]))),p=({when:a})=>!a||d[a.field]===a.equals,v=n.steps.filter(p),B=n.fields.filter(p),f=(a,h)=>{let m=r.current.closest("dialog");if(!m.style.marginTop){let{top:g}=m.getBoundingClientRect();Object.assign(m.style,{marginTop:`${g}px`,maxHeight:`calc(100dvh - ${g+24}px)`})}u({...d,[a]:h})},k=a=>{a.preventDefault();let h=a.currentTarget;c.run("create",()=>le(t,o,{...n.hidden,...Object.fromEntries(new FormData(h))}))};return e(A,{class:"create-dialog",title:n.submit,dismiss:!0,busy:l,onSubmit:k,onClose:i,actions:e(C,{type:"submit",rightIcon:ee,loading:l,children:n.submit}),children:[s?e(ue,{}):null,e("p",{ref:r,class:"muted",children:n.intro}),B.filter(a=>a.options).map(a=>e(M,{label:a.label,hint:a.hint,group:!0,children:e(ae,{label:a.label,name:a.name,options:a.options.map(({value:h,label:m})=>[h,m]),value:d[a.name],onChange:h=>f(a.name,h),disabled:l})},a.name)),v.length?e(b,{children:[e("div",{class:"create-link",children:[e(C,{variant:"secondary",class:"create-open",href:n.link,external:!0,children:["Open ",new URL(n.link).host]}),e(W,{value:n.link,label:"Copy link"})]}),e("ol",{class:"create-steps",children:v.map(({text:a,link:h,copy:m=[]})=>e("li",{children:[e("p",{children:N(a)}),h&&h!==n.link?e("div",{class:"create-link",children:[e("a",{href:h,target:"_blank",rel:"noreferrer",children:h.replace(/^https:\/\//,"")}),e(W,{value:h,label:"Copy link"})]}):null,m.map(g=>e(P,{value:g,label:"Copy"},g))]},a))})]}):null,n.notes?.length?e("details",{class:"create-more",children:[e("summary",{children:"Advanced"}),e("ul",{children:n.notes.map(a=>e("li",{children:N(a)},a))})]}):null,B.filter(a=>!a.options).map(a=>e(M,{label:a.label,hint:a.hint??(a.required?void 0:"optional"),children:e("input",{ref:a.when?fe:void 0,name:a.name,placeholder:a.placeholder,required:a.required,autocomplete:"off",spellcheck:!1})},a.name))]})}function ve({integration:t,name:n,publicApps:o,organizationApps:s,unreachable:i,onSubmit:c,onClose:l}){let[r,d]=$("private"),u=S({leaves:!0}),p=!!u.pending,v=U(null);O(()=>{s&&y.installations.list(void 0,{limit:200,active:!0}).then(f=>{let[k]=f.map(a=>a.value).filter(a=>a.integration===t&&a.account.type&&a.account.type!=="User").map(a=>a.account.login).sort();k&&v.current&&!v.current.value&&(v.current.value=k)}).catch(f=>console.error("coder dashboard: installations",f))},[]);let B=f=>{f.preventDefault();let k=new FormData(f.currentTarget);u.run("submit",()=>c(String(k.get("owner")??"").trim(),r==="public"))};return e(A,{class:"create-dialog",title:`Create ${n} app`,dismiss:!0,busy:p,onSubmit:B,onClose:l,actions:e(C,{type:"submit",rightIcon:X,loading:p,children:["Continue to ",n]}),children:[i?e(ue,{}):null,o?e(M,{label:"Who can install it",group:!0,children:[e(se,{label:"Who can install it",options:Object.entries(j).map(([f,{text:k}])=>[f,k]),value:r,onChange:f=>d(f),disabled:p}),e("small",{class:"where-note",children:j[r].note(n)})]}):null,s?e(M,{label:"Owner",hint:j[r].owner,children:e("input",{ref:v,name:"owner",placeholder:"your-org",autocomplete:"off",spellcheck:!1})}):null]})}function de({app:t,name:n,check:o,confirmed:s,onClose:i}){let c=S({toast:`${n} app not updated`,leaves:!0}),l=!!c.pending,r=!o.changed,d=u=>{let p=u.currentTarget.closest("dialog");c.run("confirm",async()=>{await s(),p.close()})};return e(A,{class:"create-dialog",title:`Update ${t.name} on ${n}`,busy:l,cancel:r?"Close":"Cancel",onClose:i,actions:r&&!o.confirm?null:e(b,{children:[o.confirm&&!r?e(C,{variant:"secondary",loading:l,onClick:d,children:"I updated it"}):null,e(C,{href:o.url,external:!0,children:o.label})]}),children:o.confirm?e(b,{children:[e("p",{class:"muted",children:r?`Up to date on ${n}. The app uses these values.`:`${n} cannot show Coder the app's settings. Enter the values marked changed in the app on ${n}, then confirm.`}),e("ul",{class:"create-steps update-values",children:o.lines.map(({text:u,copy:p,changed:v})=>e("li",{children:[e("p",{children:[u," ",v?e(ne,{tone:"warn",children:"changed"}):null]}),p?e(P,{value:p,label:"Copy"}):null]},`${u} ${p}`))})]}):r?e("p",{children:["Up to date on ",n,"."]}):e(b,{children:[e("p",{class:"muted",children:["The app on ",n," differs from what the agent needs now. Make these changes in its settings and save them."]}),e("ol",{class:"create-steps",children:o.lines.map(({text:u,copy:p})=>e("li",{children:[e("p",{children:N(u)}),p?e(P,{value:p,label:"Copy"}):null]},u))})]})})}function _e({app:t,name:n,appUpdate:o,check:s}){let i=x(),c=S({toast:`${n} app not updated`}),[l,r]=$(s),d=()=>o==="push"?void c.run("update",async()=>{await y.apps.update(t.id),I(`${n} app updated`,`${t.name} now matches the agent.`,"success")},{refresh:!0}):void c.run("update",async()=>r(await y.apps.drift(t.id)),{toast:`Not read from ${n}`});return e(b,{children:[e(C,{variant:t.changed?"primary":"outline",size:"sm",leftIcon:K,loading:!!c.pending,onClick:d,children:["Update on ",n]}),l?e(de,{app:t,name:n,check:l,confirmed:()=>y.apps.update(t.id),onClose:()=>{r(void 0),me("update"),i.refresh()}}):null]})}function Ge({apps:t}){let n=x(),[o,s]=$(t),[i,c]=$(),l=o[0],r=d=>{s(d),c(void 0);let[u]=d;if(!u){history.replaceState(history.state,"",location.pathname),n.refresh();return}y.apps.drift(u.id).then(c).catch(p=>{F(`Not read from ${u.platform}`,H(p)),r(d.slice(1))})};return O(()=>r(t),[]),l&&i?e(de,{app:l,name:l.platform,check:i,confirmed:()=>y.apps.update(l.id),onClose:()=>r(o.slice(1))}):null}function ke({name:t,issues:n,title:o=`Setting up ${t} failed`,text:s="Coder ran into an unexpected error, so nothing was set up. Try again, and if it fails again, report it on GitHub.",onRetry:i}){return e(ie,{ok:!1,title:o,text:s,issues:n,focus:"actions",children:e(C,{autofocus:!0,onClick:l=>{l.currentTarget.closest("dialog").close(),i()},children:"Try again"})})}function ge({integration:t,name:n,createUrl:o,create:s,unreachable:i,publicApps:c=!1,organizationApps:l=!1}){let[r,d]=$(!1),[u,p]=$(),[v,B]=$(!1),f=m=>(d(!0),y.apps.create(t,m).then(({post:g})=>g&&ce(g)).catch(g=>{throw d(!1),g})),k=m=>(d(!0),le(t,()=>y.apps.create(t,m),s.hidden).catch(g=>{throw d(!1),g})),a=m=>s?s.fields.length?he(s,m,()=>y.apps.create(t,m)).then(g=>{g&&(p({state:m,step:g}),B(!1))}):k(m):f(m);return{leaving:r,start:()=>c||l?B(!0):void a(re(o)).catch(m=>F("App not created",H(m))),dialogs:e(b,{children:[u?e(Ce,{integration:t,step:u.step,start:()=>y.apps.create(t,u.state),unreachable:i,onClose:()=>p(void 0)}):null,v?e(ve,{integration:t,name:n,publicApps:c,organizationApps:l,unreachable:i,onSubmit:(m,g)=>a(re(o,m,g)),onClose:()=>B(!1)}):null]})}}function Qe(t){let{leaving:n,start:o,dialogs:s}=ge(t);return e(b,{children:[e(C,{variant:"outline",size:"sm",loading:n,onClick:o,children:["Create another ",t.name," app"]}),s]})}function Ve({apps:t,installed:n,reinstall:o,shared:s=!1,failed:i,agent:c,...l}){let r=V(),{org:d}=r,u=c??r.slug,p=Q(),v=p.startsWith(`/dash/${d}/agents/${u}`)?void 0:p,{busy:B,install:f}=pe(),{leaving:k,start:a,dialogs:h}=ge(l),{integration:m,name:g,create:T}=l,q=t.find(w=>w.id===o)??t[0],_=i?e(ke,{name:i.name,issues:i.issues,title:i.title,text:i.text,onRetry:()=>t.some(w=>w.id===i.app)?f(i.app):a()}):null;return t.length?e(b,{children:[e("span",{class:"split",children:[n?null:e(C,{size:"sm",loading:B,onClick:()=>f(q.id),children:o?"Reinstall":"Install"}),e(E,{button:n?"icon":{size:"sm",class:"split-more"},label:`More for ${g}`,wide:!0,summary:e(R,{d:n?Y:L}),children:[t.map(w=>{if(!n&&w===q)return null;let G=t.length>1?` ${w.name}`:"";return e(D,{icon:Z,title:n?`Install${G} on another account`:`Install${G}`,sub:s?`Any ${g} account can add it.`:`Any ${g} account if the app is public, else only the account that owns it.`,onClick:()=>f(w.id)},w.id)}),t.map(w=>e(oe,{icon:te,href:"/dash/[org]/agents/[slug]/platforms/[app]",params:{org:d,slug:u,app:w.id},search:v?{back:v}:void 0,children:t.length>1?`Manage ${w.name}`:"Manage app"},`manage ${w.id}`))]})]}),h,_]}):e(b,{children:[e(C,{size:"sm",loading:k,onClick:a,children:T&&!T.fields.length?T.submit:"Create app"}),h,_]})}export{he as a,je as b,Ne as c,qe as d,Ce as e,de as f,_e as g,Ge as h,Qe as i,Ve as j};
@@ -0,0 +1 @@
1
+ "use client";import{a,b,c,d,e,f,g,h,i,j}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"./shared-init-e8cf924a73e46497.js";import"./shared-init-e8cf924a73e46497.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-4f4cac48ca0ef193.js";import"./shared-init-9b28886f3cbe0ed3-2.js";import"./shared-init-9b28886f3cbe0ed3-2.js";import"./shared-init-9b28886f3cbe0ed3-2.js";export{i as CreateButton,e as CreateDialog,h as DriftQueue,b as InstallButton,j as PlatformActions,d as RemoveButton,c as UninstallButton,g as UpdateButton,f as UpdateDialog,a as createForm};
@@ -0,0 +1 @@
1
+ "use client";import{a}from"./platform-step-c7473e57e0b2f824.js";import"./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"./shared-init-e8cf924a73e46497.js";import"./shared-init-e8cf924a73e46497.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-4f4cac48ca0ef193.js";import"./shared-init-9b28886f3cbe0ed3-2.js";import"./shared-init-9b28886f3cbe0ed3-2.js";import"./shared-init-9b28886f3cbe0ed3-2.js";export{a as PlatformStep};
@@ -1 +1 @@
1
- import{j as c}from"./platform-actions-267a43c805e3c3a6.js";import{$0h as s,$0k as o}from"./shared-init-7a7f1e623f0f5861.js";import{$4Q as e,$4T as d}from"./shared-init-7a7f1e623f0f5861.js";var f=t=>t.apps.length?t.live.length?"installed":"created":"none";var l={installed:{tone:"ok",label:"installed"},created:{tone:"warn",label:"app created"},none:{label:"not set up"}};function O({step:t,info:n,org:m,agent:h,builtin:u,operator:b,unreachable:A,failed:v,quiet:w}){let{id:a}=t,i=n?.name??a,r=f(t),p=u&&n?.builtinApp!=="own";return n?p&&!t.apps.length?e("span",{class:"plat-step",children:[e(o,{children:l.none.label}),b?e(d,{size:"sm",href:"/dash/[org]/operator",params:{org:m},search:{setup:a},children:"Set up shared app"}):e(s,{label:`Why ${i} is not set up`,children:e("p",{children:["This server has no shared ",i," app yet. Ask whoever runs this server to add one."]})})]}):e("span",{class:"plat-step",children:[t.gone?e(o,{tone:"warn",children:"uninstalled"}):r==="created"&&p||r==="installed"&&w?null:e(o,{tone:l[r].tone,children:l[r].label}),e(c,{agent:h,integration:a,name:i,apps:t.apps,installed:t.live.length>0,reinstall:t.gone,createUrl:t.createUrl,create:n.create,unreachable:A,publicApps:n.publicApps,organizationApps:n.organizationApps,shared:p,failed:v})]}):e("span",{class:"plat-step",children:[e(o,{children:"not offered"}),e(s,{label:`Why ${a} is not offered`,children:e("p",{children:["This server does not offer ",a,". Remove it from the agent's platforms, or ask whoever runs this server to add it."]})})]})}export{O as a};
1
+ import{j as c}from"./platform-actions-055a2e246fca7af9.js";import{$1h as s,$1k as o}from"./shared-init-4f4cac48ca0ef193.js";import{$3Q as e,$3T as d}from"./shared-init-4f4cac48ca0ef193.js";var f=t=>t.apps.length?t.live.length?"installed":"created":"none";var l={installed:{tone:"ok",label:"installed"},created:{tone:"warn",label:"app created"},none:{label:"not set up"}};function O({step:t,info:n,org:m,agent:h,builtin:u,operator:b,unreachable:A,failed:v,quiet:w}){let{id:a}=t,i=n?.name??a,r=f(t),p=u&&n?.builtinApp!=="own";return n?p&&!t.apps.length?e("span",{class:"plat-step",children:[e(o,{children:l.none.label}),b?e(d,{size:"sm",href:"/dash/[org]/operator",params:{org:m},search:{setup:a},children:"Set up shared app"}):e(s,{label:`Why ${i} is not set up`,children:e("p",{children:["This server has no shared ",i," app yet. Ask whoever runs this server to add one."]})})]}):e("span",{class:"plat-step",children:[t.gone?e(o,{tone:"warn",children:"uninstalled"}):r==="created"&&p||r==="installed"&&w?null:e(o,{tone:l[r].tone,children:l[r].label}),e(c,{agent:h,integration:a,name:i,apps:t.apps,installed:t.live.length>0,reinstall:t.gone,createUrl:t.createUrl,create:n.create,unreachable:A,publicApps:n.publicApps,organizationApps:n.organizationApps,shared:p,failed:v})]}):e("span",{class:"plat-step",children:[e(o,{children:"not offered"}),e(s,{label:`Why ${a} is not offered`,children:e("p",{children:["This server does not offer ",a,". Remove it from the agent's platforms, or ask whoever runs this server to add it."]})})]})}export{O as a};
@@ -1 +1 @@
1
- "use client";import{e as oe}from"./composer-data-b05f3d93fdc472d7.js";import{e as F}from"./model-options-5e07b3318d69d218.js";import{a as te}from"./types-3eca2c7f47c46054.js";import{b as ae}from"./list-84356c9286747b10.js";import{b as C}from"./copy-38fa78628f39ec10.js";import"./confirm-6e26ab941d655b9f.js";import{a as $}from"./field-444bab2e16b91c26.js";import{$1a as ne,$1b as O}from"./shared-init-a69029db2d72fb52.js";import{$0d as Z,$0e as ee}from"./shared-init-a69029db2d72fb52.js";import{$1q as Y}from"./shared-init-7a7f1e623f0f5861.js";import{$2c as W,$2k as D,$2m as X,$2z as L}from"./shared-init-7a7f1e623f0f5861.js";import{$0c as m,$0f as I,$0k as E,$0o as Q,$0r as A}from"./shared-init-7a7f1e623f0f5861.js";import"./wular-pnext-3fcac605fffcc273-0.js";import"./shared-init-7a7f1e623f0f5861.js";import{$4A as G,$4B as U,$4K as J,$4N as S,$4Q as e,$4R as v,$4S as T,$4h as _,$4l as z,$4s as V,$4t as q}from"./shared-init-7a7f1e623f0f5861.js";import"./shared-init-3fcac605fffcc273-2.js";import"./shared-init-3fcac605fffcc273-2.js";import{$2c as w,$2h as c,$2j as M,$2l as H}from"./shared-init-3fcac605fffcc273-2.js";var K={local:z,"local-docker":J,"vercel-sandbox":V,"github-actions":q,http:S},ce=new Set(["default","local"]);function me({runner:t,tested:o}){return o==="testing"?e("span",{class:"sub runner-status",children:[e("i",{class:"dot"}),"Testing\u2026"]}):o?e("span",{class:`sub runner-status ${o.ok?"ok":"bad"}`,children:[e("i",{class:"dot"}),o.ok?`Reached in ${Z(o.ms)}`:o.detail]}):e("span",{class:`sub runner-status${t.online?" ok":""}`,children:[e("i",{class:"dot"}),t.online?"Online":t.lastSeen?`Last seen ${ee(t.lastSeen)}`:"Not seen yet"]})}function pe({runner:t,manage:o,onChange:i}){let[l,k]=c(!1),[d,r]=c(!1),[p,a]=c(),f=H(null);M(()=>f.current?.select(),[d]);let b=ce.has(t.id),R=ae(o&&!b?{title:`Remove ${t.name}?`,body:"Its tasks go to another runner.",link:t.id,onRemove:()=>i(()=>m.runners.remove(t.id))}:void 0),h=()=>{a("testing"),m.runners.test(t.id).then(a,u=>{a(void 0),ne(u)})};return e("tr",{children:[e("td",{children:[e("span",{class:"row-title",children:[e("b",{class:"runner-name",children:[e(v,{d:K[t.kind]??S}),d?e("input",{class:"runner-rename","aria-label":"Runner name",defaultValue:t.name,ref:f,onKeyDown:u=>{let y=u.currentTarget.value.trim();u.key==="Escape"&&r(!1),u.key==="Enter"&&y&&i(()=>m.runners.update(t.id,{name:y})).then(()=>r(!1))},onBlur:()=>r(!1)}):t.name]}),e("span",{class:"runner-badges",children:[e(E,{children:t.scope}),t.default?e(E,{tone:"acc",children:"default"}):null]})]}),e(me,{runner:t,tested:p})]}),e("td",{class:"acts",children:[t.default||!o?null:e(T,{variant:"secondary",size:"sm",loading:l,onClick:()=>{k(!0),i(()=>m.runners.update(t.id,{default:!0})).finally(()=>k(!1))},children:"Make default"}),e(I,{button:"icon",label:"Actions",summary:e(v,{d:G}),children:[e(D,{title:"Test",onClick:h}),o&&!b?e(D,{title:"Rename",onClick:()=>r(!0)}):null,R.item]}),R.dialog]})]})}function fe({pairing:t,onCancel:o}){return e("div",{class:"runner-pair",children:[e("details",{class:"runner-step",children:[e("summary",{children:"Install the Coder CLI on that computer, if it is not there yet"}),e(C,{value:"npm install -g @wular/coder"})]}),e("div",{class:"runner-step",children:[e("p",{children:"Run this there. The token works once and expires in 15 minutes."}),e(C,{value:t.command})]}),e("details",{class:"runner-step",children:[e("summary",{children:"Behind a firewall? This server has to reach that computer over HTTPS"}),e("p",{children:["Open a tunnel on that computer first, then add its address to the command above as"," ",e("code",{children:"--runner-url"}),"."]}),e(C,{value:"cloudflared tunnel --url http://localhost:4100"})]}),e("div",{class:"runner-wait",children:[e(A,{label:"Waiting for that computer to connect",inline:!0,dots:!0}),e(T,{variant:"secondary",danger:!0,size:"sm",onClick:o,children:"Cancel"})]})]})}function ge({catalog:t,admin:o,personal:i,known:l,onAdded:k}){let d=W(),[r,p]=c(t.find(n=>n.available&&n.connect==="fields"&&n.kind===d.get("add"))?.kind),[a,f]=c(d.get("scope")==="workspace"&&o?"workspace":i?"personal":"workspace"),b=O(),R=!!b.pending,[h,u]=c(),[y,se]=c(l),N=!!h&&l.some(n=>!y.includes(n)),x=N?void 0:r,g=N?void 0:h,s=t.find(n=>n.kind===x);M(()=>{if(!g)return;let n=setTimeout(j,Math.min(g.expiresAt-Date.now(),15*6e4));return()=>clearTimeout(n)},[g]);let j=()=>{u(void 0),p(void 0)},ie=n=>{u(void 0),p(n.kind),n.connect==="pair"&&(se(l),b.run("pair",async()=>u(await m.runners.pair({scope:a}))).then(B=>B||p(void 0)))};return e("form",{class:"runner-add",method:"post",onSubmit:async n=>{if(n.preventDefault(),!s||R)return;let B=Object.fromEntries([...new FormData(n.currentTarget)].map(([P,de])=>[P,String(de).trim()])),{name:re,...le}=B;await b.run("add",async()=>{await m.runners.add({kind:s.kind,name:re||s.name,scope:a,config:Object.fromEntries(Object.entries(le).filter(([,P])=>P))}),k(await m.runners.list()),p(void 0)})},children:[e("div",{class:"runner-pick",children:[e(I,{button:{variant:"secondary"},label:"Runner kind",align:"left",wide:!0,summary:e(w,{children:[e(v,{d:s?K[s.kind]:U}),s?s.name:"Add a runner",e(v,{d:_})]}),children:t.filter(n=>n.available).map(n=>e(X,{on:n.kind===x,onPick:()=>ie(n),icon:K[n.kind]??S,sub:n.available?n.description:n.reason,children:n.name},n.kind))}),s?.connect==="fields"?e(w,{children:[s.help?e("p",{class:"muted runner-help",children:s.help}):null,e("div",{class:"add-grid",children:[e($,{label:"Name",hint:"shown in the list",children:e("input",{name:"name",defaultValue:d.get("name")??void 0,placeholder:s.name,autocomplete:"off"})}),s.fields.map(n=>e($,{label:n.label,hint:n.hint??(n.optional?"optional":void 0),children:e("input",{name:n.key,type:n.secret?"password":"text",placeholder:n.placeholder,required:!n.optional,autocomplete:"off"})},`${s.kind}:${n.key}`))]})]}):null,s?.connect==="fields"?e("div",{class:"runner-foot",children:[i?e(L,{label:"Who can use this runner",options:F,value:o?a:"personal",onChange:f,disabled:!o}):null,e(T,{type:"submit",loading:R,children:"Add runner"})]}):e(w,{children:[s&&i?e(L,{label:"Who can use this runner",options:F,value:o?a:"personal",onChange:f,disabled:!o||!!g}):null,R&&!g?e(A,{label:"Pairing",inline:!0}):null]})]}),g?e(fe,{pairing:g,onCancel:j}):null]})}function je({first:t,me:o}){let[i,l]=c(t),k=O(),d=te(o),r=oe(i.items);Y(({items:a})=>l(f=>({...f,items:a})));let p=a=>k.run("change",async()=>{await a(),l(await m.runners.list())});return e(Q,{look:"filled",title:"Runners",count:r.length,children:[e("div",{class:"table-scroll",children:e("table",{class:"rows settings",children:e("tbody",{children:r.map(a=>e(pe,{runner:a,manage:a.scope==="personal"||d,onChange:p},a.id))})})}),e(ge,{catalog:i.catalog,admin:d,personal:!!o.user,known:r.map(a=>a.id),onAdded:l})]})}export{je as RunnersList};
1
+ "use client";import{e as oe}from"./composer-data-b05f3d93fdc472d7.js";import{e as F}from"./model-options-5e07b3318d69d218.js";import{a as te}from"./types-3eca2c7f47c46054.js";import{b as ae}from"./list-c0633e5e742dff16.js";import{b as C}from"./copy-eeb076af6e19e501.js";import"./confirm-c0c0642856e64b11.js";import{a as $}from"./field-7c895f6d8d5d9eb3.js";import{$1a as ne,$1b as O}from"./shared-init-e8cf924a73e46497.js";import{$0d as Z,$0e as ee}from"./shared-init-e8cf924a73e46497.js";import{$2q as Y}from"./shared-init-4f4cac48ca0ef193.js";import{$4c as W,$4k as D,$4m as X,$4z as L}from"./shared-init-4f4cac48ca0ef193.js";import{$1c as m,$1f as I,$1k as E,$1o as Q,$1r as A}from"./shared-init-4f4cac48ca0ef193.js";import"./wular-pnext-9b28886f3cbe0ed3-0.js";import"./shared-init-4f4cac48ca0ef193.js";import{$3A as G,$3B as U,$3K as J,$3N as S,$3Q as e,$3R as v,$3S as T,$3h as _,$3l as z,$3s as V,$3t as q}from"./shared-init-4f4cac48ca0ef193.js";import"./shared-init-9b28886f3cbe0ed3-2.js";import"./shared-init-9b28886f3cbe0ed3-2.js";import{$3c as w,$3h as c,$3j as M,$3l as H}from"./shared-init-9b28886f3cbe0ed3-2.js";var K={local:z,"local-docker":J,"vercel-sandbox":V,"github-actions":q,http:S},ce=new Set(["default","local"]);function me({runner:t,tested:o}){return o==="testing"?e("span",{class:"sub runner-status",children:[e("i",{class:"dot"}),"Testing\u2026"]}):o?e("span",{class:`sub runner-status ${o.ok?"ok":"bad"}`,children:[e("i",{class:"dot"}),o.ok?`Reached in ${Z(o.ms)}`:o.detail]}):e("span",{class:`sub runner-status${t.online?" ok":""}`,children:[e("i",{class:"dot"}),t.online?"Online":t.lastSeen?`Last seen ${ee(t.lastSeen)}`:"Not seen yet"]})}function pe({runner:t,manage:o,onChange:i}){let[l,k]=c(!1),[d,r]=c(!1),[p,a]=c(),f=H(null);M(()=>f.current?.select(),[d]);let b=ce.has(t.id),R=ae(o&&!b?{title:`Remove ${t.name}?`,body:"Its tasks go to another runner.",link:t.id,onRemove:()=>i(()=>m.runners.remove(t.id))}:void 0),h=()=>{a("testing"),m.runners.test(t.id).then(a,u=>{a(void 0),ne(u)})};return e("tr",{children:[e("td",{children:[e("span",{class:"row-title",children:[e("b",{class:"runner-name",children:[e(v,{d:K[t.kind]??S}),d?e("input",{class:"runner-rename","aria-label":"Runner name",defaultValue:t.name,ref:f,onKeyDown:u=>{let y=u.currentTarget.value.trim();u.key==="Escape"&&r(!1),u.key==="Enter"&&y&&i(()=>m.runners.update(t.id,{name:y})).then(()=>r(!1))},onBlur:()=>r(!1)}):t.name]}),e("span",{class:"runner-badges",children:[e(E,{children:t.scope}),t.default?e(E,{tone:"acc",children:"default"}):null]})]}),e(me,{runner:t,tested:p})]}),e("td",{class:"acts",children:[t.default||!o?null:e(T,{variant:"secondary",size:"sm",loading:l,onClick:()=>{k(!0),i(()=>m.runners.update(t.id,{default:!0})).finally(()=>k(!1))},children:"Make default"}),e(I,{button:"icon",label:"Actions",summary:e(v,{d:G}),children:[e(D,{title:"Test",onClick:h}),o&&!b?e(D,{title:"Rename",onClick:()=>r(!0)}):null,R.item]}),R.dialog]})]})}function fe({pairing:t,onCancel:o}){return e("div",{class:"runner-pair",children:[e("details",{class:"runner-step",children:[e("summary",{children:"Install the Coder CLI on that computer, if it is not there yet"}),e(C,{value:"npm install -g @wular/coder"})]}),e("div",{class:"runner-step",children:[e("p",{children:"Run this there. The token works once and expires in 15 minutes."}),e(C,{value:t.command})]}),e("details",{class:"runner-step",children:[e("summary",{children:"Behind a firewall? This server has to reach that computer over HTTPS"}),e("p",{children:["Open a tunnel on that computer first, then add its address to the command above as"," ",e("code",{children:"--runner-url"}),"."]}),e(C,{value:"cloudflared tunnel --url http://localhost:4100"})]}),e("div",{class:"runner-wait",children:[e(A,{label:"Waiting for that computer to connect",inline:!0,dots:!0}),e(T,{variant:"secondary",danger:!0,size:"sm",onClick:o,children:"Cancel"})]})]})}function ge({catalog:t,admin:o,personal:i,known:l,onAdded:k}){let d=W(),[r,p]=c(t.find(n=>n.available&&n.connect==="fields"&&n.kind===d.get("add"))?.kind),[a,f]=c(d.get("scope")==="workspace"&&o?"workspace":i?"personal":"workspace"),b=O(),R=!!b.pending,[h,u]=c(),[y,se]=c(l),N=!!h&&l.some(n=>!y.includes(n)),x=N?void 0:r,g=N?void 0:h,s=t.find(n=>n.kind===x);M(()=>{if(!g)return;let n=setTimeout(j,Math.min(g.expiresAt-Date.now(),15*6e4));return()=>clearTimeout(n)},[g]);let j=()=>{u(void 0),p(void 0)},ie=n=>{u(void 0),p(n.kind),n.connect==="pair"&&(se(l),b.run("pair",async()=>u(await m.runners.pair({scope:a}))).then(B=>B||p(void 0)))};return e("form",{class:"runner-add",method:"post",onSubmit:async n=>{if(n.preventDefault(),!s||R)return;let B=Object.fromEntries([...new FormData(n.currentTarget)].map(([P,de])=>[P,String(de).trim()])),{name:re,...le}=B;await b.run("add",async()=>{await m.runners.add({kind:s.kind,name:re||s.name,scope:a,config:Object.fromEntries(Object.entries(le).filter(([,P])=>P))}),k(await m.runners.list()),p(void 0)})},children:[e("div",{class:"runner-pick",children:[e(I,{button:{variant:"secondary"},label:"Runner kind",align:"left",wide:!0,summary:e(w,{children:[e(v,{d:s?K[s.kind]:U}),s?s.name:"Add a runner",e(v,{d:_})]}),children:t.filter(n=>n.available).map(n=>e(X,{on:n.kind===x,onPick:()=>ie(n),icon:K[n.kind]??S,sub:n.available?n.description:n.reason,children:n.name},n.kind))}),s?.connect==="fields"?e(w,{children:[s.help?e("p",{class:"muted runner-help",children:s.help}):null,e("div",{class:"add-grid",children:[e($,{label:"Name",hint:"shown in the list",children:e("input",{name:"name",defaultValue:d.get("name")??void 0,placeholder:s.name,autocomplete:"off"})}),s.fields.map(n=>e($,{label:n.label,hint:n.hint??(n.optional?"optional":void 0),children:e("input",{name:n.key,type:n.secret?"password":"text",placeholder:n.placeholder,required:!n.optional,autocomplete:"off"})},`${s.kind}:${n.key}`))]})]}):null,s?.connect==="fields"?e("div",{class:"runner-foot",children:[i?e(L,{label:"Who can use this runner",options:F,value:o?a:"personal",onChange:f,disabled:!o}):null,e(T,{type:"submit",loading:R,children:"Add runner"})]}):e(w,{children:[s&&i?e(L,{label:"Who can use this runner",options:F,value:o?a:"personal",onChange:f,disabled:!o||!!g}):null,R&&!g?e(A,{label:"Pairing",inline:!0}):null]})]}),g?e(fe,{pairing:g,onCancel:j}):null]})}function je({first:t,me:o}){let[i,l]=c(t),k=O(),d=te(o),r=oe(i.items);Y(({items:a})=>l(f=>({...f,items:a})));let p=a=>k.run("change",async()=>{await a(),l(await m.runners.list())});return e(Q,{look:"filled",title:"Runners",count:r.length,children:[e("div",{class:"table-scroll",children:e("table",{class:"rows settings",children:e("tbody",{children:r.map(a=>e(pe,{runner:a,manage:a.scope==="personal"||d,onChange:p},a.id))})})}),e(ge,{catalog:i.catalog,admin:d,personal:!!o.user,known:r.map(a=>a.id),onAdded:l})]})}export{je as RunnersList};
@@ -1,2 +1,2 @@
1
- import{a as Ke,b as I,c as G,d as We,e as je,g as Hn,h as Dn,i as me,k as we,l as ut,m as Un,n as Fn}from"./wular-pnext-3fcac605fffcc273-0.js";import{$0a as w,$0b as q,$0e as Ft,$0f as In,$0g as On,$0h as Re,$0j as Xe}from"./shared-init-3fcac605fffcc273-2.js";var Ne;function Z(e){return Ne?.(e)??3e5}var Eo,Ge,dt,Ve=0;function U(){return Eo?.()??3e5}var he;var v;function X(e){let t=e.querySelector("#pnext-page");if(t)return[t,void 0,[...t.childNodes]];let n=document.createTreeWalker(e,128);for(;n.nextNode();){let r=n.currentNode;if(!r.data.startsWith("pnext-page:"))continue;let i=[],o=r.nextSibling;for(;o&&!(o.nodeType===8&&o.nodeValue==="/pnext-page");)i.push(o),o=o.nextSibling;return o?[r,o,i]:null}return null}function pe(e){return!!(e.closest("#pnext-page")||X(document.body)?.[2].some(t=>t.contains(e)))}var Ye="pnext-layout[data-pnext-segment]";function V(e){return`${e.getAttribute("data-pnext-segment")}${e.getAttribute("data-pnext-scope")}`}function Y(e){for(let t of e.querySelectorAll(Ye))if(!e.contains(t.closest("[data-pnext-slot]")))return t;return null}function Bn(e,t){let n=t,r=t.closest(Ye),i;for(;;){let o=r&&V(r);i=null;let l=e.parentElement?.closest(Ye);for(;l&&V(l)!==o;l=l.parentElement?.closest(Ye))i=l;if(l||!r)break;n=r,r=r.parentElement.closest(Ye)}return!t.closest("pnext-client")&&!(i??e).parentElement?.closest("pnext-client")?[i,n]:null}function qn(e){let t=Y(e);if(t)return[t];let n=X(e);return n&&(n[1]?[n[0],...n[2],n[1]]:[n[0]])}function Xn(e,t){if(!Y(e)&&!Y(t))return _o(e,t);let n=qn(e),r=qn(t);if(!n||!r)return!1;n[0].before(...r);for(let i of n)i.remove();return!0}function _o(e,t){let n=X(e),r=X(t);if(!n||!r)return!1;let i=xo(n[2],r[2]);for(let l of n[2])l.remove();let o=r[1];if(!o)r[0].replaceChildren(...i);else for(let l of r[2])l.remove();return n[0].replaceWith(r[0]),o&&r[0].after(...i,o),n[1]?.remove(),!0}function xo(e,t){let n=e.filter(r=>r instanceof Element&&!r.matches("script, pnext-client, #pnext-page")&&!r.querySelector("pnext-client, #pnext-page, [data-pnext-preserve]"));return t.map(r=>{if(!(r instanceof Element))return r;let i=n.findIndex(o=>o.outerHTML===r.outerHTML);return i===-1?r:n.splice(i,1)[0]})}function Kn(){let e=document.getElementById("pnext-page");if(e)return{container:e};let t=X(document.body);return t?.[1]?{container:t[0].parentElement,markerRange:t}:{container:document.querySelector("[data-pnext-root]")??document.body}}var gt="window.__PNEXT_ROUTE__=";function ae(e){let t=[...e.scripts].map(n=>n.textContent??"").find(n=>n.startsWith(gt));if(t)try{return JSON.parse(t.slice(gt.length).replace(/;\s*$/,""))}catch{return}}function _r(e){let t=/window\.__PNEXT_ROUTE__=(\{.*?\});<\/script>/.exec(e)?.[1];if(t)try{return JSON.parse(t)}catch{return}}function To(e,t,n=!1){let r=e.split("/").filter(Boolean),i=t.split("/").filter(Boolean),o=0;for(let l of r){if(/^:[\w$]+\*$/.test(l))return n||i.length-o>=1;let s=i[o++];if(s===void 0)return!1;if(!/^:[\w$]+$/.test(l)&&l!==s)return!1}return o===i.length}function xr(e,t){let n=_r(e);return n?.route?!To(n.route,t,n.catchAllOptional):!1}function vo(e,t=ae(document)){let n=ae(e);return!t?.route||!n?.route?!1:t.route!==n.route?!0:Wn(t.params)!==Wn(n.params)}function Wn(e){return e?ue(e):""}async function yt(e){let t=Xe(e),n=Re.get(t);if(n)return n;window.__PNEXT_ROUTER_IMPORTS__=(window.__PNEXT_ROUTER_IMPORTS__??0)+1;try{let r=await import(t);return Re.set(t,r),r}catch{return null}finally{window.__PNEXT_ROUTER_IMPORTS__=(window.__PNEXT_ROUTER_IMPORTS__??1)-1}}function O(){let e={},t=typeof document.getElementById=="function"?document.getElementById("__PNEXT_NAV_STATE__"):null;if(t?.textContent)try{e=JSON.parse(t.textContent)}catch{e={}}return e.children||(e={...e,children:location.pathname}),e}function St(e){return Po(ho(e))}function Et(e){return _r(e)?.runtimePrefetch===!0}function Po(e){if(!e)return null;try{let t=JSON.parse(e),n=typeof t.staleTime=="number"?t.staleTime:void 0,r=t.staticStage===!0?{staticStage:!0}:{};return t.isStatic!==!0?n===void 0&&r.staticStage===void 0?null:{isStatic:!1,...n!==void 0?{staleTime:n}:{},...r}:{isStatic:!0,...n!==void 0?{staleTime:n}:{},...r}}catch{return null}}function jn(e){return e.documentElement?.getAttribute("data-pnext-root-layout")?.replace(/[?#].*/,"")??null}function Tr(e){let t=jn(document),n=jn(e);return t!==null&&n!==null&&t!==n}function vr(e){return e.body?!!(e.getElementById("__PNEXT_NAV_STATE__")||e.querySelector('[data-pnext-root], pnext-client, script[type="module"][src]')||[...e.scripts].some(t=>t.text.includes("__PNEXT_ROUTE__"))):!1}function Gn(e){let t=new Map,n;for(let r of[...e.childNodes]){if(r.nodeType===Node.COMMENT_NODE){let i=r.data,o=/^\$ps:(\d+)$/.exec(i);if(o){n=[],t.set(o[1],n);continue}if(/^\/\$ps:\d+$/.test(i)){n=void 0;continue}}n?.push(r)}return t}function Pr(e,t,n,r){if(!e||n===null)return null;let i=e.getAttribute("data-pnext-suspense")??"",o=e.querySelector(`template[data-pnext-static="${CSS.escape(i)}"]`),l=Number(o?.getAttribute("data-pnext-slot-count"));if(!o||!Number.isFinite(l))return null;let s=new Set((o.getAttribute("data-pnext-slots")??"").split(",")),a=Gn(o.content),c=Gn(t),u=[];for(let m=0;m<l;m++){let h=String(m),d=s.has(h)?a.get(h):c.get(h)?.map(r);d&&u.push(...d)}return u}function et(e){for(let t of e.querySelectorAll("div[hidden][data-pnext-stream], template[data-pnext-stream]")){t.nextElementSibling?.tagName==="SCRIPT"&&t.nextElementSibling.remove();let n=t.getAttribute("data-pnext-stream"),r=n?e.querySelector(`pnext-suspense[data-pnext-suspense="${CSS.escape(n)}"]`):null,i=t instanceof HTMLTemplateElement?t.content:t,o=Pr(r,i,t.getAttribute("data-pnext-slots"),s=>s);if(o&&r){r.replaceWith(...o),t.remove();continue}let l;if(t instanceof HTMLTemplateElement)l=t.content.cloneNode(!0);else{let s=e.createDocumentFragment();for(;t.firstChild;)s.appendChild(t.firstChild);l=s}r?r.replaceWith(l):t.replaceWith(l),t.remove()}bo(e)}function bo(e){let t=[...e.querySelectorAll("preact-island[data-target]")];if(t.length===0)return;let n=new Map,r=e.createTreeWalker(e,NodeFilter.SHOW_COMMENT);for(let o=r.nextNode();o;o=r.nextNode()){let l=o,s=/^\$s:(.+)$/.exec(l.data);s&&n.set(s[1],{start:l,end:l});let a=/^\/\$s:(.+)$/.exec(l.data),c=a?n.get(a[1]):void 0;c&&(c.end=l)}let i=new Set;for(let o of t){let l=o.getAttribute("data-target");o.parentElement&&i.add(o.parentElement);let s=e.querySelector(`pnext-hole[data-pnext-hole="${CSS.escape(l)}"]`);if(s){for(;s.firstChild;)s.removeChild(s.firstChild);for(;o.firstChild;)s.appendChild(o.firstChild);o.remove();continue}let a=n.get(l);if(!(!a||a.start===a.end)){for(let c=a.end.previousSibling;c&&c!==a.start;){let u=c.previousSibling;c.parentNode?.removeChild(c),c=u}for(;o.firstChild;)a.end.parentNode?.insertBefore(o.firstChild,a.end);o.remove()}}for(let o of i)o.hasAttribute("hidden")&&o.childNodes.length===0&&o.remove()}var Qt="data-pnext-entry";function Ue(e){return e.body.querySelector('script[type="module"][src]')?.getAttribute("src")??e.documentElement.getAttribute(Qt)??void 0}async function Ro(e){if(typeof DOMParser>"u")return;let t=new DOMParser().parseFromString(e,"text/html");for(let r of t.querySelectorAll('link[rel="stylesheet"][href]'))wo(r.getAttribute("href")??"");br(t);let n=Ue(t);n&&await yt(n)}function br(e){for(let t of e.querySelectorAll('link[rel="modulepreload"][href]'))No(t.getAttribute("href")??"")}function wo(e){if(!e||document.querySelector(`link[href="${CSS.escape(e)}"]`))return;let t=document.createElement("link");t.rel="preload",t.as="style",t.href=e,document.head.append(t)}function No(e){if(!e||document.querySelector(`link[href="${CSS.escape(e)}"]`))return;let t=document.createElement("link");t.rel="modulepreload",t.href=e,document.head.append(t)}var Je=new Map;function dn(e){let t=[];for(let n of e.querySelectorAll('link[rel="stylesheet"][href]')){let r=n.getAttribute("href");if(!r)continue;let i=Lo(r),o=Co(r);if(o){let c=Je.get(i);c&&(o.sheet?c[1]():t.push(c[0]));continue}let l=document.createElement("link");l.rel="stylesheet",l.href=r;let s,a=new Promise(c=>{s=()=>{Je.get(i)?.[0]===a&&Je.delete(i),c()}});l.onload=s,l.onerror=s,i&&Je.set(i,[a,s]),document.head.append(l),t.push(a)}return t}function Lo(e){try{return new URL(e,location.href).href}catch{return}}function Vn(e){let t=new Set([...e.querySelectorAll('link[rel="stylesheet"][href]')].map(n=>new URL(n.getAttribute("href")??"",location.href).href));for(let n of document.querySelectorAll('link[rel="stylesheet"][href]'))Ao(n.href)&&(t.has(n.href)||n.remove())}var Mo=/^\/(?:assets|_next\/static)\//;function Ao(e){try{let t=new URL(e,location.href);return t.origin===location.origin&&Mo.test(t.pathname)}catch{return!1}}function Co(e){let t=new URL(e,location.href).href;return[...document.querySelectorAll('link[rel="stylesheet"][href]')].find(n=>n.href===t)}function ko(e){let t=e.head.querySelector("title")?.textContent??e.body.querySelector("title")?.textContent;e.body.querySelector("title")?.remove(),document.body.querySelector("title")?.remove();for(let n of[...document.head.childNodes])Zt(n)&&n.remove();for(let n of[...e.head.childNodes])(Zt(n)||Io(n))&&document.head.append(document.importNode(n,!0));document.title=t??""}function Io(e){let t=n=>["rel","href","as","imagesrcset","imagesizes","media"].map(r=>n.getAttribute(r)).join(`
1
+ import{a as Ke,b as I,c as G,d as We,e as je,g as Hn,h as Dn,i as me,k as we,l as ut,m as Un,n as Fn}from"./wular-pnext-9b28886f3cbe0ed3-0.js";import{$0a as w,$0b as q,$0e as Ft,$0f as In,$0g as On,$0h as Re,$0j as Xe}from"./shared-init-9b28886f3cbe0ed3-2.js";var Ne;function Z(e){return Ne?.(e)??3e5}var Eo,Ge,dt,Ve=0;function U(){return Eo?.()??3e5}var he;var v;function X(e){let t=e.querySelector("#pnext-page");if(t)return[t,void 0,[...t.childNodes]];let n=document.createTreeWalker(e,128);for(;n.nextNode();){let r=n.currentNode;if(!r.data.startsWith("pnext-page:"))continue;let i=[],o=r.nextSibling;for(;o&&!(o.nodeType===8&&o.nodeValue==="/pnext-page");)i.push(o),o=o.nextSibling;return o?[r,o,i]:null}return null}function pe(e){return!!(e.closest("#pnext-page")||X(document.body)?.[2].some(t=>t.contains(e)))}var Ye="pnext-layout[data-pnext-segment]";function V(e){return`${e.getAttribute("data-pnext-segment")}${e.getAttribute("data-pnext-scope")}`}function Y(e){for(let t of e.querySelectorAll(Ye))if(!e.contains(t.closest("[data-pnext-slot]")))return t;return null}function Bn(e,t){let n=t,r=t.closest(Ye),i;for(;;){let o=r&&V(r);i=null;let l=e.parentElement?.closest(Ye);for(;l&&V(l)!==o;l=l.parentElement?.closest(Ye))i=l;if(l||!r)break;n=r,r=r.parentElement.closest(Ye)}return!t.closest("pnext-client")&&!(i??e).parentElement?.closest("pnext-client")?[i,n]:null}function qn(e){let t=Y(e);if(t)return[t];let n=X(e);return n&&(n[1]?[n[0],...n[2],n[1]]:[n[0]])}function Xn(e,t){if(!Y(e)&&!Y(t))return _o(e,t);let n=qn(e),r=qn(t);if(!n||!r)return!1;n[0].before(...r);for(let i of n)i.remove();return!0}function _o(e,t){let n=X(e),r=X(t);if(!n||!r)return!1;let i=xo(n[2],r[2]);for(let l of n[2])l.remove();let o=r[1];if(!o)r[0].replaceChildren(...i);else for(let l of r[2])l.remove();return n[0].replaceWith(r[0]),o&&r[0].after(...i,o),n[1]?.remove(),!0}function xo(e,t){let n=e.filter(r=>r instanceof Element&&!r.matches("script, pnext-client, #pnext-page")&&!r.querySelector("pnext-client, #pnext-page, [data-pnext-preserve]"));return t.map(r=>{if(!(r instanceof Element))return r;let i=n.findIndex(o=>o.outerHTML===r.outerHTML);return i===-1?r:n.splice(i,1)[0]})}function Kn(){let e=document.getElementById("pnext-page");if(e)return{container:e};let t=X(document.body);return t?.[1]?{container:t[0].parentElement,markerRange:t}:{container:document.querySelector("[data-pnext-root]")??document.body}}var gt="window.__PNEXT_ROUTE__=";function ae(e){let t=[...e.scripts].map(n=>n.textContent??"").find(n=>n.startsWith(gt));if(t)try{return JSON.parse(t.slice(gt.length).replace(/;\s*$/,""))}catch{return}}function _r(e){let t=/window\.__PNEXT_ROUTE__=(\{.*?\});<\/script>/.exec(e)?.[1];if(t)try{return JSON.parse(t)}catch{return}}function To(e,t,n=!1){let r=e.split("/").filter(Boolean),i=t.split("/").filter(Boolean),o=0;for(let l of r){if(/^:[\w$]+\*$/.test(l))return n||i.length-o>=1;let s=i[o++];if(s===void 0)return!1;if(!/^:[\w$]+$/.test(l)&&l!==s)return!1}return o===i.length}function xr(e,t){let n=_r(e);return n?.route?!To(n.route,t,n.catchAllOptional):!1}function vo(e,t=ae(document)){let n=ae(e);return!t?.route||!n?.route?!1:t.route!==n.route?!0:Wn(t.params)!==Wn(n.params)}function Wn(e){return e?ue(e):""}async function yt(e){let t=Xe(e),n=Re.get(t);if(n)return n;window.__PNEXT_ROUTER_IMPORTS__=(window.__PNEXT_ROUTER_IMPORTS__??0)+1;try{let r=await import(t);return Re.set(t,r),r}catch{return null}finally{window.__PNEXT_ROUTER_IMPORTS__=(window.__PNEXT_ROUTER_IMPORTS__??1)-1}}function O(){let e={},t=typeof document.getElementById=="function"?document.getElementById("__PNEXT_NAV_STATE__"):null;if(t?.textContent)try{e=JSON.parse(t.textContent)}catch{e={}}return e.children||(e={...e,children:location.pathname}),e}function St(e){return Po(ho(e))}function Et(e){return _r(e)?.runtimePrefetch===!0}function Po(e){if(!e)return null;try{let t=JSON.parse(e),n=typeof t.staleTime=="number"?t.staleTime:void 0,r=t.staticStage===!0?{staticStage:!0}:{};return t.isStatic!==!0?n===void 0&&r.staticStage===void 0?null:{isStatic:!1,...n!==void 0?{staleTime:n}:{},...r}:{isStatic:!0,...n!==void 0?{staleTime:n}:{},...r}}catch{return null}}function jn(e){return e.documentElement?.getAttribute("data-pnext-root-layout")?.replace(/[?#].*/,"")??null}function Tr(e){let t=jn(document),n=jn(e);return t!==null&&n!==null&&t!==n}function vr(e){return e.body?!!(e.getElementById("__PNEXT_NAV_STATE__")||e.querySelector('[data-pnext-root], pnext-client, script[type="module"][src]')||[...e.scripts].some(t=>t.text.includes("__PNEXT_ROUTE__"))):!1}function Gn(e){let t=new Map,n;for(let r of[...e.childNodes]){if(r.nodeType===Node.COMMENT_NODE){let i=r.data,o=/^\$ps:(\d+)$/.exec(i);if(o){n=[],t.set(o[1],n);continue}if(/^\/\$ps:\d+$/.test(i)){n=void 0;continue}}n?.push(r)}return t}function Pr(e,t,n,r){if(!e||n===null)return null;let i=e.getAttribute("data-pnext-suspense")??"",o=e.querySelector(`template[data-pnext-static="${CSS.escape(i)}"]`),l=Number(o?.getAttribute("data-pnext-slot-count"));if(!o||!Number.isFinite(l))return null;let s=new Set((o.getAttribute("data-pnext-slots")??"").split(",")),a=Gn(o.content),c=Gn(t),u=[];for(let m=0;m<l;m++){let h=String(m),d=s.has(h)?a.get(h):c.get(h)?.map(r);d&&u.push(...d)}return u}function et(e){for(let t of e.querySelectorAll("div[hidden][data-pnext-stream], template[data-pnext-stream]")){t.nextElementSibling?.tagName==="SCRIPT"&&t.nextElementSibling.remove();let n=t.getAttribute("data-pnext-stream"),r=n?e.querySelector(`pnext-suspense[data-pnext-suspense="${CSS.escape(n)}"]`):null,i=t instanceof HTMLTemplateElement?t.content:t,o=Pr(r,i,t.getAttribute("data-pnext-slots"),s=>s);if(o&&r){r.replaceWith(...o),t.remove();continue}let l;if(t instanceof HTMLTemplateElement)l=t.content.cloneNode(!0);else{let s=e.createDocumentFragment();for(;t.firstChild;)s.appendChild(t.firstChild);l=s}r?r.replaceWith(l):t.replaceWith(l),t.remove()}bo(e)}function bo(e){let t=[...e.querySelectorAll("preact-island[data-target]")];if(t.length===0)return;let n=new Map,r=e.createTreeWalker(e,NodeFilter.SHOW_COMMENT);for(let o=r.nextNode();o;o=r.nextNode()){let l=o,s=/^\$s:(.+)$/.exec(l.data);s&&n.set(s[1],{start:l,end:l});let a=/^\/\$s:(.+)$/.exec(l.data),c=a?n.get(a[1]):void 0;c&&(c.end=l)}let i=new Set;for(let o of t){let l=o.getAttribute("data-target");o.parentElement&&i.add(o.parentElement);let s=e.querySelector(`pnext-hole[data-pnext-hole="${CSS.escape(l)}"]`);if(s){for(;s.firstChild;)s.removeChild(s.firstChild);for(;o.firstChild;)s.appendChild(o.firstChild);o.remove();continue}let a=n.get(l);if(!(!a||a.start===a.end)){for(let c=a.end.previousSibling;c&&c!==a.start;){let u=c.previousSibling;c.parentNode?.removeChild(c),c=u}for(;o.firstChild;)a.end.parentNode?.insertBefore(o.firstChild,a.end);o.remove()}}for(let o of i)o.hasAttribute("hidden")&&o.childNodes.length===0&&o.remove()}var Qt="data-pnext-entry";function Ue(e){return e.body.querySelector('script[type="module"][src]')?.getAttribute("src")??e.documentElement.getAttribute(Qt)??void 0}async function Ro(e){if(typeof DOMParser>"u")return;let t=new DOMParser().parseFromString(e,"text/html");for(let r of t.querySelectorAll('link[rel="stylesheet"][href]'))wo(r.getAttribute("href")??"");br(t);let n=Ue(t);n&&await yt(n)}function br(e){for(let t of e.querySelectorAll('link[rel="modulepreload"][href]'))No(t.getAttribute("href")??"")}function wo(e){if(!e||document.querySelector(`link[href="${CSS.escape(e)}"]`))return;let t=document.createElement("link");t.rel="preload",t.as="style",t.href=e,document.head.append(t)}function No(e){if(!e||document.querySelector(`link[href="${CSS.escape(e)}"]`))return;let t=document.createElement("link");t.rel="modulepreload",t.href=e,document.head.append(t)}var Je=new Map;function dn(e){let t=[];for(let n of e.querySelectorAll('link[rel="stylesheet"][href]')){let r=n.getAttribute("href");if(!r)continue;let i=Lo(r),o=Co(r);if(o){let c=Je.get(i);c&&(o.sheet?c[1]():t.push(c[0]));continue}let l=document.createElement("link");l.rel="stylesheet",l.href=r;let s,a=new Promise(c=>{s=()=>{Je.get(i)?.[0]===a&&Je.delete(i),c()}});l.onload=s,l.onerror=s,i&&Je.set(i,[a,s]),document.head.append(l),t.push(a)}return t}function Lo(e){try{return new URL(e,location.href).href}catch{return}}function Vn(e){let t=new Set([...e.querySelectorAll('link[rel="stylesheet"][href]')].map(n=>new URL(n.getAttribute("href")??"",location.href).href));for(let n of document.querySelectorAll('link[rel="stylesheet"][href]'))Ao(n.href)&&(t.has(n.href)||n.remove())}var Mo=/^\/(?:assets|_next\/static)\//;function Ao(e){try{let t=new URL(e,location.href);return t.origin===location.origin&&Mo.test(t.pathname)}catch{return!1}}function Co(e){let t=new URL(e,location.href).href;return[...document.querySelectorAll('link[rel="stylesheet"][href]')].find(n=>n.href===t)}function ko(e){let t=e.head.querySelector("title")?.textContent??e.body.querySelector("title")?.textContent;e.body.querySelector("title")?.remove(),document.body.querySelector("title")?.remove();for(let n of[...document.head.childNodes])Zt(n)&&n.remove();for(let n of[...e.head.childNodes])(Zt(n)||Io(n))&&document.head.append(document.importNode(n,!0));document.title=t??""}function Io(e){let t=n=>["rel","href","as","imagesrcset","imagesizes","media"].map(r=>n.getAttribute(r)).join(`
2
2
  `)+n.crossOrigin;return e instanceof HTMLLinkElement&&/^(preload|modulepreload|preconnect|dns-prefetch)$/.test(e.rel)&&![...document.head.querySelectorAll("link")].some(n=>t(n)===t(e))}function Zt(e){if(e instanceof HTMLTitleElement||e instanceof HTMLMetaElement)return!0;if(!(e instanceof HTMLLinkElement))return!1;let t=e.rel.toLowerCase();return!["stylesheet","modulepreload","preload","preconnect","dns-prefetch"].includes(t)}function tt(e){let t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_COMMENT),r=!!Ue(e);for(;n.nextNode();)t.push(n.currentNode);for(let i of t.reverse()){let o=/^(pnext-client(?:-after)?|pnext-static-children|pnext-page):([^>]*)$/.exec(i.data),l=o?.[1],s=o?.[2];if(!l||!s||!i.parentNode)continue;if(l==="pnext-page"&&!r){let d=i.nextSibling;for(i.remove();d&&!(d.nodeType===Node.COMMENT_NODE&&d.nodeValue==="/pnext-page");)d=d.nextSibling;d?.parentNode?.removeChild(d);continue}let a=document.createElement("div"),c=l==="pnext-page"?"div":l==="pnext-client-after"?"pnext-client":l;a.innerHTML=`<${c} ${s}></${c}>`;let u=a.firstElementChild;if(!u)continue;if(l==="pnext-client-after"){let d=i.previousSibling;for(;d&&!(d.nodeType===Node.COMMENT_NODE&&!(d.nodeValue??"").trim());)d=d.previousSibling;if(!d)continue;let f=d.nextSibling;for(;f&&f!==i;){let _=f.nextSibling;u.append(f),f=_}i.replaceWith(u);continue}let m=Ho(i,`/${l}`);if(!m)continue;let h=m.nodes[0];h&&h.parentNode!==i.parentNode?(h.parentNode.insertBefore(u,h),i.remove()):i.replaceWith(u);for(let d of m.nodes)u.append(d);m.end.remove()}Oo(e)}function Oo(e){let t=document.createTreeWalker(e,NodeFilter.SHOW_COMMENT),n=[];for(;t.nextNode();){let r=t.currentNode;r.data.trim()===""&&n.push(r)}for(let r of n)r.remove()}function Ho(e,t){let n=[],r=e;for(;;){let i=r.nextSibling;for(;!i;){let o=r.parentNode;if(!o||o.nodeName==="HTML"||o.nodeType===Node.DOCUMENT_NODE)return null;r=o,i=r.nextSibling}if(i.nodeType===Node.COMMENT_NODE&&i.nodeValue===t)return{nodes:n,end:i};n.push(i),r=i}}var ce="data-pnext-preserve-segment",en="data-pnext-shell-layout";function _t(e){return e.parentElement?.closest("pnext-layout[data-pnext-segment]")==null}function Yn(e){return[e,...e.querySelectorAll("pnext-layout[data-pnext-segment]")].map(V).join("\0")}function Jn(e,t){let n=(t??X(e)?.[0])?.parentElement;return!n||!!n.closest("pnext-client")}function fn(e){for(let t of e.querySelectorAll(`[${ce}]`))t.removeAttribute(ce)}function Rr(e){fn(e);let t=new Map;for(let r of document.body.querySelectorAll("pnext-layout[data-pnext-segment]"))_t(r)&&!r.closest("[data-pnext-navigation-paint-hold]")&&!r.hasAttribute(en)&&t.set(V(r),r);let n=[];for(let r of e.body.querySelectorAll("pnext-layout[data-pnext-segment]")){let i=_t(r)&&t.get(V(r));if(!i)continue;let o=[],[l,s]=[i,r];for(;l&&s&&V(l)===V(s)&&!l.hasAttribute(en);)o.push([l,s]),[l,s]=[Y(l),Y(s)];let[a,c]=o[o.length-1];if(!((Jn(a,l)||Jn(c,s))&&Yn(i)!==Yn(r)))for(let[u,m]of o)m.setAttribute(ce,String(n.length)),n.push(u)}return n}function Do(e){let t=[];for(let n of e){if(!_t(n))continue;let r=Y(n);for(;r&&e.includes(r);)r=Y(r);for(let i of n.querySelectorAll("pnext-client[data-pnext-client]")){let o=i;nt(i)&&(pe(i)||r?.contains(i)||o.__pnextLive&&(o.__pnextIncoming??=o,t.push(o)))}}return t}function Uo(e,t){let n=r=>t[Number(r?.getAttribute(ce)??NaN)];for(let r of[...e.querySelectorAll(`[${ce}]`)]){let i=n(r);if(!i||!_t(r))continue;let[o,l]=[i,r];for(let s=Y(l);n(s);s=Y(l))[o,l]=[n(s),s];Xn(o,l)&&r.replaceWith(i)}fn(e)}var Fo="data-pnext-skip";function $o(e,t){let n=[...e.body.querySelectorAll(`pnext-layout[${Fo}]`)];return n.length===0?!1:t||Nr(e)?!0:(Rr(e),n.some(r=>!r.hasAttribute(ce)))}var ne="data-pnext-preserve",zn="data-pnext-params";function nt(e){return e.parentElement?.closest("pnext-client")==null}function qo(e,t){return wr(e)?.children||t}function Bo(e){return wr(e)?.slots||{}}function wr(e){let t=e.getElementById?.("__PNEXT_NAV_STATE__")?.textContent;if(t)try{return JSON.parse(t)}catch{}}function ue(e){return JSON.stringify(Object.keys(e).sort().map(t=>[t,e[t]]))}function Nr(e){return ue(Bo(e))!==ue(O().slots??{})}function xt(e){return e.hasAttribute("data-pnext-template")}function Xo(e,t,n=!1){let r=new Map;for(let o of document.body.querySelectorAll("pnext-client[data-pnext-client]")){if(!nt(o)||!o.__pnextLive||t&&xt(o)||n&&pe(o))continue;let l=o.getAttribute("data-pnext-client")??"",s=r.get(l);s?s.push(o):r.set(l,[o])}if(r.size===0)return[];let i=[];for(let o of e.body.querySelectorAll("pnext-client[data-pnext-client]")){if(!nt(o)||t&&xt(o)||n&&pe(o)||o.closest(`[${ce}]`)&&!pe(o))continue;let s=r.get(o.getAttribute("data-pnext-client")??"")?.shift();s&&s.getAttribute(zn)===o.getAttribute(zn)&&(o.setAttribute(ne,String(i.length)),i.push(s))}return i}var Lr="data-pnext-preserve-page";function Ko(e,t,n){if(!t||n)return null;let r=window.__PNEXT_CLIENT_PAGE_ROOT__,i=e.getElementById("pnext-page");if(!r||!i)return null;let o=r.__pnextAnchors,l;if(o){let[s,a]=o;if(!s.isConnected||!a.isConnected||s.parentNode!==a.parentNode)return null;l=[s];for(let c=s.nextSibling;c&&c!==a;c=c.nextSibling)l.push(c);l.push(a)}else{if(!(r instanceof Element)||!r.isConnected)return null;l=[r]}return i.setAttribute(Lr,""),{root:r,nodes:l}}function Wo(e,t){let n=X(e.body);if(!n)return;let r=[];for(let i of n[2])i instanceof Element&&(i.matches("pnext-client[data-pnext-client]")&&r.push(i),r.push(...i.querySelectorAll("pnext-client[data-pnext-client]")));for(let[i,o]of r.entries())try{let l=JSON.parse(o.getAttribute("data-pnext-props")??"{}");l.key=`pnext-page:${t}:${i}`,o.setAttribute("data-pnext-props",JSON.stringify(l))}catch{}}function jo(e,t){return X(document.body)!==null||t.length===0?!1:t.some((n,r)=>{if(n.parentElement===document.body)return!0;let i=e.querySelector(`[${ne}="${r}"]`);return i!==null&&X(i)!==null})}async function tn(){window.requestAnimationFrame?await new Promise(e=>window.requestAnimationFrame(()=>e())):await Promise.resolve()}async function Go(e,t,n,r){if(!n?.mountRoute||t.length===0)return!1;let i=!1;for(let a=0;a<t.length;a++){let c=e.querySelector(`[${ne}="${a}"]`);if(!c)continue;let u=c.cloneNode(!0),m=X(u);if(m){for(let h of m[2])h.remove();m[0]instanceof Element?m[0].replaceChildren():m[0].remove(),m[1]?.remove(),t[a].__pnextIncoming=u,i=!0}}if(!i)return!1;let o=history.state,l=location.href,s=new URL(r,location.origin).href;ut(()=>history.replaceState(o,"",s));try{await n.mountRoute(),await tn()}finally{ut(()=>history.replaceState(o,"",l))}return!0}function Vo(e){let t=ae(e)?.route,n=ae(document)?.route;return t!==void 0&&t===n&&!Tr(e)}function Mr(e,t=[],n=[],r=null,i=Cr()){let o=document.querySelector("[data-pnext-navigation-paint-hold]"),l=document.createDocumentFragment(),s=null;for(let c of[...e.body.childNodes]){if(c instanceof HTMLScriptElement){if(c.type==="module"&&c.src){s??=c.getAttribute("src");continue}if(c.hasAttribute("data-pnext-dev"))continue;if(c.text.startsWith(gt)){l.append(document.importNode(c,!0));continue}let m=document.createElement("script");for(let h of c.attributes)m.setAttribute(h.name,h.value);m.text=c.text,l.append(m);continue}let u=Zo(i,c);l.append(u??document.importNode(c,!0))}let a=t.length>0?li(l,t):new Map;if(n.length>0&&Uo(l,n),r){let c=l.querySelector(`[${Lr}]`);c&&c.replaceWith(...r.nodes)}if(a.size===0)document.body.replaceChildren(l);else{let c=document.body.firstChild;for(let u of[...l.childNodes]){let m=a.get(u)??u;m===c?c=c.nextSibling:document.body.insertBefore(m,c)}for(;c;){let u=c.nextSibling;c.remove(),c=u}}o&&nn(o),s?document.documentElement.setAttribute(Qt,s):document.documentElement.removeAttribute(Qt)}function Yo(e){e.__pnextObserver?.disconnect(),e.remove()}var ze=null;function Jo(e){let t=document.querySelector("[data-pnext-navigation-paint-hold]")??ze;if(ze=null,t)return t.__pnextSequence=e,t;let n=[...document.body.children].filter(o=>!o.hasAttribute("data-pnext-navigation-paint-hold")&&!/^(SCRIPT|STYLE|LINK|TEMPLATE)$/.test(o.tagName)&&o.textContent?.trim());if(n.length===0)return null;let r=document.createElement("div");r.setAttribute("data-pnext-navigation-paint-hold",""),r.setAttribute("aria-hidden","true"),r.style.cssText="position:fixed;inset:0;z-index:2147483646;overflow:hidden;pointer-events:none;background:Canvas;visibility:visible!important",typeof __PNEXT_NEXT_ROUTER__>"u"&&(r.__pnextScroll=[window.scrollX,window.scrollY]),r.__pnextSequence=e;let i=document.body.cloneNode();i.style.minHeight="100%",i.append(...n.map(o=>o.cloneNode(!0))),r.append(i);for(let o of r.querySelectorAll("[data-pnext-client]"))o.removeAttribute("data-pnext-client");for(let o of r.querySelectorAll("[id]"))o.removeAttribute("id");for(let o of r.querySelectorAll("video,audio")){o.removeAttribute("autoplay"),o.muted=!0,o.setAttribute("muted",""),o.preload="none",o.removeAttribute("src");for(let l of o.querySelectorAll("source"))l.remove()}for(let o of r.querySelectorAll("iframe"))o.removeAttribute("src");return r}function Qn(e,t,n){if(!e||n!==L)return;nn(e),e.__pnextObserver??=new MutationObserver(()=>{e.isConnected||nn(e)}),e.__pnextObserver.observe(document.documentElement,{childList:!0,subtree:!0});let r=e.querySelector("[data-scroll-root]");r&&(r.scrollTop=e.__pnextScrollTop??=t)}function nn(e){document.body.append(e),e.__pnextScroll&&e.scrollTo?.(...e.__pnextScroll)}async function zo(e,t,n){if(!e||(window.requestAnimationFrame&&await new Promise(i=>window.requestAnimationFrame(()=>i())),e.__pnextSequence!==t)||(n?.(),Yo(e),!window.ResizeObserver))return;ze=e;let r=new ResizeObserver(()=>{r.disconnect(),ze===e&&(ze=null)});r.observe(document.documentElement)}function Qo(e,t=null){if(t?.isConnected){try{t.focus({preventScroll:!0})}catch{}if(document.activeElement===t)return}if(!(!(e instanceof HTMLElement)||e===document.body)&&e.isConnected&&!(document.activeElement!==null&&document.activeElement!==document.body))try{e.focus({preventScroll:!0})}catch{}}function Ar(e){return!(e instanceof Element)||e.tagName==="SCRIPT"||e.matches("pnext-client, pnext-layout, #pnext-page")?!1:e.querySelector(`pnext-client, pnext-layout, #pnext-page, [${ne}], [${ce}]`)==null}function Cr(){return[...document.body.children].filter(e=>!pe(e)&&Ar(e))}function Zo(e,t){if(e.length===0||!Ar(t))return null;let n=e.findIndex(o=>o.outerHTML===t.outerHTML);if(n!==-1)return e.splice(n,1)[0];let r=ei(e,t);if(r===-1)return null;let i=e.splice(r,1)[0];return kr(i,t),i}function ei(e,t){return t.id?e.findIndex(n=>n.tagName===t.tagName&&n.id===t.id):e.findIndex(n=>n.tagName===t.tagName&&!n.id)}function kr(e,t){for(let n of[...e.attributes])t.hasAttribute(n.name)||e.removeAttribute(n.name);for(let n of t.attributes)e.getAttribute(n.name)!==n.value&&e.setAttribute(n.name,n.value);ti(e,t)}function ti(e,t){let n=new Map,r=new Map;for(let l of e.children)if(l.id)n.set(`${l.tagName}\0${l.id}`,l);else{let s=r.get(l.tagName);s?s.push(l):r.set(l.tagName,[l])}let i=new Set,o=[];for(let l of[...t.childNodes]){if(!(l instanceof Element)){o.push(document.importNode(l,!0));continue}let s;if(l.id){let a=n.get(`${l.tagName}\0${l.id}`);a&&!i.has(a)&&(s=a)}if(!s){let a=r.get(l.tagName);for(;a&&a.length>0;){let c=a.shift();if(!i.has(c)){s=c;break}}}s?(i.add(s),kr(s,l),o.push(s)):o.push(document.importNode(l,!0))}e.replaceChildren(...o)}var Ir=Symbol.for("pnext.clientRouterCacheEpoch");function Tt(){let e=globalThis[Ir];return typeof e=="number"?e:0}function ni(){let e=globalThis;e[Ir]=Math.max(Tt()+1,Date.now()+Math.random())}function M(){return Date.now()}function Zn(e,t){return e+t}function er(e,t=location.pathname){return e.pathname===t?G()??We():We()}function ri(e,t,n,r){let i=ie.get(t);if(!i?.length)return[];ie.delete(t);let o=new Map;for(let a of i){if(r&&xt(a))continue;let c=a.getAttribute("data-pnext-client")??"",u=o.get(c);u?u.push(a):o.set(c,[a])}let l=[];for(let a of e.body.querySelectorAll("pnext-client[data-pnext-client]")){if(!nt(a)||a.hasAttribute(ne)||r&&xt(a))continue;let c=o.get(a.getAttribute("data-pnext-client")??"")?.shift();c&&(a.setAttribute(ne,String(n+l.length)),l.push(c))}let s=new Set(l);for(let a of i)s.has(a)||Or(a);return l}function oi(){let e=[];for(let t of document.body.querySelectorAll("pnext-client[data-pnext-client]")){let n=t;nt(t)&&n.__pnextLive&&e.push(n)}return e}function ii(e,t){if(ie.delete(e),t.length!==0)for(ie.set(e,t);ie.size>pi;){let n=ie.keys().next().value;if(n===void 0)break;let r=ie.get(n)??[];ie.delete(n);for(let i of r)Or(i)}}function Or(e){if(e.isConnected)return;let t=e.__pnextLive;if(typeof t=="function"){try{t(null,e)}catch{}e.__pnextLive=void 0}}function li(e,t){let n=new Map;for(let r of[...e.querySelectorAll(`[${ne}]`)]){let i=t[Number(r.getAttribute(ne))];if(r.removeAttribute(ne),!!i){for(let o of i.getAttributeNames())r.hasAttribute(o)||i.removeAttribute(o);for(let o of r.attributes)i.setAttribute(o.name,o.value);if(i.__pnextIncoming=r,i.parentNode===document.body&&r.parentNode===e){let o=document.createComment("pnext-preserved-root");r.replaceWith(o),n.set(o,i)}else r.replaceWith(i)}}return n}function si(){return!!document.querySelector("script[data-pnext-dev]")}function Hr(){return Ne!==void 0&&si()}function Le(e,t){t?location.replace(e):location.assign(e)}function ai(){try{history.replaceState({...I(),__pnextScroll:[window.scrollX,window.scrollY,document.documentElement.scrollHeight]},"",location.href)}catch{}}var ci=(e,{pop:t,scroll:n})=>{let r=I(),i=t?Dr.get(r.__pnextEntry)??r.__pnextScroll:void 0,[o=0,l=0]=i??[],s=!i&&e.hash&&document.getElementById(decodeURIComponent(e.hash.slice(1)));s?s.scrollIntoView():(t||n!==!1)&&window.scrollTo(o,l)},Dr=new Map;function Ur(){try{history.replaceState({...I(),__pnextNavState:O()},"",location.href)}catch{}}var vt=new Map,ui=12;function Te(e,t){for(;e.size>t;)e.delete(e.keys().next().value)}var te=new Map,di=8;function rn(e,t,n={}){if(!t.ok||t.shellOnly===!0||t.html.includes(kt)||it(t))return;let r=n.preserveTime?te.get(e)?.time:void 0;te.delete(e),te.set(e,{time:r??M(),page:t}),Te(te,di)}function fi(e){let t=te.get(e);return t?M()-t.time>=U()?(te.delete(e),null):(ot(te,e,t),t):null}var He=new Map,mi=64;function hi(e,t){t<=0||(He.delete(e),He.set(e,M()+t),Te(He,mi))}function tr(e){return Fr(e)==="fresh"}function Fr(e){let t=He.get(e);return t===void 0?"unknown":M()>=t?"stale":"fresh"}var ie=new Map,pi=3,ft;function on(e){let t=I().__pnextEntry;if(typeof t=="string"&&(w.renderedEntryId=t),typeof t!="string"){t=je();try{history.replaceState({...I(),__pnextEntry:t},"",location.href)}catch{return}}let n=G();if(typeof n!="string"){n=We();try{history.replaceState({...I(),[Ke]:n},"",location.href)}catch{}}ft=n,vt.set(t,e),Te(vt,ui)}function mn(e){return e.staleTimeMs??U()}function gi(e){let t=e.staleTimeSeconds;if(t===void 0||!Number.isFinite(t)||t<=0)return;let n=t*1e3;return n<U()?n:void 0}var se=new Map,yi=32;function hn(e,t=!1){if(!e.includes(no)&&!e.includes(ro))return null;let n=Fi(e);if(n===-1)return t?e:null;let r=`${e.slice(0,n)}</body></html>`;return Si(e,r)}function Si(e,t){if(typeof DOMParser>"u")return t;let n=new DOMParser,r=n.parseFromString(t,"text/html"),i=ae(r)?.prefetchKind==="shell",o=[...r.querySelectorAll("pnext-suspense[data-pnext-suspense]")],l=Number(o.at(-1)?.getAttribute("data-pnext-suspense")),s=n.parseFromString(e,"text/html");for(let a of s.querySelectorAll("div[hidden][data-pnext-stream]")){let c=Number(a.getAttribute("data-pnext-stream"));if(!Number.isFinite(c))continue;let u=!!a.querySelector("pnext-suspense[data-pnext-suspense]");if(i?!Number.isFinite(l)||c>=l:!u)continue;let m=r.querySelector(`pnext-suspense[data-pnext-suspense="${CSS.escape(String(c))}"]`);if(!m)continue;let h=Pr(m,a,a.getAttribute("data-pnext-slots"),d=>r.importNode(d,!0));m.replaceWith(...h??[...a.childNodes].map(d=>r.importNode(d,!0)))}return`<!doctype html>${r.documentElement.outerHTML}`}function $r(e,t,n=O(),r=""){if(!t.ok)return;let i=hn(t.html,t.shellOnly===!0);if(!i)return;let o=Fe(n),l=new Set;if(xr(i,e))l.add(e+r);else{l.add(e);try{l.add(new URL(t.finalUrl,location.href).pathname)}catch{}}let s=gi(t);for(let a of l){let c=se.get(a);c?.stateKey===o&&M()-c.time<mn(c)||se.set(a,{time:M(),html:i,stateKey:o,...s===void 0?{}:{staleTimeMs:s}})}Te(se,yi)}function pn(e){let t=e.pathname+e.search,n=e.search?nr(t):null;if(n!==null)return{key:t,html:n};let r=nr(e.pathname);return r===null?null:{key:e.pathname,html:r}}function nr(e){let t=se.get(e);return t?M()-t.time>=mn(t)?(se.delete(e),null):t.stateKey!==Fe(O())?null:t.html:null}function mt(){let e=new Map;for(let[t,n]of se)M()-n.time<mn(n)&&e.set(t,n.html);return e}var Ae="next-router-segment-prefetch",$t="/_tree",qt="x-pnext-segment-route",Ei="x-pnext-late-metadata";function Pt(e,t){let n=e.startsWith("0:")?e.slice(2):e;try{let r=JSON.parse(n);return r.segment===t&&typeof r.html=="string"?r.html:null}catch{return null}}var J=new Map;function Bt(e,t,n){let r=new URL(t,location.href),i=e?.headers.get("x-nextjs-rewritten-path")??r.pathname,o=e?.headers.get("x-nextjs-rewritten-query")??null,l=o===null?r.search:o?`?${o}`:"";return`${i}${l}\0${n}`}function Xt(e,t,n){let r=ln(e,!1),i=n==="auto"?ln(gn(t),!0):null,o=r??(i?.key!==e?i:null);return o?{...o.page,finalUrl:t}:null}function ln(e,t){let n=J.get(e);if(!n)return null;let r=t?n.lifetimeMs:n.staleTimeMs;return M()-n.time>=r?(J.delete(e),null):(ot(J,e,n),n)}function _i(e,t,n,r){let i=Z({headerStaleTimeSeconds:r.staleTimeSeconds,prefetchFull:n==="full"}),o={key:e,time:M(),staleTimeMs:i,lifetimeMs:Math.max(i,U()),page:r};for(J.set(e,o),n==="auto"&&(r.shellOnly||r.segmentPrerendered)&&J.set(gn(t),o);J.size>yn;){let l=J.keys().next().value;if(l===void 0)break;J.delete(l),Zr(zr(l))}}function gn(e){let t=new URL(e,location.href);return`${t.pathname}${t.search}\0auto-shell`}function rr(e){let t=ln(gn(e),!0);return t!==null&&t.page.shellOnly!==!0}function or(e){try{return decodeURIComponent(e)}catch{return e}}function xi(e){if(!e)return e;try{let t=new URL(e,location.href);if(!t.searchParams.has(Se))return e;t.searchParams.delete(Se);let n=t.search;return`${t.origin}${t.pathname}${n}${t.hash}`}catch{return e}}var rt=0,Ct=!1,yn=32,_e="/_index",Ce="/_head",qr="/_layout",Kt="/_page";function ir(e){let t=new URL(e,location.href);return v?.needsLayoutFrameOnly?.({pathname:t.pathname,search:t.search})===!0?qr:_e}function Sn(e){let t=typeof e=="string"?e:e.pathname;try{return new URL(t,location.origin).pathname}catch{return t}}function Ti(e={}){K.clear(),ye.clear(),J.clear(),e.pageSegmentsOnly?v?.evictPageSegments():v?.clear()}function $l(e={}){ni(),rt+=1,Ct=!0,K.clear(),ye.clear(),J.clear(),v?.clear();let t=Array.from(E.values());E.clear(),se.clear(),vt.clear(),te.clear(),He.clear(),ge.clear(),Je.clear();for(let n of t)En(n,!0);e.rearmVisiblePrefetches!==!1&&vi()}function vi(){let e=rt,t=()=>{if(e===rt&&(Ct=!1,!(typeof window>"u")))for(let n of Nt){if(!n.isConnected){Nt.delete(n);continue}let r=n.getAttribute("href")??n.getAttribute("action");r&&un(n)&&xe(r,{element:n,full:At(n)})}};Ve>0?setTimeout(t,Ve):queueMicrotask(t)}function En(e,t=!1){let n=e.onInvalidate.splice(0),r=rt;for(let i of n)t&&Ve>0?setTimeout(()=>{r===rt&&(Ct=!1),i()},Ve):queueMicrotask(i)}function Pi(e,t){let n=[E.get(z(e,!0)),E.get(z(e,!1))];E.delete(z(e,!0)),E.delete(z(e,!1)),se.delete(t),te.delete(e),He.delete(e);for(let r of n)r&&En(r)}var Br=1,_n=2,Xr=2,Wt=0,bi=4,Ri=12,Kr=0,Qe=0,ke,bt=new Map,Rt=new WeakMap,ee=[],jt=!1;function wi(e,t){let n={cacheKey:e,sortId:++Kr,priority:t.intent?_n:Br,phase:Xr,cancelled:!1,...t.element?{element:t.element}:{}};return t.intent&&Wr(n),bt.set(e,n),t.element&&Rt.set(t.element,n),n}function Wr(e){ke&&ke!==e&&(ke.priority=Br),ke=e}function Ni(e){e.sortId=++Kr,e.priority=_n,Wr(e),lt()}function Li(e){e.cancelled||(e.cancelled=!0,lt())}function Mi(e){bt.get(e.cacheKey)===e&&bt.delete(e.cacheKey),e.element&&Rt.get(e.element)===e&&Rt.delete(e.element),ke===e&&(ke=void 0)}function jr(){return window.__PNEXT_SEGMENT_SCHEDULER__!==!1}function wt(){return window.__PNEXT_SEGMENT_SCHEDULER__===!0}function Ai(e,t){return e.phase=t,e.cancelled?Promise.resolve(!1):jr()?new Promise(n=>{ee.push({task:e,resolve:n}),lt()}):Promise.resolve(!0)}function Ci(){Qe=Math.max(0,Qe-1),lt()}function lt(){jt||(jt=!0,queueMicrotask(()=>{jt=!1;for(let e=ee.length-1;e>=0;e--){let t=ee[e];t.task.cancelled?(ee.splice(e,1),t.resolve(!1)):typeof __PNEXT_NEXT_ROUTER__>"u"&&t.task.navigation&&(ee.splice(e,1),Qe++,t.resolve(!0))}for(ee.sort((e,t)=>t.task.priority-e.task.priority||t.task.phase-e.task.phase||t.task.sortId-e.task.sortId);ee.length>0;){let e=ee[0],t=e.task.priority===_n?Ri:bi;if(Qe>=t)break;ee.shift(),Qe++,e.resolve(!0)}}))}var lr=32,E=new Map,Nt=new Set,ge=new Set;function ot(e,t,n){e.delete(t),e.set(t,n)}function z(e,t){return`${e}\0${t?"full":"auto"}`}function Gr(e){return[E.get(z(e,!0)),E.get(z(e,!1))].filter(t=>t!==void 0)}var sr=50*1024*1024;function ht(){let e=0,t=0;for(let n of E.values())n.settled&&(e+=1,t+=n.bytes??0);if(!(e<=lr&&t<=sr))for(let[n,r]of E){if(e<=lr&&t<=sr)return;r.settled&&(E.delete(n),Zr(zr(n)),e-=1,t-=r.bytes??0)}}var Vr=new Set,Yr=new Set;function ki(e){return Jr(Vr,e)}function Ii(e){return Jr(Yr,e)}function Jr(e,t){if(e.size===0)return!1;let n=v?.matchesRoute;if(!n)return!1;for(let r of e)if(n(r,t))return!0;return!1}var K=new Map,ye=new Set;function xn(e,t){return`${e}\0${t}`}function zr(e){let t=e.lastIndexOf("\0");return t===-1?e:e.slice(0,t)}function Qr(e,t,n,r=!1){let i=U();if(!(i>0))return;let o=Sn(e),l=xn(o,t);K.delete(l),ye.delete(l),K.set(l,{time:M(),staleTimeMs:i,pathname:o,search:t,...n?{route:n}:{},...r?{rewritten:!0}:{}}),Te(K,yn)}function Zr(e){let t;try{t=new URL(e,location.href)}catch{return}let n=xn(Sn(t),t.search);K.delete(n),ye.delete(n),ye.add(n),Te(ye,yn)}function Oi(e){let t=v,n=t?.routeFor,r=t?.matchesRoute;if(!n||!r)return!1;let i=new URL(e,location.href),o=Sn(i),l=i.search,s=xn(o,l),a=M(),c=K.get(s);if(c?.rewritten)return!1;if(c){if(a-c.time<c.staleTimeMs)return ot(K,s,c),!0;K.delete(s)}if(ye.has(s))return!1;let u=n(o);if(u===null)return!1;for(let[m,h]of[...K].reverse()){if(a-h.time>=h.staleTimeMs){K.delete(m);continue}if(h.rewritten||h.search!==l)continue;let d=h.route??n(h.pathname);if(d?.includes(":")&&u===d&&r(d,o))return ot(K,m,h),!0}return!1}function Hi(e){if(!v||he)return!1;let t={pathname:e.pathname,search:e.search},n=v.take({...t,segmentPath:_e});if(!n||!ar(n))return v.runtimePageFrameSatisfied?.(t)===!0;let r=v.take({...t,segmentPath:Ce});return r===null?!ki(e.pathname):ar(r)}function ar(e){return e.prefetchSatisfied??e.networkFree}function cr(e,t){let n=v;if(!n?.prefetchCovered||he||t!=="auto")return null;let r=new URL(e,location.href),i=n.prefetchCovered({pathname:r.pathname,search:r.search,segmentPath:_e});return i?{html:i.html,finalUrl:e,ok:!0,shellOnly:!0,segmentRecorded:!0}:null}function xe(e,t={}){if(Hr()||pl())return Promise.resolve(null);let n=Ft(e);if(!n)return Promise.resolve(null);let r=n.pathname+n.search,i=!!t.full,o=z(r,i);if(t.element&&Nt.add(t.element),(r===q()||r===w.activeRouteKey)&&!t.currentUrl||!t.full&&n.pathname===location.pathname&&!t.currentUrl||Ct)return Promise.resolve(null);let l=bt.get(o);t.intent&&l&&!l.cancelled&&Ni(l);let s=E.get(o);if(s){let f=M()-s.time;if(f<s.lifetimeMs&&(!s.settled||f<s.staleTimeMs)||!i&&s.settled&&tr(r))return ot(E,o,s),t.onInvalidate&&s.onInvalidate.push(t.onInvalidate),s.page;E.delete(o),En(s)}else if(!i&&tr(r)&&Ge?.(n,mt())?.prefetch!=="eager")return Promise.resolve(null);if(i&&!t.currentUrl){let f=fi(r);if(f){let _=Promise.resolve(f.page),P=O();return E.set(o,{time:f.time,page:_,staleTimeMs:U(),lifetimeMs:U(),full:!0,stateKey:Fe(P),slotsKey:ue(P.slots??{}),settled:!0,originAgnostic:!0,onInvalidate:t.onInvalidate?[t.onInvalidate]:[]}),ht(),_}}if(!i){let f=Ge?.(n,mt());if(f?.prefetch==="shell"&&!f.runtimePrefetch&&Fr(r)!=="stale")return Promise.resolve(null);if(f?.prefetch==="eager"&&!rr(n.href))return xe(n.href,{...t,full:!0});if(Hi(n))return Promise.resolve(null)}let a=O();t.element?.dispatchEvent(new CustomEvent("pnext:prefetchstart"));let c=Tt(),u=wi(o,t),m=typeof __PNEXT_NEXT_ROUTER__>"u"?{listeners:new Set,task:u}:void 0,h=Tn(n.href,{prefetch:i?"full":"auto",navState:a,task:u,onShell:typeof __PNEXT_NEXT_ROUTER__>"u"&&!i?f=>{m.html=f,m.listeners.forEach(_=>_(f))}:void 0,resumeFromShell:t.hoverResume===!0&&pn(n)!==null}).then(async f=>{if(Tt()!==c)return E.get(o)?.page===h&&E.delete(o),null;if(f&&!f.ok)return E.delete(o),null;if(f){let _=Z({headerStaleTimeSeconds:f.staleTimeSeconds,prefetchFull:i}),P=f.varyCoverageUnknown?Math.min(_,Z({})):_,p=E.get(o);p&&(p.staleTimeMs=P,p.lifetimeMs=Math.max(_,U()),p.shellOnly=f.shellOnly,p.intercepted=it(f),p.originAgnostic=f.shellOnly!==!0&&!f.html.includes(kt)&&!p.intercepted,!p.originAgnostic&&!f.shellOnly&&!p.intercepted&&(p.keptLayouts=fo(f.html)),p.bytes=f.html.length),hi(r,P),$r(n.pathname,f,a,n.search),f.segmentRecorded||uo(n.pathname,n.search,f),Ro(f.html);let x=Ge?.(n,mt());!i&&x?.prefetch==="eager"&&!rr(n.href)&&await xe(n.href,{element:t.element,full:!0})}return f}).catch(()=>(E.delete(o),null)).finally(()=>{Mi(u),t.element?.dispatchEvent(new CustomEvent("pnext:prefetchfinish"))}),d=Z({prefetchFull:i});return E.set(o,{time:M(),page:h,staleTimeMs:d,lifetimeMs:Math.max(d,U()),full:i,stateKey:Fe(a),slotsKey:ue(a.slots??{}),settled:!1,onInvalidate:t.onInvalidate?[t.onInvalidate]:[],shell:m}),h.then(f=>{let _=E.get(o);_?.page===h&&(f?(_.settled=!0,_.settledTime=M()):E.delete(o)),ht()}),ht(),h}var Se="_rsc";function le(e,t=""){let n=new URL(e,location.href);if(n.searchParams.has(Se))return n.href;let r=Tt(),i=r===0?"":`:${r}`,o=Ui(n.pathname+n.search+i+(t?`#${t}`:"")),l=n.search?"&":"?",s=`${n.search}${l}${Se}=${o}`;return`${n.origin}${n.pathname}${s}${n.hash}`}var Di=20;async function Me(e,t,n){let r=e,i=await fetch(r,t);for(let o=0;o<Di&&i.redirected;o++){let l=new URL(r,location.href),s=new URL(i.url,r);if(s.origin!==l.origin)break;let a=s.searchParams.get(Se);if(a===l.searchParams.get(Se)||a===null)break;s.searchParams.delete(Se),r=le(s.href,n),i.body?.cancel().catch(()=>{}),i=await fetch(r,t)}return i}function Ui(e){let t=0;for(let n=0;n<e.length;n++)t=Math.imul(31,t)+e.charCodeAt(n)|0;return(t>>>0).toString(36)}var eo="<div hidden data-pnext-stream",to="<div hidden><preact-island",no="</pnext-suspense>",ro="</pnext-hole>";function Fi(e){let t=e.indexOf(eo),n=e.indexOf(to);return t<0?n:n<0?t:Math.min(t,n)}function $i(e){let t=Math.max(e.lastIndexOf(eo),e.lastIndexOf(to));if(t<0)return e;let n=e.slice(t);return(n.match(/<div\b/g)?.length??0)===(n.match(/<\/div>/g)?.length??0)?e:e.slice(0,t)}function Lt(e){for(let t of e.matchAll(/data-pnext-(?:suspense|hole)="([^"]+)"/g)){let n=`="${t[1]}"`;if(!e.includes(`data-pnext-stream${n}`)&&!e.includes(`<preact-island hidden data-target${n}`))return!0}return!1}async function qi(e,t,n){let r=e.body?.getReader();if(!r)return e.text();let i=new TextDecoder,o="",l=!1;for(;;){let{done:s,value:a}=await r.read();a&&(o+=i.decode(a,{stream:!0}));let c=$i(o);!l&&(c.includes(no)||c.includes(ro))&&!/<\/html>\s*$/.test(c)&&Lt(c)&&(!n||n(c))&&(l=!0,t(`${c}</body></html>`));let u=o.indexOf(oo);if(u!==-1)return Bi(r,i,o.slice(u),s,L),o.slice(0,u);if(s)break}return o+=i.decode(),o}var oo="<!--pnext-late-metadata-->";async function Bi(e,t,n,r,i){let o=n;if(!r)for(;;){let{done:s,value:a}=await e.read();if(a&&(o+=t.decode(a,{stream:!0})),s)break}o+=t.decode();let l=o.split(oo).join("").trim();!l||i!==L||Xi(l)}function Xi(e){let t=document.createElement("template");t.innerHTML=e;let n;for(let r of[...t.content.childNodes]){if(r instanceof HTMLTitleElement){n=r.textContent??"";continue}if(Zt(r)){document.head.append(r);continue}if(r instanceof HTMLScriptElement){let i=document.createElement("script");for(let o of r.attributes)i.setAttribute(o.name,o.value);i.text=r.text,document.body.append(i);continue}document.body.append(r)}n!==void 0&&(document.title=n)}async function Tn(e,t={}){let n=t.navState??O(),r=t.prefetch?"low":"auto",i=t.prefetch!==void 0,o={accept:i?"text/x-component":"text/html",rsc:"1","next-test-fetch-priority":r,"x-pnext-soft-nav":"1","x-pnext-nav-state":encodeURIComponent(JSON.stringify(n)),"next-router-state-tree":encodeURIComponent(JSON.stringify(n)),"next-url":t.fromUrl??q()};t.prefetch==="auto"&&(o["next-router-prefetch"]="1"),t.onShell&&!t.prefetch&&(o[Ei]="1"),t.fullRender&&(o["x-pnext-full-render"]="1"),t.resumeFromShell&&(o["x-pnext-resume-shell"]="1");let l={headers:o,credentials:"same-origin",priority:r};if(he){let N=await he(e,l,i);return N?{html:N.html,finalUrl:N.finalUrl,ok:!0,staleTimeSeconds:U()/1e3}:null}let s=t.prefetch??"nav",a=le(e,s),c,u=!1,m=_e,h=null,d,f=t.task,_=!1,P=async N=>f?(_=await Ai(f,N),_):!0,p=()=>{_&&(_=!1,Ci())},x,A=!1,W;try{if(t.prefetch==="full"&&!jr()){if(o[Ae]="/_index",a=le(e,`${s}:/_index`),!await P(Wt))return null;let y=await Me(a,l,`${s}:/_index`);if(u=Vt(y),!u&&!y.headers.get("content-type")&&(W=await y.text()),u){c=Bt(y,e,"full");let C=Xt(c,e,"full");if(C)return y.body&&!y.bodyUsed&&await y.arrayBuffer(),C}d=y}else if(i&&Oi(e)){c=Bt(void 0,e,t.prefetch);let y=Xt(c,e,t.prefetch);if(y)return y;if(f?.cancelled)return null;dr(e,!1)&&(h=await Gt(e,l,o,s));let C=cr(e,t.prefetch);if(C)return ur(C,h);if(m=ir(e),o[Ae]=m,a=le(e,`${s}:${m}`),!await P(Wt))return null;let T=await Me(a,l,`${s}:${m}`);if(u=Vt(T),!u&&!T.headers.get("content-type")){let g=await T.text();Pt(g,m)!==null&&(u=!0),W=g}d=T}else if(i){if(o[Ae]=$t,a=le(e,`${s}:${$t}`),!await P(Xr))return null;let y=await Me(a,l,`${s}:${$t}`);u=Vt(y);let C=null;if(!u&&!y.headers.get("content-type")){let T=await y.text(),g=fr(T);g?(u=!0,C=g,x=g.staleTime,A=g.isStatic):W=T}if(u){c=Bt(y,e,t.prefetch);let T=y.body&&!y.bodyUsed?y.text():null,g=async()=>{T&&(C=fr(await T));let be=new URL(e,location.href);Qr(be.pathname,be.search,C?.route,y.headers.has("x-nextjs-rewritten-path")||y.headers.has("x-nextjs-rewritten-query"))};p();let R=Xt(c,e,t.prefetch);if(R)return await g(),R;if(f?.cancelled)return await g(),null;let fe=y.headers.get("x-pnext-head-outlined");dr(e,fe==="first")&&(await g(),h=await Gt(e,l,o,s));let $e=cr(e,t.prefetch);if($e)return await g(),ur($e,h);if(m=ir(e),o[Ae]=m,a=le(e,`${s}:${m}`),!await P(Wt))return await g(),null;let Pe=Me(a,l,`${s}:${m}`);Pe.catch(()=>{}),await g(),d=await Pe}else d=y}else d=await Me(a,l,s);let N=d.headers.get("content-type")??"";if(N&&!N.includes("text/html")&&!N.includes("text/x-component"))return null;let H=d.headers.get("x-nextjs-stale-time"),F=H?Number(H):x;i&&!u&&d.redirected&&N.includes("text/html")&&F===void 0&&(F=U()/1e3);let D=t.prefetch==="auto"&&(d.headers.get("x-nextjs-postponed")==="1"||d.headers.get("x-pnext-segment-postponed")==="1")||t.prefetch==="full"&&d.headers.get("x-pnext-runtime-prefetch")==="1",j=u&&!D&&(d.headers.get("x-nextjs-prerender")==="1"||A&&!d.headers.has("x-nextjs-prerender")),re=u&&D&&d.headers.get("x-nextjs-prerender")==="1"&&d.headers.has(qt),Q=u&&D&&!d.headers.has(qt),B=W??(t.onShell?await qi(d,t.onShell,typeof __PNEXT_NEXT_ROUTER__>"u"?y=>y.includes('id="__PNEXT_NAV_STATE__"')&&/<\/script>\s*$/.test(y):void 0):await d.text()),$=u?Pt(B,m):B;if($===null)return null;if(m===qr){let y=new URL(e,location.href),C=v?.composeLayoutFrame?.({pathname:y.pathname,search:y.search,layoutHtml:$});if(C==null)return null;$=C,m=_e}if(d.headers.get("x-pnext-resume-only")==="1"){let y=pn(new URL(e,location.href));if(!y)return null;$=ji(y.html,$)}let de=d.headers.get("x-pnext-head-outlined");if(de==="1"||de==="first"){let y=d.headers.get(qt);y&&(Vr.add(y),de==="first"&&Yr.add(y)),h===null&&!t.task?.cancelled&&(h=await Gt(e,l,o,s))}h!==null&&($=io($,h));let ve={html:$,finalUrl:xi(d.url)||e,ok:d.ok,...F!==void 0&&Number.isFinite(F)?{staleTimeSeconds:F}:{},...D?{shellOnly:D}:{},...j?{segmentPrerendered:j}:{},...Q?{varyCoverageUnknown:Q}:{}};return c&&t.prefetch&&_i(c,e,t.prefetch,ve),u&&t.prefetch&&v&&(ve.segmentRecorded=!0,Wi({href:e,body:B,html:$,page:ve,mode:t.prefetch,response:d,shellOnly:D,segmentPrerendered:j,shellPrerendered:re,segmentPath:m})),ve}finally{p()}}async function Ki(e,t){let n=v;if(!n?.needsPageFrameOnly||!n.composePageFrame||he)return null;let r={pathname:e.pathname,search:e.search,sameUrl:t.sameUrl};if(!n.needsPageFrameOnly(r))return null;let i=t.navState??O(),o={accept:"text/x-component",rsc:"1","next-test-fetch-priority":"auto","x-pnext-soft-nav":"1","x-pnext-nav-state":encodeURIComponent(JSON.stringify(i)),"next-router-state-tree":encodeURIComponent(JSON.stringify(i)),"next-url":t.fromUrl??q(),[Ae]:Kt},l=`nav:${Kt}`,s;try{s=await Me(le(e.href,l),{headers:o,credentials:"same-origin",priority:"auto"},l)}catch{return null}if(!s.ok)return null;try{if(new URL(s.url,location.href).pathname!==e.pathname)return null}catch{return null}if(!(s.headers.get("content-type")??"").includes("text/x-component"))return null;let a=await s.text(),c=Pt(a,Kt),u=s.headers.get("x-nextjs-stale-time"),m=u===null?void 0:Number(u),h=f=>({html:f,finalUrl:e.href,ok:!0,...Number.isFinite(m)?{staleTimeSeconds:m}:{}});if(c===null)return!a.trimStart().startsWith("{")&&!a.startsWith("0:")?h(a):null;let d=n.composePageFrame({...r,pageHtml:c});return d===null?null:h(d)}function Wi(e){let t=new URL(e.href,location.href),n=e.response.headers.get("x-pnext-runtime-prefetch")==="1";v?.record({pathname:t.pathname,search:t.search,segmentPath:e.segmentPath,body:e.body,html:e.html,staleTimeMs:Z({headerStaleTimeSeconds:e.page.staleTimeSeconds,prefetchFull:e.mode==="full",static:e.segmentPrerendered,runtime:n}),complete:n?e.response.headers.get("x-pnext-runtime-complete")==="1":!e.shellOnly,static:e.segmentPrerendered||e.shellPrerendered,runtime:n,postponedShell:e.shellOnly&&!n})}function ji(e,t){let n=t.indexOf("<body"),r=n===-1?-1:t.indexOf(">",n)+1,i=t.lastIndexOf("</body>"),o=r!==-1&&r!==0&&i>r?t.slice(r,i):t,l=e.lastIndexOf("</body>");return l===-1?e+o:`${e.slice(0,l)}${o}${e.slice(l)}`}function ur(e,t){return t===null?e:{...e,html:io(e.html,t)}}async function Gt(e,t,n,r){n[Ae]=Ce;try{let i=new URL(e,location.href),o=await fetch(le(e,`${r}:${Ce}`),t);if(!o.ok)return null;let l=await o.text(),s=Pt(l,Ce);return s?(v?.record({pathname:i.pathname,search:i.search,segmentPath:Ce,body:l,html:s,staleTimeMs:U(),complete:!0,static:!0,runtime:!1}),s):null}catch{return null}}function dr(e,t){let n=new URL(e,location.href);return!t&&!Ii(n.pathname)?!1:v?.take({pathname:n.pathname,search:n.search,segmentPath:Ce})==null}function fr(e){let t=e.startsWith("0:")?e.slice(2):e;if(!t.startsWith("{"))return null;try{let n=JSON.parse(t);return!n.tree||typeof n.tree!="object"?null:{...typeof n.staleTime=="number"?{staleTime:n.staleTime}:{},isStatic:n.isStatic===!0,...typeof n.route=="string"?{route:n.route}:{}}}catch{return null}}function Vt(e){return e.headers.get("content-type")?.includes("text/x-component")===!0&&e.headers.get("x-nextjs-postponed")==="2"}function io(e,t){let n=e.indexOf("</head>");return n===-1?t+e:`${e.slice(0,n)}${t}${e.slice(n)}`}function Gi(e){let t=e.querySelector(`pnext-hole[data-pnext-hole][${st}]`)??e.querySelector("pnext-hole[data-pnext-hole]");return t?.parentElement?{anchor:t.parentElement,nodes:[...t.childNodes],hole:t}:null}function sn(e,t,n,r,i=!1,o=!1,l){if(t!==L||typeof DOMParser>"u")return!1;let s=new DOMParser().parseFromString(e,"text/html");tt(s),(i||o)&&et(s);let a=s.querySelector(`pnext-suspense[data-pnext-suspense][${st}]`)??s.querySelector("pnext-suspense[data-pnext-suspense]"),c=a?null:Gi(s),u=a??c?.anchor;if(!u&&!i)return!1;let m=a??c?.hole??null,h=ao(m);if(!i&&!h&&!o||!il(m,n))return!1;let{container:d,markerRange:f}=Kn(),_=!f&&d===document.body?Yi(s,m??u??null):null;if(!f&&d===document.body&&!_)return!1;let P=_??d,p=document.createDocumentFragment(),x=typeof __PNEXT_NEXT_ROUTER__>"u"&&f?X(s.body):null,A=(f?s.getElementById("pnext-page"):null)??(P.id?s.getElementById(P.id):null)??s.querySelector("[data-pnext-root]")??(P===document.body?s.body:null),W=typeof __PNEXT_NEXT_ROUTER__>"u"&&f&&h&&Bn(f[0],m),[N,H]=typeof __PNEXT_NEXT_ROUTER__>"u"&&W&&(W[0]||!x)?W:[],F=Vi(P),D=F&&Ji(s,F);if(typeof __PNEXT_NEXT_ROUTER__>"u"&&f&&m&&!x&&!H&&!D)return!1;let j=x?x[2]:A?[...A.childNodes]:c?c.nodes:u?[...(u.closest("pnext-layout[data-pnext-segment]")??u).childNodes]:null;if(!j)return!1;let re=dn(s);if(l&&re.length)return l(re),!1;let Q=r??ae(s);Q&&(window.__PNEXT_ROUTE__=Q),H&&H!==m&&(m.before(s.createComment("pnext-page:")),m.after(s.createComment("/pnext-page")));for(let B of H===m?c?.nodes??[a]:H?[H]:j)p.append(document.importNode(B,!0));i&&so(p);for(let B of p.querySelectorAll("pnext-layout[data-pnext-segment]"))B.setAttribute(en,"");if(F&&D)F.__pnextIncoming=D;else if(N)N.replaceWith(...H===m?[document.createComment("pnext-page:"),p,document.createComment("/pnext-page")]:[p]);else if(f){for(let B of f[2])B.remove();f[0].after(p),typeof __PNEXT_NEXT_ROUTER__>"u"&&H&&H!==m&&(f[0].remove(),f[1]?.remove())}else P.replaceChildren(p);return lo(s),!0}function Vi(e){let t=e.closest("pnext-client[data-pnext-client]");return t?.__pnextLive?t:null}function Yi(e,t){let r=(e.getElementById("pnext-page")??t)?.closest("pnext-client[data-pnext-client]")?.getAttribute("data-pnext-client");if(!r)return null;let i=document.querySelector(`pnext-client[data-pnext-client="${CSS.escape(r)}"]`);return i?.__pnextLive?i:null}function Ji(e,t){let n=t.getAttribute("data-pnext-client");return n?e.querySelector(`pnext-client[data-pnext-client="${CSS.escape(n)}"]`):null}function lo(e){let t=Ue(e);if(!t)return;let n=Re.get(Xe(t));n?n.mountRoute?.():yt(t).then(r=>r?.mountRoute?.())}function zi(e,t,n,r=!1,i){return t!==L||!Qi(e,r&&wt())?!1:tl(e,i)?!0:sn(e,t,n,void 0,!0,!1,i)}function Qi(e,t=!1){if(!e.includes("data-pnext-suspense")&&!e.includes("data-pnext-hole")||t||typeof DOMParser>"u")return!0;let n=new DOMParser().parseFromString(e,"text/html");return tt(n),et(n),[...n.querySelectorAll(`pnext-hole[data-pnext-hole]:not([${st}])`),...[...n.querySelectorAll("pnext-suspense[data-pnext-suspense]")].filter(i=>!ao(i))].length===0||el(n)}var Zi=new Set(["script","template","style","link","pnext-suspense","pnext-hole"]);function el(e){let t=e.getElementById("pnext-page");if(!t&&e.querySelector("pnext-client :is(pnext-hole[data-pnext-hole],pnext-suspense[data-pnext-suspense])"))return!1;let n=t??e.body;if(!n)return!1;for(let r of n.querySelectorAll("*"))if(!Zi.has(r.localName)&&!r.closest("pnext-suspense[data-pnext-suspense], pnext-hole[data-pnext-hole]"))return!0;return!1}function so(e){for(let t of[...e.querySelectorAll("pnext-suspense[data-pnext-suspense]")]){for(let n of[...t.querySelectorAll("template[data-pnext-static]")])n.parentNode===t&&n.remove();t.replaceWith(...t.childNodes)}}function tl(e,t){if(typeof DOMParser>"u")return!1;let n=new DOMParser().parseFromString(e,"text/html");if(!vr(n)||(tt(n),et(n),!nl(n)))return!1;let r=dn(n);if(t&&r.length)return t(r),!1;so(n);let i=ae(n);i&&(window.__PNEXT_ROUTE__=i);let o=n.getElementById("__PNEXT_NAV_STATE__"),l=document.getElementById("__PNEXT_NAV_STATE__");return l&&(o?o.replaceWith(n.importNode(l,!0)):n.body.append(n.importNode(l,!0))),Mr(n),lo(n),!0}function nl(e){let t=mr(e),n=mr(document);if(!t||!n)return!1;for(let r of t)if(!n.has(r))return!0;return!1}var rl=new Set(["script","style","link","template","next-route-announcer"]);function mr(e){let t=e.getElementById("pnext-page");if(!t||!e.body)return null;let n=new Set;for(let r=t;r&&r!==e.body;r=r.parentElement){let i=r.parentElement;if(!i)break;r!==t&&n.add(an(r));for(let o of[...i.children])o!==r&&ol(n,o)}return n}function ol(e,t){if(!rl.has(t.localName)){e.add(an(t));for(let n of t.querySelectorAll("pnext-layout[data-pnext-segment], [data-pnext-slot]"))e.add(an(n))}}function an(e){return[e.localName,e.id,e.getAttribute("data-pnext-segment")??"",e.getAttribute("data-pnext-scope")??"",e.getAttribute("data-pnext-slot")??""].join("\0")}var st="data-pnext-loading-depth";function ao(e){return e?.hasAttribute(st)===!0}function il(e,t){let n=e?.getAttribute(st);if(n==null)return!0;let r=Number.parseInt(n,10);if(!Number.isFinite(r))return!0;let i=(O().children??location.pathname).split("/").filter(Boolean),o=t.pathname.split("/").filter(Boolean);if(i.join("/")===o.join("/"))return!0;let l=0,s=Math.min(i.length,o.length);for(;l<s&&i[l]===o[l];)l++;return l<=r}var ll=300;function sl(){return new Promise(e=>setTimeout(()=>e(null),ll))}async function al(e,t){let n=e.shell;n.task.navigation=!0,lt();let r=o=>t?.(o)&&n.listeners.delete(r);n.html?r(n.html):n.listeners.add(r);let i=await e.page;return n.listeners.delete(r),i}var cl=5e3;function hr(e,t){return!e.settled||t-(e.settledTime??e.time)<cl}async function ul(e,t={},n,r,i,o=O(),l=q(),s={eligible:!1,sameUrl:!1}){let a=e.pathname+e.search,c=M(),u=!1,m=(p,x=!1)=>{u||(u=!0,(p.includes("data-pnext-slot=")||Ie(o,p))&&(s.eligible=!1),r?.(p,x))},h=Gr(a).filter(p=>vn(p,o)&&(!p.settled||c-p.time<p.staleTimeMs)),d=typeof __PNEXT_NEXT_ROUTER__>"u"&&!Ne&&h.find(p=>hr(p,c))||h[0];if(d&&!t.pop&&!t.refreshLike){if(!d.settled){let x=await pr(e,c,o);if(x)return x}let p=d.settled||d.full&&!d.shell?await d.page:typeof __PNEXT_NEXT_ROUTER__>"u"?await al(d,n):await Promise.race([d.page,sl()]);if(p&&!p.shellOnly)if(typeof __PNEXT_NEXT_ROUTER__>"u"&&!Ne&&!hr(d,c)&&!St(p.html)?.isStatic){let x=hn(p.html);x!==null&&n?.(x)&&(n=()=>!1)}else return p;if(p?.shellOnly&&m(p.html,!0),!p)for(let x of[!0,!1]){let A=z(a,x);E.get(A)?.page===d.page&&E.delete(A)}}else for(let p of[!0,!1]){let x=z(a,p),A=E.get(x);A&&c-A.time>=A.lifetimeMs&&E.delete(x)}let f=o;if(!t.pop&&!t.refreshLike&&!Ie(f)){if(i?.networkFree&&!Ie(f,i.html))return{html:i.html,finalUrl:e.href,ok:!0};let p=await pr(e,c,o);if(p&&!Ie(f,p.html))return p}i&&!i.networkFree&&m(i.html,i.postponedShell===!0);let P=(s.eligible?await Ki(e,{navState:t.navState??o,sameUrl:s.sameUrl,fromUrl:l}).catch(()=>null):null)??await Tn(e.href,{navState:t.navState??o,fromUrl:l,onShell:n}).catch(()=>null);return P?.ok&&co(a,e.pathname,P,t.navState),P}async function pr(e,t,n=O()){let r=n,i=e.pathname+e.search;for(let[o,l]of E){if(!l.settled||t-l.time>=l.staleTimeMs)continue;let s=o.slice(0,o.indexOf("\0"));if(s===i)continue;let a=s.indexOf("?");if((a===-1?s:s.slice(0,a))!==e.pathname||!vn(l,r))continue;let u=await l.page;if(!(!u||u.shellOnly||u.segmentPrerendered!==!0)&&!xr(u.html,e.pathname))return{...u,finalUrl:e.href}}return null}function dl(e){return Gr(e.pathname+e.search).some(t=>t.settled&&!t.shellOnly&&M()-t.time<t.staleTimeMs&&vn(t,O()))}function co(e,t,n,r,i,o=!1){let l=Z({headerStaleTimeSeconds:n.staleTimeSeconds}),s=r??O(),a=n.html.includes(kt),c=a&&typeof __PNEXT_NEXT_ROUTER__>"u"&&!Ne?fo(n.html):void 0,u=n.shellOnly!==!0&&l>0&&Z({})>0&&(!a||c!==void 0);he===void 0&&!(o&&Et(n.html))&&(n.segmentPrerendered===!0||u)&&E.set(z(e,!1),{time:M(),page:Promise.resolve(n),staleTimeMs:l,lifetimeMs:l,full:!1,stateKey:Fe(s),slotsKey:ue(s.slots??{}),intercepted:it(n),originAgnostic:n.shellOnly!==!0&&!a&&!it(n),keptLayouts:c,settled:!0,onInvalidate:[]}),Et(n.html)||$r(t,n,s,e.slice(t.length)),uo(t,e.slice(t.length),n,i,o),ht()}function fl(){let e=window.__PNEXT_SHELL_HTML__;if(!e)return;let t=[document.getElementById("__PNEXT_NAV_STATE__"),[...document.scripts].find(n=>n.textContent?.startsWith(gt)),document.body.querySelector('script[type="module"][src]')].map(n=>n?.outerHTML??"");return ml(e)+t.join("")}function ml(e){let t=new DOMParser().parseFromString(e,"text/html"),n=t.querySelectorAll("div[hidden][data-pnext-stream]");if(!n.length)return e;for(let r of n)r.remove();return`<!doctype html>${t.documentElement.outerHTML}`}function uo(e,t,n,r,i=!1){if(!v||!n.ok||n.html.includes(kt)||it(n))return;v.recordDocumentLayout?.({pathname:e,search:t,html:n.html,staleTimeMs:U()});let o=Et(n.html);if(i&&o)return;let l=St(n.html),s=r??hn(n.html,n.shellOnly===!0),a=(r??s)!==null&&l?.staticStage===!0,c=n.segmentPrerendered===!0||l?.isStatic===!0||a;if(s===null&&!c)return;let u=Z({headerStaleTimeSeconds:n.staleTimeSeconds??l?.staleTime,static:c,runtimeDocument:o});Qr(e,t),!(u<=0)&&v.record({pathname:e,search:t,segmentPath:_e,kind:"document",body:n.html,html:s??n.html,staleTimeMs:u,complete:s===null,static:c,runtime:!1,postponedShell:a})}var kt="data-pnext-skip",hl=/data-pnext-segment="[^"]*" data-pnext-skip(?:="")?(?: data-pnext-scope="[^"]*")?/g;function fo(e){let t=document.createElement("template");return t.innerHTML=(e.match(hl)??[]).map(n=>`<p ${n}>`).join(""),[...t.content.children].map(V)}function Mt(e){return Object.keys(e.slots??{}).length>0}function Ie(e,t){return Mt(e)?!0:t!==void 0&&Mt(mo(t)??{})}function vn(e,t){if(e.stateKey===Fe(t))return!0;if(e.keptLayouts?.length&&e.slotsKey===ue(t.slots??{})){let n=new Set([...document.body.querySelectorAll("pnext-layout[data-pnext-segment]")].map(V));return!Mt(t)&&e.keptLayouts.every(r=>n.has(r))}return!(e.originAgnostic!==!0||e.intercepted===!0||e.slotsKey!==ue(t.slots??{})||Mt(t))}function mo(e){let t=ho(e);if(t===null)return null;try{return JSON.parse(t)}catch{return null}}function ho(e){return e.match(/id="__PNEXT_NAV_STATE__"[^>]*>([^<]*)</)?.[1]??null}function it(e){return mo(e.html)?.hostRender===!0}function Fe(e){let t=e.slots??{},n={};for(let r of Object.keys(t).sort())n[r]=t[r];return JSON.stringify({children:(e.children??"")+(e.childrenSearch??""),slots:n})}var L=0,Yt=!1;function ql(){return L}async function Pn(e,t={}){Un();let n=Ue(document),r=t.pop?ft:G()??ft,i=location.search,o=location.pathname,l=O(),s=l.children,a=t.pop?w.activeRouteKey:q(),c=l.hostRender?a:s+(l.childrenSearch??i),u=Ft(e);if(!u){Le(e,t.replace||t.pop);return}let m=t.pop?vt.get(I().__pnextEntry):void 0,h=t.cachedPage??(m&&!Lt(m.html)?m:void 0);window.__PNEXT_ON_ROUTER_TRANSITION_START__?.(u.href,t.pop?"traverse":t.replace?"replace":"push");let d=!t.pop&&(!!t.replace||t.refreshLike===!0)&&u.pathname===location.pathname&&u.search===i;if(d&&Yt)return;!t.pop&&!d&&(Yt=!0,queueMicrotask(()=>{Yt=!1})),!t.pop&&u.pathname===location.pathname&&Ti({pageSegmentsOnly:!0}),d&&Pi(u.pathname+u.search,u.pathname);let f=++L;Oe?.[1]!==f&&Ee(),t.pop||ai(),typeof __PNEXT_NEXT_ROUTER__>"u"&&Dr.set(w.renderedEntryId,[window.scrollX,window.scrollY]),r&&Sl(r);let _=oi(),P=Cr(),p=!1,x,A,W=(S=!1)=>{if(p||t.pop||d||u.pathname===location.pathname&&u.search===location.search)return;p=!0,x=w.renderedEntryId=je(),A=er(u,o),S||(ft=A);let b={...I(),__pnextEntry:x,[Ke]:A},k=()=>{t.replace?history.replaceState(b,"",u.href):history.pushState(b,"",u.href)};S?ut(k):k(),w.observedLocationKey=q()},N=!1,H=document.body.querySelector("pnext-layout[data-pnext-segment]"),F,D,j=S=>S(b=>{let k=()=>D===S&&S();D=S,setTimeout(k,6e4),Promise.all(b).then(k)}),re=()=>{D=void 0,F=window.__PNEXT_ROUTE__,typeof __PNEXT_NEXT_ROUTER__>"u"&&(w.fallbackPaint=[f,performance.now()]),W(),me(u,t),Ee(f)},Q=Hr(),B=!1,$=h||t.pop||d?void 0:S=>j(b=>N||B||Q||!sn(S,f,u,void 0,!1,!0,b)?!1:(B=!0,re(),!0)),de=h||t.pop||d||Ie(O())?null:v?.take({pathname:u.pathname,search:u.search,segmentPath:_e})??null,ve=$?(S,b=!1)=>j(k=>{Q||!zi(S,f,u,b,k)||(N=!0,re())}):void 0;if($&&!Q&&!d&&!de&&!v?.needsLayoutFrameOnly?.({pathname:u.pathname,search:u.search})&&!dl(u)){let S=pn(u),b=Ge?.(u,S?new Map([[S.key,S.html]]):mt()),k=b??S;j(oe=>{!k||!sn(k.html,f,u,b?.route,!1,!1,oe)||(N=!0,re())})}let y={eligible:!t.pop&&(!d||t.pageRefresh===!0)&&!Ie(l,de?.html),sameUrl:u.pathname===o&&u.search===i},C=S=>{if(!S||h)return;let b=new URL(S.finalUrl,location.href);rn(Zn(b.pathname,b.search),S)},T=h??await ul(u,{...t,refreshLike:d},$,ve,de,l,c,y);if(D=void 0,f!==L)return C(T);if(!T){if(typeof navigator<"u"&&navigator.onLine===!1)return await new Promise(S=>window.addEventListener("online",()=>S(),{once:!0})),f!==L?void 0:Pn(e,t);Le(u.href,t.replace||t.pop);return}let g=new DOMParser().parseFromString(T.html,"text/html");if(!vr(g)){Le(u.href,t.replace||t.pop);return}if(tt(g),et(g),!h&&$o(g,t.freshSegments||N&&!H?.isConnected||d&&!t.pageRefresh)){let S=await Tn(u.href,{navState:t.navState,fromUrl:c,fullRender:!0}).catch(()=>null);if(f!==L)return C(S??T);if(!S?.ok){Le(u.href,t.replace||t.pop);return}T=S,g=new DOMParser().parseFromString(T.html,"text/html"),tt(g),et(g)}let R=new URL(T.finalUrl,location.href);if(R.hash=u.hash,R.origin!==location.origin){Le(R.href,t.replace||t.pop);return}if(Tr(g)){Le(R.href,t.replace||t.pop);return}W(!0);let fe=Ue(g);br(g);let $e=dn(g),Pe=fe?Re.get(Xe(fe))??null:null,be=n?Re.get(Xe(n))??null:null;if(!(t.pop&&!!h&&$e.length===0&&(Pe!==null||!fe)&&(be!==null||!n))&&([Pe,be]=await Promise.all([fe?yt(fe):Promise.resolve(null),n?yt(n):Promise.resolve(null),Promise.all($e)]),f!==L))return C(T);if(typeof __PNEXT_NEXT_ROUTER__>"u"&&w.fallbackPaint?.[0]===f){let S=w.fallbackPaint[1]+300-performance.now();if(S>10&&(await new Promise(b=>setTimeout(b,S)),f!==L))return C(T)}if(!t.pop){let S=A??er(R,o),b={...I(),__pnextEntry:w.renderedEntryId=x??je(),[Ke]:S},oe=p&&R.pathname===u.pathname&&or(R.search)===or(u.search)?u.href:R.href;t.replace||p||d?history.replaceState(b,"",oe):history.pushState(b,"",oe)}let at=Nr(g),It=t.pop&&!at||vo(g,F),bn=ae(g);bn&&(window.__PNEXT_ROUTE__=bn);let Rn=qo(g,R.pathname)!==s,wn=t.freshSegments||N&&!H?.isConnected||d&&!t.pageRefresh||at?(fn(g),[]):Rr(g),qe=Xo(g,Rn,It),Nn=jo(g,qe)&&!wt()&&!t.pop;Nn&&Wo(g,`${R.pathname}${R.search}|${G()??""}`);let Ot=Ko(g,(d||Vo(g))&&!t.remount,It),Be=Zn(R.pathname,R.search),Ln=new Set([...qe,...Do(wn)]),Ht=wt(),Mn=Ht?_.filter(S=>!Ln.has(S)):[];a&&a!==Be&&ii(a,Mn);let An=d||!Ht?[]:ri(g,Be,qe.length,Rn),Dt=new Set([...Ln,...An]);for(let S of Mn)Dt.add(S);Ot&&Dt.add(Ot.root);let Cn=document.querySelector("[data-scroll-root]")?.scrollTop??0,ct=Jo(f),Ut=null,kn=null;try{if(window.__PNEXT_ACTIVE_ENTRY__?.unmount?.(Dt),Nn&&a&&a!==Be&&(Qn(ct,Cn,f),await Go(g,qe,be,a),f!==L))return;ko(g),Ut=document.activeElement,Mr(g,[...qe,...An],wn,Ot,P),Qn(ct,Cn,f);let S=O().children===s&&u.search===i&&(R.pathname===o||at)&&!It,b={...t,scroll:R.pathname!==o&&!at?t.scroll:S?!1:t.scroll};me(u,b);let k=document.activeElement;if(k instanceof HTMLElement&&k!==document.body&&k!==document.documentElement&&k!==Ut&&(kn=k),dt?.(g),!u.hash&&(dt||!ct)&&Vn(g),Ur(),on(T),rn(Be,T),w.activeRouteKey=Be,wl(),t.pop&&De(G()),T.p&&(window.__PNEXT_PROPS__=T.p),await Pe?.mountRoute?.(),t.pop&&f===L&&De(G()),await tn(),f===L&&(Fn(),we(),Ee(f),t.pop)){let oe=G();De(oe),oe&&gr(oe,f)}}finally{await zo(ct,f,()=>{!u.hash&&!dt&&f===L&&Vn(g)})}f===L&&(t.pop&&(await tn(),me(u,t)),Qo(Ut,kn),!Ht&&!t.pop&&r&&o!==R.pathname&&xl(r,o,R.pathname),!t.pop&&r&&r===G()&&gr(r,f,_l))}function pl(){let e=typeof navigator>"u"?"":navigator.userAgent;return/Googlebot(?!-)|Googlebot$|bingbot|Slurp|DuckDuckBot|Baiduspider|YandexBot/i.test(e)}var Ze=new Map,gl=12,yl=new Set(["text","search","email","url","tel","number","date","time","datetime-local","month","week","color","range",""]);function po(){return[...document.querySelectorAll("input, textarea")].filter(e=>!e.closest("[data-pnext-navigation-paint-hold]")&&(e instanceof HTMLTextAreaElement||yl.has(e.getAttribute("type")?.toLowerCase()??"")))}function Sl(e){let t=po().map(n=>({tag:n.localName,type:n.getAttribute("type")?.toLowerCase()??"",value:n.value}));Ze.delete(e),t.some(n=>n.value!=="")&&Ze.set(e,t),Te(Ze,gl)}function El(e,t,n){e.localName===t.tag&&(e.localName==="input"&&(e.getAttribute("type")?.toLowerCase()??"")!==t.type||n&&e.value!==""||e.value!==t.value&&(e.value=t.value))}function _l(e){return!!e.closest("pnext-client[data-pnext-client]")?.__pnextLive}function De(e,t=!1,n){if(!e)return;let r=Ze.get(e);if(!r)return;let i=po();if(i.length===r.length)for(let[o,l]of i.entries())n?.(l)||El(l,r[o],t)}function xl(e,t,n){let r=t.split("/").filter(Boolean),i=n.split("/").filter(Boolean);De(e,!1,o=>{if(pe(o))return!0;let l=o.closest("pnext-client[data-pnext-client]")?.getAttribute("data-pnext-layout-segments");if(!l)return!0;let s=JSON.parse(l).depth;return!s||r.slice(0,s).join("/")!==i.slice(0,s).join("/")})}function gr(e,t,n){if(!Ze.get(e))return;De(e,!0,n);let i=new MutationObserver(()=>{if(t!==L){i.disconnect();return}De(e,!0,n)});i.observe(document.body,{childList:!0,subtree:!0}),window.setTimeout(()=>i.disconnect(),Tl)}var Tl=5e3;function vl(e){let t=On(e);t&&(e.preventDefault(),Pl(t))}function Pl({link:e,url:t,replace:n,scroll:r}){let i=t.pathname===location.pathname&&t.search===location.search;if(i&&t.hash&&t.hash!==location.hash){n?history.replaceState(I(),"",t.href):history.pushState(I(),"",t.href),me(t,{scroll:r}),we(),Ee();return}i&&(me(t,{scroll:r}),we());let o=e.__pnextHints,l=L+1;if(o){Ee();for(let s of o)s(!0);Oe=[o,l]}Pn(t.href,i?{replace:n,scroll:r,refreshLike:!0,pageRefresh:!0}:{replace:n,scroll:r}).finally(()=>Ee(l))}var Oe;function Ee(e){if(!(!Oe||e!==void 0&&Oe[1]!==e)){for(let t of Oe[0])t(!1);Oe=void 0}}function At(e){return e.getAttribute("data-prefetch-full")==="true"}function go(e){let t=e.getAttribute("data-prefetch");return t===null?(typeof window>"u"?void 0:window.__PNEXT_PREFETCH__)??"visible":t==="false"?!1:t}var cn=!0,yo=Number.NaN,So=Number.NaN;function Jt(e){if(e.type==="pointerover"&&!cn&&e instanceof PointerEvent&&Math.abs(e.clientX-yo)<2&&Math.abs(e.clientY-So)<2)return;let t=In(e);if(!t||go(t)===!1)return;let n=t.getAttribute("href"),r=t.getAttribute("data-prefetch-hover-full")==="true",i=At(t)||r;n&&xe(n,{element:t,full:i,intent:!0,hoverResume:r&&!At(t)})}function bl(e){if(!e.persisted)return;w.activeRouteKey=q();let t=I().__pnextEntry;typeof t=="string"&&(w.renderedEntryId=t);for(let n of document.querySelectorAll("pnext-client[data-pnext-client]")){let r=n;r.__pnextLive||(r.__pnextMounting=void 0)}window.__PNEXT_MOUNT_ISLANDS__?.(),we()}function Rl(){let e=I(),t=e.__pnextEntry;if(q()===w.observedLocationKey||typeof t!="string"||t===w.renderedEntryId){w.observedLocationKey=q(),me(new URL(location.href),{pop:!0,scroll:!0}),we();return}w.observedLocationKey=q();let n=e.__pnextNavState;Pn(location.href,{pop:!0,navState:n}).catch(()=>location.reload())}var yr=new WeakSet,zt,Sr;function wl(){for(let e of ge){if(!e.isConnected){ge.delete(e),Nt.delete(e);continue}pt(e)}}function pt(e){let t=e.getAttribute("href");t&&xe(t,{element:e,full:At(e)})}function Nl(){Er(document.documentElement),new MutationObserver(t=>{for(let n of t)for(let r of n.addedNodes)r instanceof Element&&Er(r)}).observe(document.documentElement,{childList:!0,subtree:!0})}function Er(e){let t=[...e.querySelectorAll("a[data-pnext-link]")];e.matches("a[data-pnext-link]")&&t.push(e);for(let n of t){let r=go(n);if(!(r!=="load"&&r!=="visible")&&!yr.has(n)){if(yr.add(n),r==="load"){un(n)&&ge.add(n),pt(n);continue}Sr!==document&&(zt=void 0,Sr=document),zt??=new IntersectionObserver(i=>{for(let o of i){if(!o.isIntersecting){ge.delete(o.target);let l=Rt.get(o.target);l&&Li(l);continue}ge.add(o.target),pt(o.target)}}),zt.observe(n),un(n)&&(ge.add(n),pt(n))}}}function un(e){let t=e.getBoundingClientRect();return t.width>0&&t.height>0&&t.bottom>0&&t.right>0&&t.top<window.innerHeight&&t.left<window.innerWidth}function Bl(){window.__PNEXT_ROUTER_INSTALLED__||(window.__PNEXT_ROUTER_INSTALLED__=!0,"scrollRestoration"in history&&(history.scrollRestoration="manual"),w.activeRouteKey=q()),Ur(),w.settleLink=Ee;let e=q(),t=location.pathname,n=window.__PNEXT_SHELL_HTML__||`<!doctype html>${document.documentElement.outerHTML}`;O().children!==t&&(n+=document.getElementById("__PNEXT_NAV_STATE__")?.outerHTML??"");let r=Ue(document);r&&(n+=`<script type="module" src="${r}"><\/script>`);let i={html:n,finalUrl:location.href,ok:!0,p:window.__PNEXT_PROPS__},o=St(i.html)?.isStatic?void 0:fl();wt()&&!o&&xe(location.href,{currentUrl:!0}),on(i);let l=I().__pnextEntry,s=()=>{if(I().__pnextEntry!==l)return;let a=`<!doctype html>${document.documentElement.outerHTML}`,c=St(a),u=Et(a),m={...i,html:a};c?.isStatic&&(m.staleTimeSeconds=c.staleTime??U()/1e3,m.segmentPrerendered=!0),co(e,t,m,void 0,o,!0),rn(e,m),Lt(i.html)&&!Lt(a)&&on(m),u&&xe(i.finalUrl,{full:!0,currentUrl:!0})};document.readyState==="complete"?s():window.addEventListener("load",s,{once:!0}),document.addEventListener("click",vl),document.addEventListener("pointerover",Jt,!0),document.addEventListener("touchstart",Jt,{capture:!0,passive:!0}),document.addEventListener("focusin",Jt,!0),document.addEventListener("pointermove",()=>{cn=!0},{capture:!0,passive:!0}),document.addEventListener("pointerdown",a=>{cn=!1,yo=a.clientX,So=a.clientY},{capture:!0,passive:!0}),window.addEventListener("popstate",Rl),window.addEventListener("pageshow",bl),typeof __PNEXT_NEXT_ROUTER__>"u"&&!Hn&&Dn(ci),Nl()}export{Ke as HISTORY_BFCACHE_ID_KEY,Zn as bfRouteKey,Pl as commitLinkNavigation,zi as commitStaticStage,ql as currentNavigationSequence,vn as entryMatchesNavState,$l as evictClientRouterCache,G as historyBfcacheId,I as historyState,Bl as installRouterFull,xr as isRewriteDocument,go as linkPrefetchMode,Fe as navStateKey,We as newBfcacheId,je as newEntryId,Rl as onPopState,tl as paintStaticStageSubtree,wl as pingVisiblePrefetchLinks,xe as prefetchRoute,qi as readStreamedBody,vi as rearmVisiblePrefetches,vo as routeParamBoundaryChanged,To as routePatternMatchesPathname,sn as showLoadingShell,ue as slotsStateKey,Pn as softNavigate};
@@ -1 +1 @@
1
- "use client";import{e as I}from"./model-options-5e07b3318d69d218.js";import{f as P}from"./list-84356c9286747b10.js";import"./confirm-6e26ab941d655b9f.js";import{$1a as E,$1b as D}from"./shared-init-a69029db2d72fb52.js";import"./shared-init-a69029db2d72fb52.js";import"./shared-init-7a7f1e623f0f5861.js";import{$2z as A}from"./shared-init-7a7f1e623f0f5861.js";import{$0c as r,$0k as u,$0o as T}from"./shared-init-7a7f1e623f0f5861.js";import"./wular-pnext-3fcac605fffcc273-0.js";import"./shared-init-7a7f1e623f0f5861.js";import{$4B as C,$4Q as t,$4S as l,$4U as B}from"./shared-init-7a7f1e623f0f5861.js";import"./shared-init-3fcac605fffcc273-2.js";import"./shared-init-3fcac605fffcc273-2.js";import{$2c as R,$2h as a}from"./shared-init-3fcac605fffcc273-2.js";function H({first:_,local:p,admin:c}){let[s,f]=a(_),[w,v]=a(!1),[g,z]=a(c||p?"workspace":"personal"),[F,k]=a(""),d=D(),i=!!d.pending,y=w||!s.length,b=e=>e.owner?e.asker:c,S=e=>f(n=>n.some(o=>o.id===e.id)?n.map(o=>o.id===e.id?e:o):[...n,e]);return t(T,{look:"filled",title:"Task secrets",count:s.length||void 0,actions:y?null:t(B,{icon:C,label:"Add a task secret",onClick:()=>v(!0)}),children:t("div",{class:"cred-engine",children:[t("p",{class:"muted cred-note",children:"Tasks read these as environment variables, like a test API key or a deploy token."}),s.length?t("table",{class:"rows creds",children:t("tbody",{children:s.map(e=>t(P,{title:e.env??e.name,badges:t(R,{children:[t(u,{children:e.owner?e.asker?"personal":e.owner.name??"member":"workspace"}),e.status==="connected"?null:t(u,{tone:"warn",children:"needs a new value"})]}),actions:b(e)?F===e.id?t("form",{class:"cred-add",method:"post",onSubmit:n=>{n.preventDefault();let o=String(new FormData(n.currentTarget).get("key")??"");o.trim()&&d.run("renew",async()=>{S(await r.connections.update(e.id,{key:o.trim()})),k("")})},children:[t("input",{name:"key",type:"password","aria-label":`New value for ${e.env??e.name}`,placeholder:"New value",autocomplete:"off","aria-busy":i,ref:n=>n?.focus()}),t(l,{type:"submit",loading:i,children:"Save"})]}):t(l,{variant:"ghost",size:"sm",onClick:()=>k(e.id),children:e.status==="connected"?"Replace":"Reconnect"}):null,remove:b(e)?{title:`Remove ${e.env??e.name}?`,body:"Tasks stop getting it, and its value is deleted.",onRemove:()=>r.connections.remove(e.id).then(()=>f(n=>n.filter(o=>o.id!==e.id)),E)}:void 0},e.id))})}):null,y?t("div",{class:"cred-new",children:t("form",{class:"cred-add",method:"post",onSubmit:e=>{e.preventDefault();let n=e.currentTarget,o=new FormData(n),m=String(o.get("env")??"").trim(),h=String(o.get("key")??"").trim();!m||!h||d.run("add",async()=>{S(await r.connections.add({name:m,provider:"env",key:h,keyIn:{env:m},...g==="personal"?{scope:"personal"}:{}})),n.reset(),v(!1)},{toast:"Not saved"})},children:[t("input",{name:"env",class:"mono cred-var","aria-label":"Secret variable",placeholder:"STRIPE_SECRET_KEY",pattern:"[A-Za-z_][A-Za-z0-9_]*",autocomplete:"off",spellcheck:!1,required:!0}),t("input",{name:"key",type:"password","aria-label":"Secret value",placeholder:"Value",autocomplete:"off","aria-busy":i,required:!0}),c&&!p?t(A,{label:"Who can use this secret",options:I,value:g,onChange:z}):null,t(l,{type:"submit",loading:i,children:"Add"})]})}):null]})})}export{H as TaskSecrets};
1
+ "use client";import{e as I}from"./model-options-5e07b3318d69d218.js";import{f as P}from"./list-c0633e5e742dff16.js";import"./confirm-c0c0642856e64b11.js";import{$1a as E,$1b as D}from"./shared-init-e8cf924a73e46497.js";import"./shared-init-e8cf924a73e46497.js";import"./shared-init-4f4cac48ca0ef193.js";import{$4z as A}from"./shared-init-4f4cac48ca0ef193.js";import{$1c as r,$1k as u,$1o as T}from"./shared-init-4f4cac48ca0ef193.js";import"./wular-pnext-9b28886f3cbe0ed3-0.js";import"./shared-init-4f4cac48ca0ef193.js";import{$3B as C,$3Q as t,$3S as l,$3U as B}from"./shared-init-4f4cac48ca0ef193.js";import"./shared-init-9b28886f3cbe0ed3-2.js";import"./shared-init-9b28886f3cbe0ed3-2.js";import{$3c as R,$3h as a}from"./shared-init-9b28886f3cbe0ed3-2.js";function H({first:_,local:p,admin:c}){let[s,f]=a(_),[w,v]=a(!1),[g,z]=a(c||p?"workspace":"personal"),[F,k]=a(""),d=D(),i=!!d.pending,y=w||!s.length,b=e=>e.owner?e.asker:c,S=e=>f(n=>n.some(o=>o.id===e.id)?n.map(o=>o.id===e.id?e:o):[...n,e]);return t(T,{look:"filled",title:"Task secrets",count:s.length||void 0,actions:y?null:t(B,{icon:C,label:"Add a task secret",onClick:()=>v(!0)}),children:t("div",{class:"cred-engine",children:[t("p",{class:"muted cred-note",children:"Tasks read these as environment variables, like a test API key or a deploy token."}),s.length?t("table",{class:"rows creds",children:t("tbody",{children:s.map(e=>t(P,{title:e.env??e.name,badges:t(R,{children:[t(u,{children:e.owner?e.asker?"personal":e.owner.name??"member":"workspace"}),e.status==="connected"?null:t(u,{tone:"warn",children:"needs a new value"})]}),actions:b(e)?F===e.id?t("form",{class:"cred-add",method:"post",onSubmit:n=>{n.preventDefault();let o=String(new FormData(n.currentTarget).get("key")??"");o.trim()&&d.run("renew",async()=>{S(await r.connections.update(e.id,{key:o.trim()})),k("")})},children:[t("input",{name:"key",type:"password","aria-label":`New value for ${e.env??e.name}`,placeholder:"New value",autocomplete:"off","aria-busy":i,ref:n=>n?.focus()}),t(l,{type:"submit",loading:i,children:"Save"})]}):t(l,{variant:"ghost",size:"sm",onClick:()=>k(e.id),children:e.status==="connected"?"Replace":"Reconnect"}):null,remove:b(e)?{title:`Remove ${e.env??e.name}?`,body:"Tasks stop getting it, and its value is deleted.",onRemove:()=>r.connections.remove(e.id).then(()=>f(n=>n.filter(o=>o.id!==e.id)),E)}:void 0},e.id))})}):null,y?t("div",{class:"cred-new",children:t("form",{class:"cred-add",method:"post",onSubmit:e=>{e.preventDefault();let n=e.currentTarget,o=new FormData(n),m=String(o.get("env")??"").trim(),h=String(o.get("key")??"").trim();!m||!h||d.run("add",async()=>{S(await r.connections.add({name:m,provider:"env",key:h,keyIn:{env:m},...g==="personal"?{scope:"personal"}:{}})),n.reset(),v(!1)},{toast:"Not saved"})},children:[t("input",{name:"env",class:"mono cred-var","aria-label":"Secret variable",placeholder:"STRIPE_SECRET_KEY",pattern:"[A-Za-z_][A-Za-z0-9_]*",autocomplete:"off",spellcheck:!1,required:!0}),t("input",{name:"key",type:"password","aria-label":"Secret value",placeholder:"Value",autocomplete:"off","aria-busy":i,required:!0}),c&&!p?t(A,{label:"Who can use this secret",options:I,value:g,onChange:z}):null,t(l,{type:"submit",loading:i,children:"Add"})]})}):null]})})}export{H as TaskSecrets};
@@ -1 +1 @@
1
- import{$4Q as t,$4b as m}from"./shared-init-7a7f1e623f0f5861.js";function w({label:s,options:n,value:i,onChange:l,link:d,class:o,disabled:f,children:c}){if(!l)return t("div",{class:o?`seg-btns ${o}`:"seg-btns",role:"group","aria-label":s,children:[n.map(([e,r])=>d?t(m,{...d(e),"aria-current":e===i?"page":void 0,children:r},e):t("a",{children:r},e)),c]});let u=Math.max(0,n.findIndex(([e])=>e===i));return t("div",{class:o?`seg-btns ${o}`:"seg-btns",role:"radiogroup","aria-label":s,onKeyDown:e=>{let r=e.currentTarget.closest("form");if(e.key==="Enter"&&r)return e.preventDefault(),r.requestSubmit();let a={ArrowRight:1,ArrowDown:1,ArrowLeft:-1,ArrowUp:-1}[e.key];if(!a)return;e.preventDefault();let p=(u+a+n.length)%n.length;l(n[p][0]),e.currentTarget.children[p]?.focus()},children:n.map(([e,r],a)=>t("button",{type:"button",role:"radio","aria-checked":e===i,tabIndex:a===u?0:-1,disabled:f,onClick:()=>l(e),children:r},e))})}export{w as a};
1
+ import{$3Q as t,$3b as m}from"./shared-init-4f4cac48ca0ef193.js";function w({label:s,options:n,value:i,onChange:l,link:d,class:o,disabled:f,children:c}){if(!l)return t("div",{class:o?`seg-btns ${o}`:"seg-btns",role:"group","aria-label":s,children:[n.map(([e,r])=>d?t(m,{...d(e),"aria-current":e===i?"page":void 0,children:r},e):t("a",{children:r},e)),c]});let u=Math.max(0,n.findIndex(([e])=>e===i));return t("div",{class:o?`seg-btns ${o}`:"seg-btns",role:"radiogroup","aria-label":s,onKeyDown:e=>{let r=e.currentTarget.closest("form");if(e.key==="Enter"&&r)return e.preventDefault(),r.requestSubmit();let a={ArrowRight:1,ArrowDown:1,ArrowLeft:-1,ArrowUp:-1}[e.key];if(!a)return;e.preventDefault();let p=(u+a+n.length)%n.length;l(n[p][0]),e.currentTarget.children[p]?.focus()},children:n.map(([e,r],a)=>t("button",{type:"button",role:"radio","aria-checked":e===i,tabIndex:a===u?0:-1,disabled:f,onClick:()=>l(e),children:r},e))})}export{w as a};