@wular/coder 0.5.1 → 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 (246) hide show
  1. package/dist/{actions-DO8MvHwc.js → actions-C35tq9KH.js} +2 -2
  2. package/dist/{agent-Cgala63h.js → agent-BZR4Eqdc.js} +1 -1
  3. package/dist/{apps-BORri-28.js → apps-CCqOsEZH.js} +4 -4
  4. package/dist/{async-BS9tyhva.js → async-BP5q3Une.js} +1 -1
  5. package/dist/{auth-C16ylySv.js → auth-CJOm9_Vh.js} +1 -1
  6. package/dist/{chat-czruXAt3.js → chat-BD2Fu3jU.js} +1 -1
  7. package/dist/cli.js +2 -2
  8. package/dist/{cmd-C1gHyVG7.js → cmd-BH1bmZGs.js} +29 -29
  9. package/dist/{connection-CgA5_NJ7.js → connection-DNzNYpha.js} +1 -1
  10. package/dist/{context-C1XBbfEL.js → context-DVGPu7f_.js} +1 -1
  11. package/dist/dash/standalone/server/build-index.json +1 -1
  12. package/dist/dash/standalone/server/manifest.json +1305 -1297
  13. package/dist/dash/standalone/server/modules-server-server-react-server/src/client/{index.91e126d7a389d4bd.js → index.a036e2c6ae93ec75.js} +3 -2
  14. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/api/{load.858c062c7891a2c1.js → load.3e1c235ecb89201a.js} +1 -1
  15. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/create/[id]/{page.9375ab741dc9791e.js → page.182d84c6c82e23ce.js} +3 -3
  16. 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
  17. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/account/{notify.c36570a56d279ce2.js → notify.62f2ed40b52a8634.js} +1 -1
  18. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/account/{page.13fdd9cc55ad3a52.js → page.ff2419800c956e8d.js} +4 -4
  19. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/account/{sign-out.38a7f39cddc670f7.js → sign-out.e125b18b5682b3eb.js} +2 -2
  20. 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
  21. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/(list)/{agents-grid.2385ffa8fdad08d6.js → agents-grid.dcc8b20efd8850e6.js} +5 -5
  22. 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
  23. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/(list)/{page.5ca6921e50484f8c.js → page.6704febb2a60975e.js} +6 -6
  24. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/{layout.afc4a8a5a8360975.js → layout.32acdff971049f4d.js} +8 -8
  25. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/{page.ba65063a1aa99a62.js → page.1208c1115d309a62.js} +6 -6
  26. 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
  27. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/platforms/{page.03c5e72b0fe50ba9.js → page.630dd03a59048b88.js} +14 -14
  28. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/platforms/{platform-actions.7c8c75bd0c05df4a.js → platform-actions.184f6c441ac3d1c7.js} +5 -5
  29. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/platforms/{platform-step.d6a980d1181dc940.js → platform-step.d97e9a2290dbfae3.js} +1 -1
  30. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/settings/{agent-settings-form.b5299f5130a4e8af.js → agent-settings-form.840d93eb2ba648bd.js} +8 -8
  31. 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
  32. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/settings/{page.fad77cea17947d47.js → page.b79c235f7735fc3e.js} +6 -6
  33. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/tasks/{loading.4120e6979eaed441.js → loading.10ca51cc6fb65391.js} +1 -1
  34. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/tasks/{page.474b3524d5ea53b7.js → page.a09314f795d5e740.js} +1 -1
  35. 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
  36. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/usage/{page.7868a07efcaa26f4.js → page.d88040124d4d2053.js} +4 -4
  37. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/{versions-list.ba93a53773cab8a8.js → versions-list.e6088baf4de7f41e.js} +1 -1
  38. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/edit/{loading.6e53829bd1f3021d.js → loading.5228229c48332ccd.js} +3 -3
  39. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/edit/{page.5798ede8ba8ace97.js → page.c60cf1ea8ede39f6.js} +7 -7
  40. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/platforms/[app]/{app-cards.55778a4b3177846d.js → app-cards.f17ab135e3e31e00.js} +2 -2
  41. 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
  42. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/platforms/[app]/{page.ce391cad0d78795f.js → page.706499514893c5e0.js} +5 -5
  43. 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
  44. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/agent/{agent-toggle.0cec822c6099f058.js → agent-toggle.901667176840cd25.js} +2 -2
  45. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/agent/{hero.7151c467e7ecf6a5.js → hero.fd2ffbf999c6c1e9.js} +3 -3
  46. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/editor/{connect-repositories.4e121d31ed0cfe02.js → connect-repositories.e27bcba279f82d7b.js} +1 -1
  47. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/editor/{editor.f314d92af0bb33b0.js → editor.edcfc2f0692e9059.js} +10 -10
  48. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/editor/{import-picker.11028d5329ad537b.js → import-picker.515ab6c14afe14ac.js} +5 -5
  49. 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
  50. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/new/{page.1476d31e4554e88b.js → page.95eb2cd0671e7f6e.js} +5 -5
  51. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/{layout.150d950d191db477.js → layout.87f5bb00d4e34e6b.js} +7 -7
  52. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/operator/{operator-apps.3e72de86b86a7338.js → operator-apps.6a9975e2f64a9e5b.js} +6 -6
  53. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/operator/{page.6a4be3b1a473ff8c.js → page.3691b55916b17d14.js} +6 -6
  54. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/{page.262ed73437c17872.js → page.7de674df6cd0e824.js} +1 -1
  55. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{advanced-list.7180570379e2625c.js → advanced-list.c7821de9a79fb144.js} +1 -1
  56. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{connection-add.632b1847c16ecd42.js → connection-add.f102abaca93416ff.js} +7 -7
  57. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{connections-list.4378ae707b2092ed.js → connections-list.098f57fd6b1570d8.js} +8 -8
  58. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{credentials-list.e47897acb6867df8.js → credentials-list.2a2d391b2fc563fc.js} +7 -7
  59. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{credentials.6bd06f96afbe7329.js → credentials.0eeab14f7a6236bb.js} +8 -8
  60. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{list.38e70272eeb98cd0.js → list.5a1847f3ed97bc5b.js} +3 -3
  61. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{models-list.a08cd37d0f7ff86c.js → models-list.d0954eca1a1ca3d2.js} +9 -9
  62. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{page.f096b5a9ac419326.js → page.f0e75930eb08c4bc.js} +14 -14
  63. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{runners-list.0df1f9329df1b67d.js → runners-list.74bcad5271e5de01.js} +6 -6
  64. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{secrets-list.6d2f56fa7d6fcab0.js → secrets-list.d0c1121f216e0bcb.js} +4 -4
  65. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/{layout.0fd865c865e5bab4.js → layout.05700d93abe5a3d4.js} +4 -4
  66. 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
  67. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/{page.c57b81c2197cce0f.js → page.e439da4bae9d6d6c.js} +1 -1
  68. 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
  69. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/setup/{create-link.60aadbe43ea1e39c.js → create-link.161d0d636ca45721.js} +3 -3
  70. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/setup/{outcome-toast.e2b9ef0344b1a1a2.js → outcome-toast.d6d0bd8663377fda.js} +1 -1
  71. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/setup/{page.c456ad99c8a9f875.js → page.5f90915ba7faa83d.js} +5 -5
  72. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/{activity.2ec05d78d609b7b2.js → activity.f8d48c80747830ee.js} +1 -1
  73. 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
  74. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/{page.578be2f6c89fcba0.js → page.8ad4907125ab2593.js} +16 -10
  75. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/{task-actions.d131453dd2a423c3.js → task-actions.f4e6ea3320e0ae23.js} +14 -22
  76. 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
  77. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/{task-view.3d72a4ecd2b3826e.js → task-view.b7b9a82526087a6f.js} +83 -22
  78. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/{composer.97be3e67214889c1.js → composer.91fe18526ebad717.js} +10 -10
  79. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/list/{pending-approvals.9175908da02960e1.js → pending-approvals.319cefed5e3adb15.js} +1 -1
  80. 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
  81. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/list/{tasks-list.028798c79227a366.js → tasks-list.550288bcec62fea5.js} +61 -44
  82. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/list/{tasks-section.9a9d13057b326f25.js → tasks-section.7e3bc3398baec1bd.js} +7 -7
  83. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/{page.045c6db0c56975b2.js → page.98767f77d0fd9a05.js} +3 -3
  84. 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
  85. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/usage/{page.938d29ff7edb678d.js → page.26319c38995aceca.js} +4 -4
  86. 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
  87. 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
  88. 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
  89. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{stream.2cdb8eabd8f6df70.js → stream.c7ffa724145ce870.js} +1 -1
  90. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{task-toasts.8733901ca0e4c246.js → task-toasts.168a3d3f5fd52cb4.js} +48 -21
  91. 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
  92. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/nav/{back.7aa0ae82dbec38cd.js → back.95ed3b5a6128d557.js} +2 -2
  93. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/nav/{org.853d173b55368728.js → org.efcee1c3404f6345.js} +1 -1
  94. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{combo.e4e08287494081a3.js → combo.3acd48652c3a66a6.js} +2 -2
  95. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{filter.0730dccad6332327.js → filter.6468dec3a8faed6f.js} +6 -6
  96. 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
  97. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{select.0ee9e8f04ddd8b47.js → select.b712227920cd0845.js} +1 -1
  98. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/utils/{action.56cea462eb725c39.js → action.55bd1d3e1b67a67e.js} +1 -1
  99. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/utils/{client.685154f230716834.js → client.b9225923da59febe.js} +1 -1
  100. package/dist/dash/standalone/static/assets/chunks/{advanced-list-b75a9c2bd11026de.js → advanced-list-d9a68433a13416df.js} +1 -1
  101. package/dist/dash/standalone/static/assets/chunks/{agent-pills-54564413a57d7fa7.js → agent-pills-1414a96077ec37de.js} +1 -1
  102. package/dist/dash/standalone/static/assets/chunks/{agent-settings-form-55d294dad2ce5a0d.js → agent-settings-form-73da6b4b714e49b4.js} +1 -1
  103. package/dist/dash/standalone/static/assets/chunks/{agent-toggle-b5dcc4ea6292fb3d.js → agent-toggle-d14e2838d11ab0f7.js} +1 -1
  104. package/dist/dash/standalone/static/assets/chunks/{agents-grid-69461c53abbba433.js → agents-grid-aea25444710f2634.js} +1 -1
  105. package/dist/dash/standalone/static/assets/chunks/{back-ba5e4340a9f8bbd2.js → back-57d4a59bf80377e6.js} +1 -1
  106. package/dist/dash/standalone/static/assets/chunks/{chain-hint-491eb09a20a15702.js → chain-hint-dcb6933d6f8a6324.js} +1 -1
  107. package/dist/dash/standalone/static/assets/chunks/{combo-6df61e8a1cc31037.js → combo-460bff876882c694.js} +1 -1
  108. package/dist/dash/standalone/static/assets/chunks/{composer-198b844da57b82a3.js → composer-8d12a215b107c9b3.js} +1 -1
  109. package/dist/dash/standalone/static/assets/chunks/composer-fe63697f84a538c2.js +1 -0
  110. package/dist/dash/standalone/static/assets/chunks/{confirm-14d018653fbe50fc.js → confirm-c0c0642856e64b11.js} +1 -1
  111. package/dist/dash/standalone/static/assets/chunks/{connect-repositories-5118edc019fc7890.js → connect-repositories-3a317a5db3ea50b1.js} +1 -1
  112. package/dist/dash/standalone/static/assets/chunks/{connections-list-5412dad7e0def52f.js → connections-list-0110d160a25b388c.js} +1 -1
  113. package/dist/dash/standalone/static/assets/chunks/{copy-04781f9af4e10f06.js → copy-eeb076af6e19e501.js} +1 -1
  114. package/dist/dash/standalone/static/assets/chunks/create-link-e72ff4dd7ef06e1c.js +1 -0
  115. package/dist/dash/standalone/static/assets/chunks/{credentials-list-e64c973aee5602d3.js → credentials-list-90e6a2436041b18d.js} +1 -1
  116. package/dist/dash/standalone/static/assets/chunks/{custom-range-b6919bab9846ebf7.js → custom-range-721477a24237c90d.js} +1 -1
  117. package/dist/dash/standalone/static/assets/chunks/{editor-68e9ccd1764fc512.js → editor-64f6563f28d53ec5.js} +1 -1
  118. package/dist/dash/standalone/static/assets/chunks/{field-adcb6e6a5f9b7131.js → field-7c895f6d8d5d9eb3.js} +1 -1
  119. package/dist/dash/standalone/static/assets/chunks/{instructions-7b274685ceb26457.js → instructions-7b1485330fc4e8fd.js} +1 -1
  120. package/dist/dash/standalone/static/assets/chunks/instructions-ed61f719baf13b12.js +1 -0
  121. package/dist/dash/standalone/static/assets/chunks/{list-662f042656857c82.js → list-c0633e5e742dff16.js} +1 -1
  122. package/dist/dash/standalone/static/assets/chunks/{models-list-ae1e2eff30d21824.js → models-list-228b3503307bc1ff.js} +1 -1
  123. package/dist/dash/standalone/static/assets/chunks/{outcome-dialog-fd86ded4c44c2de7.js → outcome-dialog-36842dfe50be1c85.js} +1 -1
  124. package/dist/dash/standalone/static/assets/chunks/outcome-dialog-630b20ddff39b01d.js +1 -0
  125. package/dist/dash/standalone/static/assets/chunks/outcome-toast-b7e33ff0d984f359.js +1 -0
  126. package/dist/dash/standalone/static/assets/chunks/{platform-actions-f3979ab69a6ceb53.js → platform-actions-055a2e246fca7af9.js} +1 -1
  127. package/dist/dash/standalone/static/assets/chunks/platform-actions-9e198b0c88df3206.js +1 -0
  128. package/dist/dash/standalone/static/assets/chunks/platform-step-111051da80de6577.js +1 -0
  129. package/dist/dash/standalone/static/assets/chunks/{platform-step-5454b6c0a19caefd.js → platform-step-c7473e57e0b2f824.js} +1 -1
  130. package/dist/dash/standalone/static/assets/chunks/{runners-list-20d42f19fb4bec8a.js → runners-list-973253df985a8306.js} +1 -1
  131. package/dist/dash/standalone/static/assets/chunks/{runtime-3fcac605fffcc273-1.js → runtime-9b28886f3cbe0ed3-1.js} +1 -1
  132. package/dist/dash/standalone/static/assets/chunks/{secrets-list-89f89ee70edb3856.js → secrets-list-4aa6e2bf0fef06d6.js} +1 -1
  133. package/dist/dash/standalone/static/assets/chunks/{segmented-66a8c77c6294fec3.js → segmented-a994b4c20434c0ad.js} +1 -1
  134. package/dist/dash/standalone/static/assets/chunks/shared-init-4f4cac48ca0ef193.js +9 -0
  135. package/dist/dash/standalone/static/assets/chunks/shared-init-5734a91cdb78a173.js +1 -0
  136. package/dist/dash/standalone/static/assets/chunks/shared-init-9b28886f3cbe0ed3-2.js +1 -0
  137. package/dist/dash/standalone/static/assets/chunks/{shared-init-96225b8c7758de9d.js → shared-init-e8cf924a73e46497.js} +1 -1
  138. package/dist/dash/standalone/static/assets/chunks/side-toggle-a2d07f99f136e975.js +1 -0
  139. package/dist/dash/standalone/static/assets/chunks/{tail-40f16e09eade7eee.js → tail-d3ba4c4035c5453e.js} +1 -1
  140. package/dist/dash/standalone/static/assets/chunks/task-3b17e45e271a6480.js +1 -0
  141. package/dist/dash/standalone/static/assets/chunks/task-actions-e0c202536048edc0.js +3 -0
  142. package/dist/dash/standalone/static/assets/chunks/task-view-3822a8fe44f4aa92.js +3 -0
  143. package/dist/dash/standalone/static/assets/chunks/tasks-list-cb838b88110bbbb4.js +1 -0
  144. package/dist/dash/standalone/static/assets/chunks/{versions-list-ceb756236e69b761.js → versions-list-7cb9db8c25cdfaa7.js} +1 -1
  145. package/dist/dash/standalone/static/assets/chunks/{wular-pnext-3fcac605fffcc273-0.js → wular-pnext-9b28886f3cbe0ed3-0.js} +1 -1
  146. package/dist/dash/standalone/static/assets/{dash-param-org-agents-param-slug-dd4ac319a0d62432.css → dash-param-org-agents-param-slug-ea5e0d8593150b35.css} +1 -1
  147. 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
  148. 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
  149. 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
  150. 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
  151. package/dist/dash/standalone/static/assets/{dash-param-org-tasks-be3cb3d64573f3d9.css → dash-param-org-tasks-e040b6497646a8a0.css} +1 -1
  152. package/dist/dash/standalone/static/assets/{dash-param-org-tasks-param-id-c20a0537bc82620d.css → dash-param-org-tasks-param-id-7df5e6c891e9e77f.css} +1 -1
  153. package/dist/dash/standalone/static/assets/pnext-client-019fddb658ef621e.js +1 -0
  154. package/dist/dash/standalone/static/assets/pnext-client-025682238ebc1ccd.js +1 -0
  155. package/dist/dash/standalone/static/assets/pnext-client-05cb69349250f079.js +1 -0
  156. package/dist/dash/standalone/static/assets/pnext-client-0abd872e45d259dd.js +1 -0
  157. package/dist/dash/standalone/static/assets/pnext-client-19072249ab9d929f.js +1 -0
  158. package/dist/dash/standalone/static/assets/pnext-client-24b6f98a5e678977.js +1 -0
  159. package/dist/dash/standalone/static/assets/pnext-client-2ed3001f7f4597c0.js +1 -0
  160. package/dist/dash/standalone/static/assets/pnext-client-3028d0d201243815.js +1 -0
  161. package/dist/dash/standalone/static/assets/pnext-client-63d9e54053266337.js +1 -0
  162. package/dist/dash/standalone/static/assets/pnext-client-7bfb634b06062acf.js +1 -0
  163. package/dist/dash/standalone/static/assets/pnext-client-915218deeaa531f2.js +1 -0
  164. package/dist/dash/standalone/static/assets/{pnext-client-b1af82c6f0db0033.js → pnext-client-a62685439dab6db4.js} +1 -1
  165. package/dist/dash/standalone/static/assets/{pnext-client-435db60553fa3a67.js → pnext-client-a793df411dc27890.js} +1 -1
  166. package/dist/dash/standalone/static/assets/pnext-client-ae5f820b1e3add50.js +1 -0
  167. package/dist/dash/standalone/static/assets/pnext-client-ba17d46e9f8417f8.js +1 -0
  168. package/dist/dash/standalone/static/assets/pnext-client-dbca01dae6b3ad8c.js +1 -0
  169. package/dist/dash/standalone/static/assets/pnext-client-ec303fb1cec93d9f.js +1 -0
  170. package/dist/dash/standalone/static/assets/pnext-client-ec8fde62be82a077.js +1 -0
  171. package/dist/dash/standalone/static/assets/pnext-client-f659576f3d4fea61.js +1 -0
  172. package/dist/dash/standalone/static/assets/pnext-client-f715825f54bb8e89.js +1 -0
  173. package/dist/{drive-B7SBFfcb.js → drive-MggMiKA0.js} +1 -1
  174. package/dist/{exec-D9jF2F-H.js → exec-CNygM6yF.js} +1 -1
  175. package/dist/{executor-DBW7R7Tf.js → executor-Ds4wDCzV.js} +1 -1
  176. package/dist/flow/builtin/review/index.js +1 -1
  177. package/dist/flow/index.js +1 -1
  178. package/dist/{hook-DN__zYOG.js → hook-CVJU-ZD0.js} +1 -1
  179. package/dist/{local-BzMvgiwL.js → local-CqOUpEtl.js} +1 -1
  180. package/dist/{local-GIxwz_Or.js → local-DFrTuJFN.js} +1 -1
  181. package/dist/{login-LlZrIlxb.js → login-93jO9qjx.js} +1 -1
  182. package/dist/{maintenance-DyiyHI8S.js → maintenance-BuDKnfc7.js} +1 -1
  183. package/dist/{mcp-CrtKQoVi.js → mcp-CTVOR7r6.js} +1 -1
  184. package/dist/{mcp-Caq72REF.js → mcp-EwT2mCaa.js} +1 -1
  185. package/dist/{models-BVxs3I8o.js → models-mKyePWrV.js} +1 -1
  186. package/dist/{permission-RSZM3DUk.js → permission-F6F25GJU.js} +1 -1
  187. package/dist/remote-Cl-j8r3W.js +1 -0
  188. package/dist/{runner-CKMOh5Q3.js → runner-DK0jnzPr.js} +1 -1
  189. package/dist/runner.json +1 -1
  190. package/dist/runner.tgz +0 -0
  191. package/dist/schema.js +1 -1
  192. package/dist/sdk.d.ts +34 -0
  193. package/dist/sdk.js +1 -1
  194. package/dist/serve-Cqlkgdfd.js +8 -0
  195. package/dist/{serve-YlU04KO7.js → serve-DHe6dZM6.js} +1 -1
  196. package/dist/{session-D7eeJIaH.js → session-BMbMzzPu.js} +1 -1
  197. package/dist/{shared-BzNReirj.js → shared-D-KqAi7b.js} +1 -1
  198. package/dist/{sign-in-Dr6sU7vz.js → sign-in-Dv-rdYD4.js} +1 -1
  199. package/dist/{store-BrnWdtRw.js → store-BpDipcKB.js} +18 -18
  200. package/dist/{task-CyqtCXo3.js → task-BRHXn5y1.js} +1 -1
  201. package/dist/{task-DN4assR8.js → task-CzXNLREX.js} +1 -1
  202. package/dist/{tools-DVtBtED6.js → tools-BCm26CeV.js} +1 -1
  203. package/dist/{tools-Ck-ZWtmB.js → tools-C69W1B6S.js} +1 -1
  204. package/dist/{tools-search-BNDea9vZ.js → tools-search-BDaeCoWe.js} +1 -1
  205. package/dist/{worker-DeuC38Vp.js → worker-DGhRPDDt.js} +2 -2
  206. package/dist/{worker-DJANNSCT.js → worker-DHNBRRl-.js} +1 -1
  207. package/package.json +1 -1
  208. package/plugins/claude/.claude-plugin/plugin.json +1 -1
  209. package/plugins/cursor/.cursor-plugin/plugin.json +1 -1
  210. package/dist/dash/standalone/static/assets/chunks/composer-b26a3332a1243461.js +0 -1
  211. package/dist/dash/standalone/static/assets/chunks/create-link-0651addf1461f901.js +0 -1
  212. package/dist/dash/standalone/static/assets/chunks/instructions-0022dd3bdd57c13f.js +0 -1
  213. package/dist/dash/standalone/static/assets/chunks/outcome-dialog-546fe090efc129c2.js +0 -1
  214. package/dist/dash/standalone/static/assets/chunks/outcome-toast-c00becdb638cd9a8.js +0 -1
  215. package/dist/dash/standalone/static/assets/chunks/platform-actions-2be223e68e648134.js +0 -1
  216. package/dist/dash/standalone/static/assets/chunks/platform-step-9a52703f4c4f6a31.js +0 -1
  217. package/dist/dash/standalone/static/assets/chunks/shared-init-3fcac605fffcc273-2.js +0 -1
  218. package/dist/dash/standalone/static/assets/chunks/shared-init-96cde32cd50254c0.js +0 -1
  219. package/dist/dash/standalone/static/assets/chunks/shared-init-abd7653140f37a0c.js +0 -9
  220. package/dist/dash/standalone/static/assets/chunks/side-toggle-8a410cc6d6bd9b1d.js +0 -1
  221. package/dist/dash/standalone/static/assets/chunks/task-396d849e58e50d59.js +0 -1
  222. package/dist/dash/standalone/static/assets/chunks/task-actions-0b3054dc0f8d17c0.js +0 -3
  223. package/dist/dash/standalone/static/assets/chunks/task-view-9e026dc5da58af5b.js +0 -3
  224. package/dist/dash/standalone/static/assets/chunks/tasks-list-04c6568d7f7237b7.js +0 -1
  225. package/dist/dash/standalone/static/assets/pnext-client-07b41bfab64b61c0.js +0 -1
  226. package/dist/dash/standalone/static/assets/pnext-client-0d388d56250f9f46.js +0 -1
  227. package/dist/dash/standalone/static/assets/pnext-client-1443e45181b60bb0.js +0 -1
  228. package/dist/dash/standalone/static/assets/pnext-client-27207e4f43f9a21b.js +0 -1
  229. package/dist/dash/standalone/static/assets/pnext-client-523dd4071aa294ba.js +0 -1
  230. package/dist/dash/standalone/static/assets/pnext-client-5f6bda3919f68382.js +0 -1
  231. package/dist/dash/standalone/static/assets/pnext-client-684fd8ad16563ed3.js +0 -1
  232. package/dist/dash/standalone/static/assets/pnext-client-6b952cdda9a1eb2b.js +0 -1
  233. package/dist/dash/standalone/static/assets/pnext-client-6fe9e98f7dd8dcbf.js +0 -1
  234. package/dist/dash/standalone/static/assets/pnext-client-730c2c507a159f9e.js +0 -1
  235. package/dist/dash/standalone/static/assets/pnext-client-7c46573e45b67166.js +0 -1
  236. package/dist/dash/standalone/static/assets/pnext-client-83a865c3d75705bd.js +0 -1
  237. package/dist/dash/standalone/static/assets/pnext-client-907d1db4fb398a1d.js +0 -1
  238. package/dist/dash/standalone/static/assets/pnext-client-9baf701f3e641d09.js +0 -1
  239. package/dist/dash/standalone/static/assets/pnext-client-a57705e4e1047a9e.js +0 -1
  240. package/dist/dash/standalone/static/assets/pnext-client-cede3bd7b2735942.js +0 -1
  241. package/dist/dash/standalone/static/assets/pnext-client-d9a3996f22b6816b.js +0 -1
  242. package/dist/dash/standalone/static/assets/pnext-client-f95364a0073ca4ce.js +0 -1
  243. package/dist/remote-CY-qYX2C.js +0 -1
  244. package/dist/serve-D23JqDip.js +0 -12
  245. /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
  246. /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,39 +1,38 @@
