@wular/coder 0.4.13 → 0.5.1

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 (519) hide show
  1. package/README.md +3 -3
  2. package/dist/actions-DO8MvHwc.js +3 -0
  3. package/dist/agent-Cgala63h.js +1 -0
  4. package/dist/app-server-dnlLhhZb.js +6 -0
  5. package/dist/approvals-C8XV7CK2.js +5 -0
  6. package/dist/apps-BORri-28.js +18 -0
  7. package/dist/args-CJsHYWbt.js +66 -0
  8. package/dist/async-BS9tyhva.js +3 -0
  9. package/dist/auth-C16ylySv.js +1 -0
  10. package/dist/builtin/coder/agent.json +6 -6
  11. package/dist/builtin/coder/system.md +7 -5
  12. package/dist/{chat-bwKd3y6V.js → chat-Bfu9XKRa.js} +1 -1
  13. package/dist/chat-czruXAt3.js +13 -0
  14. package/dist/cli.js +18 -13
  15. package/dist/{client-C4QCT6cG.js → client-nBo9Mhsr.js} +4 -4
  16. package/dist/cmd-C1gHyVG7.js +122 -0
  17. package/dist/config-_32PHl9g.js +5 -0
  18. package/dist/connection-CgA5_NJ7.js +1 -0
  19. package/dist/connections-B90TemYf.js +2 -0
  20. package/dist/context-C1XBbfEL.js +6 -0
  21. package/dist/crypto-Ittsv-m4.js +1 -0
  22. package/dist/dash/standalone/server/build-index.json +1 -1
  23. package/dist/dash/standalone/server/manifest.json +1690 -1452
  24. package/dist/dash/standalone/server/modules-server-server-react-server/src/agent/event-json.856d33f567e58d0e.js +30 -0
  25. package/dist/dash/standalone/server/modules-server-server-react-server/src/client/http.e78b470f4ecf125b.js +58 -0
  26. package/dist/dash/standalone/server/modules-server-server-react-server/src/client/{index.de1f1311bab4252f.js → index.91e126d7a389d4bd.js} +46 -75
  27. package/dist/dash/standalone/server/modules-server-server-react-server/src/core/task/{log-view.ec6391dbf3063330.js → view.e20379d8f741754a.js} +38 -0
  28. package/dist/dash/standalone/server/modules-server-server-react-server/src/core/types.9d22123d6296f5af.js +37 -0
  29. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/api/{load.30ed8c28774a1a82.js → load.858c062c7891a2c1.js} +18 -11
  30. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/create/[id]/{page.118a70787eff1761.js → page.9375ab741dc9791e.js} +5 -5
  31. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/account/{loading.fcdfd50c21031895.js → loading.56c14183236be231.js} +2 -2
  32. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/account/{notify.98dfcd316c306258.js → notify.c36570a56d279ce2.js} +1 -1
  33. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/account/{page.74c59322f5fe8a2c.js → page.13fdd9cc55ad3a52.js} +9 -9
  34. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/account/{sign-out.730aa96b086ac996.js → sign-out.38a7f39cddc670f7.js} +4 -4
  35. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/(list)/{agent-menu.1be5795272b245c8.js → agent-menu.5c780867b82081b1.js} +3 -3
  36. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/(list)/{agents-grid.2c30ace077893029.js → agents-grid.2385ffa8fdad08d6.js} +9 -9
  37. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/(list)/{loading.733f0acc2af5ceda.js → loading.0130f8533d8f1b1e.js} +4 -4
  38. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/(list)/page.5ca6921e50484f8c.js +48 -0
  39. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/{layout.b26006f060cd48f0.js → layout.afc4a8a5a8360975.js} +89 -32
  40. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/{loading.388aeaf0c2edf8f8.js → loading.90bf37c903ce6f0d.js} +1 -1
  41. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/{page.4b23e9df21433bd3.js → page.ba65063a1aa99a62.js} +22 -88
  42. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/platforms/{loading.e06845585ca67abc.js → loading.d56ef50b0694f975.js} +2 -2
  43. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/platforms/{page.4048048acb374c67.js → page.03c5e72b0fe50ba9.js} +51 -123
  44. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/platforms/{platform-actions.000f2f87a48bfbc6.js → platform-actions.7c8c75bd0c05df4a.js} +234 -134
  45. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/platforms/platform-state.6b6132518ca61635.js +21 -0
  46. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/platforms/platform-step.d6a980d1181dc940.js +82 -0
  47. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/settings/{agent-settings-form.ee0bb2dc4d403ec3.js → agent-settings-form.b5299f5130a4e8af.js} +53 -76
  48. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/settings/{loading.0e3641f3e4abaa7c.js → loading.2800c65e45a4a1d9.js} +1 -1
  49. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/settings/{page.649b4ba135ded99b.js → page.fad77cea17947d47.js} +10 -11
  50. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/tasks/{loading.195e168e8e41d797.js → loading.4120e6979eaed441.js} +1 -1
  51. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/tasks/{page.96f7573208644f40.js → page.474b3524d5ea53b7.js} +1 -1
  52. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/usage/{loading.905293c9aa9afbc9.js → loading.3a615597ca648452.js} +4 -4
  53. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/usage/{page.5f2b8585db8b27ad.js → page.7868a07efcaa26f4.js} +6 -6
  54. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/{versions-list.8700f0106f4e8c15.js → versions-list.ba93a53773cab8a8.js} +3 -3
  55. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/edit/{loading.f94b2f9ab04aaf21.js → loading.6e53829bd1f3021d.js} +5 -5
  56. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/edit/{page.e898c4b5ef16ecb0.js → page.5798ede8ba8ace97.js} +10 -10
  57. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/platforms/[app]/app-cards.55778a4b3177846d.js +142 -0
  58. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/platforms/[app]/loading.f0d91d48e2b79e50.js +14 -0
  59. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/platforms/[app]/page.ce391cad0d78795f.js +99 -0
  60. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/agent/{agent-pills.44e689e546fb042b.js → agent-pills.1012e04bfbc7bffd.js} +5 -5
  61. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/agent/{agent-toggle.4c67dfbb7d28a416.js → agent-toggle.0cec822c6099f058.js} +3 -3
  62. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/agent/{hero.9740a8e2f4b41f28.js → hero.7151c467e7ecf6a5.js} +4 -4
  63. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/agent/{instructions.85b1cd986a9edbb5.js → instructions.1b8c9189961c5a4f.js} +13 -4
  64. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/editor/{connect-repositories.ff8b78a03153239b.js → connect-repositories.4e121d31ed0cfe02.js} +1 -1
  65. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/editor/{editor.471af698b8060eba.js → editor.f314d92af0bb33b0.js} +164 -127
  66. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/editor/{import-picker.b7b5c89e618e8f89.js → import-picker.11028d5329ad537b.js} +11 -11
  67. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/new/{loading.ecb9dfd4d0f9d107.js → loading.9b65a8c1cdc8346f.js} +5 -5
  68. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/new/{page.880bdac7fe843635.js → page.1476d31e4554e88b.js} +9 -8
  69. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/{layout.81f7e055829854a3.js → layout.150d950d191db477.js} +89 -26
  70. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/operator/operator-apps.3e72de86b86a7338.js +155 -0
  71. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/operator/{page.8f8697b1b6b34ad7.js → page.6a4be3b1a473ff8c.js} +10 -10
  72. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/{page.fe608b8e661aba1d.js → page.262ed73437c17872.js} +1 -1
  73. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/advanced-list.7180570379e2625c.js +63 -0
  74. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/connection-add.632b1847c16ecd42.js +526 -0
  75. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/connections-list.4378ae707b2092ed.js +439 -0
  76. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{credentials-list.a4d8338c7f6a5702.js → credentials-list.e47897acb6867df8.js} +116 -101
  77. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{credentials.1443bbed1ff1d441.js → credentials.6bd06f96afbe7329.js} +9 -9
  78. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/list.38e70272eeb98cd0.js +201 -0
  79. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{loading.7ca95dcb4fb3362b.js → loading.71ca4f6c99a8a9d5.js} +1 -1
  80. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/models-list.a08cd37d0f7ff86c.js +635 -0
  81. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{page.805d0f8a2c5817d6.js → page.f096b5a9ac419326.js} +67 -41
  82. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{runners-list.1e83449aa6593224.js → runners-list.0df1f9329df1b67d.js} +42 -37
  83. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{secrets-list.17ac06593005b8ba.js → secrets-list.6d2f56fa7d6fcab0.js} +19 -17
  84. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/chain-hint.65c4cc04c78e8bfd.js +18 -0
  85. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/{layout.8c4a2b31b194ba3e.js → layout.0fd865c865e5bab4.js} +6 -6
  86. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/model-options.0d6077fe68db3af9.js +147 -0
  87. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/model-pick.695538b2edf9dd15.js +160 -0
  88. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/{page.a77996786278cda0.js → page.c57b81c2197cce0f.js} +1 -1
  89. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/{settings-head.705be0b1129b97af.js → settings-head.004ced21e02ffa48.js} +5 -5
  90. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/{tunnel-guide.29eee1a0b1852168.js → tunnel-guide.1bc6bff9d8019098.js} +1 -1
  91. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/setup/{create-link.19b4c50ef497aca1.js → create-link.60aadbe43ea1e39c.js} +5 -5
  92. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/setup/{outcome-dialog.18cf32fa42247b91.js → outcome-dialog.a74e686aaed0c584.js} +3 -3
  93. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/setup/outcome-toast.e2b9ef0344b1a1a2.js +24 -0
  94. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/setup/{outcome.cbbc8cd1bbbee01b.js → outcome.22a83d756e4020a7.js} +3 -6
  95. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/setup/{page.616f0b36bf7925bc.js → page.c456ad99c8a9f875.js} +8 -8
  96. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/{activity.a911169a820ba604.js → activity.2ec05d78d609b7b2.js} +12 -6
  97. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/{loading.76f851da5cc5268d.js → loading.779ecdd9c9d2ff09.js} +5 -5
  98. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/{page.ddb594bb6567ee13.js → page.578be2f6c89fcba0.js} +16 -9
  99. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/task-actions.d131453dd2a423c3.js +408 -0
  100. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/task-missing.33ec27a4a5eafefe.js +27 -0
  101. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/{task-view.3276538e8306fd8a.js → task-view.3d72a4ecd2b3826e.js} +44 -81
  102. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/{composer-data.05fc39e1a7fd1ab7.js → composer-data.c16854be11a561e4.js} +4 -6
  103. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/{composer.dbf06b05c5e2eba3.js → composer.97be3e67214889c1.js} +130 -195
  104. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/list/pending-approvals.9175908da02960e1.js +40 -0
  105. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/list/{status.cb704b48ce86cc7d.js → status.d2c05c397780b833.js} +7 -1
  106. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/list/{task.f089c1c122ed6dd2.js → task.a25847399a4dfb30.js} +9 -26
  107. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/list/{tasks-list.5a00d69851dae119.js → tasks-list.028798c79227a366.js} +43 -35
  108. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/list/{tasks-section.36e70c93f7d0feee.js → tasks-section.9a9d13057b326f25.js} +16 -10
  109. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/{page.185b1ba0c803db3f.js → page.045c6db0c56975b2.js} +5 -5
  110. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/usage/{custom-range.2e21c7f891966c15.js → custom-range.fe91164d7a311356.js} +3 -3
  111. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/usage/{day-chart.261b6651df2d3966.js → day-chart.20faaaf57c81ad9e.js} +1 -1
  112. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/usage/{loading.a7e0ec01bfa769e3.js → loading.5b973a8bb29197d5.js} +3 -3
  113. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/usage/{page.d41fea7676e37bfc.js → page.938d29ff7edb678d.js} +7 -7
  114. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/usage/{range-bar.69e68c9dae09f238.js → range-bar.0b9038e9df707843.js} +4 -4
  115. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/usage/{top-agents.18fc469e781e2305.js → top-agents.93c916167299ffb6.js} +2 -2
  116. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/{layout.296d70b95894209f.js → layout.94ea3908b03bede6.js} +2 -2
  117. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/login/{page.a82be2fd23e9ac67.js → page.4827d64c71c0690a.js} +2 -2
  118. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{drawer.d3e61538dbc8ec39.js → drawer.1a08ff611df7fe38.js} +2 -2
  119. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{foreign-link.8c6adf9c5a6f467c.js → foreign-link.1d4f63a0379cbd1d.js} +3 -3
  120. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{loading-card.1cea8a722c10b998.js → loading-card.77bea8c5870b5d3c.js} +5 -5
  121. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{page-head.87b92529dbb53ceb.js → page-head.2eb1e0213eb50349.js} +3 -2
  122. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{stream.c32d78562f75db25.js → stream.2cdb8eabd8f6df70.js} +2 -2
  123. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{task-toasts.44075fa7e04575e8.js → task-toasts.8733901ca0e4c246.js} +28 -18
  124. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{theme-choices.85100ed66d6f9200.js → theme-choices.fc86071c1b634176.js} +2 -2
  125. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/nav/{back.d6109e72fbd04b45.js → back.7aa0ae82dbec38cd.js} +3 -3
  126. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/nav/{org.d3abfd4053b711ce.js → org.853d173b55368728.js} +1 -1
  127. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/nav/{side-toggle.489faf1a259479f7.js → side-toggle.be7d2a7529557435.js} +2 -2
  128. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{badge.c0bc352791a95fd6.js → badge.9f63fd615cf0ee22.js} +2 -2
  129. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/button.2b18ba19ae01e2bb.css.pnext-asset.js +0 -0
  130. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{button.ce9e6cdb08ca86db.js → button.b62fa52e18fa338b.js} +2 -2
  131. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/card.4ab7ad42a0770726.css.pnext-asset.js +0 -0
  132. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{card.9f0d45b73bc78b4f.js → card.c0030eafd76587e3.js} +21 -9
  133. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{collapse.93e4d1b20c2873ed.js → collapse.eb578fdf42029754.js} +1 -1
  134. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{combo.54270c0251466fda.js → combo.e4e08287494081a3.js} +2 -2
  135. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{confirm.29e198be34578222.js → confirm.e21b7f5e486dafb8.js} +3 -3
  136. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{copy.bd6fc1577a393965.js → copy.043e0695c08c72f9.js} +2 -2
  137. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{filter.81bb9a5c60cd1089.js → filter.0730dccad6332327.js} +6 -6
  138. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/filter.6fdff1e7355aaa0e.css.pnext-asset.js +0 -0
  139. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{icons.e36c72f54750663a.js → icons.f769275420d072ce.js} +4 -0
  140. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{menu-items.1d082ac4dae8f3d4.js → menu-items.759a1b1f7c5ee365.js} +2 -2
  141. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{menu.ee45bace979944b6.js → menu.7f558c7c6f6345d5.js} +3 -3
  142. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/menu.cd96fa0495fe0fde.css.pnext-asset.js +0 -0
  143. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{modal.0b69c7fd9db025b9.js → modal.08ac85d31f4c76c1.js} +7 -6
  144. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{select.2eb33e5bea28d804.js → select.0ee9e8f04ddd8b47.js} +9 -6
  145. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{tail.04132db0c5033d4f.js → tail.7eb303330802ac18.js} +2 -2
  146. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/toolbar.cdbd0357f2c5e1fe.css.pnext-asset.js +0 -0
  147. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{toolbar.8b3a460a65edf85a.js → toolbar.ff8367c641d28c1e.js} +2 -2
  148. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/utils/{action.67dd6f8ab1ae067d.js → action.56cea462eb725c39.js} +1 -1
  149. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/utils/{client.78267fa3d7905d17.js → client.685154f230716834.js} +1 -1
  150. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/routes/http.394704f4f12ada08.js +165 -0
  151. package/dist/dash/standalone/server/modules-server-server-react-server/src/utils/crypto.24a6439ff8d10d3d.js +11 -0
  152. package/dist/dash/standalone/static/assets/chunks/advanced-list-b75a9c2bd11026de.js +1 -0
  153. package/dist/dash/standalone/static/assets/chunks/agent-pills-54564413a57d7fa7.js +2 -0
  154. package/dist/dash/standalone/static/assets/chunks/agent-settings-form-55d294dad2ce5a0d.js +1 -0
  155. package/dist/dash/standalone/static/assets/chunks/agent-toggle-b5dcc4ea6292fb3d.js +1 -0
  156. package/dist/dash/standalone/static/assets/chunks/agents-grid-69461c53abbba433.js +1 -0
  157. package/dist/dash/standalone/static/assets/chunks/{back-e29cb10f5548ddae.js → back-ba5e4340a9f8bbd2.js} +1 -1
  158. package/dist/dash/standalone/static/assets/chunks/chain-hint-491eb09a20a15702.js +1 -0
  159. package/dist/dash/standalone/static/assets/chunks/{combo-702c94817bf6ac17.js → combo-6df61e8a1cc31037.js} +1 -1
  160. package/dist/dash/standalone/static/assets/chunks/composer-198b844da57b82a3.js +1 -0
  161. package/dist/dash/standalone/static/assets/chunks/composer-b26a3332a1243461.js +1 -0
  162. package/dist/dash/standalone/static/assets/chunks/composer-data-b05f3d93fdc472d7.js +1 -0
  163. package/dist/dash/standalone/static/assets/chunks/{confirm-a78147b6ecef3847.js → confirm-14d018653fbe50fc.js} +1 -1
  164. package/dist/dash/standalone/static/assets/chunks/{connect-repositories-7770ab805160028d.js → connect-repositories-5118edc019fc7890.js} +1 -1
  165. package/dist/dash/standalone/static/assets/chunks/connections-list-5412dad7e0def52f.js +1 -0
  166. package/dist/dash/standalone/static/assets/chunks/{copy-bdc60bdafe336316.js → copy-04781f9af4e10f06.js} +1 -1
  167. package/dist/dash/standalone/static/assets/chunks/create-link-0651addf1461f901.js +1 -0
  168. package/dist/dash/standalone/static/assets/chunks/credentials-list-e64c973aee5602d3.js +1 -0
  169. package/dist/dash/standalone/static/assets/chunks/custom-range-b6919bab9846ebf7.js +1 -0
  170. package/dist/dash/standalone/static/assets/chunks/editor-68e9ccd1764fc512.js +6 -0
  171. package/dist/dash/standalone/static/assets/chunks/{field-bb8191aa02d07282.js → field-adcb6e6a5f9b7131.js} +1 -1
  172. package/dist/dash/standalone/static/assets/chunks/instructions-0022dd3bdd57c13f.js +1 -0
  173. package/dist/dash/standalone/static/assets/chunks/instructions-7b274685ceb26457.js +2 -0
  174. package/dist/dash/standalone/static/assets/chunks/list-662f042656857c82.js +1 -0
  175. package/dist/dash/standalone/static/assets/chunks/model-options-5e07b3318d69d218.js +1 -0
  176. package/dist/dash/standalone/static/assets/chunks/models-list-ae1e2eff30d21824.js +1 -0
  177. package/dist/dash/standalone/static/assets/chunks/outcome-dialog-546fe090efc129c2.js +1 -0
  178. package/dist/dash/standalone/static/assets/chunks/{outcome-dialog-fde11a52c282301d.js → outcome-dialog-fd86ded4c44c2de7.js} +1 -1
  179. package/dist/dash/standalone/static/assets/chunks/outcome-toast-c00becdb638cd9a8.js +1 -0
  180. package/dist/dash/standalone/static/assets/chunks/platform-actions-2be223e68e648134.js +1 -0
  181. package/dist/dash/standalone/static/assets/chunks/platform-actions-f3979ab69a6ceb53.js +1 -0
  182. package/dist/dash/standalone/static/assets/chunks/platform-step-5454b6c0a19caefd.js +1 -0
  183. package/dist/dash/standalone/static/assets/chunks/platform-step-9a52703f4c4f6a31.js +1 -0
  184. package/dist/dash/standalone/static/assets/chunks/runners-list-20d42f19fb4bec8a.js +1 -0
  185. package/dist/dash/standalone/static/assets/chunks/{runtime-6e12333f12903a62-1.js → runtime-3fcac605fffcc273-1.js} +1 -1
  186. package/dist/dash/standalone/static/assets/chunks/secrets-list-89f89ee70edb3856.js +1 -0
  187. package/dist/dash/standalone/static/assets/chunks/{segmented-0b6dc6b93c35e0f5.js → segmented-66a8c77c6294fec3.js} +1 -1
  188. package/dist/dash/standalone/static/assets/chunks/shared-init-3fcac605fffcc273-2.js +1 -0
  189. package/dist/dash/standalone/static/assets/chunks/shared-init-96225b8c7758de9d.js +1 -0
  190. package/dist/dash/standalone/static/assets/chunks/shared-init-96cde32cd50254c0.js +1 -0
  191. package/dist/dash/standalone/static/assets/chunks/shared-init-abd7653140f37a0c.js +9 -0
  192. package/dist/dash/standalone/static/assets/chunks/side-toggle-8a410cc6d6bd9b1d.js +1 -0
  193. package/dist/dash/standalone/static/assets/chunks/{tail-f8804b80cf32f8d0.js → tail-40f16e09eade7eee.js} +1 -1
  194. package/dist/dash/standalone/static/assets/chunks/task-396d849e58e50d59.js +1 -0
  195. package/dist/dash/standalone/static/assets/chunks/task-actions-0b3054dc0f8d17c0.js +3 -0
  196. package/dist/dash/standalone/static/assets/chunks/task-view-9e026dc5da58af5b.js +3 -0
  197. package/dist/dash/standalone/static/assets/chunks/tasks-list-04c6568d7f7237b7.js +1 -0
  198. package/dist/dash/standalone/static/assets/chunks/versions-list-ceb756236e69b761.js +1 -0
  199. package/dist/dash/standalone/static/assets/chunks/{wular-pnext-6e12333f12903a62-0.js → wular-pnext-3fcac605fffcc273-0.js} +1 -1
  200. package/dist/dash/standalone/static/assets/create-param-id-2c72f3e32e7f8b8d.css +1 -0
  201. package/dist/dash/standalone/static/assets/dash-param-org-a7f30a8c5a6fa651.css +1 -0
  202. package/dist/dash/standalone/static/assets/dash-param-org-account-76fffb9337b633f2.css +1 -0
  203. package/dist/dash/standalone/static/assets/dash-param-org-agents-cc5d59edfc3cf0b1.css +1 -0
  204. package/dist/dash/standalone/static/assets/dash-param-org-agents-new-170499c849114150.css +1 -0
  205. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-dd4ac319a0d62432.css +1 -0
  206. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-edit-199a9991de1bf2d9.css +1 -0
  207. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-platforms-9d2e1439f3f7e81b.css +1 -0
  208. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-platforms-param-app-a6d559f0e26bd01b.css +1 -0
  209. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-settings-f21d4fcd3948139b.css +1 -0
  210. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-tasks-c8d6aa06f6e75f4c.css +1 -0
  211. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-usage-9cc128ba8af6ef62.css +1 -0
  212. package/dist/dash/standalone/static/assets/dash-param-org-operator-8d5ef55834d8deba.css +1 -0
  213. package/dist/dash/standalone/static/assets/dash-param-org-settings-7138821f5422d087.css +1 -0
  214. package/dist/dash/standalone/static/assets/dash-param-org-settings-param-tab-586fec34f285e9cb.css +1 -0
  215. package/dist/dash/standalone/static/assets/dash-param-org-setup-67679c1f84f352cf.css +1 -0
  216. package/dist/dash/standalone/static/assets/dash-param-org-tasks-be3cb3d64573f3d9.css +1 -0
  217. package/dist/dash/standalone/static/assets/dash-param-org-tasks-param-id-c20a0537bc82620d.css +1 -0
  218. package/dist/dash/standalone/static/assets/dash-param-org-usage-c534db20ce538fd2.css +1 -0
  219. package/dist/dash/standalone/static/assets/global-df2c26ad15039e8a.css +1 -0
  220. package/dist/dash/standalone/static/assets/{login-9760b85feae40270.css → login-148795638d6ff5d4.css} +1 -1
  221. package/dist/dash/standalone/static/assets/pnext-client-07b41bfab64b61c0.js +1 -0
  222. package/dist/dash/standalone/static/assets/pnext-client-0d388d56250f9f46.js +1 -0
  223. package/dist/dash/standalone/static/assets/pnext-client-1443e45181b60bb0.js +1 -0
  224. package/dist/dash/standalone/static/assets/pnext-client-27207e4f43f9a21b.js +1 -0
  225. package/dist/dash/standalone/static/assets/pnext-client-435db60553fa3a67.js +1 -0
  226. package/dist/dash/standalone/static/assets/pnext-client-523dd4071aa294ba.js +1 -0
  227. package/dist/dash/standalone/static/assets/pnext-client-5f6bda3919f68382.js +1 -0
  228. package/dist/dash/standalone/static/assets/pnext-client-684fd8ad16563ed3.js +1 -0
  229. package/dist/dash/standalone/static/assets/pnext-client-6b952cdda9a1eb2b.js +1 -0
  230. package/dist/dash/standalone/static/assets/pnext-client-6fe9e98f7dd8dcbf.js +1 -0
  231. package/dist/dash/standalone/static/assets/pnext-client-730c2c507a159f9e.js +1 -0
  232. package/dist/dash/standalone/static/assets/pnext-client-7c46573e45b67166.js +1 -0
  233. package/dist/dash/standalone/static/assets/pnext-client-83a865c3d75705bd.js +1 -0
  234. package/dist/dash/standalone/static/assets/pnext-client-907d1db4fb398a1d.js +1 -0
  235. package/dist/dash/standalone/static/assets/pnext-client-9baf701f3e641d09.js +1 -0
  236. package/dist/dash/standalone/static/assets/pnext-client-a57705e4e1047a9e.js +1 -0
  237. package/dist/dash/standalone/static/assets/pnext-client-b1af82c6f0db0033.js +1 -0
  238. package/dist/dash/standalone/static/assets/pnext-client-cede3bd7b2735942.js +1 -0
  239. package/dist/dash/standalone/static/assets/pnext-client-d9a3996f22b6816b.js +1 -0
  240. package/dist/dash/standalone/static/assets/pnext-client-f95364a0073ca4ce.js +1 -0
  241. package/dist/definition-D0OpQfGX.js +1 -0
  242. package/dist/discover-BfYHHJN_.js +1 -0
  243. package/dist/dispatch-BkoIU4GU.js +12 -0
  244. package/dist/{dist-DAnSqY1s.js → dist-B5qUdWUG.js} +35 -35
  245. package/dist/{dist-B2jiMMxZ.js → dist-Clxdruuu.js} +3 -3
  246. package/dist/{dist-ClCNj65n.js → dist-CymLGfHl.js} +4 -4
  247. package/dist/{adapter-Bz0E-DAY.js → dist-DX0JzVC6.js} +990 -990
  248. package/dist/{adapter-CsacmMmv.js → dist-DfD9WmV8.js} +39 -39
  249. package/dist/dist-node-B8VIVzUc.js +20 -0
  250. package/dist/docs-CxklYa3P.js +2 -0
  251. package/dist/drive-B7SBFfcb.js +1 -0
  252. package/dist/drizzle-orm-CYU7WOQS.js +2 -0
  253. package/dist/{emit-BrkJJPUE.js → emit-BgeqsCkC.js} +3 -3
  254. package/dist/env-BwFCHakK.js +1 -0
  255. package/dist/errors-DK_trCff.js +1 -0
  256. package/dist/exec-D9jF2F-H.js +3 -0
  257. package/dist/executor-DBW7R7Tf.js +11 -0
  258. package/dist/flow/builtin/review/index.d.ts +2 -2
  259. package/dist/flow/builtin/review/index.js +10 -15
  260. package/dist/flow/index.d.ts +2 -2
  261. package/dist/flow/index.js +1 -1
  262. package/dist/github-actions-2RjyRseX.js +36 -0
  263. package/dist/{hook-CIipj9MJ.js → hook-DN__zYOG.js} +1 -1
  264. package/dist/http-615JJgHo.js +5 -0
  265. package/dist/http-DRk8cDjf.js +1 -0
  266. package/dist/{index-ChcxzFdB.d.ts → index-CTAQrCRU.d.ts} +403 -307
  267. package/dist/integrations-DSZSa8Rc.js +9 -0
  268. package/dist/lib/broker.js +2 -2
  269. package/dist/load-BtIDghgd.js +2 -0
  270. package/dist/local-BzMvgiwL.js +5 -0
  271. package/dist/local-GIxwz_Or.js +1 -0
  272. package/dist/login-LlZrIlxb.js +8 -0
  273. package/dist/maintenance-DyiyHI8S.js +1 -0
  274. package/dist/mcp-Caq72REF.js +1 -0
  275. package/dist/mcp-CrtKQoVi.js +1 -0
  276. package/dist/mcp-cEIva8Pd.js +27 -0
  277. package/dist/metadata-D_bBfr3H.js +1 -0
  278. package/dist/models-BVxs3I8o.js +1 -0
  279. package/dist/output-BKeyLbvt.js +5 -0
  280. package/dist/permission-RSZM3DUk.js +1 -0
  281. package/dist/post-DLenID75.js +11 -0
  282. package/dist/prompt-CpwbsEWM.js +4 -0
  283. package/dist/refresh-CWEpTAkD.js +1 -0
  284. package/dist/remote-BDMuKaON.js +2 -0
  285. package/dist/remote-CY-qYX2C.js +1 -0
  286. package/dist/runner-CKMOh5Q3.js +1 -0
  287. package/dist/runner.json +1 -1
  288. package/dist/runner.tgz +0 -0
  289. package/dist/schema.d.ts +2 -2
  290. package/dist/schema.js +2 -3
  291. package/dist/sdk.d.ts +2857 -1405
  292. package/dist/sdk.js +1 -1
  293. package/dist/serve-D23JqDip.js +12 -0
  294. package/dist/serve-DoYbHm_k.js +5 -0
  295. package/dist/serve-YlU04KO7.js +1 -0
  296. package/dist/session-D7eeJIaH.js +1 -0
  297. package/dist/sessions-BGUfSe8L.js +1 -0
  298. package/dist/shared-BzNReirj.js +1 -0
  299. package/dist/sign-in-Dr6sU7vz.js +3 -0
  300. package/dist/state-CxAUec80.js +6 -0
  301. package/dist/store-BrnWdtRw.js +349 -0
  302. package/dist/task-CyqtCXo3.js +1 -0
  303. package/dist/task-DN4assR8.js +7 -0
  304. package/dist/tool-search-C9Ty3hhL.js +6 -0
  305. package/dist/tools-Ck-ZWtmB.js +1 -0
  306. package/dist/tools-DVtBtED6.js +1 -0
  307. package/dist/tools-search-BNDea9vZ.js +1 -0
  308. package/dist/turn-eI4iRPsq.js +3 -0
  309. package/dist/types-DHBqXFE2.js +1 -0
  310. package/dist/update-check-Bap3dwaj.js +1 -0
  311. package/dist/view-D-rbQ1Kz.js +4 -0
  312. package/dist/views-Bxm_5J6T.js +2 -0
  313. package/dist/worker-DJANNSCT.js +1 -0
  314. package/dist/worker-DeuC38Vp.js +7 -0
  315. package/dist/zod-_-snqfdO.js +1 -0
  316. package/dist/zod.js +65 -1
  317. package/docs/agents/coder.md +5 -1
  318. package/docs/agents/index.md +53 -82
  319. package/docs/approvals.md +47 -0
  320. package/docs/cli/agent.md +34 -13
  321. package/docs/cli/auth.md +1 -1
  322. package/docs/cli/connection.md +22 -21
  323. package/docs/cli/index.md +18 -14
  324. package/docs/cli/model.md +11 -11
  325. package/docs/cli/task.md +28 -30
  326. package/docs/config.md +37 -65
  327. package/docs/connections.md +80 -0
  328. package/docs/dash.md +23 -19
  329. package/docs/flows.md +46 -213
  330. package/docs/models.md +48 -78
  331. package/docs/review.md +49 -18
  332. package/docs/runners.md +49 -0
  333. package/docs/sdk.md +49 -73
  334. package/docs/self-host.md +81 -82
  335. package/package.json +4 -5
  336. package/plugins/agents/skills/coder/SKILL.md +3 -3
  337. package/plugins/claude/.claude-plugin/plugin.json +1 -1
  338. package/plugins/claude/skills/dispatch/SKILL.md +3 -3
  339. package/plugins/cursor/.cursor-plugin/plugin.json +1 -1
  340. package/plugins/cursor/README.md +3 -3
  341. package/plugins/cursor/skills/coder/SKILL.md +3 -3
  342. package/dist/actions-D12xDiQS.js +0 -4
  343. package/dist/adapter-DzpdWewB.js +0 -1
  344. package/dist/agent-JJStALIx.js +0 -8
  345. package/dist/apps-Bnk7F3A2.js +0 -379
  346. package/dist/args-Dqf5Y1RP.js +0 -1
  347. package/dist/async-Tj4zKHXR.js +0 -3
  348. package/dist/auth-BhpnOCbn.js +0 -1
  349. package/dist/base64url-CsVsW4Id.js +0 -1
  350. package/dist/chat-CSepnsrK.js +0 -13
  351. package/dist/cmd-BHZwhrfa.js +0 -118
  352. package/dist/connection-BkYTuJjV.js +0 -1
  353. package/dist/context-zhSlmXOp.js +0 -7
  354. package/dist/conversation-DT-35cEt.js +0 -1
  355. package/dist/core-DwsAMCnL.js +0 -65
  356. package/dist/dash/standalone/node_modules/contextjsx/dist/index.mjs +0 -1
  357. package/dist/dash/standalone/node_modules/contextjsx/dist/jsx-runtime.mjs +0 -1
  358. package/dist/dash/standalone/node_modules/contextjsx/dist/src-BJ0QFeB8.mjs +0 -2
  359. package/dist/dash/standalone/node_modules/contextjsx/package.json +0 -70
  360. package/dist/dash/standalone/server/modules-server-server-react-server/src/agent/context/turn.6bb73458768e222e.js +0 -129
  361. package/dist/dash/standalone/server/modules-server-server-react-server/src/core/defaults.e972c134a1ae918f.js +0 -55
  362. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/auth/sign-in.661b3a4139af5bd7.js +0 -11
  363. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/connect/page.04762872666a6f0a.js +0 -26
  364. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/(list)/connect-apps.8a20501ccb244421.js +0 -36
  365. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/(list)/page.d066b77dd3187026.js +0 -65
  366. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/operator/operator-apps.09bf294d753ee9d7.js +0 -115
  367. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/connections-list.97381888bfdd711b.js +0 -642
  368. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/engines-list.d47db60d7dc01ebd.js +0 -73
  369. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/list.a5b273558fb7f0f0.js +0 -156
  370. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/models-list.31d369f1b7ab45da.js +0 -444
  371. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/model-options.73f8d0d54f79d8e3.js +0 -100
  372. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/task-actions.51fbeac76459433a.js +0 -240
  373. package/dist/dash/standalone/static/assets/chunks/action-a76e495fb39a73d3.js +0 -1
  374. package/dist/dash/standalone/static/assets/chunks/agent-pills-4d3c6a2aa9eb1522.js +0 -2
  375. package/dist/dash/standalone/static/assets/chunks/agent-settings-form-f7231a66e391f6b6.js +0 -1
  376. package/dist/dash/standalone/static/assets/chunks/agent-toggle-d7d27123f2070f18.js +0 -1
  377. package/dist/dash/standalone/static/assets/chunks/agents-grid-185ecb3d86c6c447.js +0 -1
  378. package/dist/dash/standalone/static/assets/chunks/composer-56ebf36d63400423.js +0 -1
  379. package/dist/dash/standalone/static/assets/chunks/composer-a686289a79f64bae.js +0 -1
  380. package/dist/dash/standalone/static/assets/chunks/composer-data-f46a9bc7a14b4f9a.js +0 -1
  381. package/dist/dash/standalone/static/assets/chunks/connect-apps-696726aedab42c96.js +0 -1
  382. package/dist/dash/standalone/static/assets/chunks/connections-list-07559f145f3e3da3.js +0 -1
  383. package/dist/dash/standalone/static/assets/chunks/create-link-426b0a5871ee41dd.js +0 -1
  384. package/dist/dash/standalone/static/assets/chunks/credentials-list-f07d090410104148.js +0 -1
  385. package/dist/dash/standalone/static/assets/chunks/custom-range-6618f32ef6cd4e80.js +0 -1
  386. package/dist/dash/standalone/static/assets/chunks/editor-0860e370cbfc6b03.js +0 -6
  387. package/dist/dash/standalone/static/assets/chunks/engines-list-31b9bb7885924b05.js +0 -1
  388. package/dist/dash/standalone/static/assets/chunks/format-a27067f0186e78ac.js +0 -1
  389. package/dist/dash/standalone/static/assets/chunks/instructions-06b63e558f879da5.js +0 -1
  390. package/dist/dash/standalone/static/assets/chunks/instructions-2d9fbcbfadac4f40.js +0 -2
  391. package/dist/dash/standalone/static/assets/chunks/list-2773686bf8df64c7.js +0 -1
  392. package/dist/dash/standalone/static/assets/chunks/model-options-8d2170eebe0d061d.js +0 -1
  393. package/dist/dash/standalone/static/assets/chunks/models-list-03611e64b6a07efe.js +0 -1
  394. package/dist/dash/standalone/static/assets/chunks/notice-d14fdac28139c0a8.js +0 -1
  395. package/dist/dash/standalone/static/assets/chunks/outcome-dialog-d3ba8ef89c59f801.js +0 -1
  396. package/dist/dash/standalone/static/assets/chunks/platform-actions-2a71c62b9f7eaef3.js +0 -1
  397. package/dist/dash/standalone/static/assets/chunks/platform-actions-70600c9943320152.js +0 -1
  398. package/dist/dash/standalone/static/assets/chunks/runners-list-edf536eb8003eab5.js +0 -1
  399. package/dist/dash/standalone/static/assets/chunks/secrets-list-e86122f73525ff95.js +0 -1
  400. package/dist/dash/standalone/static/assets/chunks/shared-init-6e12333f12903a62-2.js +0 -1
  401. package/dist/dash/standalone/static/assets/chunks/shared-init-b281027d465e004f.js +0 -5
  402. package/dist/dash/standalone/static/assets/chunks/shared-init-c3bd249cf1eca6d1.js +0 -2
  403. package/dist/dash/standalone/static/assets/chunks/side-toggle-9b3af821cfe4c824.js +0 -1
  404. package/dist/dash/standalone/static/assets/chunks/task-a37e7c26e82eb77d.js +0 -1
  405. package/dist/dash/standalone/static/assets/chunks/task-actions-705395565f2d83b8.js +0 -1
  406. package/dist/dash/standalone/static/assets/chunks/task-view-cb21169f38b56d15.js +0 -6
  407. package/dist/dash/standalone/static/assets/chunks/tasks-list-d7dccfd7e0623ae0.js +0 -1
  408. package/dist/dash/standalone/static/assets/chunks/versions-list-f8f2e71df691efda.js +0 -1
  409. package/dist/dash/standalone/static/assets/connect-a550b6f3a8c00186.css +0 -1
  410. package/dist/dash/standalone/static/assets/create-param-id-c2c756f652f2fc30.css +0 -1
  411. package/dist/dash/standalone/static/assets/dash-param-org-account-702f8a1b213e4026.css +0 -1
  412. package/dist/dash/standalone/static/assets/dash-param-org-agents-aad2f9f93c06e9ab.css +0 -1
  413. package/dist/dash/standalone/static/assets/dash-param-org-agents-new-f9dcbcec36586f2b.css +0 -1
  414. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-8ff47f5d622c1f9b.css +0 -1
  415. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-edit-907036d553cfeb36.css +0 -1
  416. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-platforms-5cc77badad15f00c.css +0 -1
  417. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-settings-705d7c15868b4fd6.css +0 -1
  418. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-tasks-04e189c045098772.css +0 -1
  419. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-usage-76fcd1ce7b3dae71.css +0 -1
  420. package/dist/dash/standalone/static/assets/dash-param-org-eccb6bb9297a53e6.css +0 -1
  421. package/dist/dash/standalone/static/assets/dash-param-org-operator-635a121f7a9a95bd.css +0 -1
  422. package/dist/dash/standalone/static/assets/dash-param-org-settings-a3297dc4d9e0c961.css +0 -1
  423. package/dist/dash/standalone/static/assets/dash-param-org-settings-param-tab-bcb06f81d9e8268d.css +0 -1
  424. package/dist/dash/standalone/static/assets/dash-param-org-setup-df4be8b188b9777f.css +0 -1
  425. package/dist/dash/standalone/static/assets/dash-param-org-tasks-16f9866a1b4801cd.css +0 -1
  426. package/dist/dash/standalone/static/assets/dash-param-org-tasks-param-id-02ae551dcd852b57.css +0 -1
  427. package/dist/dash/standalone/static/assets/dash-param-org-usage-f2175403069aab99.css +0 -1
  428. package/dist/dash/standalone/static/assets/global-e1de614478b64717.css +0 -1
  429. package/dist/dash/standalone/static/assets/pnext-client-0dc829ba60df5c26.js +0 -1
  430. package/dist/dash/standalone/static/assets/pnext-client-14d191f7f1da6602.js +0 -1
  431. package/dist/dash/standalone/static/assets/pnext-client-169eaa63783b71fd.js +0 -1
  432. package/dist/dash/standalone/static/assets/pnext-client-1e34cfefafa70fac.js +0 -1
  433. package/dist/dash/standalone/static/assets/pnext-client-285d61f00a80f40b.js +0 -1
  434. package/dist/dash/standalone/static/assets/pnext-client-35b89c3ba23ee845.js +0 -1
  435. package/dist/dash/standalone/static/assets/pnext-client-6c42784e005d4b87.js +0 -1
  436. package/dist/dash/standalone/static/assets/pnext-client-6cd93f9bd4cf6ffd.js +0 -1
  437. package/dist/dash/standalone/static/assets/pnext-client-7355f473fade532d.js +0 -1
  438. package/dist/dash/standalone/static/assets/pnext-client-815c3c297f75efb0.js +0 -1
  439. package/dist/dash/standalone/static/assets/pnext-client-87fe73c10a4dc33c.js +0 -1
  440. package/dist/dash/standalone/static/assets/pnext-client-98b56a142d441260.js +0 -1
  441. package/dist/dash/standalone/static/assets/pnext-client-b4bafe68a40f720b.js +0 -1
  442. package/dist/dash/standalone/static/assets/pnext-client-bf61ff39bdc0db48.js +0 -1
  443. package/dist/dash/standalone/static/assets/pnext-client-c9fa86c244813f74.js +0 -1
  444. package/dist/dash/standalone/static/assets/pnext-client-d2e7a75e16221224.js +0 -1
  445. package/dist/dash/standalone/static/assets/pnext-client-d34e774405ea8da8.js +0 -1
  446. package/dist/dash/standalone/static/assets/pnext-client-d511822afdb41d1d.js +0 -1
  447. package/dist/dash/standalone/static/assets/pnext-client-e113aa2f25ecfe01.js +0 -1
  448. package/dist/dash/standalone/static/assets/pnext-client-eb62f461d0c32266.js +0 -1
  449. package/dist/discover-CHfF4cEz.js +0 -1
  450. package/dist/dist-node-Bv1kCqyi.js +0 -20
  451. package/dist/docs-KHc0_gFX.js +0 -2
  452. package/dist/drive-Bwl7Bjme.js +0 -1
  453. package/dist/env-6Y-NNnYD.js +0 -1
  454. package/dist/errors-DO_IltpP.js +0 -16
  455. package/dist/exec-BmTa0vcO.js +0 -4
  456. package/dist/executor-ufWRqhdS.js +0 -11
  457. package/dist/http-Cg8PSe-c.js +0 -1
  458. package/dist/integrations-I7fRDk_l.js +0 -4
  459. package/dist/load-BDlEFetB.js +0 -2
  460. package/dist/local-COlczLwI.js +0 -5
  461. package/dist/log-view-CfX9lakH.js +0 -4
  462. package/dist/maintenance-CKCIWOvn.js +0 -1
  463. package/dist/match-CufHAZQH.js +0 -1
  464. package/dist/mcp-BkwmRHI9.js +0 -2
  465. package/dist/mcp-CGU7aoJ-.js +0 -1
  466. package/dist/mcp-DAHbhfUh.js +0 -13
  467. package/dist/models-CzggS7p2.js +0 -1
  468. package/dist/output-SNqdgh9A.js +0 -17
  469. package/dist/permission-MWFjKxqX.js +0 -1
  470. package/dist/prompt-CIx4jwQF.js +0 -8
  471. package/dist/refresh-CxsaX5R9.js +0 -1
  472. package/dist/remote-C9Hj2cby.js +0 -2
  473. package/dist/remote-HUZCWgfl.js +0 -3
  474. package/dist/runner-DYysY1-G.js +0 -1
  475. package/dist/runners-CfaGE0nV.js +0 -36
  476. package/dist/serve-DdAdw7Su.js +0 -4
  477. package/dist/serve-NQykWAKV.js +0 -1
  478. package/dist/serve-vKNqVaVy.js +0 -12
  479. package/dist/slack-BtKvW_4v.js +0 -5
  480. package/dist/task-CFxs0E_J.js +0 -1
  481. package/dist/task-iuYQ0zAK.js +0 -7
  482. package/dist/tools-B6ZxcqRi.js +0 -2
  483. package/dist/tools-FVop8XYG.js +0 -1
  484. package/dist/tools-search-kjKKolwp.js +0 -1
  485. package/dist/turn-DQ13lkPF.js +0 -2
  486. package/dist/types-DPtbvoo3.js +0 -1
  487. package/dist/types-DmThhjcW.js +0 -1
  488. package/dist/views-CMHXBMJp.js +0 -3
  489. package/dist/wire-C9CupY_A.js +0 -1
  490. package/dist/worker-BQpx1dPr.js +0 -9
  491. package/dist/worker-sTJL2eoe.js +0 -1
  492. package/dist/zod-BoqHoRCH.js +0 -1
  493. package/docs/access.md +0 -33
  494. package/docs/mcp.md +0 -54
  495. /package/dist/dash/standalone/server/modules-server-server-react-server/src/core/{errors.1bd0542d832ae0c0.js → errors.200335e62a9d9564.js} +0 -0
  496. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/account/{page.061f6006f2685f5e.css.pnext-asset.js → page.abe7a6d16eb15c41.css.pnext-asset.js} +0 -0
  497. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/platforms/{page.107e622830bff31d.css.pnext-asset.js → page.1c7947d6f79d6447.css.pnext-asset.js} +0 -0
  498. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/{settings/agent-settings-form.ca926c58d15044aa.css.pnext-asset.js → platforms/platform-step.a722e3b8539a0f85.css.pnext-asset.js} +0 -0
  499. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/{agent/instructions.446bccc375f30eeb.css.pnext-asset.js → [slug]/(tabs)/settings/agent-settings-form.bf5430862c505c55.css.pnext-asset.js} +0 -0
  500. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/{editor/editor.1eb1bce282b289c9.css.pnext-asset.js → [slug]/platforms/[app]/@/app/dash/[org]/agents/[slug]/(tabs)/platforms/page.db05694ed4113dab.css.pnext-asset.js} +0 -0
  501. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/{layout.a4efa8d807fe5416.css.pnext-asset.js → agents/[slug]/platforms/[app]/app-cards.d2f5c8d620066e05.css.pnext-asset.js} +0 -0
  502. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/{settings/[tab]/@/app/dash/[org]/setup/outcome.3ad5f7ec67e5238d.css.pnext-asset.js → agents/agent/instructions.4c31196fcbf9846c.css.pnext-asset.js} +0 -0
  503. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/{settings/[tab]/connections-list.46786fe36b121a43.css.pnext-asset.js → agents/editor/editor.6b9a1d5c0a490153.css.pnext-asset.js} +0 -0
  504. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/{settings/[tab]/credentials-list.f7c27f170ec1e868.css.pnext-asset.js → layout.52abe52dcfa736d7.css.pnext-asset.js} +0 -0
  505. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{engines-list.9927d602ebe9e7fc.css.pnext-asset.js → advanced-list.819e410e4178b328.css.pnext-asset.js} +0 -0
  506. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{list.8cbee173a5aff98d.css.pnext-asset.js → connections-list.87962937438296f1.css.pnext-asset.js} +0 -0
  507. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{runners-list.53c7ea80b6fb734c.css.pnext-asset.js → credentials-list.973f91751525bcb6.css.pnext-asset.js} +0 -0
  508. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/{tasks/[id]/task-view.42337a0d7c6ad0b6.css.pnext-asset.js → settings/[tab]/list.69d1b62c4066015b.css.pnext-asset.js} +0 -0
  509. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/{tasks/composer.5b8687662e1629fa.css.pnext-asset.js → settings/[tab]/models-list.efd3f5781314c1d9.css.pnext-asset.js} +0 -0
  510. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/{tasks/list/tasks-list.2f90c4410f843fff.css.pnext-asset.js → settings/[tab]/runners-list.df35d33aba0c8b07.css.pnext-asset.js} +0 -0
  511. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/{globals.f8ac779f0ebf888b.css.pnext-asset.js → dash/[org]/settings/model-pick.74fababc0cc0bba7.css.pnext-asset.js} +0 -0
  512. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/{responsive.ebc5f7d77b4b86a0.css.pnext-asset.js → dash/[org]/tasks/[id]/task-view.440367ae07204ee7.css.pnext-asset.js} +0 -0
  513. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/{comps/frame/task-toasts.d13d9f628e530552.css.pnext-asset.js → app/dash/[org]/tasks/composer.33d49ad218253703.css.pnext-asset.js} +0 -0
  514. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/{comps/ui/badge.0cb1513f8b077560.css.pnext-asset.js → app/dash/[org]/tasks/list/pending-approvals.07e59a9cae7ccf29.css.pnext-asset.js} +0 -0
  515. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/{comps/ui/button.d7f4433f4e7faa80.css.pnext-asset.js → app/dash/[org]/tasks/list/tasks-list.f3737549b4696cc8.css.pnext-asset.js} +0 -0
  516. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/{comps/ui/card.f80288cc42f9bcae.css.pnext-asset.js → app/globals.3b53a3feaa1d72e1.css.pnext-asset.js} +0 -0
  517. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/{comps/ui/filter.b53f21acc3e2cfef.css.pnext-asset.js → app/responsive.2979ffa0161a5afd.css.pnext-asset.js} +0 -0
  518. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/{ui/menu.25b184f68cba7b46.css.pnext-asset.js → frame/task-toasts.682322f6f729b33e.css.pnext-asset.js} +0 -0
  519. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{toolbar.19e1ce5224a23acf.css.pnext-asset.js → badge.8e2a9842b28f44a6.css.pnext-asset.js} +0 -0