1
1
  "use client";
2
- import "./tasks-list.f3737549b4696cc8.css.pnext-asset.js";
3
- import { Fragment } from "../../../../../../../../../../node_modules/preact/dist/preact.mjs";
2
+ import "./tasks-list.835b11dc95c95cb5.css.pnext-asset.js";
4
3
  import { dynamic } from "../../../../../../../../../../node_modules/@wular/pnext/src/api/dynamic.tsx";
5
4
  import { useEffect, useRef, useState } from "../../../../../../../../../../node_modules/preact/hooks/dist/hooks.mjs";
6
- import { client } from "../../../../../utils/client.685154f230716834.js";
7
- import { useAction } from "../../../../../utils/action.56cea462eb725c39.js";
5
+ import { client } from "../../../../../utils/client.b9225923da59febe.js";
6
+ import { useAction } from "../../../../../utils/action.55bd1d3e1b67a67e.js";
8
7
  import { formatCount, formatDate, formatDay, formatDuration } from "../../../../../utils/format.ceeaafa10a0563f3.js";
9
8
  import { iAgent, iClock, iDots, iFolder, iMonitor, iPlug, iPlus, iTerminal } from "../../../../../comps/ui/icons.f769275420d072ce.js";
10
9
  import { Menu } from "../../../../../comps/ui/menu.7f558c7c6f6345d5.js";
11
- import { MenuItem } from "../../../../../comps/ui/menu-items.759a1b1f7c5ee365.js";
10
+ import { MenuItem } from "../../../../../comps/ui/menu-items.725ede2a88ea76a9.js";
12
11
  import { Link } from "../../../../../../../../../../node_modules/@wular/pnext/src/api/link.tsx";
13
- import { PendingApprovals } from "./pending-approvals.9175908da02960e1.js";
12
+ import { PendingApprovals } from "./pending-approvals.319cefed5e3adb15.js";
14
13
  import { useRouter } from "../../../../../../../../../../node_modules/@wular/pnext/src/api/client-navigation.ts";
15
14
  import { usePaged } from "../../../../../utils/paged.0e54c3044f8ca567.js";
16
15
  import { useZone } from "../../../../zone.0515a688ee5ff6ca.js";
17
- import { pendingApproval } from "../[id]/task-actions.d131453dd2a423c3.js";
18
- import { BrandIcon } from "../../agents/agent/agent-pills.1012e04bfbc7bffd.js";
16
+ import { pendingApproval } from "../[id]/task-actions.f4e6ea3320e0ae23.js";
17
+ import { BrandIcon } from "../../agents/agent/agent-pills.bd9808856ef860f3.js";
19
18
  import { Button } from "../../../../../comps/ui/button.b62fa52e18fa338b.js";