@@ -1,11 +1,16 @@
1
- import "./card.f80288cc42f9bcae.css.pnext-asset.js";
2
- import { Button } from "./button.ce9e6cdb08ca86db.js";
3
- import { iPlus } from "./icons.e36c72f54750663a.js";
1
+ import "./card.4ab7ad42a0770726.css.pnext-asset.js";
2
+ import { Button } from "./button.b62fa52e18fa338b.js";
3
+ import { iPlus } from "./icons.f769275420d072ce.js";
4
4
  import { jsx as _jsx, jsxs as _jsxs } from "../../../../../../../node_modules/preact/jsx-runtime/dist/jsxRuntime.mjs";
5
- export function Card({ id, title, count, actions, tone, children }) {
5
+ const cardClass = (look, ...more) => [
6
+ "card frame",
7
+ look === "filled" ? "filled" : undefined,
8
+ ...more
9
+ ].filter(Boolean).join(" ");
10
+ export function Card({ id, title, count, actions, tone, look = "outlined", children }) {
6
11
  return /* @__PURE__ */ _jsxs("section", {
7
12
  id,
8
- class: tone ? `card frame ${tone}` : "card frame",
13
+ class: cardClass(look, tone),
9
14
  children: [title ? /* @__PURE__ */ _jsxs("div", {
10
15
  class: "bar",
11
16
  children: [/* @__PURE__ */ _jsxs("h2", { children: [title, count !== undefined ? /* @__PURE__ */ _jsx("span", {
@@ -19,9 +24,9 @@ export function Card({ id, title, count, actions, tone, children }) {
19
24
  });
20
25
  }
21
26
  /** A card that starts folded: its bar shows the title and a one-line note, and a click opens it. */
22
- export function FoldCard({ title, note, actions, open = "Add", opened, children }) {
27
+ export function FoldCard({ title, note, actions, open = "Add", opened, look = "outlined", children }) {
23
28
  return /* @__PURE__ */ _jsxs("details", {
24
- class: "card frame fold",
29
+ class: cardClass(look, "fold"),
25
30
  open: opened,
26
31
  children: [/* @__PURE__ */ _jsxs("summary", {
27
32
  class: "bar",
@@ -54,10 +59,17 @@ export function FoldCard({ title, note, actions, open = "Add", opened, children
54
59
  }), children]
55
60
  });
56
61
  }
57
- export function Empty({ title, children }) {
62
+ export function Empty({ title, actions, children }) {
58
63
  return /* @__PURE__ */ _jsxs("div", {
59
64
  class: "empty",
60
- children: [/* @__PURE__ */ _jsx("b", { children: title }), children ? /* @__PURE__ */ _jsx("span", { children }) : null]
65
+ children: [
66
+ /* @__PURE__ */ _jsx("b", { children: title }),
67
+ children ? /* @__PURE__ */ _jsx("span", { children }) : null,
68
+ actions ? /* @__PURE__ */ _jsx("div", {
69
+ class: "actions",
70
+ children: actions
71
+ }) : null
72
+ ]
61
73
  });
62
74
  }
63
75
  /** The one loading state: a spinner and a short line; `inline` keeps it to one line. */
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import "./collapse.fb687b120ea60247.css.pnext-asset.js";
3
3
  import { useLayoutEffect, useRef, useState } from "../../../../../../../node_modules/preact/hooks/dist/hooks.mjs";
4
- import { Button } from "./button.ce9e6cdb08ca86db.js";
4
+ import { Button } from "./button.b62fa52e18fa338b.js";
5
5
  import { jsx as _jsx, jsxs as _jsxs } from "../../../../../../../node_modules/preact/jsx-runtime/dist/jsxRuntime.mjs";
6
6
  /** Long content cut to its first `lines` lines under a fade, with a Show more toggle. */
7
7
  export function Collapse({ lines = 10, class: cls, children }) {
@@ -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.1d082ac4dae8f3d4.js";
3
- import { SelectList, usePlace } from "./select.2eb33e5bea28d804.js";
2
+ import { MenuOption } from "./menu-items.759a1b1f7c5ee365.js";
3
+ import { SelectList, usePlace } from "./select.0ee9e8f04ddd8b47.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. */
@@ -1,7 +1,7 @@
1
1
  "use client";
2
- import { Button } from "./button.ce9e6cdb08ca86db.js";
3
- import { iTrash } from "./icons.e36c72f54750663a.js";
4
- import { Modal } from "./modal.0b69c7fd9db025b9.js";
2
+ import { Button } from "./button.b62fa52e18fa338b.js";
3
+ import { iTrash } from "./icons.f769275420d072ce.js";
4
+ import { Modal } from "./modal.08ac85d31f4c76c1.js";
5
5
  import { jsx as _jsx } from "../../../../../../../node_modules/preact/jsx-runtime/dist/jsxRuntime.mjs";
6
6
  /** A modal question before a destructive step. */
7
7
  export function ConfirmDialog({ open, title, body, confirmLabel, onConfirm, onClose, busy }) {
@@ -1,8 +1,8 @@
1
1
  "use client";
2
2
  import "./copy.fb3240de6c9479cd.css.pnext-asset.js";
3
3
  import { useState } from "../../../../../../../node_modules/preact/hooks/dist/hooks.mjs";
4
- import { iCheck, iCopy } from "./icons.e36c72f54750663a.js";
5
- import { IconButton } from "./button.ce9e6cdb08ca86db.js";
4
+ import { iCheck, iCopy } from "./icons.f769275420d072ce.js";
5
+ import { IconButton } from "./button.b62fa52e18fa338b.js";
6
6
  import { jsx as _jsx, jsxs as _jsxs } from "../../../../../../../node_modules/preact/jsx-runtime/dist/jsxRuntime.mjs";
7
7
  /** An icon button that copies `value` and shows a check once it did. */
8
8
  export function CopyButton({ value, label = "Copy" }) {
@@ -1,13 +1,13 @@
1
- import "./filter.b53f21acc3e2cfef.css.pnext-asset.js";
1
+ import "./filter.6fdff1e7355aaa0e.css.pnext-asset.js";
2
2
  import { Fragment } from "../../../../../../../node_modules/preact/dist/preact.mjs";
3
3
  import { useEffect, useRef, useState } from "../../../../../../../node_modules/preact/hooks/dist/hooks.mjs";
4
4
  import { FILTER_ROWS } from "../../utils/paged.0e54c3044f8ca567.js";
5
- import { iLeft, iRight, iX } from "./icons.e36c72f54750663a.js";
6
- import { Chip } from "./badge.c0bc352791a95fd6.js";
5
+ import { iLeft, iRight, iX } from "./icons.f769275420d072ce.js";
6
+ import { Chip } from "./badge.9f63fd615cf0ee22.js";
7
7
  import { Icon } from "./icon.0874ca2f58f7db14.js";
8
- import { Menu } from "./menu.ee45bace979944b6.js";
9
- import { LoadingMenu, MenuItem, MenuLabel, MenuNote, MenuRadio } from "./menu-items.1d082ac4dae8f3d4.js";
10
- import { Search } from "./toolbar.8b3a460a65edf85a.js";
8
+ import { Menu } from "./menu.7f558c7c6f6345d5.js";
9
+ import { LoadingMenu, MenuItem, MenuLabel, MenuNote, MenuRadio } from "./menu-items.759a1b1f7c5ee365.js";
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";
13
13
  /** From this many options a facet's full list gets a find box. */
@@ -2,6 +2,7 @@
2
2
  export const iAgent = "M12 8V4H8M6 8h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-8a2 2 0 0 1 2-2ZM2 14h2M20 14h2M15 13v2M9 13v2";
3
3
  export const iActivity = "M22 12h-4l-3 9L9 3l-3 9H2";
4
4
  export const iChart = "M3 3v18h18M18 17V9M13 17V5M8 17v-3";
5
+ export const iFirst = "M5 5v14M19 12H9M13 8l-4 4 4 4";
5
6
  export const iLeft = "m15 18-6-6 6-6";
6
7
  export const iDown = "m6 9 6 6 6-6";
7
8
  export const iRight = "m9 18 6-6-6-6";
@@ -10,6 +11,7 @@ export const iUpdown = "m7 15 5 5 5-5M7 9l5-5 5 5";
10
11
  export const iSun = "M8 12a4 4 0 1 0 8 0a4 4 0 1 0 -8 0M12 2v2M12 20v2M4.9 4.9l1.4 1.4M17.7 17.7l1.4 1.4M2 12h2M20 12h2M6.3 17.7l-1.4 1.4M19.1 4.9l-1.4 1.4";
11
12
  export const iMoon = "M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z";
12
13
  export const iMonitor = "M4 4h16a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1ZM8 20h8M12 16v4";
14
+ export const iLock = "M6 11h12v9H6zM8 11V8a4 4 0 0 1 8 0v3";
13
15
  export const iKey = "M2 15.5a5.5 5.5 0 1 0 11 0a5.5 5.5 0 1 0 -11 0M21 2l-9.6 9.6M15.5 7.5l3 3L22 7l-3-3";
14
16
  export const iUsers = "M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2M5 7a4 4 0 1 0 8 0a4 4 0 1 0 -8 0M22 21v-2a4 4 0 0 0-3-3.9M16 3.1a4 4 0 0 1 0 7.8";
15
17
  export const iUser = "M8 8a4 4 0 1 0 8 0a4 4 0 1 0 -8 0M4 21a8 8 0 0 1 16 0";
@@ -25,6 +27,8 @@ export const iUpload = "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4M17 8l-5-5-5 5M
25
27
  export const iInfo = "M12 16v-4M12 8h.01M3 12a9 9 0 1 0 18 0a9 9 0 1 0-18 0";
26
28
  export const iDots = "M4 12a1 1 0 1 0 2 0a1 1 0 1 0 -2 0M11 12a1 1 0 1 0 2 0a1 1 0 1 0 -2 0M18 12a1 1 0 1 0 2 0a1 1 0 1 0 -2 0";
27
29
  export const iPlus = "M12 5v14M5 12h14";
30
+ export const iOff = "M5.6 5.6l12.8 12.8M3 12a9 9 0 1 0 18 0a9 9 0 1 0 -18 0";
31
+ export const iUndo = "M9 14 4 9l5-5M4 9h10a6 6 0 0 1 0 12h-3";
28
32
  export const iPencil = "M4 20h4L19 9l-4-4L4 16v4ZM13 7l4 4";
29
33
  export const iMessage = "M21 12a8 8 0 0 1-11.6 7.1L4 20l1-4.6A8 8 0 1 1 21 12Z";
30
34
  export const iSteer = "M4 12h12M12 6l6 6-6 6";
@@ -1,6 +1,6 @@
1
- import "./menu.25b184f68cba7b46.css.pnext-asset.js";
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.e36c72f54750663a.js";
3
+ import { iCheck } 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(" ");
@@ -1,8 +1,8 @@
1
1
  "use client";
2
- import "./menu.25b184f68cba7b46.css.pnext-asset.js";
2
+ import "./menu.cd96fa0495fe0fde.css.pnext-asset.js";
3
3
  import { useId, useRef } from "../../../../../../../node_modules/preact/hooks/dist/hooks.mjs";
4
- import { Button, IconButton } from "./button.ce9e6cdb08ca86db.js";
5
- import { iInfo } from "./icons.e36c72f54750663a.js";
4
+ import { Button, IconButton } from "./button.b62fa52e18fa338b.js";
5
+ import { iInfo } from "./icons.f769275420d072ce.js";
6
6
  import { Icon } from "./icon.0874ca2f58f7db14.js";
7
7
  import { jsx as _jsx, jsxs as _jsxs } from "../../../../../../../node_modules/preact/jsx-runtime/dist/jsxRuntime.mjs";
8
8
  /** A button and its popover panel, placed at the button; picking an item, an outside click or Escape closes it. */
@@ -2,8 +2,8 @@
2
2
  import "./modal.a533234c7c831be4.css.pnext-asset.js";
3
3
  import { toChildArray } from "../../../../../../../node_modules/preact/dist/preact.mjs";
4
4
  import { useEffect, useId, useRef } from "../../../../../../../node_modules/preact/hooks/dist/hooks.mjs";
5
- import { Button, IconButton } from "./button.ce9e6cdb08ca86db.js";
6
- import { iX } from "./icons.e36c72f54750663a.js";
5
+ import { Button, IconButton } from "./button.b62fa52e18fa338b.js";
6
+ import { iX } from "./icons.f769275420d072ce.js";
7
7
  import { Icon } from "./icon.0874ca2f58f7db14.js";
8
8
  import { jsx as _jsx, jsxs as _jsxs } from "../../../../../../../node_modules/preact/jsx-runtime/dist/jsxRuntime.mjs";
9
9
  /** A modal with a title, a body and its actions after a cancel button; Escape, Cancel or a backdrop click closes it, never while busy. */
@@ -34,7 +34,8 @@ export function Modal({ open = true, class: className, tone, title, icon, dismis
34
34
  onClick: (event) => event.target === event.currentTarget && close(),
35
35
  children: /* @__PURE__ */ _jsxs("form", {
36
36
  method: onSubmit ? undefined : "dialog",
37
- onSubmit,
37
+ // With nothing to submit, Enter in a field keeps the dialog open.
38
+ onSubmit: onSubmit ?? (dismiss && alone ? (event) => event.preventDefault() : undefined),
38
39
  children: [
39
40
  /* @__PURE__ */ _jsxs("header", { children: [
40
41
  icon ? /* @__PURE__ */ _jsx(Icon, { d: icon }) : null,
@@ -49,11 +50,11 @@ export function Modal({ open = true, class: className, tone, title, icon, dismis
49
50
  }) : null
50
51
  ] }),
51
52
  children,
52
- /* @__PURE__ */ _jsxs("div", {
53
+ dismiss && alone ? null : /* @__PURE__ */ _jsxs("div", {
53
54
  class: "actions",
54
55
  children: [/* @__PURE__ */ _jsx(Button, {
55
- variant: alone ? "primary" : "ghost",
56
- danger: !alone && cancelDanger,
56
+ variant: alone && !cancelDanger ? "primary" : "ghost",
57
+ danger: cancelDanger,
57
58
  disabled: busy,
58
59
  autofocus: focus === "cancel",
59
60
  onClick: close,
@@ -1,9 +1,9 @@
1
1
  import "./select.419208bb34700af2.css.pnext-asset.js";
2
2
  import { Fragment } from "../../../../../../../node_modules/preact/dist/preact.mjs";
3
3
  import { useId, useLayoutEffect, useRef, useState } from "../../../../../../../node_modules/preact/hooks/dist/hooks.mjs";
4
- import { iDown, iPlus } from "./icons.e36c72f54750663a.js";
4
+ import { iDown, iPlus } from "./icons.f769275420d072ce.js";
5
5
  import { Icon } from "./icon.0874ca2f58f7db14.js";
6
- import { MenuLabel, MenuOption, MenuPanel } from "./menu-items.1d082ac4dae8f3d4.js";
6
+ import { MenuLabel, MenuOption, MenuPanel } from "./menu-items.759a1b1f7c5ee365.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. */
@@ -31,7 +31,7 @@ export function usePlace(anchor, list, open, max, deps = []) {
31
31
  return place;
32
32
  }
33
33
  /** A select in the menu style, with keyboard, type-ahead and touch; `name` posts its value. */
34
- export function Select({ label, options, value, defaultValue, onChange, onFocus, name, disabled, headings, subs, icons, action }) {
34
+ export function Select({ label, options, value, defaultValue, onChange, onFocus, name, disabled, headings, subs, unavailable, icons, action }) {
35
35
  const [own, setOwn] = useState(defaultValue ?? options[0]?.[0] ?? "");
36
36
  // A value the options no longer hold falls back to the first, as a native select does.
37
37
  const selected = Math.max(0, options.findIndex(([key]) => key === (value ?? own)));
@@ -61,6 +61,7 @@ export function Select({ label, options, value, defaultValue, onChange, onFocus,
61
61
  return;
62
62
  }
63
63
  const next = options[index]?.[0];
64
+ if (next !== undefined && unavailable?.[next]) return;
64
65
  close();
65
66
  if (next === undefined || next === current) return;
66
67
  if (value === undefined) setOwn(next);
@@ -114,7 +115,8 @@ export function Select({ label, options, value, defaultValue, onChange, onFocus,
114
115
  event.stopPropagation();
115
116
  close();
116
117
  } else if (key === "Tab") {
117
- pick(active);
118
+ if (unavailable?.[options[active]?.[0] ?? ""]) close(false);
119
+ else pick(active);
118
120
  return;
119
121
  } else if (key.length === 1 && !event.ctrlKey && !event.metaKey) {
120
122
  const found = seek(key, active);
@@ -186,10 +188,11 @@ export function Select({ label, options, value, defaultValue, onChange, onFocus,
186
188
  selected: index === selected,
187
189
  check: true,
188
190
  icon: icons?.[key],
189
- sub: subs?.[key] ? /* @__PURE__ */ _jsx("bdi", {
191
+ "aria-disabled": unavailable?.[key] ? "true" : undefined,
192
+ sub: unavailable?.[key] ?? (subs?.[key] ? /* @__PURE__ */ _jsx("bdi", {
190
193
  dir: "ltr",
191
194
  children: subs[key]
192
- }) : null,
195
+ }) : null),
193
196
  onPointerMove: () => index !== active && setActive(index),
194
197
  // Picks without letting a wrapping label re-open the list.
195
198
  onClick: (event) => {
@@ -1,6 +1,6 @@
1
1
  import "./tail.0a5f3c0595e68610.css.pnext-asset.js";
2
- import { Button } from "./button.ce9e6cdb08ca86db.js";
3
- import { Loading } from "./card.9f0d45b73bc78b4f.js";
2
+ import { Button } from "./button.b62fa52e18fa338b.js";
3
+ import { Loading } from "./card.c0030eafd76587e3.js";
4
4
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "../../../../../../../node_modules/preact/jsx-runtime/dist/jsxRuntime.mjs";
5
5
  /** Below the rows: what is loading, what failed, and the mark that pulls in the next page. */
6
6
  export function Tail({ sentinel, more, busy, error, retry, noun }) {
@@ -1,6 +1,6 @@
1
- import "./toolbar.19e1ce5224a23acf.css.pnext-asset.js";
1
+ import "./toolbar.cdbd0357f2c5e1fe.css.pnext-asset.js";
2
2
  import { useEffect, useRef, useState } from "../../../../../../../node_modules/preact/hooks/dist/hooks.mjs";
3
- import { iSearch } from "./icons.e36c72f54750663a.js";
3
+ import { iSearch } from "./icons.f769275420d072ce.js";
4
4
  import { readQuery, writeQuery } from "../../utils/paged.0e54c3044f8ca567.js";
5
5
  import { Icon } from "./icon.0874ca2f58f7db14.js";
6
6
  import { Sentinel } from "./sentinel.0ddf515b8f09ef9f.js";
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import { useState } from "../../../../../../node_modules/preact/hooks/dist/hooks.mjs";
3
3
  import { useRouter } from "../../../../../../node_modules/@wular/pnext/src/api/client-navigation.ts";
4
- import { toastError } from "../comps/frame/task-toasts.44075fa7e04575e8.js";
4
+ import { toastError } from "../comps/frame/task-toasts.8733901ca0e4c246.js";
5
5
  import { reasonText } from "./format.ceeaafa10a0563f3.js";
6
6
  const FAILED = "Something went wrong";
7
7
  /** A failure no action ran, as the same toast. */
@@ -1,6 +1,6 @@
1
1
  "use client";
2
2
  import { useEffect, useRef } from "../../../../../../node_modules/preact/hooks/dist/hooks.mjs";
3
- import { ServerClient } from "../../../client/index.de1f1311bab4252f.js";
3
+ import { ServerClient } from "../../../client/index.91e126d7a389d4bd.js";
4
4
  export const client = new ServerClient("", { cookie: true }, {
5
5
  // The page's organization, so a tab open in another one never changes what this one acts on.
6
6
  fetch(input, init) {
@@ -0,0 +1,165 @@
1
+ import { Readable } from "node:stream";
2
+ import { pipeline } from "node:stream/promises";
3
+ import { decodeJson, encodeJson } from "../../utils/crypto.24a6439ff8d10d3d.js";
4
+ export function json(value, status = 200, headers = {}) {
5
+ return new Response(JSON.stringify(value), {
6
+ status,
7
+ headers: {
8
+ "content-type": "application/json",
9
+ ...headers
10
+ }
11
+ });
12
+ }
13
+ export const paged = (url) => url.searchParams.has("cursor");
14
+ export function decodeParam(value) {
15
+ if (!value) return undefined;
16
+ try {
17
+ return decodeJson(value);
18
+ } catch {
19
+ return undefined;
20
+ }
21
+ }
22
+ export const decodeCursor = (url) => decodeParam(url.searchParams.get("cursor"));
23
+ export function pageLimit(url, fallback = 50, max = 200) {
24
+ const limit = Number(url.searchParams.get("limit") ?? fallback);
25
+ return Number.isInteger(limit) && limit > 0 ? Math.min(limit, max) : fallback;
26
+ }
27
+ export function page(rows, limit, cursor) {
28
+ const items = rows.slice(0, limit);
29
+ return {
30
+ items,
31
+ ...rows.length > limit ? { next: encodeJson(cursor(items.at(-1))) } : {}
32
+ };
33
+ }
34
+ export const redirect = (location, status = 302) => new Response(null, {
35
+ status,
36
+ headers: { location }
37
+ });
38
+ export const forbidden = () => new Response("Forbidden", { status: 403 });
39
+ export const notFound = () => new Response("Not found", {
40
+ status: 404,
41
+ headers: { "content-type": "text/plain; charset=utf-8" }
42
+ });
43
+ export const notAllowed = () => new Response("Method not allowed", { status: 405 });
44
+ export const toLogin = (url) => redirect(`/login?return=${encodeURIComponent(`${url.pathname}${url.search}`)}`);
45
+ export function safeReturnPath(candidate, origin) {
46
+ const value = candidate ?? "/dash";
47
+ try {
48
+ const target = new URL(value, origin);
49
+ return target.origin === origin && !value.includes("\\") && !/^\/[/\\]/.test(target.pathname) ? `${target.pathname}${target.search}${target.hash}` : "/dash";
50
+ } catch {
51
+ return "/dash";
52
+ }
53
+ }
54
+ export const bodyLimit = (path) => path.startsWith("/api/auth") ? 64 * 1024 : /\/tasks\/[^/]+\/history$/.test(path) ? 4 * 1024 * 1024 : 1024 * 1024;
55
+ async function readLimited(body, declared, limit) {
56
+ const length = Number(declared ?? 0);
57
+ if (Number.isFinite(length) && length > limit) throw Object.assign(new Error("Payload too large"), { status: 413 });
58
+ const chunks = [];
59
+ let size = 0;
60
+ for await (const chunk of body) {
61
+ size += chunk.byteLength;
62
+ if (size > limit) throw Object.assign(new Error("Payload too large"), { status: 413 });
63
+ chunks.push(chunk);
64
+ }
65
+ const result = new Uint8Array(size);
66
+ let offset = 0;
67
+ for (const chunk of chunks) {
68
+ result.set(chunk, offset);
69
+ offset += chunk.byteLength;
70
+ }
71
+ return result;
72
+ }
73
+ function headers(input) {
74
+ const result = new Headers();
75
+ for (const [key, value] of Object.entries(input)) if (value !== undefined) result.set(key, Array.isArray(value) ? value.join(", ") : value);
76
+ return result;
77
+ }
78
+ function webRequest(req, signal) {
79
+ const path = req.url ?? "/";
80
+ const body = req.method === "GET" || req.method === "HEAD" ? undefined : Readable.toWeb(req);
81
+ return new Request(`http://${req.headers.host ?? "localhost"}${path}`, {
82
+ method: req.method,
83
+ headers: headers(req.headers),
84
+ body,
85
+ duplex: "half",
86
+ signal
87
+ });
88
+ }
89
+ export function nodeListener(handle, { admit = () => true } = {}) {
90
+ return async (incoming, outgoing) => {
91
+ if (!admit(incoming)) return void outgoing.writeHead(404).end("Not found");
92
+ // A client that leaves aborts the request, so streams it opened stop.
93
+ const left = new AbortController();
94
+ const check = () => {
95
+ if (incoming.socket.destroyed) left.abort();
96
+ };
97
+ outgoing.once("close", () => left.abort());
98
+ check();
99
+ try {
100
+ const result = await handle(webRequest(incoming, left.signal), incoming.socket.remoteAddress?.replace(/^::ffff:/, ""));
101
+ check();
102
+ const head = Object.fromEntries(result.headers.entries());
103
+ const cookies = result.headers.getSetCookie();
104
+ if (cookies.length) head["set-cookie"] = cookies;
105
+ outgoing.writeHead(result.status, head);
106
+ // Streamed pages send each section as it is ready.
107
+ if (result.body) await pipeline(Readable.fromWeb(result.body), outgoing).catch(() => {});
108
+ else outgoing.end();
109
+ } catch (error) {
110
+ if (outgoing.headersSent) return void outgoing.destroy();
111
+ const explicit = typeof error === "object" && error && "status" in error;
112
+ if (!explicit) console.error("coder server: request failed", error);
113
+ const message = explicit ? error instanceof Error ? error.message : String(error) : "Internal server error";
114
+ outgoing.writeHead(explicit ? Number(error.status) : 500, { "content-type": "application/json" });
115
+ outgoing.end(JSON.stringify({ error: message }));
116
+ }
117
+ };
118
+ }
119
+ export async function limitBody(req, limit) {
120
+ if (req.method === "GET" || req.method === "HEAD" || !req.body) return req;
121
+ try {
122
+ const body = await readLimited(req.body, req.headers.get("content-length") ?? undefined, limit);
123
+ return new Request(req.url, {
124
+ method: req.method,
125
+ headers: req.headers,
126
+ body: body.byteLength ? Buffer.from(body) : undefined,
127
+ signal: req.signal
128
+ });
129
+ } catch (error) {
130
+ if (error.status === 413) return new Response("Payload too large", { status: 413 });
131
+ throw error;
132
+ }
133
+ }
134
+ export function withCookies(response, cookies = []) {
135
+ if (!cookies.length) return response;
136
+ const headers = new Headers(response.headers);
137
+ for (const cookie of cookies) headers.append("set-cookie", cookie);
138
+ return new Response(response.body, {
139
+ status: response.status,
140
+ statusText: response.statusText,
141
+ headers
142
+ });
143
+ }
144
+ export function untilSent(response, end) {
145
+ const reader = response.body.getReader();
146
+ const body = new ReadableStream({
147
+ async pull(controller) {
148
+ try {
149
+ const { done, value } = await reader.read();
150
+ if (done) {
151
+ end();
152
+ controller.close();
153
+ } else controller.enqueue(value);
154
+ } catch (error) {
155
+ end();
156
+ controller.error(error);
157
+ }
158
+ },
159
+ cancel(reason) {
160
+ end();
161
+ return reader.cancel(reason);
162
+ }
163
+ });
164
+ return new Response(body, response);
165
+ }
@@ -0,0 +1,11 @@
1
+ import { createHash, timingSafeEqual } from "node:crypto";
2
+ /** Constant-time comparison of two strings or byte buffers; different lengths are unequal. */
3
+ export function safeEqual(a, b) {
4
+ const left = typeof a === "string" ? Buffer.from(a) : a;
5
+ const right = typeof b === "string" ? Buffer.from(b) : b;
6
+ return left.length === right.length && timingSafeEqual(left, right);
7
+ }
8
+ export const sha256 = (value) => createHash("sha256").update(value).digest("base64url");
9
+ export const encodeJson = (value) => Buffer.from(JSON.stringify(value)).toString("base64url");
10
+ /** Throws on input that is not base64url JSON. */
11
+ export const decodeJson = (value) => JSON.parse(Buffer.from(value, "base64url").toString("utf8"));
@@ -0,0 +1 @@
1
+ "use client";import{a as u}from"./list-662f042656857c82.js";import"./confirm-14d018653fbe50fc.js";import"./shared-init-96225b8c7758de9d.js";import"./shared-init-96225b8c7758de9d.js";import"./shared-init-abd7653140f37a0c.js";import"./shared-init-abd7653140f37a0c.js";import{$1o as h}from"./shared-init-abd7653140f37a0c.js";import"./wular-pnext-3fcac605fffcc273-0.js";import"./shared-init-abd7653140f37a0c.js";import{$3Q as e,$3R as p,$3v as d}from"./shared-init-abd7653140f37a0c.js";import"./shared-init-3fcac605fffcc273-2.js";import"./shared-init-3fcac605fffcc273-2.js";import{$2h as c}from"./shared-init-3fcac605fffcc273-2.js";function T({first:f,admin:r}){let n=u(f.config),o=n.value.network?.allowedHosts??[],[l,a]=c(""),i=t=>n.patch({network:{allowedHosts:t}});return e(h,{look:"filled",title:"Network",children:[e("p",{class:"body muted",children:"Hosts tasks reach without review, with their subdomains."}),e("div",{class:"hosts",children:[o.map(t=>e("span",{class:"host mono",children:[t,r?e("button",{type:"button","aria-label":`Remove ${t}`,onClick:()=>void i(o.filter(s=>s!==t)),children:e(p,{d})}):null]},t)),r?e("input",{class:"mono",value:l,onInput:t=>a(t.currentTarget.value),onKeyDown:t=>{let s=l.trim();t.key!=="Enter"||!s||(t.preventDefault(),a(""),o.includes(s)||i([...o,s]))},placeholder:o.length?"Add a host, then Enter":"registry.npmjs.org, then Enter","aria-label":"Add a host",autocomplete:"off",spellcheck:!1}):null]}),e("label",{class:"hosts-switch",children:[e("input",{type:"checkbox",role:"switch",class:"switch",checked:n.value.network?.readOnlyTasks??!1,disabled:!r,onChange:t=>void n.patch({network:{readOnlyTasks:t.currentTarget.checked}})}),"Read-only tasks reach these hosts too"]})]})}export{T as AdvancedList};
@@ -0,0 +1,2 @@
1
+ import{$0E as b}from"./shared-init-abd7653140f37a0c.js";import{$1g as h,$1i as m,$1j as f,$1k as n}from"./shared-init-abd7653140f37a0c.js";import{$3Q as r,$3R as a,$3t as l}from"./shared-init-abd7653140f37a0c.js";import{$2c as u,$2n as g}from"./shared-init-3fcac605fffcc273-2.js";var k=(e,o)=>e.replace(/\bid="([^"]+)"/g,`id="$1${o}"`).replace(/url\(#([^)]+)\)/g,`url(#$1${o})`).replace(/href="#([^"]+)"/g,`href="#$1${o}"`);function y({brand:e}){let o=g().replace(/[^a-zA-Z0-9_-]/g,"");return e.svg?r("span",{class:"brand-icon","aria-hidden":"true",dangerouslySetInnerHTML:{__html:k(e.svg,`-${o}`)}}):r("svg",{class:"brand-icon",width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true",style:{color:e.dark?`light-dark(${e.color}, ${e.dark})`:e.color},children:r("path",{d:e.icon})})}function B({id:e,info:o,state:s}){let i=o?.name??e;return r("span",{class:`pf ${s}`,children:[o?r(y,{brand:o.brand}):null,i]})}function S({platforms:e,catalog:o,agent:s}){let i=e.length>=m?f:e.length,c=({id:t,state:I},d)=>{let p=r(B,{id:t,info:o.find(L=>L.id===t),state:I});return s?r(b,{class:d,href:"/dash/[org]/agents/[slug]/platforms",params:{slug:s},children:p},t):r("span",{class:d,children:p},t)};return r("span",{class:"pfs",children:[e.slice(0,i).map(t=>c(t)),e.length>i?r(h,{label:`+${e.length-i}`,children:e.map(t=>c(t,"pf-row"))}):null]})}var R={builtin:"built-in",upload:"dashboard",repo:"repository",home:"local"};function w(){return r(n,{tone:"warn",title:"Disabled in this workspace",children:"disabled"})}function E({agent:e,fix:o}){return r(u,{children:[e.source==="repo"&&e.repo?e.sourceUrl?r(n,{class:"link-pill",href:e.sourceUrl,external:!0,title:`Repository agent, opens ${e.repo}`,children:[r(a,{d:l}),e.repo]}):r(n,{class:"link-pill",title:"Repository agent",children:[r(a,{d:l}),e.repo]}):r(n,{tone:e.source==="builtin"?"acc":void 0,title:e.local&&e.source==="repo"?"Repo agent, a folder in this repository":e.source==="home"?"Local agent, a folder on this machine":e.source!=="upload"?"Ships with Coder":e.local?"Local agent, a folder on this machine":"Dashboard agent, made and edited here",children:e.local&&e.source==="upload"?"local":R[e.source]??e.source}),e.local?e.commit&&r(n,{title:"Last commit of the agent's folder",children:e.commit.slice(0,7)}):r(n,{children:["v",e.currentVersion]}),e.settings?.disabled?r(w,{}):null,e.problems?.length?r(n,{tone:"bad",title:e.problems.join(`
2
+ `),...o,children:"not running"}):null]})}export{y as a,S as b,w as c,E as d};
@@ -0,0 +1 @@
1
+ "use client";import{a as ne}from"./chain-hint-491eb09a20a15702.js";import{a as Z}from"./agent-pills-54564413a57d7fa7.js";import{a as ee}from"./agent-toggle-b5dcc4ea6292fb3d.js";import{$0c as X}from"./shared-init-96cde32cd50254c0.js";import{d as H,h as R,l as W}from"./model-options-5e07b3318d69d218.js";import{b as I,c as Y}from"./types-3eca2c7f47c46054.js";import{a as K}from"./confirm-14d018653fbe50fc.js";import{a as f}from"./field-adcb6e6a5f9b7131.js";import{$0b as F}from"./shared-init-96225b8c7758de9d.js";import"./shared-init-96225b8c7758de9d.js";import{$2m as J}from"./shared-init-abd7653140f37a0c.js";import{$0D as G,$0a as _,$0v as z,$0z as w}from"./shared-init-abd7653140f37a0c.js";import{$1c as P}from"./shared-init-abd7653140f37a0c.js";import"./wular-pnext-3fcac605fffcc273-0.js";import"./shared-init-abd7653140f37a0c.js";import{$3Q as e,$3S as D,$3b as y}from"./shared-init-abd7653140f37a0c.js";import"./shared-init-3fcac605fffcc273-2.js";import"./shared-init-3fcac605fffcc273-2.js";import{$2c as b,$2h as d,$2k as V,$2l as Q}from"./shared-init-3fcac605fffcc273-2.js";function Ie({agent:t,catalog:te,shape:k,runners:$,connections:q}){let se=_(),p=G(),[m,x]=d("run"),B=F({refresh:!0}),N=F({leaves:!0}),oe=!!B.pending,[S,ae]=d(""),[h,ie]=d(),[le,A]=d(!1),O=Q(null),l=t.settings??{},[C,re]=d(l.model?.includes("/")?l.model:[l.engine,l.model,l.effort].filter(Boolean).join("/")),[E,ce]=d(l.connections?"some":""),L=t.definition?.integrations??{},g=Object.keys(L).sort(),T=t.definition,j=t.source!=="builtin";V(()=>{let n=S.trim().toLowerCase(),o=[];O.current.querySelectorAll(".vpanel").forEach(i=>{let a=!1;i.querySelectorAll(".field").forEach(s=>{let r=[...s.querySelectorAll("input")].map(v=>v.value).join(" "),c=s.closest(".vplatform")?.querySelector("h3")?.textContent??"",u=!n||`${c} ${s.textContent} ${r}`.toLowerCase().includes(n);s.hidden=!u,a||=u}),i.querySelectorAll(".vplatform").forEach(s=>{s.hidden=!s.querySelector(".field:not([hidden])")}),a&&o.push(i.dataset.panel)}),ie(n?o:void 0),n&&o.length&&!o.includes(m)&&x(o[0])},[S]);let de=()=>void N.run("delete",async()=>{await P.agents.remove(t.id),se.push("/dash/[org]/agents",{params:{org:p}})}).then(n=>n||A(!1)),M=(n,o)=>e("button",{type:"button","aria-current":m===n?"true":void 0,class:h&&!h.includes(n)?"miss":void 0,onClick:()=>x(n),children:o});return e("form",{ref:O,class:"vsettings card frame",onSubmit:async n=>{n.preventDefault();let o=new FormData(n.currentTarget),i=c=>String(o.get(c)??"").trim(),a={};i("runner")&&(a.runner=i("runner")),i("access")!==(T?.access??"auto")&&(a.access=i("access")),C.trim()&&(a.model=C.trim()),E&&(a.connections=o.getAll("connection").map(String));for(let c of g){let u={},v=I(L[c]?.events),U=o.getAll(`event:${c}`).map(String);v.length&&U.length<v.length&&(u.allowedEvents=U),Object.keys(u).length&&((a.integrations??={})[c]=u)}t.settings?.disabled&&(a.disabled=!0);let s;await B.run("save",async()=>{({warning:s}=await P.agents.settings(t.id,a))})&&J("Saved",s??"New tasks use these settings.",s?"warning":"success")},children:[e("nav",{class:"tabs vertical","aria-label":"Settings sections",children:[e("p",{class:"tabs-label",children:"Runtime"}),M("run","How it runs"),g.length?M("platforms","Platforms"):null,e("p",{class:"tabs-label",children:"Agent"}),M("manage","Manage")]}),e("div",{class:"vbody",children:[e("div",{class:"vsearch",children:[e(z,{value:S,label:"Search settings",onInput:ae}),h&&!h.length?e("span",{class:"muted",children:"No setting matches."}):null]}),e("section",{class:"vpanel","data-panel":"run",hidden:m!=="run",children:[e("h2",{children:"How it runs"}),e("p",{class:"muted",children:"Anything left empty follows the agent's own definition, then the workspace chain."}),e("div",{class:"fields",children:[e(f,{label:"Model",hint:e(ne,{org:p,own:t.definition?.model&&R(t.definition.model,k.builtin)}),group:!0,children:e(X,{shape:k,empty:t.definition?.model?{label:`Its own, ${R(t.definition.model,k.builtin)}`,sub:"from agent.json"}:W(),value:C,onChange:re})}),e(f,{label:"Access",hint:"what its tasks, platforms and connections may do",group:!0,children:e(w,{name:"access",label:"Access",defaultValue:l.access??T?.access??"auto",options:T?.access==="read-only"?H.filter(([n])=>n==="read-only"):H})}),$.length>1?e(f,{label:"Runs on",group:!0,children:e(w,{name:"runner",label:"Runs on",defaultValue:l.runner??"",options:$})}):null,e(f,{label:"Connections",hint:"which workspace connections its tasks can use",group:!0,children:e(w,{label:"Connections",value:E,options:[["","Every workspace connection"],["some","Only the ones picked"]],onChange:ce})}),E?e("div",{class:"field picked",children:[e("span",{children:["Picked connections ",e("small",{children:"tasks can use only these"})]}),q.length?e("div",{class:"checks",children:q.map(n=>e("label",{class:"check",children:[e("input",{type:"checkbox",name:"connection",value:n.id,defaultChecked:l.connections?.includes(n.id)}),n.name]},n.id))}):e("span",{class:"muted",children:["This workspace has no connections yet."," ",e(y,{class:"link",href:"/dash/[org]/settings/[tab]",params:{org:p,tab:"connections"},children:"Add one in Settings"})]})]}):null]})]}),g.length?e("section",{class:"vpanel","data-panel":"platforms",hidden:m!=="platforms",children:[e("h2",{children:"Platforms"}),e("p",{class:"muted",children:["Turn events off for this workspace."," ",Y(t)?e(b,{children:["To add an event or a platform,"," ",e(y,{href:"/dash/[org]/agents/[slug]/edit",params:{org:p,slug:t.id},search:{section:"platforms"},children:["edit ",t.name]}),"."]}):t.source==="repo"?e(b,{children:[t.name," comes from ",t.repo??"a repository","; add an event or a platform in its"," ",t.sourceUrl?e("a",{href:t.sourceUrl,target:"_blank",rel:"noreferrer",children:"agent.json"}):"agent.json"," ","there."]}):e(b,{children:[t.name," is built in, so its events and platforms ship with Coder. To listen anywhere else,"," ",e(y,{href:"/dash/[org]/agents/new",params:{org:p},children:"create your own agent"}),"."]})]}),g.map(n=>{let o=l.integrations?.[n]??{},i=I(L[n]?.events),a=o.allowedEvents,s=te.find(r=>r.id===n);return e("div",{class:"vplatform",children:[e("h3",{children:[s?e(Z,{brand:s.brand}):null,s?.name??n]}),i.length?e("div",{class:"field",children:[e("span",{children:["Events"," ",e("small",{children:"the definition's events; turn off any it should ignore here"})]}),e("div",{class:"checks",children:i.map(r=>e("label",{class:"check",children:[e("input",{type:"checkbox",name:`event:${n}`,value:r,defaultChecked:!a||a.includes(r)}),r]},r))})]}):null]},n)})]}):null,e("section",{class:"vpanel","data-panel":"manage",hidden:m!=="manage",children:[e("h2",{children:"Manage"}),e("div",{class:"field row-action",children:[e("span",{children:["Disable agent",e("small",{children:"stops its events and new tasks in this workspace; its apps and tasks stay"})]}),e(ee,{agent:t})]}),e("div",{class:"field row-action",children:[e("span",{children:["Delete agent",e("small",{children:j?"removes it and every version; its tasks and platform apps stay":`${t.name} is built in and cannot be deleted; disable it above instead`})]}),e(D,{variant:"secondary",danger:!0,disabled:!j,onClick:()=>A(!0),children:"Delete agent"})]})]}),m==="manage"?null:e("div",{class:"form-actions save",children:e(D,{type:"submit",loading:oe,children:"Save"})})]}),le?e(K,{open:!0,title:`Delete ${t.name}?`,body:"It stops answering on every platform. This cannot be undone.",confirmLabel:"Delete agent",busy:!!N.pending,onClose:()=>A(!1),onConfirm:de}):null]})}export{Ie as AgentSettingsForm};
@@ -0,0 +1 @@
1
+ import{$0b as b}from"./shared-init-96225b8c7758de9d.js";import{$1c as r}from"./shared-init-abd7653140f37a0c.js";import{$3Q as s,$3S as c}from"./shared-init-abd7653140f37a0c.js";import{$2h as g}from"./shared-init-3fcac605fffcc273-2.js";function A({agent:o,link:u}){let i=b({refresh:!0}),e=!!i.pending,t=!!o.settings?.disabled,[l,m]=g({saved:t,disabled:t}),n=l.saved===t?l.disabled:t,a=()=>void i.run("toggle",async()=>{await r.agents.settings(o.id,{...o.settings,disabled:!n}),m({saved:t,disabled:!n})}),d=n?"Enable":"Disable";return u?s("button",{type:"button",class:"link",disabled:e,"aria-busy":e,onClick:a,children:d}):s(c,{variant:"outline",loading:e,onClick:a,children:d})}export{A as a};
@@ -0,0 +1 @@
1
+ "use client";import{a as P,b as R,d as q}from"./agent-pills-54564413a57d7fa7.js";import{a as L}from"./tail-40f16e09eade7eee.js";import{c as N}from"./types-3eca2c7f47c46054.js";import{$1g as k}from"./shared-init-96225b8c7758de9d.js";import{$0D as a,$0t as A,$0u as w,$0v as C,$0w as I,$0x as v}from"./shared-init-abd7653140f37a0c.js";import{$1c as f,$1q as y,$1s as b}from"./shared-init-abd7653140f37a0c.js";import"./wular-pnext-3fcac605fffcc273-0.js";import{$3Q as e,$3T as h,$3b as g,$3c as u}from"./shared-init-abd7653140f37a0c.js";import"./shared-init-3fcac605fffcc273-2.js";import"./shared-init-3fcac605fffcc273-2.js";import{$2c as c}from"./shared-init-3fcac605fffcc273-2.js";function B(){return e(h,{href:"/dash/[org]/agents/new",params:{org:a()},leftIcon:u,children:"New agent"})}function x({agent:t,catalog:i}){let n=a(),o=`/dash/${n}/agents/${encodeURIComponent(t.id)}`,l=N(t)?{href:`${o}/edit?section=platforms`}:t.source==="repo"&&t.sourceUrl?{href:t.sourceUrl,external:!0}:{href:`${o}/settings`};return e("li",{class:"agent-card",children:[e("div",{class:"bc-head",children:[e("span",{class:"mark",children:k(t.name)}),e("div",{class:"grow",children:[e("h3",{children:e(g,{class:"cover",href:"/dash/[org]/agents/[slug]",params:{org:n,slug:t.id},children:t.name})}),e("span",{class:"pills",children:e(q,{agent:t,fix:l})})]})]}),e("div",{class:"lead-clamp",children:e("span",{children:t.problems?.length?t.problems.join(" "):t.description??"No description yet."})}),t.platforms.length?e(R,{platforms:t.platforms,catalog:i,agent:t.id}):e("span",{class:"pfs muted",children:"No handles yet"})]})}var O=[["","All agents"],["dashboard","Dashboard agents"],["repository","Repository agents"],["builtin","Built-in"]];function te({first:t,limit:i,filters:n,catalog:o,head:l,children:K}){let{values:m,set:p,query:S}=w(n),s=b({name:"agents",fetchPage:r=>f.agents.list({cursor:r,limit:i,...m}),query:S,first:t,initial:A(n)});return e(c,{children:[e(I,{head:l,action:e(B,{}),children:[e(C,{value:m.q,label:"Search agents",onInput:r=>p("q",r,250)}),e(v,{name:"agents",facets:[{key:"platform",label:"Platform",options:o.map(r=>[r.id,r.name]),icon:r=>{let d=o.find(T=>T.id===r);return d?e(P,{brand:d.brand}):void 0}},{key:"type",label:"Source",options:O}],values:m,onChange:p})]}),K,s.rows.length?e("ul",{class:"agent-grid","aria-busy":s.stale,children:s.rows.map(r=>e(x,{agent:r,catalog:o},r.id))}):s.stale?null:e(y,{title:"No agents match",children:"Try another search or filter."}),e(L,{noun:"agents",...s})]})}export{te as AgentsGrid};
@@ -1 +1 @@
1
- import{$0B as a,$0z as c}from"./shared-init-c3bd249cf1eca6d1.js";import{$0M as i,$0a as r}from"./shared-init-b281027d465e004f.js";import{$3j as m}from"./shared-init-6e12333f12903a62-2.js";var n="coder-back";function s(o){let t=new RegExp(`(?:^|; )${n}=([^;]*)`).exec(o)?.[1];try{let e=t&&JSON.parse(decodeURIComponent(t));return e&&typeof e.path=="string"&&e.path.startsWith("/dash/")?e:null}catch{return null}}function x({label:o,children:t,...e}){let p=()=>{let l=encodeURIComponent(JSON.stringify({path:location.pathname,label:o}));document.cookie=`${n}=${l}; path=/dash; max-age=600; samesite=lax`};return r(i,{...e,href:"/dash/[org]/settings/[tab]",params:{org:a(),tab:"credentials"},onClick:p,children:t})}function B({initial:o}){let t=a(),e=typeof document>"u"?o:s(document.cookie);return m(()=>()=>void setTimeout(()=>{location.pathname.split("/")[3]!=="settings"&&(document.cookie=`${n}=; path=/dash; max-age=0`)}),[]),e?r(c,{href:"/dash/[org]",params:{org:t},label:"Back",back:e.path,named:e.label}):null}export{x as a,B as b};
1
+ import{$0B as c,$0D as a}from"./shared-init-abd7653140f37a0c.js";import{$3Q as r,$3T as i}from"./shared-init-abd7653140f37a0c.js";import{$2j as m}from"./shared-init-3fcac605fffcc273-2.js";var n="coder-back";function s(o){let t=new RegExp(`(?:^|; )${n}=([^;]*)`).exec(o)?.[1];try{let e=t&&JSON.parse(decodeURIComponent(t));return e&&typeof e.path=="string"&&e.path.startsWith("/dash/")?e:null}catch{return null}}function x({label:o,children:t,...e}){let p=()=>{let l=encodeURIComponent(JSON.stringify({path:location.pathname,label:o}));document.cookie=`${n}=${l}; path=/dash; max-age=600; samesite=lax`};return r(i,{...e,href:"/dash/[org]/settings/[tab]",params:{org:a(),tab:"credentials"},onClick:p,children:t})}function B({initial:o}){let t=a(),e=typeof document>"u"?o:s(document.cookie);return m(()=>()=>void setTimeout(()=>{location.pathname.split("/")[3]!=="settings"&&(document.cookie=`${n}=; path=/dash; max-age=0`)}),[]),e?r(c,{href:"/dash/[org]",params:{org:t},label:"Back",back:e.path,named:e.label}):null}export{x as a,B as b};
@@ -0,0 +1 @@
1
+ import{$3Q as n,$3R as e,$3b as o,$3q as s}from"./shared-init-abd7653140f37a0c.js";import{$2c as r}from"./shared-init-3fcac605fffcc273-2.js";var f=({org:t,own:i})=>i?n(r,{children:[i," from agent.json, unless picked here"]}):n(r,{children:[n(o,{class:"link",href:"/dash/[org]/settings/[tab]",params:{org:t,tab:"models"},children:["default chain",n(e,{d:s})]})," ","unless picked here"]});export{f as a};
@@ -1 +1 @@
1
- import{$0m as E,$0w as M,$0y as S}from"./shared-init-c3bd249cf1eca6d1.js";import{$0a as r}from"./shared-init-b281027d465e004f.js";import{$3c as L,$3h as u,$3k as $,$3l as d,$3n as C}from"./shared-init-6e12333f12903a62-2.js";var H=50;function F({label:m,name:D,class:I,options:g,placeholder:O,value:f,onChange:k,onOpen:y}){let[T,o]=u(!1),[A,a]=u(!1),[l,c]=u(0),h=d(null),p=d(null),i=C(),w=A?f.trim().toLowerCase():"",s=(w?g.filter(e=>e.toLowerCase().includes(w)):g).slice(0,H),n=T&&s.length>0,b=e=>{let t=s[e];t&&k(t),o(!1),a(!1)},v=M(h,p,n,360,[s.length]);return $(()=>{n&&p.current?.querySelector(`[data-index="${l}"]`)?.scrollIntoView({block:"nearest"})},[n,l,v]),r(L,{children:[r("input",{ref:h,name:D,class:I,role:"combobox","aria-label":m,"aria-autocomplete":"list","aria-expanded":n,"aria-controls":`${i}-list`,"aria-activedescendant":n?`${i}-${l}`:void 0,autocomplete:"off",placeholder:O,value:f,onInput:e=>{k(e.currentTarget.value),a(!0),c(0),o(!0)},onFocus:()=>{a(!1),o(!0),y?.()},onClick:()=>{o(!0),y?.()},onBlur:()=>{o(!1),a(!1)},onKeyDown:e=>{if(n){if(e.key==="ArrowDown")c((l+1)%s.length);else if(e.key==="ArrowUp")c((l-1+s.length)%s.length);else if(e.key==="Enter")b(l);else if(e.key==="Escape")o(!1);else return;e.preventDefault()}}}),n?r(S,{id:i,label:m,listRef:p,place:v,children:s.map((e,t)=>r(E,{id:`${i}-${t}`,"data-index":t,active:t===l,selected:e===f,check:!0,onPointerMove:()=>t!==l&&c(t),onClick:()=>b(t),children:e},e))}):null]})}export{F as a};
1
+ import{$0A as S,$0n as E,$0y as M}from"./shared-init-abd7653140f37a0c.js";import{$3Q as r}from"./shared-init-abd7653140f37a0c.js";import{$2c as L,$2h as u,$2k as $,$2l as d,$2n as C}from"./shared-init-3fcac605fffcc273-2.js";var H=50;function F({label:m,name:D,class:I,options:g,placeholder:O,value:f,onChange:k,onOpen:y}){let[T,o]=u(!1),[A,a]=u(!1),[l,c]=u(0),h=d(null),p=d(null),i=C(),w=A?f.trim().toLowerCase():"",s=(w?g.filter(e=>e.toLowerCase().includes(w)):g).slice(0,H),n=T&&s.length>0,b=e=>{let t=s[e];t&&k(t),o(!1),a(!1)},v=M(h,p,n,360,[s.length]);return $(()=>{n&&p.current?.querySelector(`[data-index="${l}"]`)?.scrollIntoView({block:"nearest"})},[n,l,v]),r(L,{children:[r("input",{ref:h,name:D,class:I,role:"combobox","aria-label":m,"aria-autocomplete":"list","aria-expanded":n,"aria-controls":`${i}-list`,"aria-activedescendant":n?`${i}-${l}`:void 0,autocomplete:"off",placeholder:O,value:f,onInput:e=>{k(e.currentTarget.value),a(!0),c(0),o(!0)},onFocus:()=>{a(!1),o(!0),y?.()},onClick:()=>{o(!0),y?.()},onBlur:()=>{o(!1),a(!1)},onKeyDown:e=>{if(n){if(e.key==="ArrowDown")c((l+1)%s.length);else if(e.key==="ArrowUp")c((l-1+s.length)%s.length);else if(e.key==="Enter")b(l);else if(e.key==="Escape")o(!1);else return;e.preventDefault()}}}),n?r(S,{id:i,label:m,listRef:p,place:v,children:s.map((e,t)=>r(E,{id:`${i}-${t}`,"data-index":t,active:t===l,selected:e===f,check:!0,onPointerMove:()=>t!==l&&c(t),onClick:()=>b(t),children:e},e))}):null]})}export{F as a};
@@ -0,0 +1 @@
1
+ import{a as ne,b as ze,c as We,d as Je,f as Xe}from"./composer-data-b05f3d93fdc472d7.js";import{m as qe}from"./task-396d849e58e50d59.js";import{a as Ie}from"./connect-repositories-5118edc019fc7890.js";import{$1a as Ge}from"./shared-init-96cde32cd50254c0.js";import{$0a as Ke,$0b as Ue}from"./shared-init-96cde32cd50254c0.js";import{c as He,d as je,h as oe}from"./model-options-5e07b3318d69d218.js";import{$0a as H,$0b as Fe}from"./shared-init-96225b8c7758de9d.js";import{$1h as $}from"./shared-init-96225b8c7758de9d.js";import{a as Qe}from"./back-ba5e4340a9f8bbd2.js";import{$2o as Be}from"./shared-init-abd7653140f37a0c.js";import{$0D as De,$0a as ve,$0c as Me,$0k as Te,$0m as ee,$0n as Ae,$0o as E,$0p as Ne,$0r as Pe,$0s as I,$0z as te}from"./shared-init-abd7653140f37a0c.js";import{$1c as b,$1r as xe}from"./shared-init-abd7653140f37a0c.js";import{$3B as Re,$3G as Le,$3J as $e,$3P as Oe,$3Q as t,$3R as F,$3S as _,$3U as Se,$3i as Ce,$3v as Ee}from"./shared-init-abd7653140f37a0c.js";import{$2c as y,$2h as f,$2j as B,$2k as ye,$2l as w,$2n as Z}from"./shared-init-3fcac605fffcc273-2.js";var ht=(a,r)=>[...a.split("/").filter(s=>!He.some(([l])=>l===s)),r].join("/"),j="coder:draft",Ve="+connect",Ye="+refresh",re="+other",se="+pick",ie="+clone",bt=/^\/(flow)(?:\s+(\S+))?\s*([\s\S]*)$/,wt=(a,r,s)=>[["",a],...[...new Set([r,...s])].filter(Boolean).map(l=>[l,l])],Ze=(a,r,s)=>{let l=[...a.recent,...r].map(u=>u.path);return[["","No folder"],...[...new Set([...l,s])].filter(u=>u&&u!==a.current.path).map(u=>[u,qe(u)]),a.picker?[se,"Choose\u2026"]:[re,"Type a path\u2026"],[ie,"Repository\u2026"]]};function _e({label:a,options:r,value:s,onPick:l}){let u=`${Z()}-pick`;return t(Pe,{children:[t(Te,{title:r.find(([d])=>d===s)?.[1]??r[0]?.[1],"aria-label":a,"data-keep":!0,popovertarget:u}),t("button",{type:"button",class:"pop-chev","data-keep":!0,popovertarget:u,"aria-label":`${a} options`,children:t(F,{d:Ce})}),t(I,{id:u,class:"pop-flyout",popover:"auto",role:"group","aria-label":a,onBeforeToggle:Ue,children:r.map(([d,m])=>t(ee,{on:d===s,onPick:()=>l(d),children:m},d))})]})}function kt(a){let r=a.currentTarget,s=document.querySelector(`[popovertarget="${r.id}"]`)?.getBoundingClientRect();if(a.newState!=="open"||!s)return;let l=Math.round(s.bottom+6);r.style.top=`${l}px`,r.style.right=`${Math.round(document.documentElement.clientWidth-s.right)}px`,r.style.maxHeight=`${Math.max(160,window.innerHeight-l-16)}px`}function yt(a){return Object.fromEntries(a.split(/\s+/).filter(Boolean).map(r=>{let s=r.indexOf("="),l=s<0?"true":r.slice(s+1);try{return[s<0?r:r.slice(0,s),JSON.parse(l)]}catch{return[r.slice(0,s),l]}}))}function vt({id:a,entries:r,active:s,selected:l,onActive:u}){return t(y,{children:r.flatMap((d,m)=>[d.head?t(E,{role:"presentation",children:d.head},`h:${d.key}`):null,t(Ae,{id:`${a}-${m}`,active:m===s,selected:l===void 0?m===s:d.key===l,check:l!==void 0,end:d.hint?t("small",{children:d.hint}):null,onMouseDown:i=>i.preventDefault(),onPointerMove:()=>m!==s&&u(m),onClick:d.pick,children:d.label},d.key)])})}var Mt=(a,r,s,l)=>{let u={ArrowDown:1,ArrowUp:-1}[a.key];return!u||!s?!1:(a.preventDefault(),l((r+u+s)%s),!0)};function Ct({reason:a,label:r}){return t(Ge,{tone:"warning",slim:!0,children:[t(F,{d:$e}),t("span",{class:"grow",children:a||"Tasks need a model credential to run."}),t(Qe,{variant:"outline",size:"sm",label:r,children:"Add credential"})]})}function Et({initial:a,data:r,defaults:s,missing:l,connectLabel:u}){let d=ve(),m=De(),[i,K]=f(()=>We({...ze,...a},r)),[c,R]=f(r),g=w(),[U,ae]=f(!1),[le,et]=f(),[O,q]=f(""),[tt,v]=f(!1),[ot,A]=f(0),[z,nt]=f([]),[M,S]=f(""),[L,ce]=f(!1),ue=w(null),h=w(null),de=w(null),pe=w(null),C=Z();B(()=>void(M&&pe.current?.focus()),[M]),B(()=>{let e=localStorage.getItem(j);e&&h.current&&!h.current.value&&(h.current.value=e),q(h.current?.value??""),N(h.current?.value??""),h.current?.focus(),v(!0)},[]);let N=(e,o=i.repo)=>{!e.startsWith("/")||!o||g.current===o||(g.current=o,b.flows.list(o).then(n=>R(Q=>({...Q,flows:n.map(D=>D.name)}))).catch(n=>console.error("coder dashboard: flows",n)))},W=w(!!r.repos),rt=()=>{W.current||(W.current=!0,b.repositories.list().catch(e=>(console.error("coder dashboard: repositories",e),[])).then(e=>R(o=>({...o,repos:e.map(n=>n.repo)}))))},fe=Fe(),me=!!fe.pending,st=()=>{W.current=!0,fe.run("refresh",async()=>{let e=await b.repositories.refresh();R(o=>({...o,repos:e.map(n=>n.repo)}))})},J=(e,o)=>{if(o===re)return S("path");if(o===ie)return S("url");if(o===se)return void at();if(o===Ye)return me?void 0:st();if(o===Ve)return void Ie(`/dash/${m}/tasks`).catch(H);x({[e]:o}),(e==="repo"||e==="cwd")&&h.current?.focus({preventScroll:!0})},x=e=>{let o={...i,...e};K(o),N(O,o.repo),document.cookie=`compose=${encodeURIComponent(JSON.stringify(o))}; path=/; max-age=31536000; samesite=lax`},X=e=>{if(!e.ok)return H(e.detail);S(""),nt(o=>[...o.filter(n=>n.path!==e.folder.path),e.folder]),J("cwd",e.folder.path===c.folders?.current.path?"":e.folder.path)},it=async e=>{e.trim()&&X(await b.folders.check(e.trim()).catch(o=>({ok:!1,detail:$(o)})))},at=async()=>{document.body.style.cursor="progress";let e=await b.folders.pick().catch(o=>({ok:!1,detail:$(o)}));document.body.style.cursor="",(e.ok||e.detail)&&X(e)},lt=async e=>{if(!e.trim())return;ce(!0),document.body.style.cursor="progress";let o=await b.folders.clone(e.trim()).catch(n=>({ok:!1,detail:$(n)}));document.body.style.cursor="",ce(!1),X(o)},ge=e=>{let o=h.current;o.value=e,localStorage.setItem(j,e),q(e),N(e),A(0),v(!1),o.focus(),o.setSelectionRange(e.length,e.length)},G=async()=>{let e=h.current?.value.trim()??"";if(U||L||c.agentsOff||!e)return;let[,o,n="",Q=""]=bt.exec(e)??[];if(o&&!n)return void v(!1);let{agent:D,model:dt,effort:V,access:we,runner:pt}=i,[ft,mt]=c.folders?["",i.cwd]:[i.repo,""],Y=dt||(V?s.chain[0]:""),ke=Object.fromEntries(Object.entries({repo:ft,cwd:mt,model:Y&&V?ht(Y,V):Y,access:we==="auto"?"":we,runner:pt}).filter(([,k])=>k));ae(!0);try{let k=o==="flow"?await b.flows.run(n,{...ke,agent:D,args:yt(Q)}):await b.tasks.create({...ke,agent:D,prompt:e});localStorage.removeItem(j),Be(k.task.id,"queued",e),d.push("/dash/[org]/tasks/[id]",{params:{org:m,id:k.task.id}})}catch(k){ae(!1),k.status===409?et($(k)):H(k)}},p=(()=>{let e=/^\/(\S*)$/.exec(O)?.[1]?.toLowerCase();if(e!==void 0)return{label:"Commands",entries:[...c.flows.map(n=>({key:`flow ${n}`,label:`/flow ${n}`,hint:`Run the ${n} flow`,pick:()=>ge(`/flow ${n} `)}))].filter(n=>n.key.includes(e)),note:"No command matches."};let o=/^\/flow\s+(\S*)$/.exec(O)?.[1];if(o!==void 0)return{label:"Flows",entries:c.flows.filter(n=>n.includes(o)).map(n=>({key:n,label:n,hint:`Run the ${n} flow`,pick:()=>n===o?void G():ge(`/flow ${n} `)})),note:"No flow matches."}})(),T=!!(p&&!tt),P=p?Math.min(ot,Math.max(0,p.entries.length-1)):0;ye(()=>{let e=de.current;if(!e)return;if(!T)return void(e.matches(":popover-open")&&e.hidePopover());let o=()=>{let n=ue.current.getBoundingClientRect();e.style.top=`${Math.round(n.bottom+6)}px`,e.style.left=`${Math.round(n.left)}px`,e.style.width=`${Math.round(Math.min(n.width,460))}px`};return o(),e.matches(":popover-open")||e.showPopover(),addEventListener("scroll",o,!0),addEventListener("resize",o),()=>{removeEventListener("scroll",o,!0),removeEventListener("resize",o)}},[T,O]);let ct=s.chain[0]??"",he=c.agents.some(([e])=>e===i.agent)?c.agents:[...c.agents,[i.agent,i.agent]],ut=[[i.model||oe(ct,s.builtin),!!i.model],[i.effort,!!i.effort],[i.access,i.access!=="auto"]].filter(([e])=>e),be=[i.agent!==c.defaultAgent&&i.agent,i.runner&&(c.runners.find(([e])=>e===i.runner)?.[1]??i.runner)].filter(Boolean).join(" \xB7 ");return t(y,{children:[t("form",{ref:ue,class:"composer",onSubmit:e=>{e.preventDefault(),G()},children:[t("textarea",{ref:h,name:"prompt",rows:1,role:"combobox","aria-label":"What should the agent do?","aria-autocomplete":"list","aria-expanded":T,"aria-controls":`${C}-slash`,"aria-activedescendant":T&&p?.entries.length?`${C}-slash-${P}`:void 0,placeholder:ne,autofocus:!0,onFocus:()=>v(!1),onBlur:()=>v(!0),onInput:e=>{let o=e.currentTarget.value;localStorage.setItem(j,o),q(o),N(o),A(0),v(!1)},onKeyDown:e=>{if(!e.isComposing){if(T&&p){if(Mt(e,P,p.entries.length,A))return;if(e.key==="Escape")return e.preventDefault(),v(!0);if(p.entries.length&&(e.key==="Enter"&&!e.shiftKey||e.key==="Tab"))return e.preventDefault(),p.entries[P].pick()}e.key!=="Enter"||e.shiftKey||(e.preventDefault(),G())}}}),t("div",{class:"composer-line",children:[c.folders?M?t(y,{children:[t("input",{class:"folder-path","aria-label":M==="url"?"Repository URL":"Folder path",ref:pe,placeholder:M==="url"?"https://github.com/owner/repo":"Absolute path or ~/\u2026",readOnly:L,"aria-busy":L,onKeyDown:e=>{if(L)return e.preventDefault();if(e.key==="Escape")return e.preventDefault(),S("");e.key!=="Enter"||e.isComposing||(e.preventDefault(),(M==="url"?lt:it)(e.currentTarget.value))},onBlur:e=>!L&&!e.currentTarget.value.trim()&&S("")}),L?t("span",{class:"folder-busy",children:"Cloning\u2026"}):null]}):t("span",{class:"folder",title:i.cwd||c.folders.current.path,children:t(te,{label:"Folder",value:i.cwd,options:Ze(c.folders,z,i.cwd),subs:Object.fromEntries(Ze(c.folders,z,i.cwd).flatMap(([e])=>e&&e!==re&&e!==se&&e!==ie?[[e,z.find(o=>o.path===e)?.url??e]]:[])),onChange:e=>J("cwd",e)})}):t(te,{label:"Repository",value:i.repo,options:[...wt("No repository",i.repo,c.repos??[]),[Ye,me?"Refreshing repositories\u2026":"Refresh repositories"],[Ve,u]],onChange:e=>J("repo",e),onFocus:rt}),t("button",{type:"button",class:"quiet",popovertarget:`${C}-settings`,"aria-label":"Run options",title:"Model, effort, access and more",children:[t(F,{d:Oe}),t("span",{class:"run-picks",children:ut.map(([e,o],n)=>t("span",{class:o?void 0:"dim",children:n?` \xB7 ${e}`:e},n))}),be?t("span",{children:be}):null]}),t(_,{type:"submit",size:"sm",class:"send",leftIcon:Le,disabled:!O.trim()||c.agentsOff,loading:U,"aria-label":U?"Starting task":"Start task",title:"Start task (Enter)"})]}),c.agentsOff?t("small",{class:"folder-hint",children:"Every agent here is disabled. Enable one in its settings to start tasks."}):null,M==="url"?t("small",{class:"folder-hint",children:"Uses this machine's git logins"}):null,t(I,{id:`${C}-settings`,class:"composer-settings",popover:"auto",onBeforeToggle:kt,children:[t(E,{children:"Model"}),t(Ke,{groups:c.models,first:{label:`Default: ${s.chain.map(e=>oe(e,s.builtin)).join(", then ")}`,efforts:!0},model:i.model,effort:i.effort,onPick:(e,o)=>{x({model:e,effort:o}),document.getElementById(`${C}-settings`)?.hidePopover()}}),t(E,{children:"Access"}),t("div",{role:"group","aria-label":"Access",children:je.map(([e,o])=>t(ee,{on:i.access===e,onPick:()=>x({access:e}),children:o},e))}),he.length>1?t(y,{children:[t(E,{children:"Agent"}),t(_e,{label:"Agent",options:he,value:i.agent,onPick:e=>x({agent:e})})]}):null,c.runners.length>1?t(y,{children:[t(E,{children:"Runs on"}),t(_e,{label:"Runs on",options:c.runners,value:i.runner,onPick:e=>x({runner:e})})]}):null]}),t(I,{panelRef:de,id:`${C}-slash`,class:"composer-slash",popover:"manual",role:"listbox","aria-label":p?.label??"Commands",children:p?t(y,{children:[t(E,{children:p.label}),t(vt,{id:`${C}-slash`,entries:p.entries,active:P,onActive:A}),p.note==="loading"?t(xe,{label:"Loading pull requests",inline:!0}):p.note&&!p.entries.length?t(Ne,{children:p.note}):null]}):null})]}),le===void 0||l?null:t(Ct,{reason:le})]})}function Rt(){return t("div",{class:"composer","aria-hidden":"true",children:[t("textarea",{rows:1,disabled:!0,tabIndex:-1,placeholder:ne}),t("div",{class:"composer-line"})]})}function Yt({agent:a}){let r=w(null),[s,l]=f(),[u,d]=f(""),[m,i]=f(!1),K=w(),c=()=>{i(!0),r.current?.showModal(),K.current??=Xe(b).then(l,g=>d($(g)))},R=Me().has("new");return B(()=>{if(!R)return;let g=new URL(location.href);g.searchParams.delete("new"),history.replaceState(history.state,"",g),c()},[R]),t(y,{children:[t(_,{class:"new-task",leftIcon:Re,onClick:c,children:"New task"}),t("dialog",{ref:r,class:"compose-dialog","aria-label":a?`New task for ${a}`:"New task",onClose:()=>i(!1),onClick:g=>g.target===g.currentTarget&&r.current?.close(),children:[t("header",{children:[t("h2",{children:"New task"}),a?t("span",{class:"sub",children:a}):null,t(Se,{icon:Ee,label:"Close",onClick:()=>r.current?.close()})]}),m?s?t(Et,{...s,initial:{...Je(document.cookie),...a?{agent:a}:{}}}):u?t("p",{class:"flash err",role:"alert",children:u}):t(Rt,{}):null]})]})}export{ht as a,Ct as b,Yt as c};
@@ -0,0 +1 @@
1
+ "use client";import{a,b,c}from"./composer-198b844da57b82a3.js";import"./composer-data-b05f3d93fdc472d7.js";import"./task-396d849e58e50d59.js";import"./connect-repositories-5118edc019fc7890.js";import"./shared-init-96cde32cd50254c0.js";import"./shared-init-96cde32cd50254c0.js";import"./model-options-5e07b3318d69d218.js";import"./types-3eca2c7f47c46054.js";import"./shared-init-96225b8c7758de9d.js";import"./shared-init-96225b8c7758de9d.js";import"./back-ba5e4340a9f8bbd2.js";import"./shared-init-abd7653140f37a0c.js";import"./shared-init-abd7653140f37a0c.js";import"./shared-init-abd7653140f37a0c.js";import"./wular-pnext-3fcac605fffcc273-0.js";import"./shared-init-abd7653140f37a0c.js";import"./shared-init-3fcac605fffcc273-2.js";import"./shared-init-3fcac605fffcc273-2.js";import"./shared-init-3fcac605fffcc273-2.js";export{b as NeedsCredential,c as NewTaskButton,a as withEffort};