20
19
  import { Card, Empty } from "../../../../../comps/ui/card.c0030eafd76587e3.js";
21
20
  import { Badge } from "../../../../../comps/ui/badge.9f63fd615cf0ee22.js";
22
21
  import { ConfirmDialog } from "../../../../../comps/ui/confirm.e21b7f5e486dafb8.js";
23
22
  import { Status } from "./status.d2c05c397780b833.js";
24
23
  import { Icon } from "../../../../../comps/ui/icon.0874ca2f58f7db14.js";
25
- import { Filter } from "../../../../../comps/ui/filter.0730dccad6332327.js";
26
- import { addRows, readDelta, taskActive, withAdded } from "./task.a25847399a4dfb30.js";
27
- import { taskModel, taskTitle } from "./task.a25847399a4dfb30.js";
24
+ import { Filter } from "../../../../../comps/ui/filter.6468dec3a8faed6f.js";
25
+ import { addRows, readDelta, taskActive, withAdded } from "./task.fcd21a71424503e9.js";
26
+ import { taskModel, taskTitle } from "./task.fcd21a71424503e9.js";
28
27
  import { LIST_PAGE } from "../../../../../utils/paged.0e54c3044f8ca567.js";
29
28
  import { Search, Toolbar, queryOf, useFilters } from "../../../../../comps/ui/toolbar.ff8367c641d28c1e.js";
30
29
  import { Tail } from "../../../../../comps/ui/tail.7eb303330802ac18.js";
31
- import { SOURCES, STATUSES, folderName, listFilters, sourceLabel } from "./task.a25847399a4dfb30.js";
32
- import { NeedsCredential } from "../composer.97be3e67214889c1.js";
33
- import { useTaskEvents } from "../../../../../comps/frame/task-toasts.8733901ca0e4c246.js";
34
- import { useOrg } from "../../../../../comps/nav/org.853d173b55368728.js";
35
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "../../../../../../../../../../node_modules/preact/jsx-runtime/dist/jsxRuntime.mjs";
36
- const NewTaskButton = dynamic(() => import("../composer.97be3e67214889c1.js").then((m) => m.NewTaskButton), {
30
+ import { SOURCES, STATUSES, folderName, listFilters, sourceLabel, taskOrigin } from "./task.fcd21a71424503e9.js";
31
+ import { NeedsCredential } from "../composer.91fe18526ebad717.js";
32
+ import { useTaskEvents } from "../../../../../comps/frame/task-toasts.168a3d3f5fd52cb4.js";
33
+ import { useOrg } from "../../../../../comps/nav/org.efcee1c3404f6345.js";
34
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "../../../../../../../../../../node_modules/preact/jsx-runtime/dist/jsxRuntime.mjs";
35
+ const NewTaskButton = dynamic(() => import("../composer.91fe18526ebad717.js").then((m) => m.NewTaskButton), {
37
36
  // TODO: stays disabled after client navigation until pnext SSRs nested dynamic() like Next.js.
38
37
  loading: () => /* @__PURE__ */ _jsx(Button, {
39
38
  class: "new-task",
@@ -43,7 +42,7 @@ loading: () => /* @__PURE__ */ _jsx(Button, {
43
42
  }) }, {
44
43
  "file": decodeURIComponent(new URL("../../../../../../../../../../../../../src/server/dash/app/dash/[org]/tasks/composer.tsx", import.meta.url).pathname),
45
44
  "exportName": "NewTaskButton",
46
- "id": "c-349df33426"
45
+ "id": "c-67f834e14e"
47
46
  });
48
47
  const SOURCE_ICONS = {
49
48
  dashboard: iMonitor,
@@ -65,7 +64,7 @@ function TaskRowView({ task, brand, back, scoped, tz, now, onDone }) {
65
64
  const org = useOrg();
66
65
  const elapsed = taskActive(task) && task.startedAt !== undefined ? now - task.startedAt : task.lastTurnMs;
67
66
  const source = task.task.event?.integration ?? task.task.source ?? "dashboard";
68
- const kind = task.task.event?.type ?? (task.task.flow === "default" ? undefined : task.task.flow);
67
+ const { what, by } = taskOrigin(task);
69
68
  return /* @__PURE__ */ _jsxs("tr", { children: [
70
69
  /* @__PURE__ */ _jsxs("td", { children: [/* @__PURE__ */ _jsx(Link, {
71
70
  class: "cover",
@@ -76,21 +75,22 @@ function TaskRowView({ task, brand, back, scoped, tz, now, onDone }) {
76
75
  },
77
76
  search: back ? { back } : undefined,
78
77
  children: taskTitle(task)
79
- }), /* @__PURE__ */ _jsx("span", {
78
+ }), task.task.cwd ? /* @__PURE__ */ _jsx("span", {
80
79
  class: "sub",
81
- children: [
82
- scoped ? null : /* @__PURE__ */ _jsxs(_Fragment, { children: [/* @__PURE__ */ _jsx(Icon, { d: iAgent }), task.task.agent] }),
83
- kind,
84
- task.task.cwd ? /* @__PURE__ */ _jsxs("span", {
85
- title: task.task.cwd,
86
- children: [/* @__PURE__ */ _jsx(Icon, { d: iFolder }), folderName(task.task.cwd)]
87
- }) : null
88
- ].filter(Boolean).map((part, index) => /* @__PURE__ */ _jsxs(Fragment, { children: [index ? " · " : null, part] }, index))
89
- })] }),
80
+ children: /* @__PURE__ */ _jsxs("span", {
81
+ title: task.task.cwd,
82
+ children: [/* @__PURE__ */ _jsx(Icon, { d: iFolder }), folderName(task.task.cwd)]
83
+ })
84
+ }) : null] }),
90
85
  /* @__PURE__ */ _jsx("td", { children: /* @__PURE__ */ _jsx(Status, {
91
86
  status: task.status,
92
87
  approvals: task.approvals
93
88
  }) }),
89
+ scoped ? null : /* @__PURE__ */ _jsxs("td", {
90
+ class: "agent",
91
+ title: task.task.agent,
92
+ children: [/* @__PURE__ */ _jsx(Icon, { d: iAgent }), task.task.agent]
93
+ }),
94
94
  /* @__PURE__ */ _jsx("td", {
95
95
  class: "model",
96
96
  title: taskModel(task),
@@ -105,17 +105,24 @@ function TaskRowView({ task, brand, back, scoped, tz, now, onDone }) {
105
105
  class: "num",
106
106
  children: task.startedAt === undefined ? null : formatDuration(elapsed)
107
107
  }),
108
- /* @__PURE__ */ _jsxs("td", { children: [/* @__PURE__ */ _jsxs("span", {
109
- class: "source",
110
- title: sourceLabel(source),
111
- children: [brand ? /* @__PURE__ */ _jsx(BrandIcon, { brand }) : /* @__PURE__ */ _jsx(Icon, { d: sourceIcon(source) }), sourceLabel(source)]
112
- }), /* @__PURE__ */ _jsx("span", {
113
- class: "row-acts",
114
- children: /* @__PURE__ */ _jsx(RowActions, {
115
- task,
116
- onDone
108
+ /* @__PURE__ */ _jsxs("td", { children: [
109
+ /* @__PURE__ */ _jsxs("span", {
110
+ class: "source",
111
+ title: sourceLabel(source),
112
+ children: [brand ? /* @__PURE__ */ _jsx(BrandIcon, { brand }) : /* @__PURE__ */ _jsx(Icon, { d: sourceIcon(source) }), what]
113
+ }),
114
+ by ? /* @__PURE__ */ _jsxs("span", {
115
+ class: "sub by",
116
+ children: ["by ", by]
117
+ }) : null,
118
+ /* @__PURE__ */ _jsx("span", {
119
+ class: "row-acts",
120
+ children: /* @__PURE__ */ _jsx(RowActions, {
121
+ task,
122
+ onDone
123
+ })
117
124
  })
118
- })] })
125
+ ] })
119
126
  ] });
120
127
  }
121
128
  function RowActions({ task, onDone }) {
@@ -184,7 +191,8 @@ export function TasksList({ first, platforms, brands = {}, agents = [], filters,
184
191
  key: "status",
185
192
  label: "Status",
186
193
  options: STATUSES,
187
- inline: true
194
+ inline: true,
195
+ shown: 3
188
196
  }, {
189
197
  key: "source",
190
198
  label: "Source",
@@ -405,7 +413,6 @@ export function TasksList({ first, platforms, brands = {}, agents = [], filters,
405
413
  count: counts ? formatCount(counts.all) : undefined,
406
414
  actions: counts ? /* @__PURE__ */ _jsxs(_Fragment, { children: [counts.active ? /* @__PURE__ */ _jsxs(Badge, {
407
415
  tone: "acc",
408
- onClick: () => set("status", "active"),
409
416
  children: [formatCount(counts.active), " active"]
410
417
  }) : null, counts.waiting ? /* @__PURE__ */ _jsxs(Badge, {
411
418
  tone: "warn",
@@ -415,16 +422,26 @@ export function TasksList({ first, platforms, brands = {}, agents = [], filters,
415
422
  children: [rows.length ? /* @__PURE__ */ _jsx("div", {
416
423
  class: "table-scroll",
417
424
  children: /* @__PURE__ */ _jsxs("table", {
418
- class: "rows tasks stacked",
425
+ class: agent ? "rows tasks stacked scoped" : "rows tasks stacked",
419
426
  "aria-busy": list.stale,
420
427
  children: [/* @__PURE__ */ _jsx("thead", { children: /* @__PURE__ */ _jsxs("tr", { children: [
421
428
  /* @__PURE__ */ _jsx("th", { children: "Task" }),
422
- /* @__PURE__ */ _jsx("th", { children: "Status" }),
429
+ /* @__PURE__ */ _jsx("th", {
430
+ class: "status",
431
+ children: "Status"
432
+ }),
433
+ agent ? null : /* @__PURE__ */ _jsx("th", {
434
+ class: "agent",
435
+ children: "Agent"
436
+ }),
423
437
  /* @__PURE__ */ _jsx("th", {
424
438
  class: "model",
425
439
  children: "Model"
426
440
  }),
427
- /* @__PURE__ */ _jsx("th", { children: "Last activity" }),
441
+ /* @__PURE__ */ _jsx("th", {
442
+ class: "when",
443
+ children: "Last activity"
444
+ }),
428
445
  /* @__PURE__ */ _jsx("th", {
429
446
  class: "num",
430
447
  children: "Duration"
@@ -1,20 +1,20 @@
1
- import "./tasks-list.f3737549b4696cc8.css.pnext-asset.js";
1
+ import "./tasks-list.835b11dc95c95cb5.css.pnext-asset.js";
2
2
  import { dynamic } from "../../../../../../../../../../node_modules/@wular/pnext/src/api/dynamic.tsx";
3
3
  import { zoneOf } from "../../../../../utils/format.ceeaafa10a0563f3.js";
4
4
  import { FILTER_ROWS, LIST_PAGE } from "../../../../../utils/paged.0e54c3044f8ca567.js";
5
- import { load } from "../../../../../api/load.858c062c7891a2c1.js";
6
- import { Settle } from "../../../../../comps/frame/stream.2cdb8eabd8f6df70.js";
7
- import { LoadingCard, LoadingToolbar } from "../../../../../comps/frame/loading-card.77bea8c5870b5d3c.js";
8
- import { listFilters } from "./task.a25847399a4dfb30.js";
5
+ import { load } from "../../../../../api/load.3e1c235ecb89201a.js";
6
+ import { Settle } from "../../../../../comps/frame/stream.c7ffa724145ce870.js";
7
+ import { LoadingCard, LoadingToolbar } from "../../../../../comps/frame/loading-card.94d5645c958c77e9.js";
8
+ import { listFilters } from "./task.fcd21a71424503e9.js";
9
9
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "../../../../../../../../../../node_modules/preact/jsx-runtime/dist/jsxRuntime.mjs";
10
10
  // Rows arrive rendered; paging and filters hydrate once the list is in view.
11
- const TasksList = dynamic(() => import("./tasks-list.028798c79227a366.js").then((m) => m.TasksList), {
11
+ const TasksList = dynamic(() => import("./tasks-list.550288bcec62fea5.js").then((m) => m.TasksList), {
12
12
  load: "visible",
13
13
  ssr: true
14
14
  }, {
15
15
  "file": decodeURIComponent(new URL("../../../../../../../../../../../../../src/server/dash/app/dash/[org]/tasks/list/tasks-list.tsx", import.meta.url).pathname),
16
16
  "exportName": "TasksList",
17
- "id": "c-67acd5aafe"
17
+ "id": "c-14119aedfd"
18
18
  });
19
19
  /** A task list before it arrives; an agent's own tab has no head and no agent filter. */
20
20
  export function TasksLoading({ head }) {
@@ -1,7 +1,7 @@
1
- import { load } from "../../../../api/load.858c062c7891a2c1.js";
1
+ import { load } from "../../../../api/load.3e1c235ecb89201a.js";
2
2
  import { HEADS } from "../../../../comps/frame/heads.37e35439c02fc636.js";
3
- import { Page } from "../../../../comps/frame/page-head.2eb1e0213eb50349.js";
4
- import { TasksSection, loadTasks } from "./list/tasks-section.9a9d13057b326f25.js";
3
+ import { Page } from "../../../../comps/frame/page-head.a6bd4a75087e6e53.js";
4
+ import { TasksSection, loadTasks } from "./list/tasks-section.7e3bc3398baec1bd.js";
5
5
  import { credentialMissing } from "./composer-data.c16854be11a561e4.js";
6
6
  import { jsx as _jsx } from "../../../../../../../../../node_modules/preact/jsx-runtime/dist/jsxRuntime.mjs";
7
7
  /** Every task, with New task in the head, and for an admin the changes waiting for their approval. */
@@ -1,9 +1,9 @@
1
1
  import "./@/comps/ui/segmented.41728247cda62f82.css.pnext-asset.js";
2
2
  import "./@/app/dash/[org]/usage/range-bar.85d30ec5f022f124.css.pnext-asset.js";
3
3
  import { HEADS } from "../../../../comps/frame/heads.37e35439c02fc636.js";
4
- import { LoadingRange } from "./range-bar.0b9038e9df707843.js";
4
+ import { LoadingRange } from "./range-bar.3086edd9a97046c2.js";
5
5
  import { Loading } from "../../../../comps/ui/card.c0030eafd76587e3.js";
6
- import { Page, PageHead } from "../../../../comps/frame/page-head.2eb1e0213eb50349.js";
6
+ import { Page, PageHead } from "../../../../comps/frame/page-head.a6bd4a75087e6e53.js";
7
7
  import { jsx as _jsx, jsxs as _jsxs } from "../../../../../../../../../node_modules/preact/jsx-runtime/dist/jsxRuntime.mjs";
8
8
  export default function UsageLoading() {
9
9
  return /* @__PURE__ */ _jsxs(Page, { children: [
@@ -2,15 +2,15 @@ import "./@/comps/ui/segmented.41728247cda62f82.css.pnext-asset.js";
2
2
  import "./@/app/dash/[org]/usage/range-bar.85d30ec5f022f124.css.pnext-asset.js";
3
3
  import { formatCompact, formatCount, formatDuration, zoneOf } from "../../../../utils/format.ceeaafa10a0563f3.js";
4
4
  import { daysIn, rangeFor } from "../../../../utils/range.f73ba9cac0a60af1.js";
5
- import { load, orgOf } from "../../../../api/load.858c062c7891a2c1.js";
5
+ import { load, orgOf } from "../../../../api/load.3e1c235ecb89201a.js";
6
6
  import { Card } from "../../../../comps/ui/card.c0030eafd76587e3.js";
7
- import { Page, PageHead } from "../../../../comps/frame/page-head.2eb1e0213eb50349.js";
7
+ import { Page, PageHead } from "../../../../comps/frame/page-head.a6bd4a75087e6e53.js";
8
8
  import { Stat, Stats } from "./stats.de820599cf126120.js";
9
- import { Settle } from "../../../../comps/frame/stream.2cdb8eabd8f6df70.js";
9
+ import { Settle } from "../../../../comps/frame/stream.c7ffa724145ce870.js";
10
10
  import { HEADS } from "../../../../comps/frame/heads.37e35439c02fc636.js";
11
11
  import { TopAgents } from "./top-agents.93c916167299ffb6.js";
12
12
  import { DayChart } from "./day-chart.20faaaf57c81ad9e.js";
13
- import { RangeBar } from "./range-bar.0b9038e9df707843.js";
13
+ import { RangeBar } from "./range-bar.3086edd9a97046c2.js";
14
14
  import { METRIC_LABEL } from "./metric.5ff3636065481c44.js";
15
15
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "../../../../../../../../../node_modules/preact/jsx-runtime/dist/jsxRuntime.mjs";
16
16
  const SORT_METRIC = {
@@ -4,8 +4,8 @@ import { CustomRange } from "./custom-range.fe91164d7a311356.js";
4
4
  import { linkOf, withSearch } from "../../../../comps/nav/to.a2c840c09bd4bf4a.js";
5
5
  import { iDown } from "../../../../comps/ui/icons.f769275420d072ce.js";
6
6
  import { Icon } from "../../../../comps/ui/icon.0874ca2f58f7db14.js";
7
- import { BLANK } from "../../../../comps/frame/loading-card.77bea8c5870b5d3c.js";
8
- import { LoadingMenu } from "../../../../comps/ui/menu-items.759a1b1f7c5ee365.js";
7
+ import { BLANK } from "../../../../comps/frame/loading-card.94d5645c958c77e9.js";
8
+ import { LoadingMenu } from "../../../../comps/ui/menu-items.725ede2a88ea76a9.js";
9
9
  import { Segmented } from "../../../../comps/ui/segmented.633abe26ff760e37.js";
10
10
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "../../../../../../../../../node_modules/preact/jsx-runtime/dist/jsxRuntime.mjs";
11
11
  const OPTIONS = Object.entries(PRESETS).map(([key, preset]) => [key, preset.short]);
@@ -1,7 +1,7 @@
1
1
  import { Button } from "../ui/button.b62fa52e18fa338b.js";
2
2
  import { Card, Loading } from "../ui/card.c0030eafd76587e3.js";
3
- import { LoadingFilter } from "../ui/filter.0730dccad6332327.js";
4
- import { Select } from "../ui/select.0ee9e8f04ddd8b47.js";
3
+ import { LoadingFilter } from "../ui/filter.6468dec3a8faed6f.js";
4
+ import { Select } from "../ui/select.b712227920cd0845.js";
5
5
  import { Search, Toolbar } from "../ui/toolbar.ff8367c641d28c1e.js";
6
6
  import { jsx as _jsx, jsxs as _jsxs } from "../../../../../../../node_modules/preact/jsx-runtime/dist/jsxRuntime.mjs";
7
7
  export const BLANK = "\xA0";
@@ -5,7 +5,7 @@ import { linkOf } from "../nav/to.a2c840c09bd4bf4a.js";
5
5
  import { HEADS } from "./heads.37e35439c02fc636.js";
6
6
  import { Icon } from "../ui/icon.0874ca2f58f7db14.js";
7
7
  import { Sentinel } from "../ui/sentinel.0ddf515b8f09ef9f.js";
8
- import { BLANK } from "./loading-card.77bea8c5870b5d3c.js";
8
+ import { BLANK } from "./loading-card.94d5645c958c77e9.js";
9
9
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "../../../../../../../node_modules/preact/jsx-runtime/dist/jsxRuntime.mjs";
10
10
  export function Page({ narrow, children }) {
11
11
  return /* @__PURE__ */ _jsx("div", {
@@ -1,5 +1,5 @@
1
1
  import { Suspense } from "../../../../../../../node_modules/preact/compat/dist/compat.mjs";
2
- import { signedOut } from "../../api/load.858c062c7891a2c1.js";
2
+ import { signedOut } from "../../api/load.3e1c235ecb89201a.js";
3
3
  import { Card } from "../ui/card.c0030eafd76587e3.js";
4
4
  import { reasonText } from "../../utils/format.ceeaafa10a0563f3.js";
5
5
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "../../../../../../../node_modules/preact/jsx-runtime/dist/jsxRuntime.mjs";
@@ -2,11 +2,11 @@
2
2
  import "./task-toasts.682322f6f729b33e.css.pnext-asset.js";
3
3
  import { useEffect, useRef, useState } from "../../../../../../../node_modules/preact/hooks/dist/hooks.mjs";
4
4
  import { serverEvents } from "../../../../client/http.e78b470f4ecf125b.js";
5
- import { client } from "../../utils/client.685154f230716834.js";
5
+ import { client } from "../../utils/client.b9225923da59febe.js";
6
6
  import { Link } from "../../../../../../../node_modules/@wular/pnext/src/api/link.tsx";
7
7
  import { usePathname, useRouter } from "../../../../../../../node_modules/@wular/pnext/src/api/client-navigation.ts";
8
8
  import { Status, STATUS_LABEL } from "../../app/dash/[org]/tasks/list/status.d2c05c397780b833.js";
9
- import { useOrg } from "../nav/org.853d173b55368728.js";
9
+ import { useOrg } from "../nav/org.efcee1c3404f6345.js";
10
10
  import { IconButton } from "../ui/button.b62fa52e18fa338b.js";
11
11
  import { iX } from "../ui/icons.f769275420d072ce.js";
12
12
  import { jsx as _jsx, jsxs as _jsxs } from "../../../../../../../node_modules/preact/jsx-runtime/dist/jsxRuntime.mjs";
@@ -22,7 +22,7 @@ const SHOWN = new Set([...DONE, "waiting"]);
22
22
  const KEEP = 20;
23
23
  const MAX = 3;
24
24
  const TTL = 8e3;
25
- // The Web Lock that picks the one tab holding the events stream, and the channel it shares them on.
25
+ // The Web Lock that picks the one tab polling the events, and the channel it shares them on.
26
26
  const EVENTS = "coder:events";
27
27
  const TASK = "coder:task";
28
28
  const REPLAY = "coder:task-replay";
@@ -35,6 +35,7 @@ const RUNNERS = "coder:runners";
35
35
  const RESYNC_MS = 6e4;
36
36
  // Latest events a tab keeps, so a page that mounts later starts from them.
37
37
  const LATEST = 200;
38
+ const POLL_MS = 5e3;
38
39
  const read = () => {
39
40
  try {
40
41
  return JSON.parse(localStorage.getItem(WATCHED) ?? "{}") ?? {};
@@ -104,15 +105,18 @@ export function useTaskEvents(on, reset, resync) {
104
105
  };
105
106
  }, []);
106
107
  }
107
- /** One events stream per browser and organization: the tab holding the lock reads it, shares it on a channel, and a tab that takes over resumes from the last event id. */
108
+ /** One events poll per browser and organization: the tab holding the lock polls, shares the events on a channel, and a tab that takes over resumes from the last event id. */
108
109
  function useEventsStream(ids, leading, org) {
109
110
  const asked = useRef(ids);
110
111
  asked.current = ids;
111
112
  const current = useRef();
113
+ const sync = useRef(() => {});
112
114
  const key = [...ids].sort().join(",");
113
115
  useEffect(() => {
114
116
  const latest = new Map();
115
117
  const deliver = (event) => {
118
+ // Each poll repeats what changed lately; pages hear a change once.
119
+ if (JSON.stringify(latest.get(event.id)) === JSON.stringify(event)) return;
116
120
  latest.delete(event.id);
117
121
  latest.set(event.id, event);
118
122
  if (latest.size > LATEST) latest.delete(latest.keys().next().value);
@@ -123,6 +127,7 @@ function useEventsStream(ids, leading, org) {
123
127
  };
124
128
  addEventListener(REPLAY, replay);
125
129
  let counts;
130
+ let runners = "";
126
131
  const replayCounts = (event) => counts && event.detail(counts);
127
132
  addEventListener(COUNTS_REPLAY, replayCounts);
128
133
  const channel = typeof BroadcastChannel !== "undefined" && navigator.locks ? new BroadcastChannel(`${EVENTS}:${org}`) : undefined;
@@ -137,7 +142,10 @@ function useEventsStream(ids, leading, org) {
137
142
  counts = message.counts;
138
143
  dispatchEvent(new CustomEvent(COUNTS, { detail: counts }));
139
144
  }
140
- if (message.runners) dispatchEvent(new CustomEvent(RUNNERS, { detail: message.runners }));
145
+ if (message.runners && JSON.stringify(message.runners) !== runners) {
146
+ runners = JSON.stringify(message.runners);
147
+ dispatchEvent(new CustomEvent(RUNNERS, { detail: message.runners }));
148
+ }
141
149
  if (message.resync) dispatchEvent(new Event(RESYNC));
142
150
  if (!message.reset) return;
143
151
  latest.clear();
@@ -145,7 +153,7 @@ function useEventsStream(ids, leading, org) {
145
153
  };
146
154
  channel?.addEventListener("message", ({ data }) => {
147
155
  if (!data.hello) return receive(data);
148
- // A tab that just loaded: the next stream resumes for it too.
156
+ // A tab that just loaded: the next poll goes now, for it too.
149
157
  soon ??= setTimeout(() => {
150
158
  soon = undefined;
151
159
  current.current?.abort.abort();
@@ -153,37 +161,38 @@ function useEventsStream(ids, leading, org) {
153
161
  }, 300);
154
162
  });
155
163
  channel?.postMessage({ hello: true });
156
- const lead = async () => {
164
+ const lead = async (signal) => {
157
165
  leading.current = true;
158
166
  const resync = setInterval(() => {
159
167
  channel?.postMessage({ resync: true });
160
168
  receive({ resync: true });
161
169
  }, RESYNC_MS);
162
170
  try {
163
- await follow();
171
+ await follow(signal);
164
172
  } finally {
165
173
  clearInterval(resync);
174
+ leading.current = false;
166
175
  }
167
176
  };
168
- const follow = async () => {
169
- while (!abort.signal.aborted) {
177
+ const follow = async (signal) => {
178
+ while (!signal.aborted) {
170
179
  const once = new AbortController();
171
180
  const stop = () => once.abort();
172
- abort.signal.addEventListener("abort", stop);
181
+ signal.addEventListener("abort", stop);
173
182
  const ids = asked.current;
174
183
  current.current = {
175
184
  key: [...ids].sort().join(","),
176
185
  abort: once
177
186
  };
178
- let wait = 1e3;
187
+ let wait = POLL_MS;
179
188
  try {
180
189
  const response = await client.tasks.events(ids, last, once.signal);
181
190
  // A server without the events stream: nothing to follow.
182
191
  if (response.status === 404) return void (leading.current = false);
183
192
  // Signed out: a tab that signs in again wakes the next try.
184
- if (!response.ok || !response.body) wait = [401, 403].includes(response.status) ? 6e4 : 5e3;
185
- else for await (const { event, data, id } of serverEvents(response.body)) {
186
- // A stream replaced by the next one says nothing more.
193
+ if ([401, 403].includes(response.status)) wait = 6e4;
194
+ else if (response.ok && response.body) for await (const { event, data, id } of serverEvents(response.body)) {
195
+ // A poll replaced by the next one says nothing more.
187
196
  if (once.signal.aborted) break;
188
197
  const message = {
189
198
  ...id ? { id } : {},
@@ -198,8 +207,8 @@ function useEventsStream(ids, leading, org) {
198
207
  } catch (reason) {
199
208
  if (!once.signal.aborted) console.error("coder dashboard: events", reason);
200
209
  }
201
- abort.signal.removeEventListener("abort", stop);
202
- // A new task set opens the next stream at once.
210
+ signal.removeEventListener("abort", stop);
211
+ // A new task set polls again at once.
203
212
  if (once.signal.aborted) continue;
204
213
  await new Promise((done) => {
205
214
  const timer = setTimeout(done, wait);
@@ -211,21 +220,39 @@ function useEventsStream(ids, leading, org) {
211
220
  wake = () => {};
212
221
  }
213
222
  };
214
- if (channel) void navigator.locks.request(`${EVENTS}:${org}`, { signal: abort.signal }, lead).catch((reason) => {
215
- if (!abort.signal.aborted) console.error("coder dashboard: events", reason);
216
- });
217
- else void lead();
223
+ // A hidden tab polls nothing, unless it notifies of a watched task still running.
224
+ let turn;
225
+ const wanted = () => document.visibilityState !== "hidden" || asked.current.length > 0 && localStorage.getItem(NOTIFY) === "1" && typeof Notification !== "undefined" && Notification.permission === "granted";
226
+ sync.current = () => {
227
+ if (!wanted()) {
228
+ turn?.abort();
229
+ turn = undefined;
230
+ return wake();
231
+ }
232
+ if (turn) return;
233
+ turn = new AbortController();
234
+ const signal = AbortSignal.any([abort.signal, turn.signal]);
235
+ if (channel) void navigator.locks.request(`${EVENTS}:${org}`, { signal }, () => lead(signal)).catch((reason) => {
236
+ if (!signal.aborted) console.error("coder dashboard: events", reason);
237
+ });
238
+ else void lead(signal);
239
+ };
240
+ const visibility = () => sync.current();
241
+ addEventListener("visibilitychange", visibility);
242
+ sync.current();
218
243
  return () => {
219
244
  abort.abort();
220
245
  wake();
221
246
  clearTimeout(soon);
222
247
  channel?.close();
248
+ removeEventListener("visibilitychange", visibility);
223
249
  removeEventListener(REPLAY, replay);
224
250
  removeEventListener(COUNTS_REPLAY, replayCounts);
225
251
  };
226
252
  }, []);
227
253
  useEffect(() => {
228
254
  if (current.current && current.current.key !== key) current.current.abort.abort();
255
+ sync.current();
229
256
  }, [key]);
230
257
  }
231
258
  /** Hears the runners this person sees whenever one is added, changed, removed, or goes on or offline. */
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import { useState } from "../../../../../../../node_modules/preact/hooks/dist/hooks.mjs";
3
3
  import { iMonitor, iMoon, iSun } from "../ui/icons.f769275420d072ce.js";
4
- import { MenuRadio } from "../ui/menu-items.759a1b1f7c5ee365.js";
4
+ import { MenuRadio } from "../ui/menu-items.725ede2a88ea76a9.js";
5
5
  import { jsx as _jsx, Fragment as _Fragment } from "../../../../../../../node_modules/preact/jsx-runtime/dist/jsxRuntime.mjs";
6
6
  const YEAR = 60 * 60 * 24 * 365;
7
7
  const THEMES = [
@@ -1,8 +1,8 @@
1
1
  "use client";
2
2
  import { useEffect } from "../../../../../../../node_modules/preact/hooks/dist/hooks.mjs";
3
- import { Back } from "../frame/page-head.2eb1e0213eb50349.js";
3
+ import { Back } from "../frame/page-head.a6bd4a75087e6e53.js";
4
4
  import { LinkButton } from "../ui/button.b62fa52e18fa338b.js";
5
- import { useOrg } from "./org.853d173b55368728.js";
5
+ import { useOrg } from "./org.efcee1c3404f6345.js";
6
6
  import { BACK_COOKIE, rememberedBack } from "./back-cookie.942c0904e944d8d6.js";
7
7
  import { jsx as _jsx } from "../../../../../../../node_modules/preact/jsx-runtime/dist/jsxRuntime.mjs";
8
8
  /** Settings' credentials tab; it links back to this page, named `label` where its section name is not enough. */
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import { Link } from "../../../../../../../node_modules/@wular/pnext/src/api/link.tsx";
3
3
  import { useParams } from "../../../../../../../node_modules/@wular/pnext/src/api/client-navigation.ts";
4
- import { Back } from "../frame/page-head.2eb1e0213eb50349.js";
4
+ import { Back } from "../frame/page-head.a6bd4a75087e6e53.js";
5
5
  import { linkOf } from "./to.a2c840c09bd4bf4a.js";
6
6
  import { jsx as _jsx } from "../../../../../../../node_modules/preact/jsx-runtime/dist/jsxRuntime.mjs";
7
7
  /** The organization in the address, `/dash/<org>/…`. */
@@ -1,6 +1,6 @@
1
1
  import { useId, useLayoutEffect, useRef, useState } from "../../../../../../../node_modules/preact/hooks/dist/hooks.mjs";
2
- import { MenuOption } from "./menu-items.759a1b1f7c5ee365.js";
3
- import { SelectList, usePlace } from "./select.0ee9e8f04ddd8b47.js";
2
+ import { MenuOption } from "./menu-items.725ede2a88ea76a9.js";
3
+ import { SelectList, usePlace } from "./select.b712227920cd0845.js";
4
4
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "../../../../../../../node_modules/preact/jsx-runtime/dist/jsxRuntime.mjs";
5
5
  const SHOWN = 50;
6
6
  /** A text input with suggestions under it, filtered as you type; any text is still a value. */
@@ -6,7 +6,7 @@ import { iLeft, iRight, iX } from "./icons.f769275420d072ce.js";
6
6
  import { Chip } from "./badge.9f63fd615cf0ee22.js";
7
7
  import { Icon } from "./icon.0874ca2f58f7db14.js";
8
8
  import { Menu } from "./menu.7f558c7c6f6345d5.js";
9
- import { LoadingMenu, MenuItem, MenuLabel, MenuNote, MenuRadio } from "./menu-items.759a1b1f7c5ee365.js";
9
+ import { LoadingMenu, MenuItem, MenuLabel, MenuNote, MenuRadio } from "./menu-items.725ede2a88ea76a9.js";
10
10
  import { Search } from "./toolbar.ff8367c641d28c1e.js";
11
11
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "../../../../../../../node_modules/preact/jsx-runtime/dist/jsxRuntime.mjs";
12
12
  const RECENT = "coder:filters";
@@ -15,11 +15,11 @@ const FIND = 5;
15
15
  /** How many of a facet's picks the menu lists before "More". */
16
16
  const SHOWN = 5;
17
17
  /** The picks the menu lists for a facet: the first few, keeping the current pick in view. */
18
- export function inlineRows(picks, value) {
19
- if (picks.length <= SHOWN) return picks;
20
- const shown = picks.slice(0, SHOWN);
18
+ export function inlineRows(picks, value, count = SHOWN) {
19
+ if (picks.length <= count) return picks;
20
+ const shown = picks.slice(0, count);
21
21
  const current = picks.find(([key]) => key === value);
22
- return current && !shown.includes(current) ? [...shown.slice(0, SHOWN - 1), current] : shown;
22
+ return current && !shown.includes(current) ? [...shown.slice(0, count - 1), current] : shown;
23
23
  }
24
24
  /** Whether a facet's own list needs a find box. */
25
25
  const findable = (facet) => facet.options.filter(([value]) => value).length >= FIND;
@@ -203,7 +203,7 @@ function FilterPanel({ name, facets, values, seen, onFound, onPick }) {
203
203
  ] }) : facets.map((facet) => {
204
204
  const picks = facet.options.filter(([value]) => facet.inline || value);
205
205
  if (!picks.length) return null;
206
- const shown = inlineRows(picks, values[facet.key]);
206
+ const shown = inlineRows(picks, values[facet.key], facet.shown);
207
207
  return /* @__PURE__ */ _jsxs(Fragment, { children: [
208
208
  /* @__PURE__ */ _jsx(MenuLabel, { children: facet.label }),
209
209
  /* @__PURE__ */ _jsx("div", {
@@ -1,6 +1,6 @@
1
1
  import "./menu.cd96fa0495fe0fde.css.pnext-asset.js";
2
2
  import { Link } from "../../../../../../../node_modules/@wular/pnext/src/api/link.tsx";
3
- import { iCheck } from "./icons.f769275420d072ce.js";
3
+ import { iCheck, iExternal } from "./icons.f769275420d072ce.js";
4
4
  import { Icon } from "./icon.0874ca2f58f7db14.js";
5
5
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "../../../../../../../node_modules/preact/jsx-runtime/dist/jsxRuntime.mjs";
6
6
  const classOf = (...names) => ["pop-item", ...names].filter(Boolean).join(" ");
@@ -15,12 +15,12 @@ function Content({ icon, sub, end, children }) {
15
15
  ] });
16
16
  }
17
17
  /** A menu row that acts; with `sub` it aligns to its top. */
18
- export function MenuItem({ icon, title, sub, end, href, type = "button", disabled, danger, ...rest }) {
18
+ export function MenuItem({ icon, title, sub, end, href, external, type = "button", disabled, danger, ...rest }) {
19
19
  const cls = classOf(sub ? "rich" : false, danger && "danger");
20
20
  const content = /* @__PURE__ */ _jsx(Content, {
21
21
  icon,
22
22
  sub,
23
- end,
23
+ end: end ?? (external ? /* @__PURE__ */ _jsx(Icon, { d: iExternal }) : undefined),
24
24
  children: title
25
25
  });
26
26
  if (disabled) return /* @__PURE__ */ _jsx("div", {
@@ -30,6 +30,10 @@ export function MenuItem({ icon, title, sub, end, href, type = "button", disable
30
30
  });
31
31
  if (href) return /* @__PURE__ */ _jsx("a", {
32
32
  ...rest,
33
+ ...external ? {
34
+ target: "_blank",
35
+ rel: "noopener noreferrer"
36
+ } : {},
33
37
  class: cls,
34
38
  href,
35
39
  children: content
@@ -3,7 +3,7 @@ import { Fragment } from "../../../../../../../node_modules/preact/dist/preact.m
3
3
  import { useId, useLayoutEffect, useRef, useState } from "../../../../../../../node_modules/preact/hooks/dist/hooks.mjs";
4
4
  import { iDown, iPlus } from "./icons.f769275420d072ce.js";
5
5
  import { Icon } from "./icon.0874ca2f58f7db14.js";
6
- import { MenuLabel, MenuOption, MenuPanel } from "./menu-items.759a1b1f7c5ee365.js";
6
+ import { MenuLabel, MenuOption, MenuPanel } from "./menu-items.725ede2a88ea76a9.js";
7
7
  import { jsx as _jsx, jsxs as _jsxs } from "../../../../../../../node_modules/preact/jsx-runtime/dist/jsxRuntime.mjs";
8
8
  const PAGE = 10;
9
9
  /** A top-layer list's place at `anchor`, flipped up near the bottom, following scrolls and resizes; a dialog or scroll box never clips it. */