@wular/coder 0.5.1 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (246) hide show
  1. package/dist/{actions-DO8MvHwc.js → actions-C35tq9KH.js} +2 -2
  2. package/dist/{agent-Cgala63h.js → agent-BZR4Eqdc.js} +1 -1
  3. package/dist/{apps-BORri-28.js → apps-CCqOsEZH.js} +4 -4
  4. package/dist/{async-BS9tyhva.js → async-BP5q3Une.js} +1 -1
  5. package/dist/{auth-C16ylySv.js → auth-CJOm9_Vh.js} +1 -1
  6. package/dist/{chat-czruXAt3.js → chat-BD2Fu3jU.js} +1 -1
  7. package/dist/cli.js +2 -2
  8. package/dist/{cmd-C1gHyVG7.js → cmd-BH1bmZGs.js} +29 -29
  9. package/dist/{connection-CgA5_NJ7.js → connection-DNzNYpha.js} +1 -1
  10. package/dist/{context-C1XBbfEL.js → context-DVGPu7f_.js} +1 -1
  11. package/dist/dash/standalone/server/build-index.json +1 -1
  12. package/dist/dash/standalone/server/manifest.json +1305 -1297
  13. package/dist/dash/standalone/server/modules-server-server-react-server/src/client/{index.91e126d7a389d4bd.js → index.a036e2c6ae93ec75.js} +3 -2
  14. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/api/{load.858c062c7891a2c1.js → load.3e1c235ecb89201a.js} +1 -1
  15. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/create/[id]/{page.9375ab741dc9791e.js → page.182d84c6c82e23ce.js} +3 -3
  16. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/account/{loading.56c14183236be231.js → loading.d336cb9556ff8727.js} +1 -1
  17. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/account/{notify.c36570a56d279ce2.js → notify.62f2ed40b52a8634.js} +1 -1
  18. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/account/{page.13fdd9cc55ad3a52.js → page.ff2419800c956e8d.js} +4 -4
  19. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/account/{sign-out.38a7f39cddc670f7.js → sign-out.e125b18b5682b3eb.js} +2 -2
  20. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/(list)/{agent-menu.5c780867b82081b1.js → agent-menu.eae818909ed5becf.js} +1 -1
  21. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/(list)/{agents-grid.2385ffa8fdad08d6.js → agents-grid.dcc8b20efd8850e6.js} +5 -5
  22. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/(list)/{loading.0130f8533d8f1b1e.js → loading.061efc737835250f.js} +2 -2
  23. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/(list)/{page.5ca6921e50484f8c.js → page.6704febb2a60975e.js} +6 -6
  24. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/{layout.afc4a8a5a8360975.js → layout.32acdff971049f4d.js} +8 -8
  25. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/{page.ba65063a1aa99a62.js → page.1208c1115d309a62.js} +6 -6
  26. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/platforms/{loading.d56ef50b0694f975.js → loading.e4f77e054d5a5f00.js} +2 -2
  27. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/platforms/{page.03c5e72b0fe50ba9.js → page.630dd03a59048b88.js} +14 -14
  28. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/platforms/{platform-actions.7c8c75bd0c05df4a.js → platform-actions.184f6c441ac3d1c7.js} +5 -5
  29. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/platforms/{platform-step.d6a980d1181dc940.js → platform-step.d97e9a2290dbfae3.js} +1 -1
  30. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/settings/{agent-settings-form.b5299f5130a4e8af.js → agent-settings-form.840d93eb2ba648bd.js} +8 -8
  31. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/settings/{loading.2800c65e45a4a1d9.js → loading.707d269a647b6f56.js} +1 -1
  32. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/settings/{page.fad77cea17947d47.js → page.b79c235f7735fc3e.js} +6 -6
  33. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/tasks/{loading.4120e6979eaed441.js → loading.10ca51cc6fb65391.js} +1 -1
  34. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/tasks/{page.474b3524d5ea53b7.js → page.a09314f795d5e740.js} +1 -1
  35. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/usage/{loading.3a615597ca648452.js → loading.10a0ff0d99710f70.js} +2 -2
  36. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/usage/{page.7868a07efcaa26f4.js → page.d88040124d4d2053.js} +4 -4
  37. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/{versions-list.ba93a53773cab8a8.js → versions-list.e6088baf4de7f41e.js} +1 -1
  38. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/edit/{loading.6e53829bd1f3021d.js → loading.5228229c48332ccd.js} +3 -3
  39. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/edit/{page.5798ede8ba8ace97.js → page.c60cf1ea8ede39f6.js} +7 -7
  40. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/platforms/[app]/{app-cards.55778a4b3177846d.js → app-cards.f17ab135e3e31e00.js} +2 -2
  41. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/platforms/[app]/{loading.f0d91d48e2b79e50.js → loading.de17198764c127f5.js} +2 -2
  42. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/platforms/[app]/{page.ce391cad0d78795f.js → page.706499514893c5e0.js} +5 -5
  43. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/agent/{agent-pills.1012e04bfbc7bffd.js → agent-pills.bd9808856ef860f3.js} +1 -1
  44. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/agent/{agent-toggle.0cec822c6099f058.js → agent-toggle.901667176840cd25.js} +2 -2
  45. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/agent/{hero.7151c467e7ecf6a5.js → hero.fd2ffbf999c6c1e9.js} +3 -3
  46. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/editor/{connect-repositories.4e121d31ed0cfe02.js → connect-repositories.e27bcba279f82d7b.js} +1 -1
  47. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/editor/{editor.f314d92af0bb33b0.js → editor.edcfc2f0692e9059.js} +10 -10
  48. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/editor/{import-picker.11028d5329ad537b.js → import-picker.515ab6c14afe14ac.js} +5 -5
  49. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/new/{loading.9b65a8c1cdc8346f.js → loading.0cf7535fa7af7fbd.js} +2 -2
  50. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/new/{page.1476d31e4554e88b.js → page.95eb2cd0671e7f6e.js} +5 -5
  51. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/{layout.150d950d191db477.js → layout.87f5bb00d4e34e6b.js} +7 -7
  52. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/operator/{operator-apps.3e72de86b86a7338.js → operator-apps.6a9975e2f64a9e5b.js} +6 -6
  53. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/operator/{page.6a4be3b1a473ff8c.js → page.3691b55916b17d14.js} +6 -6
  54. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/{page.262ed73437c17872.js → page.7de674df6cd0e824.js} +1 -1
  55. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{advanced-list.7180570379e2625c.js → advanced-list.c7821de9a79fb144.js} +1 -1
  56. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{connection-add.632b1847c16ecd42.js → connection-add.f102abaca93416ff.js} +7 -7
  57. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{connections-list.4378ae707b2092ed.js → connections-list.098f57fd6b1570d8.js} +8 -8
  58. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{credentials-list.e47897acb6867df8.js → credentials-list.2a2d391b2fc563fc.js} +7 -7
  59. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{credentials.6bd06f96afbe7329.js → credentials.0eeab14f7a6236bb.js} +8 -8
  60. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{list.38e70272eeb98cd0.js → list.5a1847f3ed97bc5b.js} +3 -3
  61. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{models-list.a08cd37d0f7ff86c.js → models-list.d0954eca1a1ca3d2.js} +9 -9
  62. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{page.f096b5a9ac419326.js → page.f0e75930eb08c4bc.js} +14 -14
  63. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{runners-list.0df1f9329df1b67d.js → runners-list.74bcad5271e5de01.js} +6 -6
  64. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{secrets-list.6d2f56fa7d6fcab0.js → secrets-list.d0c1121f216e0bcb.js} +4 -4
  65. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/{layout.0fd865c865e5bab4.js → layout.05700d93abe5a3d4.js} +4 -4
  66. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/{model-pick.695538b2edf9dd15.js → model-pick.1d99ed9c886cabe5.js} +2 -2
  67. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/{page.c57b81c2197cce0f.js → page.e439da4bae9d6d6c.js} +1 -1
  68. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/{settings-head.004ced21e02ffa48.js → settings-head.08ab3f9bad326d47.js} +1 -1
  69. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/setup/{create-link.60aadbe43ea1e39c.js → create-link.161d0d636ca45721.js} +3 -3
  70. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/setup/{outcome-toast.e2b9ef0344b1a1a2.js → outcome-toast.d6d0bd8663377fda.js} +1 -1
  71. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/setup/{page.c456ad99c8a9f875.js → page.5f90915ba7faa83d.js} +5 -5
  72. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/{activity.2ec05d78d609b7b2.js → activity.f8d48c80747830ee.js} +1 -1
  73. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/{loading.779ecdd9c9d2ff09.js → loading.3966ea5aa984c177.js} +4 -4
  74. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/{page.578be2f6c89fcba0.js → page.8ad4907125ab2593.js} +16 -10
  75. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/{task-actions.d131453dd2a423c3.js → task-actions.f4e6ea3320e0ae23.js} +14 -22
  76. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/{task-missing.33ec27a4a5eafefe.js → task-missing.66dc41e2c7b199fb.js} +1 -1
  77. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/{task-view.3d72a4ecd2b3826e.js → task-view.b7b9a82526087a6f.js} +83 -22
  78. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/{composer.97be3e67214889c1.js → composer.91fe18526ebad717.js} +10 -10
  79. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/list/{pending-approvals.9175908da02960e1.js → pending-approvals.319cefed5e3adb15.js} +1 -1
  80. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/list/{task.a25847399a4dfb30.js → task.fcd21a71424503e9.js} +27 -7
  81. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/list/{tasks-list.028798c79227a366.js → tasks-list.550288bcec62fea5.js} +61 -44
  82. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/list/{tasks-section.9a9d13057b326f25.js → tasks-section.7e3bc3398baec1bd.js} +7 -7
  83. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/{page.045c6db0c56975b2.js → page.98767f77d0fd9a05.js} +3 -3
  84. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/usage/{loading.5b973a8bb29197d5.js → loading.d2482006f8adc43a.js} +2 -2
  85. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/usage/{page.938d29ff7edb678d.js → page.26319c38995aceca.js} +4 -4
  86. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/usage/{range-bar.0b9038e9df707843.js → range-bar.3086edd9a97046c2.js} +2 -2
  87. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{loading-card.77bea8c5870b5d3c.js → loading-card.94d5645c958c77e9.js} +2 -2
  88. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{page-head.2eb1e0213eb50349.js → page-head.a6bd4a75087e6e53.js} +1 -1
  89. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{stream.2cdb8eabd8f6df70.js → stream.c7ffa724145ce870.js} +1 -1
  90. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{task-toasts.8733901ca0e4c246.js → task-toasts.168a3d3f5fd52cb4.js} +48 -21
  91. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{theme-choices.fc86071c1b634176.js → theme-choices.9d0674c72d0ce188.js} +1 -1
  92. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/nav/{back.7aa0ae82dbec38cd.js → back.95ed3b5a6128d557.js} +2 -2
  93. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/nav/{org.853d173b55368728.js → org.efcee1c3404f6345.js} +1 -1
  94. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{combo.e4e08287494081a3.js → combo.3acd48652c3a66a6.js} +2 -2
  95. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{filter.0730dccad6332327.js → filter.6468dec3a8faed6f.js} +6 -6
  96. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{menu-items.759a1b1f7c5ee365.js → menu-items.725ede2a88ea76a9.js} +7 -3
  97. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{select.0ee9e8f04ddd8b47.js → select.b712227920cd0845.js} +1 -1
  98. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/utils/{action.56cea462eb725c39.js → action.55bd1d3e1b67a67e.js} +1 -1
  99. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/utils/{client.685154f230716834.js → client.b9225923da59febe.js} +1 -1
  100. package/dist/dash/standalone/static/assets/chunks/{advanced-list-b75a9c2bd11026de.js → advanced-list-d9a68433a13416df.js} +1 -1
  101. package/dist/dash/standalone/static/assets/chunks/{agent-pills-54564413a57d7fa7.js → agent-pills-1414a96077ec37de.js} +1 -1
  102. package/dist/dash/standalone/static/assets/chunks/{agent-settings-form-55d294dad2ce5a0d.js → agent-settings-form-73da6b4b714e49b4.js} +1 -1
  103. package/dist/dash/standalone/static/assets/chunks/{agent-toggle-b5dcc4ea6292fb3d.js → agent-toggle-d14e2838d11ab0f7.js} +1 -1
  104. package/dist/dash/standalone/static/assets/chunks/{agents-grid-69461c53abbba433.js → agents-grid-aea25444710f2634.js} +1 -1
  105. package/dist/dash/standalone/static/assets/chunks/{back-ba5e4340a9f8bbd2.js → back-57d4a59bf80377e6.js} +1 -1
  106. package/dist/dash/standalone/static/assets/chunks/{chain-hint-491eb09a20a15702.js → chain-hint-dcb6933d6f8a6324.js} +1 -1
  107. package/dist/dash/standalone/static/assets/chunks/{combo-6df61e8a1cc31037.js → combo-460bff876882c694.js} +1 -1
  108. package/dist/dash/standalone/static/assets/chunks/{composer-198b844da57b82a3.js → composer-8d12a215b107c9b3.js} +1 -1
  109. package/dist/dash/standalone/static/assets/chunks/composer-fe63697f84a538c2.js +1 -0
  110. package/dist/dash/standalone/static/assets/chunks/{confirm-14d018653fbe50fc.js → confirm-c0c0642856e64b11.js} +1 -1
  111. package/dist/dash/standalone/static/assets/chunks/{connect-repositories-5118edc019fc7890.js → connect-repositories-3a317a5db3ea50b1.js} +1 -1
  112. package/dist/dash/standalone/static/assets/chunks/{connections-list-5412dad7e0def52f.js → connections-list-0110d160a25b388c.js} +1 -1
  113. package/dist/dash/standalone/static/assets/chunks/{copy-04781f9af4e10f06.js → copy-eeb076af6e19e501.js} +1 -1
  114. package/dist/dash/standalone/static/assets/chunks/create-link-e72ff4dd7ef06e1c.js +1 -0
  115. package/dist/dash/standalone/static/assets/chunks/{credentials-list-e64c973aee5602d3.js → credentials-list-90e6a2436041b18d.js} +1 -1
  116. package/dist/dash/standalone/static/assets/chunks/{custom-range-b6919bab9846ebf7.js → custom-range-721477a24237c90d.js} +1 -1
  117. package/dist/dash/standalone/static/assets/chunks/{editor-68e9ccd1764fc512.js → editor-64f6563f28d53ec5.js} +1 -1
  118. package/dist/dash/standalone/static/assets/chunks/{field-adcb6e6a5f9b7131.js → field-7c895f6d8d5d9eb3.js} +1 -1
  119. package/dist/dash/standalone/static/assets/chunks/{instructions-7b274685ceb26457.js → instructions-7b1485330fc4e8fd.js} +1 -1
  120. package/dist/dash/standalone/static/assets/chunks/instructions-ed61f719baf13b12.js +1 -0
  121. package/dist/dash/standalone/static/assets/chunks/{list-662f042656857c82.js → list-c0633e5e742dff16.js} +1 -1
  122. package/dist/dash/standalone/static/assets/chunks/{models-list-ae1e2eff30d21824.js → models-list-228b3503307bc1ff.js} +1 -1
  123. package/dist/dash/standalone/static/assets/chunks/{outcome-dialog-fd86ded4c44c2de7.js → outcome-dialog-36842dfe50be1c85.js} +1 -1
  124. package/dist/dash/standalone/static/assets/chunks/outcome-dialog-630b20ddff39b01d.js +1 -0
  125. package/dist/dash/standalone/static/assets/chunks/outcome-toast-b7e33ff0d984f359.js +1 -0
  126. package/dist/dash/standalone/static/assets/chunks/{platform-actions-f3979ab69a6ceb53.js → platform-actions-055a2e246fca7af9.js} +1 -1
  127. package/dist/dash/standalone/static/assets/chunks/platform-actions-9e198b0c88df3206.js +1 -0
  128. package/dist/dash/standalone/static/assets/chunks/platform-step-111051da80de6577.js +1 -0
  129. package/dist/dash/standalone/static/assets/chunks/{platform-step-5454b6c0a19caefd.js → platform-step-c7473e57e0b2f824.js} +1 -1
  130. package/dist/dash/standalone/static/assets/chunks/{runners-list-20d42f19fb4bec8a.js → runners-list-973253df985a8306.js} +1 -1
  131. package/dist/dash/standalone/static/assets/chunks/{runtime-3fcac605fffcc273-1.js → runtime-9b28886f3cbe0ed3-1.js} +1 -1
  132. package/dist/dash/standalone/static/assets/chunks/{secrets-list-89f89ee70edb3856.js → secrets-list-4aa6e2bf0fef06d6.js} +1 -1
  133. package/dist/dash/standalone/static/assets/chunks/{segmented-66a8c77c6294fec3.js → segmented-a994b4c20434c0ad.js} +1 -1
  134. package/dist/dash/standalone/static/assets/chunks/shared-init-4f4cac48ca0ef193.js +9 -0
  135. package/dist/dash/standalone/static/assets/chunks/shared-init-5734a91cdb78a173.js +1 -0
  136. package/dist/dash/standalone/static/assets/chunks/shared-init-9b28886f3cbe0ed3-2.js +1 -0
  137. package/dist/dash/standalone/static/assets/chunks/{shared-init-96225b8c7758de9d.js → shared-init-e8cf924a73e46497.js} +1 -1
  138. package/dist/dash/standalone/static/assets/chunks/side-toggle-a2d07f99f136e975.js +1 -0
  139. package/dist/dash/standalone/static/assets/chunks/{tail-40f16e09eade7eee.js → tail-d3ba4c4035c5453e.js} +1 -1
  140. package/dist/dash/standalone/static/assets/chunks/task-3b17e45e271a6480.js +1 -0
  141. package/dist/dash/standalone/static/assets/chunks/task-actions-e0c202536048edc0.js +3 -0
  142. package/dist/dash/standalone/static/assets/chunks/task-view-3822a8fe44f4aa92.js +3 -0
  143. package/dist/dash/standalone/static/assets/chunks/tasks-list-cb838b88110bbbb4.js +1 -0
  144. package/dist/dash/standalone/static/assets/chunks/{versions-list-ceb756236e69b761.js → versions-list-7cb9db8c25cdfaa7.js} +1 -1
  145. package/dist/dash/standalone/static/assets/chunks/{wular-pnext-3fcac605fffcc273-0.js → wular-pnext-9b28886f3cbe0ed3-0.js} +1 -1
  146. package/dist/dash/standalone/static/assets/{dash-param-org-agents-param-slug-dd4ac319a0d62432.css → dash-param-org-agents-param-slug-ea5e0d8593150b35.css} +1 -1
  147. package/dist/dash/standalone/static/assets/{dash-param-org-agents-param-slug-platforms-9d2e1439f3f7e81b.css → dash-param-org-agents-param-slug-platforms-b45dbb9122cc7338.css} +1 -1
  148. package/dist/dash/standalone/static/assets/{dash-param-org-agents-param-slug-usage-9cc128ba8af6ef62.css → dash-param-org-agents-param-slug-settings-2a7be18387a422ff.css} +1 -1
  149. package/dist/dash/standalone/static/assets/{dash-param-org-agents-param-slug-tasks-c8d6aa06f6e75f4c.css → dash-param-org-agents-param-slug-tasks-d12ff8047806bbf5.css} +1 -1
  150. package/dist/dash/standalone/static/assets/{dash-param-org-agents-param-slug-settings-f21d4fcd3948139b.css → dash-param-org-agents-param-slug-usage-72b55bb80667080b.css} +1 -1
  151. package/dist/dash/standalone/static/assets/{dash-param-org-tasks-be3cb3d64573f3d9.css → dash-param-org-tasks-e040b6497646a8a0.css} +1 -1
  152. package/dist/dash/standalone/static/assets/{dash-param-org-tasks-param-id-c20a0537bc82620d.css → dash-param-org-tasks-param-id-7df5e6c891e9e77f.css} +1 -1
  153. package/dist/dash/standalone/static/assets/pnext-client-019fddb658ef621e.js +1 -0
  154. package/dist/dash/standalone/static/assets/pnext-client-025682238ebc1ccd.js +1 -0
  155. package/dist/dash/standalone/static/assets/pnext-client-05cb69349250f079.js +1 -0
  156. package/dist/dash/standalone/static/assets/pnext-client-0abd872e45d259dd.js +1 -0
  157. package/dist/dash/standalone/static/assets/pnext-client-19072249ab9d929f.js +1 -0
  158. package/dist/dash/standalone/static/assets/pnext-client-24b6f98a5e678977.js +1 -0
  159. package/dist/dash/standalone/static/assets/pnext-client-2ed3001f7f4597c0.js +1 -0
  160. package/dist/dash/standalone/static/assets/pnext-client-3028d0d201243815.js +1 -0
  161. package/dist/dash/standalone/static/assets/pnext-client-63d9e54053266337.js +1 -0
  162. package/dist/dash/standalone/static/assets/pnext-client-7bfb634b06062acf.js +1 -0
  163. package/dist/dash/standalone/static/assets/pnext-client-915218deeaa531f2.js +1 -0
  164. package/dist/dash/standalone/static/assets/{pnext-client-b1af82c6f0db0033.js → pnext-client-a62685439dab6db4.js} +1 -1
  165. package/dist/dash/standalone/static/assets/{pnext-client-435db60553fa3a67.js → pnext-client-a793df411dc27890.js} +1 -1
  166. package/dist/dash/standalone/static/assets/pnext-client-ae5f820b1e3add50.js +1 -0
  167. package/dist/dash/standalone/static/assets/pnext-client-ba17d46e9f8417f8.js +1 -0
  168. package/dist/dash/standalone/static/assets/pnext-client-dbca01dae6b3ad8c.js +1 -0
  169. package/dist/dash/standalone/static/assets/pnext-client-ec303fb1cec93d9f.js +1 -0
  170. package/dist/dash/standalone/static/assets/pnext-client-ec8fde62be82a077.js +1 -0
  171. package/dist/dash/standalone/static/assets/pnext-client-f659576f3d4fea61.js +1 -0
  172. package/dist/dash/standalone/static/assets/pnext-client-f715825f54bb8e89.js +1 -0
  173. package/dist/{drive-B7SBFfcb.js → drive-MggMiKA0.js} +1 -1
  174. package/dist/{exec-D9jF2F-H.js → exec-CNygM6yF.js} +1 -1
  175. package/dist/{executor-DBW7R7Tf.js → executor-Ds4wDCzV.js} +1 -1
  176. package/dist/flow/builtin/review/index.js +1 -1
  177. package/dist/flow/index.js +1 -1
  178. package/dist/{hook-DN__zYOG.js → hook-CVJU-ZD0.js} +1 -1
  179. package/dist/{local-BzMvgiwL.js → local-CqOUpEtl.js} +1 -1
  180. package/dist/{local-GIxwz_Or.js → local-DFrTuJFN.js} +1 -1
  181. package/dist/{login-LlZrIlxb.js → login-93jO9qjx.js} +1 -1
  182. package/dist/{maintenance-DyiyHI8S.js → maintenance-BuDKnfc7.js} +1 -1
  183. package/dist/{mcp-CrtKQoVi.js → mcp-CTVOR7r6.js} +1 -1
  184. package/dist/{mcp-Caq72REF.js → mcp-EwT2mCaa.js} +1 -1
  185. package/dist/{models-BVxs3I8o.js → models-mKyePWrV.js} +1 -1
  186. package/dist/{permission-RSZM3DUk.js → permission-F6F25GJU.js} +1 -1
  187. package/dist/remote-Cl-j8r3W.js +1 -0
  188. package/dist/{runner-CKMOh5Q3.js → runner-DK0jnzPr.js} +1 -1
  189. package/dist/runner.json +1 -1
  190. package/dist/runner.tgz +0 -0
  191. package/dist/schema.js +1 -1
  192. package/dist/sdk.d.ts +34 -0
  193. package/dist/sdk.js +1 -1
  194. package/dist/serve-Cqlkgdfd.js +8 -0
  195. package/dist/{serve-YlU04KO7.js → serve-DHe6dZM6.js} +1 -1
  196. package/dist/{session-D7eeJIaH.js → session-BMbMzzPu.js} +1 -1
  197. package/dist/{shared-BzNReirj.js → shared-D-KqAi7b.js} +1 -1
  198. package/dist/{sign-in-Dr6sU7vz.js → sign-in-Dv-rdYD4.js} +1 -1
  199. package/dist/{store-BrnWdtRw.js → store-BpDipcKB.js} +18 -18
  200. package/dist/{task-CyqtCXo3.js → task-BRHXn5y1.js} +1 -1
  201. package/dist/{task-DN4assR8.js → task-CzXNLREX.js} +1 -1
  202. package/dist/{tools-DVtBtED6.js → tools-BCm26CeV.js} +1 -1
  203. package/dist/{tools-Ck-ZWtmB.js → tools-C69W1B6S.js} +1 -1
  204. package/dist/{tools-search-BNDea9vZ.js → tools-search-BDaeCoWe.js} +1 -1
  205. package/dist/{worker-DeuC38Vp.js → worker-DGhRPDDt.js} +2 -2
  206. package/dist/{worker-DJANNSCT.js → worker-DHNBRRl-.js} +1 -1
  207. package/package.json +1 -1
  208. package/plugins/claude/.claude-plugin/plugin.json +1 -1
  209. package/plugins/cursor/.cursor-plugin/plugin.json +1 -1
  210. package/dist/dash/standalone/static/assets/chunks/composer-b26a3332a1243461.js +0 -1
  211. package/dist/dash/standalone/static/assets/chunks/create-link-0651addf1461f901.js +0 -1
  212. package/dist/dash/standalone/static/assets/chunks/instructions-0022dd3bdd57c13f.js +0 -1
  213. package/dist/dash/standalone/static/assets/chunks/outcome-dialog-546fe090efc129c2.js +0 -1
  214. package/dist/dash/standalone/static/assets/chunks/outcome-toast-c00becdb638cd9a8.js +0 -1
  215. package/dist/dash/standalone/static/assets/chunks/platform-actions-2be223e68e648134.js +0 -1
  216. package/dist/dash/standalone/static/assets/chunks/platform-step-9a52703f4c4f6a31.js +0 -1
  217. package/dist/dash/standalone/static/assets/chunks/shared-init-3fcac605fffcc273-2.js +0 -1
  218. package/dist/dash/standalone/static/assets/chunks/shared-init-96cde32cd50254c0.js +0 -1
  219. package/dist/dash/standalone/static/assets/chunks/shared-init-abd7653140f37a0c.js +0 -9
  220. package/dist/dash/standalone/static/assets/chunks/side-toggle-8a410cc6d6bd9b1d.js +0 -1
  221. package/dist/dash/standalone/static/assets/chunks/task-396d849e58e50d59.js +0 -1
  222. package/dist/dash/standalone/static/assets/chunks/task-actions-0b3054dc0f8d17c0.js +0 -3
  223. package/dist/dash/standalone/static/assets/chunks/task-view-9e026dc5da58af5b.js +0 -3
  224. package/dist/dash/standalone/static/assets/chunks/tasks-list-04c6568d7f7237b7.js +0 -1
  225. package/dist/dash/standalone/static/assets/pnext-client-07b41bfab64b61c0.js +0 -1
  226. package/dist/dash/standalone/static/assets/pnext-client-0d388d56250f9f46.js +0 -1
  227. package/dist/dash/standalone/static/assets/pnext-client-1443e45181b60bb0.js +0 -1
  228. package/dist/dash/standalone/static/assets/pnext-client-27207e4f43f9a21b.js +0 -1
  229. package/dist/dash/standalone/static/assets/pnext-client-523dd4071aa294ba.js +0 -1
  230. package/dist/dash/standalone/static/assets/pnext-client-5f6bda3919f68382.js +0 -1
  231. package/dist/dash/standalone/static/assets/pnext-client-684fd8ad16563ed3.js +0 -1
  232. package/dist/dash/standalone/static/assets/pnext-client-6b952cdda9a1eb2b.js +0 -1
  233. package/dist/dash/standalone/static/assets/pnext-client-6fe9e98f7dd8dcbf.js +0 -1
  234. package/dist/dash/standalone/static/assets/pnext-client-730c2c507a159f9e.js +0 -1
  235. package/dist/dash/standalone/static/assets/pnext-client-7c46573e45b67166.js +0 -1
  236. package/dist/dash/standalone/static/assets/pnext-client-83a865c3d75705bd.js +0 -1
  237. package/dist/dash/standalone/static/assets/pnext-client-907d1db4fb398a1d.js +0 -1
  238. package/dist/dash/standalone/static/assets/pnext-client-9baf701f3e641d09.js +0 -1
  239. package/dist/dash/standalone/static/assets/pnext-client-a57705e4e1047a9e.js +0 -1
  240. package/dist/dash/standalone/static/assets/pnext-client-cede3bd7b2735942.js +0 -1
  241. package/dist/dash/standalone/static/assets/pnext-client-d9a3996f22b6816b.js +0 -1
  242. package/dist/dash/standalone/static/assets/pnext-client-f95364a0073ca4ce.js +0 -1
  243. package/dist/remote-CY-qYX2C.js +0 -1
  244. package/dist/serve-D23JqDip.js +0 -12
  245. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/{task-view.440367ae07204ee7.css.pnext-asset.js → task-view.61d4afa987d59596.css.pnext-asset.js} +0 -0
  246. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/list/{tasks-list.f3737549b4696cc8.css.pnext-asset.js → tasks-list.835b11dc95c95cb5.css.pnext-asset.js} +0 -0
@@ -1,4 +1,4 @@
1
- import{Ea as e}from"./args-CJsHYWbt.js";import{$ as t,N as n,T as r,V as i,b as a,bt as o,et as s,f as c,gt as l,m as u,mt as d,o as f,u as p,vt as m,w as h,y as g,yt as _}from"./state-CxAUec80.js";import{R as ee,l as v,u as y,w as b}from"./config-_32PHl9g.js";import{a as x,f as S}from"./connections-B90TemYf.js";import{v as C}from"./app-server-dnlLhhZb.js";import{t as w}from"./integrations-DSZSa8Rc.js";import{a as te}from"./definition-D0OpQfGX.js";import{B as ne,C as T,D as re,L as ie,R as E,S as D,_ as ae,d as oe,s as se,u as O,w as k}from"./dispatch-BkoIU4GU.js";import{t as A}from"./sessions-BGUfSe8L.js";import{_ as ce}from"./approvals-C8XV7CK2.js";import{i as le,r as ue}from"./view-D-rbQ1Kz.js";import{g as de,l as j,n as M,s as N,v as fe}from"./actions-DO8MvHwc.js";import{i as P,o as F}from"./mcp-cEIva8Pd.js";import{a as pe,d as me,r as he,s as ge,u as _e}from"./exec-D9jF2F-H.js";import{s as ve}from"./http-DRk8cDjf.js";import{t as ye}from"./tools-DVtBtED6.js";import{i as be,n as xe,r as Se}from"./async-BS9tyhva.js";import{r as Ce}from"./post-DLenID75.js";import I from"node:path";import L from"node:process";import{execFile as R}from"node:child_process";import z from"node:net";import B from"node:os";import{createHash as we}from"node:crypto";import V from"node:http";import H from"node:fs/promises";import{promisify as U}from"node:util";import{gunzipSync as W,gzipSync as Te}from"node:zlib";const G=e=>we(`sha256`).update(e).digest(`hex`);function K(e,t,n){if(e===`claude`)return I.join(T(),process.env.CLAUDE_CODE_PROJECT_DIR_NAME||`coder`,`${t}.jsonl`);let r=new Date(JSON.parse(n.slice(0,n.indexOf(`
1
+ import{Ea as e}from"./args-CJsHYWbt.js";import{$ as t,N as n,T as r,V as i,b as a,bt as o,et as s,f as c,gt as l,m as u,mt as d,o as f,u as p,vt as m,w as h,y as g,yt as _}from"./state-CxAUec80.js";import{R as ee,l as v,u as y,w as b}from"./config-_32PHl9g.js";import{a as x,f as S}from"./connections-B90TemYf.js";import{v as C}from"./app-server-dnlLhhZb.js";import{t as w}from"./integrations-DSZSa8Rc.js";import{a as te}from"./definition-D0OpQfGX.js";import{B as ne,C as T,D as re,L as ie,R as E,S as D,_ as ae,d as oe,s as se,u as O,w as k}from"./dispatch-BkoIU4GU.js";import{t as A}from"./sessions-BGUfSe8L.js";import{_ as ce}from"./approvals-C8XV7CK2.js";import{i as le,r as ue}from"./view-D-rbQ1Kz.js";import{g as de,l as j,n as M,s as N,v as fe}from"./actions-C35tq9KH.js";import{i as P,o as F}from"./mcp-cEIva8Pd.js";import{a as pe,d as me,r as he,s as ge,u as _e}from"./exec-CNygM6yF.js";import{s as ve}from"./http-DRk8cDjf.js";import{t as ye}from"./tools-BCm26CeV.js";import{i as be,n as xe,r as Se}from"./async-BP5q3Une.js";import{r as Ce}from"./post-DLenID75.js";import I from"node:path";import L from"node:process";import{execFile as R}from"node:child_process";import z from"node:net";import B from"node:os";import{createHash as we}from"node:crypto";import V from"node:http";import H from"node:fs/promises";import{promisify as U}from"node:util";import{gunzipSync as W,gzipSync as Te}from"node:zlib";const G=e=>we(`sha256`).update(e).digest(`hex`);function K(e,t,n){if(e===`claude`)return I.join(T(),process.env.CLAUDE_CODE_PROJECT_DIR_NAME||`coder`,`${t}.jsonl`);let r=new Date(JSON.parse(n.slice(0,n.indexOf(`
2
2
  `))).timestamp).toISOString().slice(0,19).replaceAll(`:`,`-`);return I.join(A(),`sessions`,...r.slice(0,10).split(`-`),`rollout-${r}-${t}.jsonl`)}function Ee(e,t){return t.flatMap(e=>[e,...e.startsWith(`Bearer `)?[e.slice(7)]:[]]).filter(e=>e.length>=8).flatMap(e=>[e,JSON.stringify(e).slice(1,-1)]).sort((e,t)=>t.length-e.length).reduce((e,t)=>e.replaceAll(t,`[REDACTED]`),e)}function De(e,t){let n=new Map;return{async restore(){let t=await e(`/history`).catch(e=>(console.error(`coder runner: saved history could not be listed`,e),[])),r=t.at(-1),i;return await Promise.all(t.map(async({engine:t,conversation:a})=>{if(D.test(a))try{let{data:o,state:s}=await e(`/history/${a}`);a===r.conversation&&(i=s);let c=W(Buffer.from(o,`base64`)).toString(`utf8`);for(let e of c.split(`
3
3
  `))e.trim()&&JSON.parse(e);let[l]=await re({engine:t},a);l||(l=K(t,a,c),await H.mkdir(I.dirname(l),{recursive:!0,mode:448}),await H.writeFile(l,c,{mode:384})),n.set(a,{engine:t,hash:G(c),file:l})}catch(e){console.error(`coder runner: history ${a} could not be restored`,e)}})),{...r?{resume:{...i,engine:r.engine,threadId:r.conversation}}:{},restored:!!(r&&n.has(r.conversation))}},async save(r){let i=new Map([...n].map(([e,{engine:t}])=>[e,t]));if(r?.engine===`claude`||r?.engine===`codex`)for(let e of k(r))i.delete(e),i.set(e,r.engine);let a=await t();for(let[t,o]of i){let i=n.get(t)?.file,s=i&&await H.stat(i).then(e=>e.isFile(),()=>!1)?i:(await re({engine:o},t))[0],c=s?await H.readFile(s,`utf8`).catch(()=>``):``,l=t===r?.threadId;if(!c||!l&&G(c)===n.get(t)?.hash)continue;let u=Te(Ee(c,a)).toString(`base64`);if(u.length>3145728){console.error(`coder runner: history ${t} is too large to save`);continue}let d=l?{previousThreadIds:r.previousThreadIds}:void 0;await e(`/history`,{method:`POST`,body:JSON.stringify({engine:o,conversation:t,data:u,...d?{state:d}:{}})}).then(()=>n.set(t,{engine:o,hash:G(c),file:s}),e=>console.error(`coder runner: history ${t} was not saved`,e))}}}}var q=e({INBOX_COMMAND:()=>Qe,INBOX_SOCKET:()=>Ye,applyTaskMessage:()=>Ge,checkout:()=>Z,checkoutCache:()=>ke,inboxSocket:()=>Xe,liveConnections:()=>Ue,prepareRepo:()=>ze,receiveInbox:()=>$e,releaseCheckout:()=>Ae,requestInboxControl:()=>Ve,runTask:()=>qe,sendInbox:()=>Ze,serveTaskServer:()=>tt,serverConnections:()=>He,startInboxControl:()=>Be,taskServer:()=>Y,withCheckoutLock:()=>Q});const J=U(R);function Y(){let e=L.env.CODER_SERVER?.replace(/\/+$/,``),t=L.env.CODER_TASK_TOKEN;if(!e||!t)throw Error(`CODER_SERVER and CODER_TASK_TOKEN are required with --task`);return{server:e,token:t}}async function X(e,t,n,r=``,i={}){let a=await fetch(`${e}/tasks/${encodeURIComponent(n)}${r}`,{...i,signal:i.signal?AbortSignal.any([i.signal,AbortSignal.timeout(3e4)]):AbortSignal.timeout(3e4),headers:{authorization:`Bearer ${t}`,...i.body?{"content-type":`application/json`}:{},...i.headers}}),o=await a.json().catch(()=>({}));if(!a.ok)throw Object.assign(Error(o.error??`Coder server answered ${a.status}`),{status:a.status});return o}function Oe(e){return e.length>0&&!e.startsWith(`-`)&&!e.endsWith(`/`)&&!e.endsWith(`.`)&&!e.endsWith(`.lock`)&&!/[\x00-\x20\x7f~^:?*[\\]/.test(e)&&!e.includes(`..`)&&!e.includes(`@{`)&&!e.includes(`//`)}async function Z(e,t,n,r,i){let a=e.event?.repo,o=I.join(t,`work`);if(!a)return await H.mkdir(o,{recursive:!0}),o;let s=e=>H.stat(e).then(Boolean,()=>!1);if(await s(I.join(o,`.git`))&&(r||await s(I.join(t,`.runner-task.json`))))return o;if(!Oe(a.defaultBranch))throw Error(`Invalid repository ref`);let c=new URL(a.cloneUrl),l=w[e.event.integration]?.repos?.cloneHosts??[];if(c.protocol!==`https:`||!l.includes(c.hostname))throw Error(`Repository clone host does not match the integration`);await H.mkdir(t,{recursive:!0});let u=await H.mkdtemp(I.join(t,`.git-credential-`)),d=I.join(u,`token`),f=I.join(u,`askpass.sh`);n&&(await H.writeFile(d,n,{mode:384}),await H.writeFile(f,`#!/bin/sh
4
4
  case "$1" in *Username*) printf x-access-token;; *) command cat "$CODER_GIT_TOKEN_FILE";; esac
@@ -1 +1 @@
1
- import{C as e,Ea as t,T as n,ba as r,d as i,h as a,j as o,t as s,u as c,va as l}from"./args-CJsHYWbt.js";import{a as u}from"./state-CxAUec80.js";import{E as d}from"./dispatch-BkoIU4GU.js";import{g as f}from"./approvals-C8XV7CK2.js";import{f as p}from"./view-D-rbQ1Kz.js";import{a as m}from"./async-BS9tyhva.js";import h from"node:path";import g from"node:process";import{randomUUID as _}from"node:crypto";import v from"node:fs/promises";async function y(e,t,n=fetch){let r=g.env.CODER_REPLY_URL,i=g.env.CODER_REPLY_TOKEN;if(!r||!i)throw Error(`This task has no conversation to post to`);let a=JSON.stringify({id:_(),...t});for(let t=0;;t++){let o;try{o=await n(`${r}/${e}`,{method:`POST`,headers:{authorization:`Bearer ${i}`,"content-type":`application/json`},body:a,signal:AbortSignal.timeout(6e4)})}catch(e){if(t<2)continue;throw e}let s=await o.json().catch(()=>void 0);if(!o.ok)throw Error(s?.error??`The conversation ${e} failed (${o.status})`);return{ok:!0}}}async function b(){let e=g.env.CODER_HISTORY_TASK;if(!e)throw Error(`CODER_HISTORY_TASK is not set`);return{file:e,task:JSON.parse(await v.readFile(e,`utf8`))}}const x=[r({name:`reply`,description:`Post a reply now, such as before longer work. Never repeat text you already posted or will put in your final message.`,args:{text:s(o(),`Markdown to post.`)},access:`write`,run:async({text:e},t)=>{let{file:n,task:r}=await b();if(!r.conversation)throw Error(`Only conversation tasks can reply`);if(typeof e!=`string`||!e.trim())throw Error(`Reply text is required`);let i=await y(`reply`,{text:e.trim()},t.fetch);return u(h.dirname(n),{kind:`reply`,message:e.trim()}),i}}),r({name:`react`,description:`React to a message in this conversation with an emoji, by default the one that started your turn.`,args:{emoji:s(o(),`An emoji name such as thumbsup, or the emoji itself.`),message:c(`A message id from the conversation.`)},access:`write`,run:async({emoji:e,message:t},n)=>{let{task:r}=await b();if(!r.conversation)throw Error(`Only conversation tasks can react`);if(typeof e!=`string`||!e.trim())throw Error(`Emoji is required`);if(t!==void 0&&(typeof t!=`string`||!t.trim()))throw Error(`Message id must be a non-empty string`);let i=p(r.currentPrompt??r.prompt??``,!0)?.[0],a=t??i?.message?.id??i?.messages?.[0]?.id;if(i&&!a)throw Error(`This turn has no message to react to; give a message id`);return y(`react`,{emoji:e.trim(),...a?{message:a}:{}},n.fetch)}}),r({name:`history`,description:[`Search or read your own earlier turns in this task, including anything compacted out of your context, oldest first.`,"With query, the messages containing that exact text; without, the messages from `from` on.",`An event's message.index counts from 0; when your history starts later, read earlier messages with the platform's tools when they matter.`,`Messages from bots never arrive as turns; the platform's tools read the thread itself, theirs included.`].join(` `),args:{query:c(`Exact text to find, case-insensitive, 1 to 500 characters: a word or phrase from the message, not a question.`),from:s(n(e()),`Message index to start at; default the oldest, or after the last match.`),limit:s(n(e()),`Messages to return, 1 to 20; default 10.`),role:s(n(a([`all`,`conversation`])),`conversation: only platform messages and your replies; all (default): tool calls and results too.`)},access:`read`,run:async e=>d((await b()).task,e)})];var S=t({asyncTools:()=>w,taskApp:()=>D,taskTools:()=>O});const C={name:`review`,flow:`review`,limit:5,platform:`github`,args:(e,t,n)=>({...e.pr===void 0?{base:e.base??`HEAD`}:{pr:e.pr,...n?{post:!0,author:n}:{}},...e.path?.length?{path:e.path}:{},...e.exclude?.length?{exclude:e.exclude}:{},...e.depth?{depth:e.depth}:{},cwd:t}),render:async(e,t)=>{let{renderReviewMarkdown:n}=await import(`./flow/builtin/review/index.js`),r=e,i=n({...r,runId:t});return r.summary.url?`${i}\nThe review is on the pull request, so a reply repeating it adds nothing. Still answer anything else asked.\n`:r.pr?`${i}\nNot posted. To post it on the pull request as the user, escalate \`coder review --post --run ${t}\`.\n`:i}},w=[C],T=[...w.map(e=>e.name),`escalate`];function E(){let e=g.env.CODER_HISTORY_TASK;if(!e)throw Error(`CODER_HISTORY_TASK is not set`);return h.dirname(e)}const D=l({name:`task`,description:`This task's own tools.`,commands:[r({name:`escalate`,description:[`Ask a human to approve actions your environment refused.`,`Actions outside the sandbox are reviewed and may be refused; then take another way.`,`If the task truly needs refused actions, escalate them all in one call with the exact commands, then continue or end your turn.`,`The decision arrives as a message, in this turn while it runs, else in a new one.`,`Approved actions stay approved for the rest of the task; run them outside the sandbox directly.`].join(` `),args:{reason:c(`One short sentence: what the actions are for.`),actions:i(`Each action is exactly the command you will run once approved, nothing added; notes go in reason.`)},access:`read`,run:({reason:e,actions:t})=>{let n=(t??[]).map(e=>e.trim()).filter(Boolean);if(!e?.trim()||!n.length)throw Error(`reason and actions are required`);let r=E();return{approvalId:f(g.cwd(),h.basename(r),r,{reason:e.trim(),actions:n}).id,status:`pending`}}}),r({name:`review`,description:`Review changes with a read-only reviewer. One at a time, ${C.limit} per turn.`,args:{pr:s(n(e()),`A pull request to review. Posts the review (summary + findings) and a check, so do not announce or repeat them.`),base:c(`The ref to compare with; default HEAD, so only uncommitted changes.`),path:i(`Review only these paths, relative to the task directory.`),exclude:i(`Leave these paths out.`),depth:s(n(a([`low`,`medium`,`high`])),`What to report: low only critical and major defects, high nits too; medium by default.`),timeout:s(n(e()),`Stop the review after this many seconds.`)},access:`read`,run:async({timeout:e,...t})=>({runId:await m(E(),C,t,e),status:`started`})}),...x]});function O(e){let t=e.filter(e=>T.includes(e));return{...D,...t.length?{instructions:[`${t.join(` and `)} ${t.length>1?`return`:`returns`} at once;`,`the result arrives later as a message, in a new turn if yours has ended.`].join(` `)}:{},commands:D.commands.filter(t=>e.includes(t.name))}}export{S as i,D as n,O as r,w as t};
1
+ import{C as e,Ea as t,T as n,ba as r,d as i,h as a,j as o,t as s,u as c,va as l}from"./args-CJsHYWbt.js";import{a as u}from"./state-CxAUec80.js";import{E as d}from"./dispatch-BkoIU4GU.js";import{g as f}from"./approvals-C8XV7CK2.js";import{f as p}from"./view-D-rbQ1Kz.js";import{a as m}from"./async-BP5q3Une.js";import h from"node:path";import g from"node:process";import{randomUUID as _}from"node:crypto";import v from"node:fs/promises";async function y(e,t,n=fetch){let r=g.env.CODER_REPLY_URL,i=g.env.CODER_REPLY_TOKEN;if(!r||!i)throw Error(`This task has no conversation to post to`);let a=JSON.stringify({id:_(),...t});for(let t=0;;t++){let o;try{o=await n(`${r}/${e}`,{method:`POST`,headers:{authorization:`Bearer ${i}`,"content-type":`application/json`},body:a,signal:AbortSignal.timeout(6e4)})}catch(e){if(t<2)continue;throw e}let s=await o.json().catch(()=>void 0);if(!o.ok)throw Error(s?.error??`The conversation ${e} failed (${o.status})`);return{ok:!0}}}async function b(){let e=g.env.CODER_HISTORY_TASK;if(!e)throw Error(`CODER_HISTORY_TASK is not set`);return{file:e,task:JSON.parse(await v.readFile(e,`utf8`))}}const x=[r({name:`reply`,description:`Post a reply now, such as before longer work. Never repeat text you already posted or will put in your final message.`,args:{text:s(o(),`Markdown to post.`)},access:`write`,run:async({text:e},t)=>{let{file:n,task:r}=await b();if(!r.conversation)throw Error(`Only conversation tasks can reply`);if(typeof e!=`string`||!e.trim())throw Error(`Reply text is required`);let i=await y(`reply`,{text:e.trim()},t.fetch);return u(h.dirname(n),{kind:`reply`,message:e.trim()}),i}}),r({name:`react`,description:`React to a message in this conversation with an emoji, by default the one that started your turn.`,args:{emoji:s(o(),`An emoji name such as thumbsup, or the emoji itself.`),message:c(`A message id from the conversation.`)},access:`write`,run:async({emoji:e,message:t},n)=>{let{task:r}=await b();if(!r.conversation)throw Error(`Only conversation tasks can react`);if(typeof e!=`string`||!e.trim())throw Error(`Emoji is required`);if(t!==void 0&&(typeof t!=`string`||!t.trim()))throw Error(`Message id must be a non-empty string`);let i=p(r.currentPrompt??r.prompt??``,!0)?.[0],a=t??i?.message?.id??i?.messages?.[0]?.id;if(i&&!a)throw Error(`This turn has no message to react to; give a message id`);return y(`react`,{emoji:e.trim(),...a?{message:a}:{}},n.fetch)}}),r({name:`history`,description:[`Search or read your own earlier turns in this task, including anything compacted out of your context, oldest first.`,"With query, the messages containing that exact text; without, the messages from `from` on.",`An event's message.index counts from 0; when your history starts later, read earlier messages with the platform's tools when they matter.`,`Messages from bots never arrive as turns; the platform's tools read the thread itself, theirs included.`].join(` `),args:{query:c(`Exact text to find, case-insensitive, 1 to 500 characters: a word or phrase from the message, not a question.`),from:s(n(e()),`Message index to start at; default the oldest, or after the last match.`),limit:s(n(e()),`Messages to return, 1 to 20; default 10.`),role:s(n(a([`all`,`conversation`])),`conversation: only platform messages and your replies; all (default): tool calls and results too.`)},access:`read`,run:async e=>d((await b()).task,e)})];var S=t({asyncTools:()=>w,taskApp:()=>D,taskTools:()=>O});const C={name:`review`,flow:`review`,limit:5,platform:`github`,args:(e,t,n)=>({...e.pr===void 0?{base:e.base??`HEAD`}:{pr:e.pr,...n?{post:!0,author:n}:{}},...e.path?.length?{path:e.path}:{},...e.exclude?.length?{exclude:e.exclude}:{},...e.depth?{depth:e.depth}:{},cwd:t}),render:async(e,t)=>{let{renderReviewMarkdown:n}=await import(`./flow/builtin/review/index.js`),r=e,i=n({...r,runId:t});return r.summary.url?`${i}\nThe review is on the pull request, so a reply repeating it adds nothing. Still answer anything else asked.\n`:r.pr?`${i}\nNot posted. To post it on the pull request as the user, escalate \`coder review --post --run ${t}\`.\n`:i}},w=[C],T=[...w.map(e=>e.name),`escalate`];function E(){let e=g.env.CODER_HISTORY_TASK;if(!e)throw Error(`CODER_HISTORY_TASK is not set`);return h.dirname(e)}const D=l({name:`task`,description:`This task's own tools.`,commands:[r({name:`escalate`,description:[`Ask a human to approve actions your environment refused.`,`Actions outside the sandbox are reviewed and may be refused; then take another way.`,`If the task truly needs refused actions, escalate them all in one call with the exact commands, then continue or end your turn.`,`The decision arrives as a message, in this turn while it runs, else in a new one.`,`Approved actions stay approved for the rest of the task; run them outside the sandbox directly.`].join(` `),args:{reason:c(`One short sentence: what the actions are for.`),actions:i(`Each action is exactly the command you will run once approved, nothing added; notes go in reason.`)},access:`read`,run:({reason:e,actions:t})=>{let n=(t??[]).map(e=>e.trim()).filter(Boolean);if(!e?.trim()||!n.length)throw Error(`reason and actions are required`);let r=E();return{approvalId:f(g.cwd(),h.basename(r),r,{reason:e.trim(),actions:n}).id,status:`pending`}}}),r({name:`review`,description:`Review changes with a read-only reviewer. One at a time, ${C.limit} per turn.`,args:{pr:s(n(e()),`A pull request to review. Posts the review (summary + findings) and a check, so do not announce or repeat them.`),base:c(`The ref to compare with; default HEAD, so only uncommitted changes.`),path:i(`Review only these paths, relative to the task directory.`),exclude:i(`Leave these paths out.`),depth:s(n(a([`low`,`medium`,`high`])),`What to report: low only critical and major defects, high nits too; medium by default.`),timeout:s(n(e()),`Stop the review after this many seconds.`)},access:`read`,run:async({timeout:e,...t})=>({runId:await m(E(),C,t,e),status:`started`})}),...x]});function O(e){let t=e.filter(e=>T.includes(e));return{...D,...t.length?{instructions:[`${t.join(` and `)} ${t.length>1?`return`:`returns`} at once;`,`the result arrives later as a message, in a new turn if yours has ended.`].join(` `)}:{},commands:D.commands.filter(t=>e.includes(t.name))}}export{S as i,D as n,O as r,w as t};
@@ -1 +1 @@
1
- import{d as e}from"./args-CJsHYWbt.js";import{command as t}from"./cli.js";const n=t({name:`tools`,description:`serve a task's tools over stdio`,access:`write`,args:{tools:e(`the tools to serve: review, reply, react, history`)},globalFlags:{json:!1,cwd:!1},cli:{positional:[`tools`]},mcp:!1,async run({args:e}){let{taskApp:t,taskTools:n}=await import(`./tools-DVtBtED6.js`).then(e=>e.i),{serve:r}=await import(`./serve-DoYbHm_k.js`),i=e.flat(),a=i.find(e=>!t.commands?.some(t=>t.name===e));if(a)throw Error(`Unknown task tool "${a}"`);await(await r(n(i),`stdio`)).done}});export{n as commandTools};
1
+ import{d as e}from"./args-CJsHYWbt.js";import{command as t}from"./cli.js";const n=t({name:`tools`,description:`serve a task's tools over stdio`,access:`write`,args:{tools:e(`the tools to serve: review, reply, react, history`)},globalFlags:{json:!1,cwd:!1},cli:{positional:[`tools`]},mcp:!1,async run({args:e}){let{taskApp:t,taskTools:n}=await import(`./tools-BCm26CeV.js`).then(e=>e.i),{serve:r}=await import(`./serve-DoYbHm_k.js`),i=e.flat(),a=i.find(e=>!t.commands?.some(t=>t.name===e));if(a)throw Error(`Unknown task tool "${a}"`);await(await r(n(i),`stdio`)).done}});export{n as commandTools};
@@ -1 +1 @@
1
- import{command as e}from"./cli.js";const t=e({name:`tools-search`,description:`serve a turn's tool search over stdio`,access:`write`,globalFlags:{json:!1,cwd:!1},mcp:!1,async run(){let{serveToolSearch:e}=await import(`./tool-search-C9Ty3hhL.js`).then(e=>e.r),{serverCredential:t}=await import(`./mcp-Caq72REF.js`);await e({credential:e=>t(e),localCredential:async(e,t)=>{let{localConnectionToken:n}=await import(`./connections-B90TemYf.js`).then(e=>e.m);return n(e.connection??e.name,t)}})}});export{t as commandToolsSearch};
1
+ import{command as e}from"./cli.js";const t=e({name:`tools-search`,description:`serve a turn's tool search over stdio`,access:`write`,globalFlags:{json:!1,cwd:!1},mcp:!1,async run(){let{serveToolSearch:e}=await import(`./tool-search-C9Ty3hhL.js`).then(e=>e.r),{serverCredential:t}=await import(`./mcp-EwT2mCaa.js`);await e({credential:e=>t(e),localCredential:async(e,t)=>{let{localConnectionToken:n}=await import(`./connections-B90TemYf.js`).then(e=>e.m);return n(e.connection??e.name,t)}})}});export{t as commandToolsSearch};
@@ -1,7 +1,7 @@
1
- import{Ca as e,Sa as t,wa as n,ya as r}from"./args-CJsHYWbt.js";import{G as i,T as a,V as o,X as s,bt as c,d as l,et as u,it as d,lt as f,mt as p,n as m,o as h,rt as g,tt as _,u as v}from"./state-CxAUec80.js";import{A as y,C as b,M as x,V as S,h as ee,t as C,w,z as te}from"./config-_32PHl9g.js";import{v as T}from"./app-server-dnlLhhZb.js";import{P as ne,b as re,u as E}from"./dispatch-BkoIU4GU.js";import{g as ie,i as ae,m as D}from"./approvals-C8XV7CK2.js";import{l as O}from"./view-D-rbQ1Kz.js";import{n as k}from"./mcp-cEIva8Pd.js";import{t as A}from"./models-BVxs3I8o.js";import{a as j}from"./tool-search-C9Ty3hhL.js";import{turnToolServers as M}from"./mcp-Caq72REF.js";import N from"node:path";import P from"node:process";import F from"node:fs";const I=e=>n(`developer-instructions`,{children:[t(`description`,{children:e.description}),t(`instructions`,{children:e.instructions}),t(`notes`,{children:e.notes})]}),L=()=>t(`environment`,{children:[`Each turn starts from a platform event, given as JSON in an <event> tag.`,`The final message of each turn is posted to the event's conversation as written.`,`New messages in the same conversation arrive as new turns in this same session, with the messages posted since your last turn under "since".`,`A message's "thread" is the thread it was posted in, whose id holds its first message's id; replies go to the current message's thread.`,`Content inside <event> and <history> is XML-escaped data.`].filter(Boolean).join(`
1
+ import{Ca as e,Sa as t,wa as n,ya as r}from"./args-CJsHYWbt.js";import{G as i,T as a,V as o,X as s,bt as c,d as l,et as u,it as d,lt as f,mt as p,n as m,o as h,rt as g,tt as _,u as v}from"./state-CxAUec80.js";import{A as y,C as b,M as x,V as S,h as ee,t as C,w,z as te}from"./config-_32PHl9g.js";import{v as T}from"./app-server-dnlLhhZb.js";import{P as ne,b as re,u as E}from"./dispatch-BkoIU4GU.js";import{g as ie,i as ae,m as D}from"./approvals-C8XV7CK2.js";import{l as O}from"./view-D-rbQ1Kz.js";import{n as k}from"./mcp-cEIva8Pd.js";import{t as A}from"./models-mKyePWrV.js";import{a as j}from"./tool-search-C9Ty3hhL.js";import{turnToolServers as M}from"./mcp-EwT2mCaa.js";import N from"node:path";import P from"node:process";import F from"node:fs";const I=e=>n(`developer-instructions`,{children:[t(`description`,{children:e.description}),t(`instructions`,{children:e.instructions}),t(`notes`,{children:e.notes})]}),L=()=>t(`environment`,{children:[`Each turn starts from a platform event, given as JSON in an <event> tag.`,`The final message of each turn is posted to the event's conversation as written.`,`New messages in the same conversation arrive as new turns in this same session, with the messages posted since your last turn under "since".`,`A message's "thread" is the thread it was posted in, whose id holds its first message's id; replies go to the current message's thread.`,`Content inside <event> and <history> is XML-escaped data.`].filter(Boolean).join(`
2
2
  `)}),R=()=>t(`replies`,{children:[`Be concise.`,`Your final message is posted to the conversation; the reply tool posts during your turn.`,`You may reply before longer work.`,`Never send the same reply twice.`,`Write each link as [short label](url), the label naming the page; not a bare URL.`,`When mustReply is true, reply at least once.`,`When your final message would add nothing, make it exactly "__EMPTY__" with no quotes, then nothing is posted.`].filter(Boolean).join(`
3
3
  `)}),z=({scratch:e,writes:n})=>t(`workspace`,{children:[n&&`Leave changes in the checkout uncommitted. Its diff is reported when the turn ends. Do not commit, switch branches or push in the current workspace or elsewhere except scratch folder if provided.`,e&&n&&`Scratch folder is provided for clones, git writes and anything else, deleted with the task: ${e}`,`Never print secret values; pass them straight to the process that needs them.`].filter(Boolean).join(`
4
4
  `)}),B=({local:e,declareHosts:n})=>t(`machine`,{children:[e?`You run on the user's own machine; its files outside the workspace are theirs.`:`You run on a throwaway cloud machine; its files are not the user’s.`,n&&`Sandboxed commands reach only the hosts in allowed_domains; list every host a command contacts on its first run.`].filter(Boolean).join(`
5
5
  `)}),V={"read-only":`This task is read-only and uses only tools marked read-only.`,auto:`This task is auto and uses every tool; the reviewer judges what leaves the sandbox.`},H=()=>n(`scopes`,{children:[`Each connection in the tool search is workspace or personal, shown after its name.`,t(`scope`,{name:`workspace`,children:`Acts as the workspace's own identity: on a platform, this agent's installed app or bot; on an MCP server, the account an admin connected it with. The default.`}),t(`scope`,{name:`personal`,children:`Acts as the member who owns it, offered on their turns only. Its first use in a task asks them to approve.`}),`Use a personal server only to act as the person or for what only their account reaches, such as Slack search. With none for that platform, never use the workspace server as them; give them the connection/add link. More: load_skill connections.`]}),U=({conversation:e,local:n,writes:r})=>t(`runtime`,{children:[!e&&r&&(n?`Do the work yourself; do not load the coder skill or dispatch Coder tasks.`:`Do the work yourself; do not dispatch Coder tasks.`),`Your turn ends with your final message; verify your work before it.${e?``:` ${f}`}`,e&&n&&`Do not load the coder skill.`].filter(Boolean).join(`
6
6
  `)}),oe=r=>n(e,{children:[t(L,{}),t(R,{}),r.platform&&t(`platform`,{name:r.platform.name,children:r.platform.prompt})]}),W=r=>n(e,{children:[t(z,{...r}),!r.structured&&t(`result`,{children:`When finished, give a concise summary of what you did and found, naming the files or folders you changed.`}),t(`task-instructions`,{children:r.appendSystem})]}),G=r=>n(e,{children:[t(I,{...r.developer}),t(U,{...r}),t(B,{...r}),t(`access`,{children:r.access&&V[r.access]}),r.connections&&t(H,{}),r.conversation?t(oe,{...r}):t(W,{...r})]}),K=e=>r(t(G,{...e})),q={claude:{CLAUDE_CODE_DISABLE_AUTO_MEMORY:`1`},codex:{"features.memories":!1}};async function J(e,t,n,r={}){let i=e=>n({kind:`warning`,phase:`starting`,message:e}),a=te(t.access,t.promptParts?.access),s=await M(t,o(e,t.id),E(t.mcp,P.env,void 0,{onWarning:i}),{access:a});s.listed.length&&n({kind:`status`,phase:`starting`,message:`This turn's servers are ${s.listed.map(e=>e.name).join(`, `)}.`});let c=t.promptParts?K({...t.promptParts,...r,access:a,connections:s.listed.some(e=>j(e))}):t.systemPrompt;return{...s,systemPrompt:c}}function Y(e){P.connected&&P.send?.(e,void 0,void 0,e=>{e&&e.code!==`EPIPE`&&P.stderr.write(`coder worker: ${e.message}\n`)})}function X(e){return e.currentPrompt??e.prompt??``}async function se(e,t,n){_(e,t.id,{status:`running`,steerEndpoint:null,turnId:null,turnUsage:t.turnUsage??[]});let r=o(e,t.id),i=N.join(r,`log.jsonl`),s=p(i,F.existsSync(i)?F.statSync(i).size:0),l,u=n=>{let r=s().flatMap(e=>{let t=O(e);return t?[t]:[]}),i=r.flatMap(e=>e.message?.startsWith(`Steer accepted live:
7
- `)?[e.message.slice(m.length)]:[]),a=r.filter(e=>e.kind===`reply`).at(-1)?.message;return T(`worker.record.start`,{taskId:t.id,finalized:!1}),ue(e,t,n,{steers:i,lastReply:a})},f=await n(t,{onResult:e=>{!l&&e.status===0&&!e.error&&(l=u(e))}}),h=[...t.previousThreadIds??[]];f.status===0&&t.threadId&&f.threadId&&t.threadId!==f.threadId&&!h.includes(t.threadId)&&h.push(t.threadId);let g=new Date().toISOString();return T(`worker.engine.closed`,{taskId:t.id}),l??=u(f),c(N.join(r,`result.json`),JSON.parse(d(f))),T(`worker.record.start`,{taskId:t.id,finalized:!0}),_(e,t.id,{turnUsage:[...a(e,t.id)?.turnUsage??[],{at:l,tokens:f.tokens,model:f.model}],status:f.status===0?`completed`:`failed`,completedAt:g,threadId:f.threadId,resumeThreadId:f.threadId,previousThreadIds:h,steerEndpoint:null,turnId:f.turnId??null}),T(`worker.result.recorded`,{taskId:t.id,finalized:!0}),f}function Z(e,t){let n=0;return()=>{Date.now()-n>=1e4&&(n=Date.now(),s(e,t))}}function Q(e,t,{echo:n}){let r=r=>{let i=JSON.parse(d(typeof r==`string`?{message:r}:r));h(e,t,i),n&&i.message&&P.stderr.write(`[coder] ${i.message}\n`)};for(let e of Object.keys(g()))P.env[e]!==void 0&&r({kind:`warning`,message:`${e} is temporarily unavailable; skipped for this task.`});return r}async function ce(e,t,{echo:n,env:r={},onResult:a}){let o=w(e),s=Q(e,t.id,{echo:n}),c=t.model?o.models?.[t.model]:void 0,l=c&&b(c)?c:void 0;if(l&&!l.wireApi&&t.model){let n=await A(l);n&&(l={...l,...n},o.models[t.model]=l,y(e,t.model,n),h(e,t.id,{kind:`info`,message:`detected wire api for ${t.model}: ${n.wireApi} @ ${l.baseUrl}`}))}let u=C[t.access??`auto`]??C.auto,d=u.approvalMode===`auto`,f=S(t.access??`auto`,o.network),p=ee(t.access??`auto`,f),m={approvalPolicy:u.approvalPolicy,approvalsReviewer:u.approvalsReviewer,...d?{onApprovalRequest:D(e=>s(e))}:{}},g=await J(e,t,s);try{return await ne(e,{availabilityChecked:P.env.CODER_ENGINE_CHECKED===`1`,prompt:X(t),developerInstructions:g.systemPrompt,outputSchema:t.outputSchema,model:x(t.model),...l&&t.model?{customModel:{alias:t.model,entry:l}}:{},configOverrides:{...Object.keys(r).length?{"shell_environment_policy.set":r}:{},...t.agentId?q.codex:{},...p.configOverrides},effort:t.effort,sandbox:u.sandbox,...m,networkAccess:p.networkAccess,mcpServers:g.servers,nativeMcp:t.nativeMcp??!1,writableRoots:u.sandbox===`read-only`?[]:[...t.addDirs??[],i(t.id)],onHeartbeat:Z(e,t.id),onResult:a,resumeThreadId:t.resumeThreadId??null,onControlReady:(n,r,i)=>{_(e,t.id,{status:`running`,steerEndpoint:n,threadId:r,turnId:i})},onProgress:n=>{s(n);let r=typeof n==`object`?n.threadId:null,i=typeof n==`object`?n.turnId:null;(r||i)&&_(e,t.id,{status:`running`,...r?{threadId:r}:{},...i?{turnId:i}:{}})}})}finally{_(e,t.id,{steerEndpoint:null})}}async function le(e,t,{echo:n,env:r={},onResult:a}){let s=o(e,t.id),c=w(e),l=Q(e,t.id,{echo:n}),u=await J(e,t,l,{declareHosts:(C[t.access??`auto`]??C.auto).approvalMode===`auto`});try{return await re(e,{env:{...r,...t.agentId?q.claude:{}},prompt:X(t),systemPrompt:u.systemPrompt,excludeDynamicSections:t.conversation,settingSources:t.agentId&&t.source&&![`cli`,`dashboard`,`schedule`].includes(t.source)?`project,local`:void 0,outputSchema:t.outputSchema,model:t.model,effort:t.effort,access:t.access,approvalTaskId:t.id,allowedNetworkHosts:S(t.access??`auto`,c.network),additionalDirectories:t.addDirs,scratch:i(t.id),local:t.promptParts?.local??!0,mcpServers:u.servers,nativeMcp:t.nativeMcp??!1,promptCacheTtl:t.conversation&&(r.ANTHROPIC_API_KEY||P.env.ANTHROPIC_API_KEY)?`1h`:void 0,taskRoot:s,resumeSessionId:t.resumeThreadId??null,onHeartbeat:Z(e,t.id),onResult:a,onSteerReady:n=>{_(e,t.id,{status:`running`,steerEndpoint:n})},onProgress:n=>{l(n),n.threadId&&_(e,t.id,{status:`running`,threadId:n.threadId})}})}finally{_(e,t.id,{steerEndpoint:null})}}function ue(e,t,n,r={}){let{steers:i=[],lastReply:a}=r,s=t.turnUsage?.at(-1)?.at,l=o(e,t.id);c(N.join(l,`result.json`),JSON.parse(d(n)));let u={at:new Date(Math.max(Date.now(),s?Date.parse(s)+1:0)).toISOString(),prompt:t.currentPrompt??t.prompt??null,...i.length?{steers:i}:{},...a?{lastReply:a}:{},...n};return F.appendFileSync(N.join(l,`results.jsonl`),`${d(u)}\n`,`utf8`),T(`worker.result.recorded`,{taskId:t.id,finalized:!1}),Y(`result`),u.at}function $(e){return async(e,t,n)=>{let r=await k(E(t.mcp,P.env,void 0,{onWarning:()=>{}})),i=t.access!==`read-only`,a={...r.env,...i?de(t):{}};try{let r=t.engine===`claude`?le:ce;return await se(e,t,(t,i)=>r(e,t,{...n,...i,env:a}))}finally{await r.close()}}}function de(e){let t=i(e.id);return{TMPDIR:t,BUN_TMPDIR:t,BUN_INSTALL_CACHE_DIR:N.join(t,`.bun-cache`),npm_config_cache:N.join(t,`.npm-cache`),PIP_CACHE_DIR:N.join(t,`.pip-cache`),UV_CACHE_DIR:N.join(t,`.uv-cache`),CARGO_HOME:N.join(t,`.cargo`),GOPATH:N.join(t,`go`),GOCACHE:N.join(t,`.go-cache`),...e.engine===`claude`?{CLAUDE_CODE_TMPDIR:t}:{}}}async function fe(e){if(P.env.CODER_MCP_MODE!==`cloud`||!e.name?.startsWith(`agent:`))return{};let[{liveConnections:t},{turnServers:n}]=await Promise.all([import(`./task-DN4assR8.js`).then(e=>e.l),import(`./actions-DO8MvHwc.js`).then(e=>e.t)]),r=await t(e)(e.connections??[]);for(let e of Object.keys(P.env))e.startsWith(`CODER_CONNECTION_`)&&delete P.env[e];Object.assign(P.env,r.env);let{selected:i,bindings:a}=n(e,r.mcp);return{mcp:i.mcp,mcpBindings:a}}async function pe(e,t){for(;;){let n=await u(e,t,()=>{let n=a(e,t);if(!n)return[];let r=n.status===`failed`||n.status===`cancelled`?[]:v(e,t);return r.length||(l(e,t),_(e,t,{steerClosed:!0,steerEndpoint:null}),Y(`settled`)),r});if(!n.length)return;for(let r of n)try{let n=a(e,t),i=_(e,t,{status:`running`,currentPrompt:r,resumedAt:new Date().toISOString(),error:void 0,resumeThreadId:n?.threadId??null,...n?await fe(n):{}});h(e,t,{message:`Running steered follow-up.`}),await $(i)(e,i,{echo:!1})}catch(n){let r=n instanceof Error?n.message:String(n);_(e,t,{status:`failed`,error:r,completedAt:new Date().toISOString()}),h(e,t,{kind:`error`,message:r});return}}}async function me(e,t){if(t.dispatchId&&!t.resumedAt)try{F.writeFileSync(N.join(o(e,t.id),`start-${t.dispatchId}`),``,{flag:`wx`})}catch(e){if(e.code===`EEXIST`)return;throw e}_(e,t.id,{status:`running`,pid:P.pid,steerClosed:!1});let n;try{if(t.name?.startsWith(`agent:`)){let{startInboxControl:r,applyTaskMessage:i}=await import(`./task-DN4assR8.js`).then(e=>e.l);n=r(o(e,t.id),t.name.slice(6),n=>i(e,a(e,t.id)??t,n))}P.env.CODER_SIMULATE_APPROVAL===`1`&&!t.resumedAt&&ie(e,t.id,o(e,t.id),{reason:`A dev hook (${ae}) raised this escalation at the start of the task.`,actions:[`echo simulated`]}),await $(t)(e,t,{echo:!1}),await pe(e,t.id)}catch(n){let r=n instanceof Error?n.message:String(n);throw _(e,t.id,{status:`failed`,error:r}),h(e,t.id,{kind:`error`,message:r}),n}finally{await u(e,t.id,()=>{a(e,t.id)?.pid===P.pid&&(_(e,t.id,{steerClosed:!0,steerEndpoint:null}),Y(`settled`))}),await n?.close()}}export{me as runWorker};
7
+ `)?[e.message.slice(m.length)]:[]),a=r.filter(e=>e.kind===`reply`).at(-1)?.message;return T(`worker.record.start`,{taskId:t.id,finalized:!1}),ue(e,t,n,{steers:i,lastReply:a})},f=await n(t,{onResult:e=>{!l&&e.status===0&&!e.error&&(l=u(e))}}),h=[...t.previousThreadIds??[]];f.status===0&&t.threadId&&f.threadId&&t.threadId!==f.threadId&&!h.includes(t.threadId)&&h.push(t.threadId);let g=new Date().toISOString();return T(`worker.engine.closed`,{taskId:t.id}),l??=u(f),c(N.join(r,`result.json`),JSON.parse(d(f))),T(`worker.record.start`,{taskId:t.id,finalized:!0}),_(e,t.id,{turnUsage:[...a(e,t.id)?.turnUsage??[],{at:l,tokens:f.tokens,model:f.model}],status:f.status===0?`completed`:`failed`,completedAt:g,threadId:f.threadId,resumeThreadId:f.threadId,previousThreadIds:h,steerEndpoint:null,turnId:f.turnId??null}),T(`worker.result.recorded`,{taskId:t.id,finalized:!0}),f}function Z(e,t){let n=0;return()=>{Date.now()-n>=1e4&&(n=Date.now(),s(e,t))}}function Q(e,t,{echo:n}){let r=r=>{let i=JSON.parse(d(typeof r==`string`?{message:r}:r));h(e,t,i),n&&i.message&&P.stderr.write(`[coder] ${i.message}\n`)};for(let e of Object.keys(g()))P.env[e]!==void 0&&r({kind:`warning`,message:`${e} is temporarily unavailable; skipped for this task.`});return r}async function ce(e,t,{echo:n,env:r={},onResult:a}){let o=w(e),s=Q(e,t.id,{echo:n}),c=t.model?o.models?.[t.model]:void 0,l=c&&b(c)?c:void 0;if(l&&!l.wireApi&&t.model){let n=await A(l);n&&(l={...l,...n},o.models[t.model]=l,y(e,t.model,n),h(e,t.id,{kind:`info`,message:`detected wire api for ${t.model}: ${n.wireApi} @ ${l.baseUrl}`}))}let u=C[t.access??`auto`]??C.auto,d=u.approvalMode===`auto`,f=S(t.access??`auto`,o.network),p=ee(t.access??`auto`,f),m={approvalPolicy:u.approvalPolicy,approvalsReviewer:u.approvalsReviewer,...d?{onApprovalRequest:D(e=>s(e))}:{}},g=await J(e,t,s);try{return await ne(e,{availabilityChecked:P.env.CODER_ENGINE_CHECKED===`1`,prompt:X(t),developerInstructions:g.systemPrompt,outputSchema:t.outputSchema,model:x(t.model),...l&&t.model?{customModel:{alias:t.model,entry:l}}:{},configOverrides:{...Object.keys(r).length?{"shell_environment_policy.set":r}:{},...t.agentId?q.codex:{},...p.configOverrides},effort:t.effort,sandbox:u.sandbox,...m,networkAccess:p.networkAccess,mcpServers:g.servers,nativeMcp:t.nativeMcp??!1,writableRoots:u.sandbox===`read-only`?[]:[...t.addDirs??[],i(t.id)],onHeartbeat:Z(e,t.id),onResult:a,resumeThreadId:t.resumeThreadId??null,onControlReady:(n,r,i)=>{_(e,t.id,{status:`running`,steerEndpoint:n,threadId:r,turnId:i})},onProgress:n=>{s(n);let r=typeof n==`object`?n.threadId:null,i=typeof n==`object`?n.turnId:null;(r||i)&&_(e,t.id,{status:`running`,...r?{threadId:r}:{},...i?{turnId:i}:{}})}})}finally{_(e,t.id,{steerEndpoint:null})}}async function le(e,t,{echo:n,env:r={},onResult:a}){let s=o(e,t.id),c=w(e),l=Q(e,t.id,{echo:n}),u=await J(e,t,l,{declareHosts:(C[t.access??`auto`]??C.auto).approvalMode===`auto`});try{return await re(e,{env:{...r,...t.agentId?q.claude:{}},prompt:X(t),systemPrompt:u.systemPrompt,excludeDynamicSections:t.conversation,settingSources:t.agentId&&t.source&&![`cli`,`dashboard`,`schedule`].includes(t.source)?`project,local`:void 0,outputSchema:t.outputSchema,model:t.model,effort:t.effort,access:t.access,approvalTaskId:t.id,allowedNetworkHosts:S(t.access??`auto`,c.network),additionalDirectories:t.addDirs,scratch:i(t.id),local:t.promptParts?.local??!0,mcpServers:u.servers,nativeMcp:t.nativeMcp??!1,promptCacheTtl:t.conversation&&(r.ANTHROPIC_API_KEY||P.env.ANTHROPIC_API_KEY)?`1h`:void 0,taskRoot:s,resumeSessionId:t.resumeThreadId??null,onHeartbeat:Z(e,t.id),onResult:a,onSteerReady:n=>{_(e,t.id,{status:`running`,steerEndpoint:n})},onProgress:n=>{l(n),n.threadId&&_(e,t.id,{status:`running`,threadId:n.threadId})}})}finally{_(e,t.id,{steerEndpoint:null})}}function ue(e,t,n,r={}){let{steers:i=[],lastReply:a}=r,s=t.turnUsage?.at(-1)?.at,l=o(e,t.id);c(N.join(l,`result.json`),JSON.parse(d(n)));let u={at:new Date(Math.max(Date.now(),s?Date.parse(s)+1:0)).toISOString(),prompt:t.currentPrompt??t.prompt??null,...i.length?{steers:i}:{},...a?{lastReply:a}:{},...n};return F.appendFileSync(N.join(l,`results.jsonl`),`${d(u)}\n`,`utf8`),T(`worker.result.recorded`,{taskId:t.id,finalized:!1}),Y(`result`),u.at}function $(e){return async(e,t,n)=>{let r=await k(E(t.mcp,P.env,void 0,{onWarning:()=>{}})),i=t.access!==`read-only`,a={...r.env,...i?de(t):{}};try{let r=t.engine===`claude`?le:ce;return await se(e,t,(t,i)=>r(e,t,{...n,...i,env:a}))}finally{await r.close()}}}function de(e){let t=i(e.id);return{TMPDIR:t,BUN_TMPDIR:t,BUN_INSTALL_CACHE_DIR:N.join(t,`.bun-cache`),npm_config_cache:N.join(t,`.npm-cache`),PIP_CACHE_DIR:N.join(t,`.pip-cache`),UV_CACHE_DIR:N.join(t,`.uv-cache`),CARGO_HOME:N.join(t,`.cargo`),GOPATH:N.join(t,`go`),GOCACHE:N.join(t,`.go-cache`),...e.engine===`claude`?{CLAUDE_CODE_TMPDIR:t}:{}}}async function fe(e){if(P.env.CODER_MCP_MODE!==`cloud`||!e.name?.startsWith(`agent:`))return{};let[{liveConnections:t},{turnServers:n}]=await Promise.all([import(`./task-CzXNLREX.js`).then(e=>e.l),import(`./actions-C35tq9KH.js`).then(e=>e.t)]),r=await t(e)(e.connections??[]);for(let e of Object.keys(P.env))e.startsWith(`CODER_CONNECTION_`)&&delete P.env[e];Object.assign(P.env,r.env);let{selected:i,bindings:a}=n(e,r.mcp);return{mcp:i.mcp,mcpBindings:a}}async function pe(e,t){for(;;){let n=await u(e,t,()=>{let n=a(e,t);if(!n)return[];let r=n.status===`failed`||n.status===`cancelled`?[]:v(e,t);return r.length||(l(e,t),_(e,t,{steerClosed:!0,steerEndpoint:null}),Y(`settled`)),r});if(!n.length)return;for(let r of n)try{let n=a(e,t),i=_(e,t,{status:`running`,currentPrompt:r,resumedAt:new Date().toISOString(),error:void 0,resumeThreadId:n?.threadId??null,...n?await fe(n):{}});h(e,t,{message:`Running steered follow-up.`}),await $(i)(e,i,{echo:!1})}catch(n){let r=n instanceof Error?n.message:String(n);_(e,t,{status:`failed`,error:r,completedAt:new Date().toISOString()}),h(e,t,{kind:`error`,message:r});return}}}async function me(e,t){if(t.dispatchId&&!t.resumedAt)try{F.writeFileSync(N.join(o(e,t.id),`start-${t.dispatchId}`),``,{flag:`wx`})}catch(e){if(e.code===`EEXIST`)return;throw e}_(e,t.id,{status:`running`,pid:P.pid,steerClosed:!1});let n;try{if(t.name?.startsWith(`agent:`)){let{startInboxControl:r,applyTaskMessage:i}=await import(`./task-CzXNLREX.js`).then(e=>e.l);n=r(o(e,t.id),t.name.slice(6),n=>i(e,a(e,t.id)??t,n))}P.env.CODER_SIMULATE_APPROVAL===`1`&&!t.resumedAt&&ie(e,t.id,o(e,t.id),{reason:`A dev hook (${ae}) raised this escalation at the start of the task.`,actions:[`echo simulated`]}),await $(t)(e,t,{echo:!1}),await pe(e,t.id)}catch(n){let r=n instanceof Error?n.message:String(n);throw _(e,t.id,{status:`failed`,error:r}),h(e,t.id,{kind:`error`,message:r}),n}finally{await u(e,t.id,()=>{a(e,t.id)?.pid===P.pid&&(_(e,t.id,{steerClosed:!0,steerEndpoint:null}),Y(`settled`))}),await n?.close()}}export{me as runWorker};
@@ -1 +1 @@
1
- import{u as e}from"./args-CJsHYWbt.js";import{i as t}from"./output-BKeyLbvt.js";import{command as n}from"./cli.js";import{T as r}from"./state-CxAUec80.js";const i=n({name:`worker`,description:`run a task's turns, detached`,access:`write`,args:{"task-id":e()},globalFlags:{json:!1},cli:{positional:[`task-id`]},mcp:!1,async run({args:[e],cwd:n}){let{runWorker:i}=await import(`./worker-DeuC38Vp.js`),a=r(n,e);a||t(`Worker: task ${e} not found.`),await i(n,a),process.exit(0)}});export{i as commandWorker};
1
+ import{u as e}from"./args-CJsHYWbt.js";import{i as t}from"./output-BKeyLbvt.js";import{command as n}from"./cli.js";import{T as r}from"./state-CxAUec80.js";const i=n({name:`worker`,description:`run a task's turns, detached`,access:`write`,args:{"task-id":e()},globalFlags:{json:!1},cli:{positional:[`task-id`]},mcp:!1,async run({args:[e],cwd:n}){let{runWorker:i}=await import(`./worker-DGhRPDDt.js`),a=r(n,e);a||t(`Worker: task ${e} not found.`),await i(n,a),process.exit(0)}});export{i as commandWorker};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wular/coder",
3
- "version": "0.5.1",
3
+ "version": "0.6.0",
4
4
  "description": "The runtime for agents, your rules, any model, everywhere.",
5
5
  "type": "module",
6
6
  "main": "./dist/sdk.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "coder",
3
- "version": "0.5.1",
3
+ "version": "0.6.0",
4
4
  "description": "Delegate coding tasks to supervised Coder subagents running on Codex, Claude, or any OpenAI-compatible model. Your main context stays clean.",
5
5
  "author": {
6
6
  "name": "muzam1l"
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "coder",
3
3
  "displayName": "Coder",
4
- "version": "0.5.1",
4
+ "version": "0.6.0",
5
5
  "description": "Delegate coding tasks to supervised Coder subagents running on Codex, Claude, or any OpenAI-compatible model. Your main context stays clean.",
6
6
  "author": {
7
7
  "name": "muzam1l"
@@ -1 +0,0 @@
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};
@@ -1 +0,0 @@
1
- "use client";import{a as u,e as g}from"./platform-actions-f3979ab69a6ceb53.js";import"./copy-04781f9af4e10f06.js";import"./confirm-14d018653fbe50fc.js";import"./segmented-66a8c77c6294fec3.js";import"./outcome-dialog-fd86ded4c44c2de7.js";import"./field-adcb6e6a5f9b7131.js";import{$0a as l}from"./shared-init-96225b8c7758de9d.js";import"./shared-init-96225b8c7758de9d.js";import"./shared-init-abd7653140f37a0c.js";import"./shared-init-abd7653140f37a0c.js";import{$1c as c,$1r as f}from"./shared-init-abd7653140f37a0c.js";import"./wular-pnext-3fcac605fffcc273-0.js";import"./shared-init-abd7653140f37a0c.js";import{$3Q as e,$3S as m}from"./shared-init-abd7653140f37a0c.js";import"./shared-init-3fcac605fffcc273-2.js";import"./shared-init-3fcac605fffcc273-2.js";import{$2h as t,$2j as p}from"./shared-init-3fcac605fffcc273-2.js";function v({integration:r,state:i,info:o}){let[d,C]=t(!1),[b,a]=t(!0),[n,h]=t(),s=()=>c.apps.start(r,i);return p(()=>{u(o?.create,i,s).then(h).catch(y=>{C(!0),l(y)})},[]),d?null:n?b?e(g,{integration:r,step:n,start:s,unreachable:o?.unreachable,onClose:()=>a(!1)}):e(m,{onClick:()=>a(!0),children:n.submit}):e(f,{label:`Opening ${o?.name??r}`})}export{v as CreateLink};
@@ -1 +0,0 @@
1
- "use client";import{b as a,c as b}from"./instructions-7b274685ceb26457.js";import"./shared-init-abd7653140f37a0c.js";import"./shared-init-3fcac605fffcc273-2.js";export{b as Instructions,a as markdown};
@@ -1 +0,0 @@
1
- "use client";import{a}from"./outcome-dialog-fd86ded4c44c2de7.js";import"./shared-init-abd7653140f37a0c.js";import"./shared-init-abd7653140f37a0c.js";import"./shared-init-3fcac605fffcc273-2.js";export{a as OutcomeDialog};
@@ -1 +0,0 @@
1
- "use client";import{$2m as s,$2n as a}from"./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{$2j as r}from"./shared-init-3fcac605fffcc273-2.js";var u=["status","platform","account","app","appId","error","outcome"];function p({ok:c,title:t,text:o}){return r(()=>{c?s(t,o,"success"):a(t,o);let e=new URL(location.href);for(let n of u)e.searchParams.delete(n);history.replaceState(history.state,"",e)},[]),null}export{p as OutcomeToast};
@@ -1 +0,0 @@
1
- "use client";import{a,b,c,d,e,f,g,h,i,j}from"./platform-actions-f3979ab69a6ceb53.js";import"./copy-04781f9af4e10f06.js";import"./confirm-14d018653fbe50fc.js";import"./segmented-66a8c77c6294fec3.js";import"./outcome-dialog-fd86ded4c44c2de7.js";import"./field-adcb6e6a5f9b7131.js";import"./shared-init-96225b8c7758de9d.js";import"./shared-init-96225b8c7758de9d.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-abd7653140f37a0c.js";import"./shared-init-3fcac605fffcc273-2.js";import"./shared-init-3fcac605fffcc273-2.js";import"./shared-init-3fcac605fffcc273-2.js";export{i as CreateButton,e as CreateDialog,h as DriftQueue,b as InstallButton,j as PlatformActions,d as RemoveButton,c as UninstallButton,g as UpdateButton,f as UpdateDialog,a as createForm};
@@ -1 +0,0 @@
1
- "use client";import{a}from"./platform-step-5454b6c0a19caefd.js";import"./platform-actions-f3979ab69a6ceb53.js";import"./copy-04781f9af4e10f06.js";import"./confirm-14d018653fbe50fc.js";import"./segmented-66a8c77c6294fec3.js";import"./outcome-dialog-fd86ded4c44c2de7.js";import"./field-adcb6e6a5f9b7131.js";import"./shared-init-96225b8c7758de9d.js";import"./shared-init-96225b8c7758de9d.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-abd7653140f37a0c.js";import"./shared-init-3fcac605fffcc273-2.js";import"./shared-init-3fcac605fffcc273-2.js";import"./shared-init-3fcac605fffcc273-2.js";export{a as PlatformStep};
@@ -1 +0,0 @@
1
- var ut={observedLocationKey:z()};function z(){return location.pathname+location.search}var ge=[];function at(){return ge.splice(0)}var Rt,be;function xe(t){return/^[\u0000-\u0020]*javascript:/i.test(t)}function Lt(t){return xe(t)?(Rt?Rt(t):window.dispatchEvent(new CustomEvent("pnext:blocked-javascript-url",{detail:t})),!0):!1}function V(t){let e;try{e=new URL(t,location.href)}catch{return null}return e.origin!==location.origin||be?.(e)?null:e}function Ht(t){let e=t.target;return e instanceof Element?e.closest("a[data-pnext-link]"):null}function st(t){if(t.defaultPrevented||t.button!==0||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey)return null;let e=Ht(t);if(!e||e.target&&e.target!=="_self"||e.hasAttribute("download"))return null;let n=e.getAttribute("data-pnext-blocked-href")??e.getAttribute("href");if(!n)return null;if(Lt(n))return t.preventDefault(),null;let o=e.getAttribute("data-pnext-replace")==="true",_=V(n);return _?{link:e,url:_,replace:o,scroll:e.getAttribute("data-pnext-scroll")!=="false"}:(o&&(t.preventDefault(),window.location.replace(n)),null)}var lt=new Map;window.__PNEXT_REGISTER_ENTRY__=(t,e)=>{let n=It(t);lt.has(n)||lt.set(n,e)};function we(){return(window.__PNEXT_ROUTER_IMPORTS__??0)>0}function It(t){return new URL(t,location.href).href}var Mt;function pt(t){return Mt??=import("./runtime-3fcac605fffcc273-1.js").then(async e=>(await Promise.all(at().map(n=>n())),e)),Mt.then(t)}function ke(t,e){return pt(n=>n.softNavigate(t,e))}function Ee(t,e){let n=V(t);if(!n){if(e?.strict)try{new URL(t,location.href)}catch{throw new Error(`Cannot prefetch '${t}' because it cannot be converted to a URL.`)}return Promise.resolve(null)}return pt(o=>o.prefetchRoute(n.href,e))}var Ne=3e3,G=[],ct=!1,Ut=!1,ft;function Ot(t){let e=st(t);e&&(t.preventDefault(),G.push(e),ft??=setTimeout(()=>{let n=G[0];n&&(location.href=n.url.href)},Ne),dt())}function jt(){ct=!0,dt()}function dt(){return pt(t=>{Ut||(Ut=!0,document.removeEventListener("click",Ot),window.removeEventListener("popstate",jt),t.installRouterFull()),clearTimeout(ft),ft=void 0;let e=G;G=[];for(let n of e)t.commitLinkNavigation(n);ct&&(ct=!1,t.onPopState())})}function Ae(t){typeof requestIdleCallback=="function"?requestIdleCallback(()=>t(),{timeout:1e3}):setTimeout(t,1)}function Te(){window.__PNEXT_ROUTER_INSTALLED__||(window.__PNEXT_ROUTER_INSTALLED__=!0,"scrollRestoration"in history&&(history.scrollRestoration="manual"),ut.activeRouteKey=z(),document.addEventListener("click",Ot),window.addEventListener("popstate",jt),Ae(()=>void dt()))}var ot,b,Jt,Se,L,Dt,Qt,te,ht,Z,W,ee,xt,vt,yt,$e,tt={},et=[],Ce=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,q=Array.isArray;function R(t,e){for(var n in e)t[n]=e[n];return t}function wt(t){t&&t.parentNode&&t.parentNode.removeChild(t)}function A(t,e,n){var o,_,r,u={};for(r in e)r=="key"?o=e[r]:r=="ref"?_=e[r]:u[r]=e[r];if(arguments.length>2&&(u.children=arguments.length>3?ot.call(arguments,2):n),typeof t=="function"&&t.defaultProps!=null)for(r in t.defaultProps)u[r]===void 0&&(u[r]=t.defaultProps[r]);return J(t,u,o,_,null)}function J(t,e,n,o,_){var r={type:t,props:e,key:n,ref:o,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:_??++Jt,__i:-1,__u:0};return _==null&&b.vnode!=null&&b.vnode(r),r}function X(t){return t.children}function U(t,e){this.props=t,this.context=e}function F(t,e){if(e==null)return t.__?F(t.__,t.__i+1):null;for(var n;e<t.__k.length;e++)if((n=t.__k[e])!=null&&n.__e!=null)return n.__e;return typeof t.type=="function"?F(t):null}function Pe(t){if(t.__P&&t.__d){var e=t.__v,n=e.__e,o=[],_=[],r=R({},e);r.__v=e.__v+1,b.vnode&&b.vnode(r),kt(t.__P,r,e,t.__n,t.__P.namespaceURI,32&e.__u?[n]:null,o,n??F(e),!!(32&e.__u),_),r.__v=e.__v,r.__.__k[r.__i]=r,ie(o,r,_),e.__e=e.__=null,r.__e!=n&&ne(r)}}function ne(t){if((t=t.__)!=null&&t.__c!=null)return t.__e=t.__c.base=null,t.__k.some(function(e){if(e!=null&&e.__e!=null)return t.__e=t.__c.base=e.__e}),ne(t)}function Ft(t){(!t.__d&&(t.__d=!0)&&L.push(t)&&!nt.__r++||Dt!=b.debounceRendering)&&((Dt=b.debounceRendering)||Qt)(nt)}function nt(){try{for(var t,e=1;L.length;)L.length>e&&L.sort(te),t=L.shift(),e=L.length,Pe(t)}finally{L.length=nt.__r=0}}function re(t,e,n,o,_,r,u,c,h,a,m){var i,v,d,N,T,k,y,g=o&&o.__k||et,P=e.length;for(h=Re(n,e,g,h,P),i=0;i<P;i++)(d=n.__k[i])!=null&&(v=d.__i!=-1&&g[d.__i]||tt,d.__i=i,k=kt(t,d,v,_,r,u,c,h,a,m),N=d.__e,d.ref&&v.ref!=d.ref&&(v.ref&&Et(v.ref,null,d),m.push(d.ref,d.__c||N,d)),T==null&&N!=null&&(T=N),(y=!!(4&d.__u))||v.__k===d.__k?(h=oe(d,h,t,y),y&&v.__e&&(v.__e=null)):typeof d.type=="function"&&k!==void 0?h=k:N&&(h=N.nextSibling),d.__u&=-7);return n.__e=T,h}function Re(t,e,n,o,_){var r,u,c,h,a,m=n.length,i=m,v=0;for(t.__k=new Array(_),r=0;r<_;r++)(u=e[r])!=null&&typeof u!="boolean"&&typeof u!="function"?(typeof u=="string"||typeof u=="number"||typeof u=="bigint"||u.constructor==String?u=t.__k[r]=J(null,u,null,null,null):q(u)?u=t.__k[r]=J(X,{children:u},null,null,null):u.constructor===void 0&&u.__b>0?u=t.__k[r]=J(u.type,u.props,u.key,u.ref?u.ref:null,u.__v):t.__k[r]=u,h=r+v,u.__=t,u.__b=t.__b+1,c=null,(a=u.__i=Le(u,n,h,i))!=-1&&(i--,(c=n[a])&&(c.__u|=2)),c==null||c.__v==null?(a==-1&&(_>m?v--:_<m&&v++),typeof u.type!="function"&&(u.__u|=4)):a!=h&&(a==h-1?v--:a==h+1?v++:(a>h?v--:v++,u.__u|=4))):t.__k[r]=null;if(i)for(r=0;r<m;r++)(c=n[r])!=null&&(2&c.__u)==0&&(c.__e==o&&(o=F(c)),ue(c,c));return o}function oe(t,e,n,o){var _,r;if(typeof t.type=="function"){for(_=t.__k,r=0;_&&r<_.length;r++)_[r]&&(_[r].__=t,e=oe(_[r],e,n,o));return e}t.__e!=e&&(o&&(e&&t.type&&!e.parentNode&&(e=F(t)),n.insertBefore(t.__e,e||null)),e=t.__e);do e=e&&e.nextSibling;while(e!=null&&e.nodeType==8);return e}function _e(t,e){return e=e||[],t==null||typeof t=="boolean"||(q(t)?t.some(function(n){_e(n,e)}):e.push(t)),e}function Le(t,e,n,o){var _,r,u,c=t.key,h=t.type,a=e[n],m=a!=null&&(2&a.__u)==0;if(a===null&&c==null||m&&c==a.key&&h==a.type)return n;if(o>(m?1:0)){for(_=n-1,r=n+1;_>=0||r<e.length;)if((a=e[u=_>=0?_--:r++])!=null&&(2&a.__u)==0&&c==a.key&&h==a.type)return u}return-1}function Wt(t,e,n){e[0]=="-"?t.setProperty(e,n??""):t[e]=n==null?"":typeof n!="number"||Ce.test(e)?n:n+"px"}function Y(t,e,n,o,_){var r,u;t:if(e=="style")if(typeof n=="string")t.style.cssText=n;else{if(typeof o=="string"&&(t.style.cssText=o=""),o)for(e in o)n&&e in n||Wt(t.style,e,"");if(n)for(e in n)o&&n[e]==o[e]||Wt(t.style,e,n[e])}else if(e[0]=="o"&&e[1]=="n")r=e!=(e=e.replace(ee,"$1")),u=e.toLowerCase(),e=u in t||e=="onFocusOut"||e=="onFocusIn"?u.slice(2):e.slice(2),t.l||(t.l={}),t.l[e+r]=n,n?o?n[W]=o[W]:(n[W]=xt,t.addEventListener(e,r?yt:vt,r)):t.removeEventListener(e,r?yt:vt,r);else{if(_=="http://www.w3.org/2000/svg")e=e.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if(e!="width"&&e!="height"&&e!="href"&&e!="list"&&e!="form"&&e!="tabIndex"&&e!="download"&&e!="rowSpan"&&e!="colSpan"&&e!="role"&&e!="popover"&&e in t)try{t[e]=n??"";break t}catch{}typeof n=="function"||(n==null||n===!1&&e[4]!="-"?t.removeAttribute(e):t.setAttribute(e,e=="popover"&&n==1?"":n))}}function qt(t){return function(e){if(this.l){var n=this.l[e.type+t];if(e[Z]==null)e[Z]=xt++;else if(e[Z]<n[W])return;return n(b.event?b.event(e):e)}}}function kt(t,e,n,o,_,r,u,c,h,a){var m,i,v,d,N,T,k,y,g,P,C,S,K,j,D,$=e.type;if(e.constructor!==void 0)return null;128&n.__u&&(h=!!(32&n.__u),r=[c=e.__e=n.__e]),(m=b.__b)&&m(e);t:if(typeof $=="function")try{if(y=e.props,g=$.prototype&&$.prototype.render,P=(m=$.contextType)&&o[m.__c],C=m?P?P.props.value:m.__:o,n.__c?k=(i=e.__c=n.__c).__=i.__E:(g?e.__c=i=new $(y,C):(e.__c=i=new U(y,C),i.constructor=$,i.render=Ie),P&&P.sub(i),i.state||(i.state={}),i.__n=o,v=i.__d=!0,i.__h=[],i._sb=[]),g&&i.__s==null&&(i.__s=i.state),g&&$.getDerivedStateFromProps!=null&&(i.__s==i.state&&(i.__s=R({},i.__s)),R(i.__s,$.getDerivedStateFromProps(y,i.__s))),d=i.props,N=i.state,i.__v=e,v)g&&$.getDerivedStateFromProps==null&&i.componentWillMount!=null&&i.componentWillMount(),g&&i.componentDidMount!=null&&i.__h.push(i.componentDidMount);else{if(g&&$.getDerivedStateFromProps==null&&y!==d&&i.componentWillReceiveProps!=null&&i.componentWillReceiveProps(y,C),e.__v==n.__v||!i.__e&&i.shouldComponentUpdate!=null&&i.shouldComponentUpdate(y,i.__s,C)===!1){e.__v!=n.__v&&(i.props=y,i.state=i.__s,i.__d=!1),e.__e=n.__e,e.__k=n.__k,e.__k.some(function(l){l&&(l.__=e)}),et.push.apply(i.__h,i._sb),i._sb=[],i.__h.length&&u.push(i);break t}i.componentWillUpdate!=null&&i.componentWillUpdate(y,i.__s,C),g&&i.componentDidUpdate!=null&&i.__h.push(function(){i.componentDidUpdate(d,N,T)})}if(i.context=C,i.props=y,i.__P=t,i.__e=!1,S=b.__r,K=0,g)i.state=i.__s,i.__d=!1,S&&S(e),m=i.render(i.props,i.state,i.context),et.push.apply(i.__h,i._sb),i._sb=[];else do i.__d=!1,S&&S(e),m=i.render(i.props,i.state,i.context),i.state=i.__s;while(i.__d&&++K<25);i.state=i.__s,i.getChildContext!=null&&(o=R(R({},o),i.getChildContext())),g&&!v&&i.getSnapshotBeforeUpdate!=null&&(T=i.getSnapshotBeforeUpdate(d,N)),j=m!=null&&m.type===X&&m.key==null?le(m.props.children):m,c=re(t,q(j)?j:[j],e,n,o,_,r,u,c,h,a),i.base=e.__e,e.__u&=-161,i.__h.length&&u.push(i),k&&(i.__E=i.__=null)}catch(l){if(e.__v=null,h||r!=null)if(l.then){for(e.__u|=h?160:128;c&&c.nodeType==8&&c.nextSibling;)c=c.nextSibling;r[r.indexOf(c)]=null,e.__e=c}else{for(D=r.length;D--;)wt(r[D]);gt(e)}else e.__e=n.__e,e.__k=n.__k,l.then||gt(e);b.__e(l,e,n)}else r==null&&e.__v==n.__v?(e.__k=n.__k,e.__e=n.__e):c=e.__e=He(n.__e,e,n,o,_,r,u,h,a);return(m=b.diffed)&&m(e),128&e.__u?void 0:c}function gt(t){t&&(t.__c&&(t.__c.__e=!0),t.__k&&t.__k.some(gt))}function ie(t,e,n){for(var o=0;o<n.length;o++)Et(n[o],n[++o],n[++o]);b.__c&&b.__c(e,t),t.some(function(_){try{t=_.__h,_.__h=[],t.some(function(r){r.call(_)})}catch(r){b.__e(r,_.__v)}})}function le(t){return typeof t!="object"||t==null||t.__b>0?t:q(t)?t.map(le):t.constructor!==void 0?null:R({},t)}function He(t,e,n,o,_,r,u,c,h){var a,m,i,v,d,N,T,k=n.props||tt,y=e.props,g=e.type;if(g=="svg"?_="http://www.w3.org/2000/svg":g=="math"?_="http://www.w3.org/1998/Math/MathML":_||(_="http://www.w3.org/1999/xhtml"),r!=null){for(a=0;a<r.length;a++)if((d=r[a])&&"setAttribute"in d==!!g&&(g?d.localName==g:d.nodeType==3)){t=d,r[a]=null;break}}if(t==null){if(g==null)return document.createTextNode(y);t=document.createElementNS(_,g,y.is&&y),c&&(b.__m&&b.__m(e,r),c=!1),r=null}if(g==null)k===y||c&&t.data==y||(t.data=y);else{if(r=g=="textarea"&&y.defaultValue!=null?null:r&&ot.call(t.childNodes),!c&&r!=null)for(k={},a=0;a<t.attributes.length;a++)k[(d=t.attributes[a]).name]=d.value;for(a in k)d=k[a],a=="dangerouslySetInnerHTML"?i=d:a=="children"||a in y||a=="value"&&"defaultValue"in y||a=="checked"&&"defaultChecked"in y||Y(t,a,null,d,_);for(a in y)d=y[a],a=="children"?v=d:a=="dangerouslySetInnerHTML"?m=d:a=="value"?N=d:a=="checked"?T=d:c&&typeof d!="function"||k[a]===d||Y(t,a,d,k[a],_);if(m)c||i&&(m.__html==i.__html||m.__html==t.innerHTML)||(t.innerHTML=m.__html),e.__k=[];else if(i&&(t.innerHTML=""),re(e.type=="template"?t.content:t,q(v)?v:[v],e,n,o,g=="foreignObject"?"http://www.w3.org/1999/xhtml":_,r,u,r?r[0]:n.__k&&F(n,0),c,h),r!=null)for(a=r.length;a--;)wt(r[a]);c&&g!="textarea"||(a="value",g=="progress"&&N==null?t.removeAttribute("value"):N!=null&&(N!==t[a]||g=="progress"&&!N||g=="option"&&N!=k[a])&&Y(t,a,N,k[a],_),a="checked",T!=null&&T!=t[a]&&Y(t,a,T,k[a],_))}return t}function Et(t,e,n){try{if(typeof t=="function"){var o=typeof t.__u=="function";o&&t.__u(),o&&e==null||(t.__u=t(e))}else t.current=e}catch(_){b.__e(_,n)}}function ue(t,e,n){var o,_;if(b.unmount&&b.unmount(t),(o=t.ref)&&(o.current&&o.current!=t.__e||Et(o,null,e)),(o=t.__c)!=null){if(o.componentWillUnmount)try{o.componentWillUnmount()}catch(r){b.__e(r,e)}o.base=o.__P=null}if(o=t.__k)for(_=0;_<o.length;_++)o[_]&&ue(o[_],e,n||typeof t.type!="function");n||wt(t.__e),t.__c=t.__=t.__e=void 0}function Ie(t,e,n){return this.constructor(t,n)}function H(t,e,n){var o,_,r,u;e==document&&(e=document.documentElement),b.__&&b.__(t,e),_=(o=typeof n=="function")?null:n&&n.__k||e.__k,r=[],u=[],kt(e,t=(!o&&n||e).__k=A(X,null,[t]),_||tt,tt,e.namespaceURI,!o&&n?[n]:_?null:e.firstChild?ot.call(e.childNodes):null,r,!o&&n?n:_?_.__e:e.firstChild,o,u),ie(r,t,u)}function _t(t,e){H(t,e,_t)}ot=et.slice,b={__e:function(t,e,n,o){for(var _,r,u;e=e.__;)if((_=e.__c)&&!_.__)try{if((r=_.constructor)&&r.getDerivedStateFromError!=null&&(_.setState(r.getDerivedStateFromError(t)),u=_.__d),_.componentDidCatch!=null&&(_.componentDidCatch(t,o||{}),u=_.__d),u)return _.__E=_}catch(c){t=c}throw t}},Jt=0,Se=function(t){return t!=null&&t.constructor===void 0},U.prototype.setState=function(t,e){var n;n=this.__s!=null&&this.__s!=this.state?this.__s:this.__s=R({},this.state),typeof t=="function"&&(t=t(R({},n),this.props)),t&&R(n,t),t!=null&&this.__v&&(e&&this._sb.push(e),Ft(this))},U.prototype.forceUpdate=function(t){this.__v&&(this.__e=!0,t&&this.__h.push(t),Ft(this))},U.prototype.render=X,L=[],Qt=typeof Promise=="function"?Promise.prototype.then.bind(Promise.resolve()):setTimeout,te=function(t,e){return t.__v.__b-e.__v.__b},nt.__r=0,ht=Math.random().toString(8),Z="__d"+ht,W="__a"+ht,ee=/(PointerCapture)$|Capture$/i,xt=0,vt=qt(!1),yt=qt(!0),$e=0;var O,x,mt,Xt,rt=0,ae=[],E=b,Bt=E.__b,Kt=E.__r,zt=E.diffed,Vt=E.__c,Gt=E.unmount,Yt=E.__;function B(t,e){E.__h&&E.__h(x,t,rt||e),rt=0;var n=x.__H||(x.__H={__:[],__h:[]});return t>=n.__.length&&n.__.push({}),n.__[t]}function Nt(t){return rt=1,se(fe,t)}function se(t,e,n){var o=B(O++,2);if(o.t=t,!o.__c&&(o.__=[n?n(e):fe(void 0,e),function(c){var h=o.__N?o.__N[0]:o.__[0],a=o.t(h,c);h!==a&&(o.__N=[a,o.__[1]],o.__c.setState({}))}],o.__c=x,!x.__f)){var _=function(c,h,a){if(!o.__c.__H)return!0;var m=o.__c.__H.__.filter(function(v){return v.__c});if(m.every(function(v){return!v.__N}))return!r||r.call(this,c,h,a);var i=o.__c.props!==c;return m.some(function(v){if(v.__N){var d=v.__[0];v.__=v.__N,v.__N=void 0,d!==v.__[0]&&(i=!0)}}),r&&r.call(this,c,h,a)||i};x.__f=!0;var r=x.shouldComponentUpdate,u=x.componentWillUpdate;x.componentWillUpdate=function(c,h,a){if(this.__e){var m=r;r=void 0,_(c,h,a),r=m}u&&u.call(this,c,h,a)},x.shouldComponentUpdate=_}return o.__N||o.__}function it(t,e){var n=B(O++,3);!E.__s&&At(n.__H,e)&&(n.__=t,n.u=e,x.__H.__h.push(n))}function Me(t,e){var n=B(O++,4);!E.__s&&At(n.__H,e)&&(n.__=t,n.u=e,x.__h.push(n))}function Ue(t){return rt=5,ce(function(){return{current:t}},[])}function ce(t,e){var n=B(O++,7);return At(n.__H,e)&&(n.__=t(),n.__H=e,n.__h=t),n.__}function Oe(){var t=B(O++,11);if(!t.__){for(var e=x.__v;e!==null&&!e.__m&&e.__!==null;)e=e.__;var n=e.__m||(e.__m=[0,0]);t.__="P"+n[0]+"-"+n[1]++}return t.__}function je(){for(var t;t=ae.shift();){var e=t.__H;if(t.__P&&e)try{e.__h.some(Q),e.__h.some(bt),e.__h=[]}catch(n){e.__h=[],E.__e(n,t.__v)}}}E.__b=function(t){x=null,Bt&&Bt(t)},E.__=function(t,e){t&&e.__k&&e.__k.__m&&(t.__m=e.__k.__m),Yt&&Yt(t,e)},E.__r=function(t){Kt&&Kt(t),O=0;var e=(x=t.__c).__H;e&&(mt===x?(e.__h=[],x.__h=[],e.__.some(function(n){n.__N&&(n.__=n.__N),n.u=n.__N=void 0})):(e.__h.some(Q),e.__h.some(bt),e.__h=[],O=0)),mt=x},E.diffed=function(t){zt&&zt(t);var e=t.__c;e&&e.__H&&(e.__H.__h.length&&(ae.push(e)!==1&&Xt===E.requestAnimationFrame||((Xt=E.requestAnimationFrame)||De)(je)),e.__H.__.some(function(n){n.u&&(n.__H=n.u),n.u=void 0})),mt=x=null},E.__c=function(t,e){e.some(function(n){try{n.__h.some(Q),n.__h=n.__h.filter(function(o){return!o.__||bt(o)})}catch(o){e.some(function(_){_.__h&&(_.__h=[])}),e=[],E.__e(o,n.__v)}}),Vt&&Vt(t,e)},E.unmount=function(t){Gt&&Gt(t);var e,n=t.__c;n&&n.__H&&(n.__H.__.some(function(o){try{Q(o)}catch(_){e=_}}),n.__H=void 0,e&&E.__e(e,n.__v))};var Zt=typeof requestAnimationFrame=="function";function De(t){var e,n=function(){clearTimeout(o),Zt&&cancelAnimationFrame(e),setTimeout(t)},o=setTimeout(n,35);Zt&&(e=requestAnimationFrame(n))}function Q(t){var e=x,n=t.__c;typeof n=="function"&&(t.__c=void 0,n()),x=e}function bt(t){var e=x;t.__c=t.__(),x=e}function At(t,e){return!t||t.length!==e.length||e.some(function(n,o){return n!==t[o]})}function fe(t,e){return typeof e=="function"?e(t):e}var Fe="$$pnext_typed_array",We="$$pnext_array_buffer",qe="$$pnext_ref",Ct="__pnextPromise",Xe="$$pnextErrorReset";function Be(t,e){if(t===null||typeof t!="object")return t;let n=o=>{for(let _ of Object.keys(o)){let r=o[_];if(r===null||typeof r!="object"||ArrayBuffer.isView(r))continue;let u=r,c=Ye(t,u)??e?.(u)??Ge(u)??Ke(u);if(c!==void 0){o[_]=c;continue}n(u)}};return n(t),t}function Ke(t){return t[Xe]===!0?ze:void 0}function ze(){location.reload()}function Ve(t){let e=globalThis[t];return typeof e=="function"&&"BYTES_PER_ELEMENT"in e?e:void 0}function pe(t){return Uint8Array.from(atob(t),e=>e.charCodeAt(0))}function Ge(t){let e=t[We];if(typeof e=="string")return pe(e).buffer;let n=t[Fe];if(n===null||typeof n!="object")return;let{type:o,data:_}=n;if(typeof o!="string"||typeof _!="string")return;let r=Ve(o);return r?new r(pe(_).buffer):void 0}function Ye(t,e){let n=e[qe];if(!Array.isArray(n))return;let o=t;for(let _ of n){if(o===null||typeof o!="object")return;o=o[String(_)]}return o}function Ze(t){return t.includes(Ct)}function Je(t,e){return Pt(t,new Set,e)}var Qe=new Set(["params","searchParams"]);function Pt(t,e,n,o){if(t===null||typeof t!="object"||e.has(t))return t;if(Ct in t){let r=t[Ct],u=tn(r);return!n||!o||!Qe.has(o)||r===null||typeof r!="object"?u:n(u,o,r)}if(e.add(t),Array.isArray(t)){for(let r=0;r<t.length;r++)t[r]=Pt(t[r],e,n);return t}if(Object.getPrototypeOf(t)!==Object.prototype)return t;let _=t;for(let r of Object.keys(_))_[r]=Pt(_[r],e,n,r);return t}function tn(t){let e=Promise.resolve(t);return e.status="fulfilled",e.value=t,e}var de="data-pnext-static-slot",he="$$pnext_slot";function en(t){return t.includes(he)}async function nn(t,e,n,o){return await me(t,e,n,o,new Set)}async function me(t,e,n,o,_){if(t===null||typeof t!="object"||_.has(t))return t;let r=t[he];if(typeof r=="string"){let h=e.querySelector(`[${de}="${rn(r)}"]`);return h?o("pnext-static-slot",{[de]:r,style:{display:"contents"}},await n(h)):null}let u=Object.getPrototypeOf(t);if(!Array.isArray(t)&&u!==Object.prototype&&u!==null)return t;_.add(t);let c=t;for(let h of Object.keys(c))c[h]=await me(c[h],e,n,o,_);return t}function rn(t){return t.replace(/["\\]/g,"\\$&")}function on(t,e){let n=e.__pnextMask??=[e.getAttribute("data-pnext-id"),0];Object.defineProperty(t,"__m",{enumerable:!0,get(){return(this.__c||this).__pnextMask??=n}})}function Tt(t,e,n,o,_){let r=o!==void 0?t(e,n,o):t(e,n);return on(r,_),r}function St(t,e,n,o){let _=_n(t);return en(t)?nn(_,e,n,o):_}function _n(t){let e=JSON.parse(t||"{}"),n=Be(e);return Ze(t||"")?Je(n):n}function ln(t){let e=t.getAttribute("data-pnext-error-message")??"",n=t.getAttribute("data-pnext-error-digest");return A(function(){let o=new Error(e);throw n&&(o.digest=n),o},null)}function $t(t){let e={};for(let n of t.attributes)e[n.name]=n.value;return e}function un(t){return t.parentElement?.closest("pnext-client")}var an=class extends U{componentDidMount(){this.base&&(this.base.__pnextHole=this)}componentWillUnmount(){this.base&&this.base.__pnextHole===this&&(this.base.__pnextHole=void 0)}componentWillReceiveProps(t){t.children!==this.props.children&&this.setState({adopted:void 0})}render(t,e){return A("pnext-hole",t.attrs,e.adopted!==void 0?e.adopted:t.children)}};function sn(t){let e=t;for(;e.parentElement&&getComputedStyle(e).display==="contents";)e=e.parentElement;return e}async function cn(t,e){let n=t.__pnextMounting;if(n&&(await n,t.__pnextLive&&!t.__pnextIncoming))return;let o=e();t.__pnextMounting=o;try{await o}finally{t.__pnextMounting===o&&(t.__pnextMounting=void 0)}}function fn(){if(typeof customElements>"u"||window.__PNEXT_HOST_MEASURE__)return;window.__PNEXT_HOST_MEASURE__=!0;let t=_=>_.style.display==="contents"||getComputedStyle(_).display==="contents"?_.parentElement:null;class e extends HTMLElement{getBoundingClientRect(){let r=t(this);return r?r.getBoundingClientRect():super.getBoundingClientRect()}getClientRects(){let r=t(this);return r?r.getClientRects():super.getClientRects()}}for(let _ of["clientWidth","clientHeight","offsetWidth","offsetHeight","offsetTop","offsetLeft"])Object.defineProperty(e.prototype,_,{configurable:!0,get(){let r=t(this);return r?r[_]:0}});for(let _ of["pnext-client","pnext-dynamic","pnext-static-children"])customElements.get(_)||customElements.define(_,class extends e{});let n=_=>_ instanceof e?t(_)??_:_,o=window.ResizeObserver;o&&(window.ResizeObserver=class extends o{observe(_,r){super.observe(n(_),r)}unobserve(_){super.unobserve(n(_))}})}fn();function pn(t,e){if(!e)return!1;for(let n of e)if(t===n||n instanceof Node&&t.contains&&t.contains(n))return!0;return!1}function dn(t){let e=t.islands??[],n=t.Page,o=t.shell,_=new Set,r,u,c;function h(l,s){let f=l.getAttribute&&l.getAttribute("data-pnext-ssr-failed")!=null;(l.hasChildNodes()&&!f?_t:H)(s,l),l.__pnextLive=H,_.add(l)}let a=new Map(e.map(l=>[l.id,l]));function m(l,s){if(l.moveBefore&&l.isConnected&&s.isConnected)try{l.moveBefore(s,null);return}catch{}l.append(s)}function i(l,s){let f=l.__pnextCaptured;if(f){if(l.__pnextCaptured=void 0,s)for(let p of[...f.childNodes])m(s,p);f.remove()}}function v(l){for(let s of l.querySelectorAll("img[loading=lazy]"))if(!(s.complete||s.currentSrc))for(let f of["src","srcset"]){let p=s.getAttribute(f);p!==null&&(s.removeAttribute(f),s.setAttribute(f,p))}}async function d(l){let s=l.__pnextAdopting;if(s)return s;let f=l.__pnextHole;if(!f)return i(l,l);let p=(async()=>{let w=l.__pnextCaptured,I=await S(w??l);i(l),l.replaceChildren(),f.setState({adopted:I??null},()=>v(l))})();l.__pnextAdopting=p;try{await p}finally{l.__pnextAdopting===p&&(l.__pnextAdopting=void 0)}}async function N(l,s){let f;for(let p=l.parentElement;p&&p!==s;p=p.parentElement)if(p.localName==="pnext-hole"){if(p.__pnextHole){f=p;break}f??=p}if(f&&!f.__pnextHole&&!f.__pnextCaptured&&s.__pnextMounting){let p=document.createElement("pnext-hole-capture");p.hidden=!0,document.body.append(p),f.__pnextCaptured=p;for(let w of[...f.childNodes])m(p,w)}if(await s.__pnextMounting?.catch(()=>{}),!(!f||!f.__pnextCaptured&&!l.isConnected))return d(f)}function T(){let l=[],s=0;for(let f of e)for(let p of document.querySelectorAll(`[data-pnext-client="${f.id}"]`)){if(p.closest("[data-pnext-stream]"))continue;let w=un(p);if(w){l.push(N(p,w));continue}if(!(p.__pnextLive&&!p.__pnextIncoming)){if(s+=1,f.load&&f.options?.load==="visible"&&!p.__pnextIncoming){P(p,f);continue}l.push(k(p,f))}}return{mounted:s,done:Promise.all(l)}}function k(l,s){return cn(l,()=>g(l,s))}async function y(l){return l.Component??await l.load()}async function g(l,s){let f=await y(s),p=l.getAttribute("data-pnext-props")??"{}",w=l.__pnextIncoming;l.__pnextIncoming=void 0;let I=l.__pnextStreamGrafted;if(l.__pnextStreamGrafted=void 0,w&&l.__pnextLive===H&&!I){if(w!==l){let ye=Tt(A,f,await St(p,w,S,A),await C(w,s.id),l);H(ye,l)}_.add(l);return}w&&(l.replaceChildren(...w.childNodes),l.__pnextLive=void 0,l.__pnextMask=[w.getAttribute("data-pnext-id"),0]);let M=Tt(A,f,await St(p,l,S,A),await C(l,s.id),l);h(l,M)}function P(l,s){if(typeof IntersectionObserver>"u"){k(l,s);return}let f=new IntersectionObserver(p=>{p.some(w=>w.isIntersecting)&&(f.disconnect(),k(l,s))},s.options);f.observe(sn(l))}async function C(l,s){let f=l.querySelector(`[data-pnext-static-children="${s}"]`);if(!f)return;let p=f.localName==="template",w=p?f.content:f;p&&window.__PNEXT_MATERIALIZE_CLIENT_ISLANDS__&&window.__PNEXT_MATERIALIZE_CLIENT_ISLANDS__(w);let I=await S(w);if(n){let M=w.querySelector?.("#pnext-page");M?.parentNode&&M.replaceWith(...M.childNodes)}return p&&f.remove(),A("pnext-static-children",{"data-pnext-static-children":s,style:{display:"contents"}},I)}async function S(l){let s=(await Promise.all(Array.from(l.childNodes,K))).filter(f=>f!=null&&f!==!1);if(s.length!==0)return s.length===1?s[0]:s}async function K(l){if(l.nodeType===3)return l.textContent;if(l.nodeType!==1)return null;let s=l;if(s.localName==="pnext-boundary-error")return ln(s);if(s.localName==="pnext-hole")return A(an,{attrs:$t(s)},await S(s));if(s.localName==="pnext-client"){let f=s.getAttribute("data-pnext-client"),p=f?a.get(f):void 0;if(!p)return A(s.localName,$t(s),await S(s));let w=s.getAttribute("data-pnext-props")??"{}",I=await C(s,p.id),M=await y(p);return Tt(A,M,await St(w,s,S,A),I,s)}return n&&s.id==="pnext-page"?A(n,pageProps()):A(s.localName,$t(s),await S(s))}function j(){return e.length>0&&(u=T(),r=u.done.then(()=>u.mounted)),window.__PNEXT_ACTIVE_ENTRY__={unmount:$},r}function D(){return e.length>0&&(u=T(),r=u.done.then(()=>u.mounted)),r}window.__PNEXT_MOUNT_ISLANDS__=D;function $(l){for(let p of _)pn(p,l)||(H(null,p),p.__pnextLive=void 0);let s=window.__PNEXT_CLIENT_PAGE_ROOT__,f=!1;if(s&&l)for(let p of l)p===s&&(f=!0);_.clear(),f&&_.add(s)}return{mountRoute:j,remountRoute:D,unmountRoute:$}}var ve=()=>Intl.DateTimeFormat().resolvedOptions().timeZone;function hn(){return it(()=>{let t=ve();t&&!document.cookie.includes(`tz=${encodeURIComponent(t)}`)&&(document.cookie=`tz=${encodeURIComponent(t)}; path=/; max-age=31536000; samesite=lax`)},[]),null}function mn(t){let[e,n]=Nt(t);return it(()=>n(ve()||t),[]),e}export{ut as $0a,z as $0b,at as $0c,Lt as $0d,V as $0e,Ht as $0f,st as $0g,lt as $0h,we as $0i,It as $0j,ke as $1a,Ee as $1b,Te as $1c,b as $2a,A as $2b,X as $2c,U as $2d,_e as $2e,H as $2f,_t as $2g,Nt as $2h,se as $2i,it as $2j,Me as $2k,Ue as $2l,ce as $2m,Oe as $2n,dn as $3a,hn as $4a,mn as $4b};
@@ -1 +0,0 @@
1
- import{b as W,c as w,f as E,g as S,i as R,j,k as x}from"./model-options-5e07b3318d69d218.js";import{$0D as q,$0k as D,$0l as I,$0m as $,$0r as L,$0s as M}from"./shared-init-abd7653140f37a0c.js";import{$3B as v,$3Q as o,$3R as T,$3h as Q,$3i as F}from"./shared-init-abd7653140f37a0c.js";import{$2c as k,$2n as B}from"./shared-init-3fcac605fffcc273-2.js";function H({groups:l,first:e,model:t,effort:n,base:p=()=>"medium",onPick:i,onAdd:r}){let d=q(),c=B(),m=[...e?[["",[""]]]:[],...W.filter(a=>l[a]?.length).map(a=>[E[a]??a,l[a]])];return t&&!m.some(([,a])=>a.includes(t))&&m.push(["",[t]]),o("div",{role:"group","aria-label":"Model",class:"pop-radios model-choices",children:[m.map(([a,h])=>o(k,{children:[a?o("p",{class:"pop-group",children:a}):null,h.map(s=>{let f=s===t,g=s||e.label,b=`${c}-effort-${s||"default"}`,y=[["",`Default (${s?p(s):"medium"})`],...w],A=f&&n?y.find(([u])=>u===n)?.[1]:void 0;return o(L,{children:[o($,{on:f,onPick:()=>i(s,""),end:!s&&e?.sub?o("small",{children:e.sub}):null,children:g}),s||e?.efforts?o(k,{children:[o("button",{type:"button",class:"pop-chev","data-keep":!0,popovertarget:b,"aria-label":`Effort for ${g}`,children:[o("small",{children:(A??(s?p(s):"default")).toLowerCase()}),o(T,{d:F})]}),o(M,{id:b,class:"pop-flyout",popover:"auto",role:"group","aria-label":`Effort for ${g}`,onBeforeToggle:P,children:y.map(([u,C])=>o($,{on:f&&n===u,onPick:()=>i(s,u),children:C},u))})]}):null]},s)})]},a||h[0])),r?o(D,{class:"add-models",icon:v,title:"Add models",onClick:r}):o(I,{class:"add-models",href:"/dash/[org]/settings/[tab]",params:{org:d,tab:"models"},icon:v,children:"Add models"})]})}function P(l){let e=l.currentTarget,t=document.querySelector(`[popovertarget="${e.id}"]`)?.parentElement?.getBoundingClientRect();if(l.newState!=="open"||!t)return;e.style.cssText="display: block; visibility: hidden";let{offsetWidth:n,offsetHeight:p}=e;e.style.cssText="";let i=innerWidth<560,r=t.right+4+n<=innerWidth-8,d=i?t.left:r?t.right+4:t.left-n-4,c=i?t.bottom+2:t.top;e.style.left=`${Math.round(Math.max(8,d))}px`,e.style.top=`${Math.round(Math.max(8,Math.min(c,innerHeight-p-8)))}px`}function G(l){let e=l.currentTarget,t=document.querySelector(`[popovertarget="${e.id}"]`)?.getBoundingClientRect();if(l.newState!=="open"||!t)return;e.style.cssText="display: block; visibility: hidden; max-height: none";let n=e.offsetHeight,p=e.offsetWidth;e.style.cssText="";let i=innerHeight-t.bottom-12,r=t.top-12,d=n>i&&r>i,c=Math.max(160,Math.round(d?r:i));e.style.left=`${Math.round(Math.max(8,Math.min(t.left,innerWidth-p-8)))}px`,e.style.maxHeight=`${c}px`,d?e.style.bottom=`${Math.round(innerHeight-t.top+4)}px`:e.style.top=`${Math.round(t.bottom+4)}px`}function N({shape:l,value:e,onChange:t,empty:n,name:p,compact:i,onAdd:r}){let d=`${B()}-models`,{model:c,effort:m}=R(e,l),a=()=>document.getElementById(d)?.hidePopover();return o("span",{class:i?"model-pick compact":"model-pick",children:[o("button",{type:"button",class:"model-pick-btn",popovertarget:d,"aria-label":"Model",children:[o("span",{class:"grow",children:c||n?.label||"Pick a model"}),c?o("small",{class:"muted",children:m||x(c,l)}):null,o(T,{d:Q})]}),o(M,{id:d,class:"model-pop",popover:"auto",onBeforeToggle:G,children:o(H,{groups:S(l),first:n,model:c,effort:m,base:h=>x(h,l),onPick:(h,s)=>{a(),t(j(h,s,l))},onAdd:r&&(()=>{a(),r()})})}),p?o("input",{type:"hidden",name:p,value:e}):null]})}import{$3Q as O}from"./shared-init-abd7653140f37a0c.js";function _({tone:l,slim:e,children:t}){return O("div",{class:["notice",e&&"slim",l].filter(Boolean).join(" "),role:"status",children:t})}export{H as $0a,P as $0b,N as $0c,_ as $1a};
@@ -1,9 +0,0 @@
1
- import{$2a as Ge,$2b as Ot,$2c as Ht,$2j as Nt,$2l as Bt}from"./shared-init-3fcac605fffcc273-2.js";function te(e,t={}){let n=Kt(Jt(e,t.params??{})),a=Vt(t.search),r=Qt(t.hash);return`${n}${a}${r}`}function zt(){return window.__PNEXT_TRAILING_SLASH__===!0}function Ft(){let e=window.__PNEXT_PREFETCH__;return e===void 0?"visible":e}function Kt(e){let[,t="",n=""]=/^([^?#]*)([\s\S]*)$/.exec(e)??[];return t.startsWith("/")?zt()?t==="/"||t.endsWith("/")||/\.[^/]+$/.test(t)?e:`${t}/${n}`:t==="/"||!t.endsWith("/")||/\.[^/]+\/$/.test(t)?e:`${t.replace(/\/+$/,"")}${n}`:e}function Jt(e,t){let n=e.replace(/\[\[\.\.\.([^\]]+)\]\]/g,(a,r)=>pe(t[r],!0)).replace(/\[\.\.\.([^\]]+)\]/g,(a,r)=>pe(t[r],!0)).replace(/\[([^\]]+)\]/g,(a,r)=>pe(t[r],!1));return Wt(n)}function Wt(e){return e.length<=1?e:e.replace(/\/+$/,"")||"/"}function pe(e,t){if(Array.isArray(e)){let n=e.map(a=>encodeURIComponent(a));return t?n.join("/"):n[0]??""}return encodeURIComponent(e??"")}function Vt(e){if(!e)return"";let t=(e instanceof URLSearchParams?e:Zt(e)).toString();return t?`?${t}`:""}function Zt(e){let t=new URLSearchParams;for(let[n,a]of Object.entries(e)){let r=Array.isArray(a)?a:[a];for(let i of r)i!=null&&t.append(n,String(i))}return t}function Qt(e){return e?e.startsWith("#")?e:`#${e}`:""}function F({href:e,params:t,prefetch:n,replace:a,scroll:r,search:i,hash:o,onClick:l,onNavigate:d,onPrefetchStart:u,onPrefetchFinish:p,children:g,...w}){let I=te(e,{params:t??{},search:i,hash:o}),k=n??Ft(),v=Xt(u,p);return Ot("a",{...w,ref:v,href:I,"data-pnext-link":!0,"data-prefetch":k===!1?"false":k,"data-pnext-replace":a?"true":void 0,"data-pnext-scroll":r===!1?"false":void 0,onClick:y=>{let $=y;if(l?.($),$.defaultPrevented||!d||!Yt($))return;let C=Gt();d(C),C.defaultPrevented&&$.preventDefault()}},g)}function Xt(e,t){let n=Bt(null);return Nt(()=>{let a=n.current;if(!a||!e&&!t)return;let r=()=>e?.(),i=()=>t?.();return a.addEventListener("pnext:prefetchstart",r),a.addEventListener("pnext:prefetchfinish",i),()=>{a.removeEventListener("pnext:prefetchstart",r),a.removeEventListener("pnext:prefetchfinish",i)}},[e,t]),n}function Gt(){return{defaultPrevented:!1,preventDefault(){this.defaultPrevented=!0}}}function Yt(e){return e.button===0&&!e.altKey&&!e.ctrlKey&&!e.metaKey&&!e.shiftKey&&!e.currentTarget.target&&!e.currentTarget.download}var en="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",tn="M22 12h-4l-3 9L9 3l-3 9H2",nn="M3 3v18h18M18 17V9M13 17V5M8 17v-3",an="M5 5v14M19 12H9M13 8l-4 4 4 4",ne="m15 18-6-6 6-6",me="m6 9 6 6 6-6",fe="m9 18 6-6-6-6",rn="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",sn="M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z",on="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",ln="M6 11h12v9H6zM8 11V8a4 4 0 0 1 8 0v3",cn="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",dn="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",un="M8 8a4 4 0 1 0 8 0a4 4 0 1 0 -8 0M4 21a8 8 0 0 1 16 0",Ye="M7 17 17 7M8 7h9v9",hn="M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4M16 17l5-5-5-5M21 12H9",pn="m12 3 1.9 5.1L19 10l-5.1 1.9L12 17l-1.9-5.1L5 10l5.1-1.9ZM19 3v4M17 5h4",mn="M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.7-.9l-.8-1.2A2 2 0 0 0 7.9 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2ZM10 13a2 2 0 1 0 4 0a2 2 0 1 0 -4 0M14 13h3M7 13h3",fn="M4 6h16M4 12h16M4 18h16",J="M18 6 6 18M6 6l12 12",ae="M20 6 9 17l-5-5",vn="M3 6h18M8 6V4h8v2M19 6l-1 14H6L5 6M10 11v6M14 11v6",gn="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4M17 8l-5-5-5 5M12 3v12",ve="M12 16v-4M12 8h.01M3 12a9 9 0 1 0 18 0a9 9 0 1 0-18 0",wn="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",X="M12 5v14M5 12h14",$n="M5.6 5.6l12.8 12.8M3 12a9 9 0 1 0 18 0a9 9 0 1 0 -18 0",bn="M9 14 4 9l5-5M4 9h10a6 6 0 0 1 0 12h-3",yn="M4 20h4L19 9l-4-4L4 16v4ZM13 7l4 4",kn="M21 12a8 8 0 0 1-11.6 7.1L4 20l1-4.6A8 8 0 1 1 21 12Z",Mn="M4 12h12M12 6l6 6-6 6",xn="M16 4h4v4M20 4l-7 7M4 20l6-6M16 20h4v-4M20 20l-5-5M4 4l5 5",ge="M4 11a7 7 0 1 0 14 0a7 7 0 1 0 -14 0M20 20l-3.5-3.5",Cn="m21.7 18-8-14a2 2 0 0 0-3.4 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.7-3M12 9v4M12 17h.01",En="m4 17 6-6-6-6M12 19h8",In="M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.7-.9l-.8-1.2A2 2 0 0 0 7.9 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",Sn="M12 7v5l3 2M3 12a9 9 0 1 0 18 0a9 9 0 1 0 -18 0",Ln="M9 2v6M15 2v6M6 8h12v4a6 6 0 0 1-12 0ZM12 18v4",Un="M9 9h11v11H9ZM5 15H4V4h11v1",Rn="M4 21v-7M4 10V3M12 21v-9M12 8V3M20 21v-5M20 12V3M1 14h6M9 8h6M17 16h6",Tn=0;function s(e,t,n,a,r,i){t||(t={});var o,l,d=t;if("ref"in d)for(l in d={},t)l=="ref"?o=t[l]:d[l]=t[l];var u={type:e,props:d,key:n,ref:o,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:--Tn,__i:-1,__u:0,__source:r,__self:i};if(typeof e=="function"&&(o=e.defaultProps))for(l in o)d[l]===void 0&&(d[l]=o[l]);return Ge.vnode&&Ge.vnode(u),u}function T({d:e,class:t}){return s("svg",{class:t?`ic ${t}`:"ic",viewBox:"0 0 24 24","aria-hidden":"true",children:s("path",{d:e})})}var et=({variant:e,danger:t,size:n,wide:a,class:r})=>["btn",e!=="primary"&&e,t&&"danger",n,a&&"wide",r].filter(Boolean).join(" ");function tt({leftIcon:e,rightIcon:t,loading:n,children:a}){let r=s("i",{class:"btn-spin"});return s(Ht,{children:[e?n?r:s(T,{d:e}):null,a,t?n&&!e?r:s(T,{d:t}):null]})}function W({variant:e,danger:t,size:n,wide:a,leftIcon:r,rightIcon:i,loading:o,disabled:l,href:d,external:u,as:p,type:g="button",class:w,children:I,...k}){let v=et({variant:e,danger:t,size:n,wide:a,class:w}),y=s(tt,{leftIcon:r,rightIcon:i??(u?Ye:void 0),loading:o,children:I});return p==="span"?s("span",{class:v,"aria-hidden":"true",children:y}):d&&!l&&!o?s("a",{...k,class:v,href:d,...u?{target:"_blank",rel:"noopener noreferrer"}:{},children:y}):s("button",{"aria-busy":o||void 0,...k,type:g,class:v,disabled:l||o,children:y})}function qn({variant:e,danger:t,size:n,wide:a,leftIcon:r,rightIcon:i,class:o,children:l,...d}){return s(F,{...d,class:et({variant:e,danger:t,size:n,wide:a,class:o}),children:s(tt,{leftIcon:r,rightIcon:i,children:l})})}function V({icon:e,label:t,tip:n,type:a="button",class:r,children:i,...o}){return s("button",{...o,type:a,class:r?`icon-btn ${r}`:"icon-btn","aria-label":t,title:n?void 0:t,"data-tip":n,children:e?s(T,{d:e}):i})}import{$2h as we,$2j as G,$2l as H,$2n as at}from"./shared-init-3fcac605fffcc273-2.js";var j=class extends Error{code;hint;taskId;payload;approval;result;runId;status;needs;constructor(e,t,n={}){super(t),this.name="CoderError",this.code=e,Object.assign(this,n)}};function _n(e){try{let t=new URL(e).hostname.toLowerCase();return t==="localhost"||t==="[::1]"||/^127(?:\.\d{1,3}){3}$/.test(t)}catch{return!1}}function Pn(e){let t;try{t=new URL(e)}catch{throw new j("invalid-option","Give the server as a URL, e.g. https://agents.example.com.")}if(t.protocol!=="https:"&&!(t.protocol==="http:"&&_n(t.origin)))throw new j("invalid-option","Coder servers require HTTPS unless they are loopback.",{hint:"Use https://, or http://localhost for a local server."});if(t.username||t.password||t.search||t.hash)throw new j("invalid-option","The server must be an origin without credentials, query, or fragment.");return t.toString().replace(/\/+$/,"")}var L=(e,t)=>{let n=new URLSearchParams;"cursor"in t&&typeof t.cursor=="string"&&n.set("cursor",t.cursor);for(let[a,r]of Object.entries(t))a!=="cursor"&&r!==void 0&&r!==!1&&r!==""&&n.set(a,r===!0?"1":Array.isArray(r)?r.join(","):String(r));return`${e}?${n}`};async function*se(e){let t=new TextDecoder,n="";for await(let a of e){n+=t.decode(a,{stream:!0});let r;for(;(r=n.indexOf(`
2
-
3
- `))>=0;){let i=n.slice(0,r);n=n.slice(r+2);let o="message",l,d=[];for(let u of i.split(`
4
- `))u.startsWith("event: ")?o=u.slice(7):u.startsWith("data: ")?d.push(u.slice(6)):u.startsWith("id: ")&&(l=u.slice(4));(d.length||l)&&(yield{event:o,data:d.join(`
5
- `),...l?{id:l}:{}})}}}var rt=class extends j{constructor(e,t,n="",a,r){super("server",t,{status:e,...a?{hint:a}:{}}),this.authenticate=n,this.needs=r}},An=new Set(["completed","failed","cancelled"]),jn=class{url;fetchImpl;organization;renewal;onError;token;cookie;constructor(e,t,n={}){if(this.cookie="cookie"in t,this.url=e?Pn(e):"",!this.cookie&&!this.url)throw new j("invalid-option","Bearer clients need a server URL.");this.token="token"in t?t.token:void 0,this.fetchImpl=n.fetch??((a,r)=>fetch(a,r)),this.organization=n.organization,this.renewal=n.renewal,this.onError=n.onError}request(e,t={}){let n=this.read(e,t);return n.catch(()=>{}),n}async read(e,t){this.renewal&&this.renewal.expiresAt()-Date.now()<3e4&&(this.token=await this.renewal.renew());let n=await this.send(e,t);n.status===401&&this.renewal&&/invalid_token/.test(n.headers.get("www-authenticate")??"")&&(this.token=await this.renewal.renew(),n=await this.send(e,t));let a=await n.text().catch(()=>""),r={},i;try{a&&n.status!==204&&(r=JSON.parse(a))}catch{if(n.ok)throw new j("server",`The server answered ${n.status} with a body that is not JSON.`);this.cookie&&a&&(i=a)}if(n.status===202&&r.pending){let{approval:o,reason:l,changes:d}=r;throw new j("approval-pending",l,{approval:{id:o,reason:l,actions:d}})}if(!n.ok){let o=new rt(n.status,r.error??r.message??i??`The server answered ${n.status}.`,n.headers.get("www-authenticate")??"",r.hint,r.needs==="key"?r.needs:void 0);throw this.onError?.(o),o}return r}send(e,t){let n=new Headers(t.headers);return t.body&&!n.has("content-type")&&n.set("content-type","application/json"),this.token&&n.set("authorization",`Bearer ${this.token}`),this.organization&&n.set("x-coder-organization",this.organization),this.fetchImpl(`${this.url}${e}`,{...t,headers:n,...this.cookie?{credentials:"same-origin"}:{}}).catch(a=>{throw a instanceof j||a.name==="AbortError"?a:new j("server",this.url?`No Coder server answers at ${this.url}: ${a.message}`:"The server did not answer. Check the connection and try again.")})}post(e,t){return this.request(e,{method:"POST",...t!==void 0?{body:JSON.stringify(t)}:{}})}me(){return this.request("/me")}signOut(){return this.post("/api/auth/sign-out",{})}agents={list:e=>this.request(L("/admin/agents",e??{})),get:(e,t)=>this.request(L(`/admin/agents/${encodeURIComponent(e)}`,{...t?.versions===!1?{versions:0}:{},...t?.content===!1?{content:0}:{},...t?.handles?{handles:1}:{},...t?.installations?{installations:1}:{}})),versions:(e,t={})=>this.request(L(`/admin/agents/${encodeURIComponent(e)}/versions`,t)),remove:e=>this.request(`/admin/agents/${encodeURIComponent(e)}`,{method:"DELETE"}),preview:(e,t)=>this.request(L("/admin/agents/import",{repo:e,ref:t})),version:(e,t)=>this.request(`/admin/agents/${encodeURIComponent(e)}/versions/${t}`),put:(e,t)=>this.request(`/admin/agents/${encodeURIComponent(e)}`,{method:"PUT",body:JSON.stringify(t)}).then(n=>({id:e,version:n.version,unchanged:n.unchanged,...n.apps?.length?{apps:n.apps}:{}})),settings:(e,t)=>this.request(`/admin/agents/${encodeURIComponent(e)}/settings`,{method:"PATCH",body:JSON.stringify(t)}),import:(e,t,n)=>this.post("/admin/agents/import",{repo:e,ref:t,...n?{agents:n}:{}})};composer(){return this.request("/admin/composer")}folders={list:()=>this.request("/admin/folders"),check:e=>this.post("/admin/folders/check",{path:e}),clone:e=>this.post("/admin/folders/clone",{url:e}),pick:()=>this.post("/admin/folders/pick",{})};tasks={list:e=>this.request(L("/admin/tasks",{limit:20,...e,...e?.archived?{archived:1}:{},...e?.summary?{summary:1}:{},...e?.counts?{counts:1}:{},...e?.approvals?{approvals:1}:{}})),get:e=>this.request(`/admin/tasks/${encodeURIComponent(e)}`),logs:(e,t=-1,n)=>this.request(L(`/admin/tasks/${encodeURIComponent(e)}/logs`,{after:t,limit:n})),stream:(e,t=-1,n)=>this.send(`/admin/tasks/${encodeURIComponent(e)}/stream?after=${t}`,{headers:{accept:"text/event-stream"},signal:n}),events:(e,t,n)=>this.send(L("/admin/events",{tasks:e}),{headers:{accept:"text/event-stream",...t?{"last-event-id":t}:{}},signal:n}),cancel:e=>this.post(`/admin/tasks/${encodeURIComponent(e)}/cancel`),steer:(e,t,n={})=>this.post(`/admin/tasks/${encodeURIComponent(e)}/steer`,{text:t,...n}),ask:(e,t,n={})=>this.post(`/admin/tasks/${encodeURIComponent(e)}/ask`,{question:t,...n}),approve:(e,t,n,a={})=>this.post(`/admin/tasks/${encodeURIComponent(e)}/approve`,{approvalId:t,decision:n,...a}),request:(e,t,n,a={})=>this.post(`/admin/tasks/${encodeURIComponent(e)}/requests/${encodeURIComponent(t)}`,{decision:n,...a}),pendingApprovals:()=>this.request("/admin/approvals/pending"),archive:e=>this.post(`/admin/tasks/${encodeURIComponent(e)}/archive`),delete:e=>this.request(`/admin/tasks/${encodeURIComponent(e)}`,{method:"DELETE"}),create:e=>this.post("/admin/tasks",e),wait:async(e,t={})=>{let n=-1;for(;;){let a=new AbortController,r=await this.tasks.stream(e,n,a.signal);if(!r.ok||!r.body){let o=await this.tasks.get(e);if(An.has(o.status))return o;if(r.status===401)continue;throw new j("server",`The task stream answered ${r.status}.`)}let i=!1;for await(let o of se(r.body))if(o.event==="log"){let l=JSON.parse(o.data);n=l.seq,t.onLog?.(l)}else if(o.event==="end"||o.event==="approval"){i=!0;break}if(i)return this.tasks.get(e)}}};credentials={list:e=>this.request(L("/admin/credentials",e??{})),add:e=>this.post("/admin/credentials",e),remove:(e,{workspace:t}={})=>this.request(`/admin/credentials/${encodeURIComponent(e)}${t?"?workspace":""}`,{method:"DELETE"}),login:e=>this.post("/admin/logins",{engine:e}),loginStatus:(e,t)=>this.request(`/admin/logins/${encodeURIComponent(e)}${t?`?state=${encodeURIComponent(t)}`:""}`),loginCode:(e,t)=>this.post(`/admin/logins/${encodeURIComponent(e)}`,{code:t}),cancelLogin:e=>this.request(`/admin/logins/${encodeURIComponent(e)}`,{method:"DELETE"})};runners={list:()=>this.request("/admin/runners"),add:e=>this.post("/admin/runners",e),pair:e=>this.post("/admin/runners/pair",e),update:(e,t)=>this.request(`/admin/runners/${encodeURIComponent(e)}`,{method:"PATCH",body:JSON.stringify(t)}),test:e=>this.post(`/admin/runners/${encodeURIComponent(e)}/test`,{}),remove:e=>this.request(`/admin/runners/${encodeURIComponent(e)}`,{method:"DELETE"})};integrations={list:e=>this.request(L("/admin/integrations",{agent:e}))};repositories={list:()=>this.request("/admin/repositories"),refresh:()=>this.post("/admin/repositories/refresh",{})};engines={status:()=>this.request("/admin/engines/status"),login:e=>this.post(`/admin/engines/${encodeURIComponent(e)}/login`,{}),logout:e=>this.post(`/admin/engines/${encodeURIComponent(e)}/logout`,{})};apps={list:e=>this.request(L("/admin/apps",{agent:e})),install:(e,t)=>this.post(L(`/admin/apps/${encodeURIComponent(e)}/install`,{back:t})),remove:e=>this.request(`/admin/apps/${encodeURIComponent(e)}`,{method:"DELETE"}),update:e=>this.post(`/admin/apps/${encodeURIComponent(e)}/update`,{}),drift:e=>this.request(`/admin/apps/${encodeURIComponent(e)}/drift`),create:(e,t)=>this.post(`/admin/apps/create/${encodeURIComponent(e)}`,t),start:(e,t)=>this.post(L(`/create/${encodeURIComponent(e)}`,t)),finish:(e,t)=>this.request(`/create/${encodeURIComponent(e)}/callback`,{method:"POST",headers:{accept:"application/json","content-type":"application/x-www-form-urlencoded"},body:new URLSearchParams(t)})};operator={apps:()=>this.request("/admin/operator/apps"),setUp:(e,t)=>this.post(`/admin/operator/apps/${encodeURIComponent(e)}`,t),audit:()=>this.request("/admin/operator/audit"),drift:e=>this.request(`/admin/operator/apps/${encodeURIComponent(e)}/drift`),update:e=>this.post(`/admin/operator/apps/${encodeURIComponent(e)}/update`,{})};installations={list:(e,t={})=>this.request(L("/admin/installations",{agent:e,limit:t.limit,...t.active?{active:1}:{}})),uninstall:e=>this.request(`/admin/installations/${encodeURIComponent(e)}`,{method:"DELETE"})};connections={list:(e,t)=>this.request(L("/admin/connections",{authorization:e,wait:t})),add:e=>this.post("/admin/connections",e),update:(e,t)=>this.request(`/admin/connections/${encodeURIComponent(e)}`,{method:"PATCH",body:JSON.stringify(t)}),remove:e=>this.request(`/admin/connections/${encodeURIComponent(e)}`,{method:"DELETE"}),authorize:e=>this.post(`/admin/connections/${encodeURIComponent(e)}/authorize`)};config={get:()=>this.request("/admin/config"),patch:e=>this.request("/admin/config",{method:"PATCH",headers:{"content-type":"application/merge-patch+json"},body:JSON.stringify(e)})};models={list:()=>this.request("/admin/models"),add:e=>this.post("/admin/models",e),probe:e=>this.post("/admin/models/probe",e),remove:e=>this.request(`/admin/models/${encodeURIComponent(e)}`,{method:"DELETE"}),update:(e,t)=>this.request(`/admin/models/${encodeURIComponent(e)}`,{method:"PATCH",body:JSON.stringify(t)}),alias:(e,t)=>this.post(`/admin/models/${encodeURIComponent(e)}/alias`,{spec:t}),enable:e=>this.post(`/admin/models/${encodeURIComponent(e)}/enable`),disable:e=>this.post(`/admin/models/${encodeURIComponent(e)}/disable`)};mcp={search:e=>this.request(L("/admin/mcp-registry",{q:e}))};flows={list:e=>this.request(L("/admin/flows",{repo:e})),run:(e,t)=>this.post(`/admin/flows/${encodeURIComponent(e)}/run`,t)};pulls={list:e=>this.request(L("/admin/pulls",{repo:e}))};usage(e={}){return this.request(L("/admin/usage/totals",{...e,since:e.since??Date.now()-10080*60*1e3}))}usageRows(e){return this.request(L("/admin/usage",{installation:e}))}},ie=new jn("",{cookie:!0},{fetch(e,t){let n=/^\/dash\/([^/]+)/.exec(globalThis.location?.pathname??"")?.[1];if(!n)return fetch(e,t);let a=new Headers(t?.headers);return a.set("x-coder-organization",decodeURIComponent(n)),fetch(e,{...t,headers:a})},onError(e){e.status===401&&(e.authenticate||/^Sign in/.test(e.message))&&(location.href=`/login?return=${encodeURIComponent(location.pathname+location.search)}`)}});async function Dn(){let{url:e}=await ie.signOut();location.href=e??"/?signed_out=1"}function On(e,t){let n,a=!1,r=()=>{a||(n=setTimeout(i,t))},i=()=>{if(document.visibilityState==="hidden")return r();e().catch(o=>console.error("coder dashboard: poll",o)).finally(r)};return r(),()=>{a=!0,clearTimeout(n)}}function Hn(e,t,n=[]){let a=H(e);a.current=e;let r=!!e;G(()=>{if(!r)return;let i=new AbortController,o=On(async()=>a.current?.(i.signal),t);return()=>{i.abort(),o()}},[r,t,...n])}function be({summary:e,summaryClass:t,button:n,label:a,tip:r,align:i="right",wide:o,class:l,children:d}){let u=at();return s("span",{class:`menu ${i}${l?` ${l}`:""}`,children:[n==="icon"?s(V,{popovertarget:u,label:a??"",children:e}):n?s(W,{...n,popovertarget:u,"aria-label":a,title:r?void 0:a,children:e}):s("button",{popovertarget:u,type:"button",class:t,"aria-label":a,title:r?void 0:a,"data-tip":r,children:e}),s("div",{id:u,class:o?"pop wide":"pop",popover:"auto",onBeforeToggle:p=>{if(p.newState!=="open")return;let g=p.currentTarget,w=g.parentElement?.querySelector("button")?.getBoundingClientRect();if(!w)return;g.style.cssText="display: block; visibility: hidden; max-height: none";let I=g.offsetHeight;g.style.cssText="";let k=window.innerHeight-w.bottom-20,v=w.top-20,[y,$]=i==="up"?[v,k]:[k,v],C=I>y&&$>y;g.classList.toggle("flip",C),g.style.maxHeight=`${Math.max(120,Math.round(C?$:y))}px`},onClick:p=>{p.target.closest("a, button:not([data-keep])")&&p.currentTarget.hidePopover()},children:d})]})}function ye({label:e,title:t,class:n,children:a}){let r=at(),i=H(null),o=H(),l=d=>u=>{u.pointerType==="mouse"&&(clearTimeout(o.current),d?i.current.togglePopover(!0):o.current=setTimeout(()=>i.current?.togglePopover(!1),150))};return s("span",{class:n?`more ${n}`:"more",onPointerEnter:l(!0),onPointerLeave:l(!1),children:[s("button",{popovertarget:r,type:"button","aria-label":t,children:e}),s("div",{id:r,ref:i,class:"more-list scroll-box",popover:"auto",children:a})]})}var Nn=({label:e,children:t})=>s(ye,{label:s(T,{d:ve}),title:e,class:"info",children:t}),st=5,$e=3;function ke({tone:e,title:t,onClick:n,href:a,external:r,class:i,children:o}){let l=["badge",e,i].filter(Boolean).join(" ");return a?s("a",{class:l,href:a,title:t,...r?{target:"_blank",rel:"noopener noreferrer"}:{},children:o}):n?s("button",{type:"button",class:l,title:t,onClick:n,children:o}):s("span",{class:l,title:t,children:o})}function oe({onClick:e,children:t,...n}){return e?s("button",{...n,type:"button",class:"chip",onClick:e,children:t}):s("span",{class:"chip",children:t})}function Bn({values:e,label:t,children:n}){if(n)return s("span",{class:"chips",role:"group","aria-label":t,children:n});let a=(e??[]).filter(o=>!!o);if(!a.length)return s("span",{class:"muted",children:"None"});let r=o=>s(oe,{children:o},o),i=a.length>=st;return s("span",{class:"chips",children:[(i?a.slice(0,$e):a).map(r),i?s(ye,{label:`+${a.length-$e}`,children:s("span",{class:"chips",children:a.map(r)})}):null]})}function zn({value:e,title:t}){return s("span",{class:"id",title:t??e,children:e})}var it=(e,...t)=>["card frame",e==="filled"?"filled":void 0,...t].filter(Boolean).join(" ");function Fn({id:e,title:t,count:n,actions:a,tone:r,look:i="outlined",children:o}){return s("section",{id:e,class:it(i,r),children:[t?s("div",{class:"bar",children:[s("h2",{children:[t,n!==void 0?s("span",{class:"n",children:n}):null]}),a?s("span",{class:"bar-r",children:a}):null]}):null,o]})}function Kn({title:e,note:t,actions:n,open:a="Add",opened:r,look:i="outlined",children:o}){return s("details",{class:it(i,"fold"),open:r,children:[s("summary",{class:"bar",children:[s("h2",{children:e}),s("span",{class:"fold-note",children:t}),n?s("span",{class:"bar-r",children:n}):null,s(W,{as:"span",variant:"outline",size:"sm",class:"fold-open",leftIcon:a==="Add"?X:void 0,children:a}),s(W,{as:"span",variant:"ghost",size:"sm",class:"fold-close",children:"Close"})]}),o]})}function Jn({title:e,actions:t,children:n}){return s("div",{class:"empty",children:[s("b",{children:e}),n?s("span",{children:n}):null,t?s("div",{class:"actions",children:t}):null]})}function Wn({label:e,inline:t,dots:n,late:a,h:r}){return s(t?"span":"div",{class:["loading",t&&"inline",a&&"late"].filter(Boolean).join(" "),role:"status",style:r?`--h:${r}px`:void 0,children:s("span",{children:[n?s("i",{class:"dots",children:[s("b",{}),s("b",{}),s("b",{})]}):s("i",{class:"spin"}),e]})})}var nt=e=>`${history.state?.__pnextEntry??location.pathname}|${e}`,Vn=e=>history.state?.coderPages?.[e],Zn=(e,t)=>history.replaceState({...history.state,coderPages:{...history.state?.coderPages,[e]:t}},""),Qn=6e4,re=(e,t)=>({query:e,rows:t.items,next:t.next,meta:t});function Xn({name:e,query:t,first:n,initial:a,root:r,fetchPage:i}){let o=H(new Map([[a,{page:n,at:Date.now()}]])),[l,d]=we(()=>re(a,n)),[u,p]=we(""),[g,w]=we(!1),I=H(null),k=H(l);k.current=l;let v=H(void 0),y=H(void 0),$=(c,m,h)=>{let f=`${m}|${c}`;if(v.current?.key===f)return;let M={key:f};v.current=M,p(""),w(!0);let E=nt(e),S=h?void 0:o.current.get(m);S&&Date.now()-S.at<Qn&&d(re(m,S.page)),i(c).then(R=>{v.current===M&&(h||o.current.set(m,{page:R,at:Date.now()}),p(""),y.current=void 0,d(q=>{if(h&&(q.query!==m||q.next!==c))return q;let z=h&&q.query===m?{...q,rows:[...q.rows,...R.items],next:R.next}:re(m,R);return nt(e)===E&&Zn(e,z),z}))}).catch(R=>{v.current===M&&(y.current=()=>$(c,m,h),p(R instanceof Error?R.message:String(R)))}).finally(()=>{v.current===M&&(v.current=void 0,w(!1))})};G(()=>()=>{v.current=void 0},[]);let C=H(n);return G(()=>{C.current!==n&&(C.current=n,v.current=void 0,w(!1),o.current.set(a,{page:n,at:Date.now()}),d(re(a,n)))},[n]),G(()=>{v.current=void 0,y.current=void 0,p(""),w(!1);let c=Vn(e);if(c&&c.query===t&&c.rows.length>k.current.rows.length){d(c);return}t!==k.current.query&&$("",t,!1)},[t]),G(()=>{let c=I.current;if(!c||!l.next||u)return;let m=new IntersectionObserver(([h])=>{h?.isIntersecting&&k.current.next&&k.current.query===t&&$(k.current.next,t,!0)},{root:r?.()??null,rootMargin:"0px 0px 300px 0px"});return m.observe(c),()=>m.disconnect()},[l.next,l.rows.length,t,u]),{rows:l.rows,meta:l.meta,more:!!l.next,busy:g,error:u,stale:g&&l.query!==t,sentinel:I,retry:()=>{p(""),y.current?.()}}}function Me(e){let t=new URL(location.href);for(let[n,a]of Object.entries(e))a?t.searchParams.set(n,a):t.searchParams.delete(n);history.replaceState(history.state,"",t)}function xe(e){let t=new URLSearchParams(location.search);return Object.fromEntries(e.map(n=>[n,t.get(n)??""]))}var Gn=20,Y=20;import{f as Yn,i as ea,j as ot,k as lt}from"./wular-pnext-3fcac605fffcc273-0.js";import{$1a as pt,$1b as ta}from"./shared-init-3fcac605fffcc273-2.js";import{$0a as na,$0d as aa}from"./shared-init-3fcac605fffcc273-2.js";import{$2a as ra,$2c as D,$2h as P,$2j as N,$2k as Ie,$2l as K,$2n as sa}from"./shared-init-3fcac605fffcc273-2.js";var le=class extends Error{constructor(){super("Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams")}},ia=class extends URLSearchParams{append(){throw new le}delete(){throw new le}set(){throw new le}sort(){throw new le}};Yn();function Te(){return oa}var oa={push(e,...[t]){ut(Ce(e,t),"push",t?.scroll)},replace(e,...[t]){ut(Ce(e,t),"replace",t?.scroll)},prefetch(e,...[t]){ta(Ce(e,t),{strict:!0,full:t?.kind==="full",onInvalidate:t?.onInvalidate})},refresh(){pt(window.location.href,{replace:!0,scroll:!1})},back(){window.history.back()},forward(){window.history.forward()},get bfcacheId(){return ft().bfcacheId??""}};function Ce(e,t){return la(t)?te(e,t):String(e)}function la(e){return!!(e&&("params"in e||"search"in e||"hash"in e))}function qe(){return _e().pathname}function ca(){return new ia(_e().search)}function mt(){return _e(),ft().params??{}}function da(){let e=ra,t=e.__h,n;e.__h=(i,...o)=>{n=i.__P,t?.(i,...o)};let[a,r]=P(!1);return e.__h=t,N(()=>{let i=n?.closest("a[data-pnext-link]");if(!i)return;let o=i.__pnextHints??=new Set;return o.add(r),()=>o.delete(r)},[]),{pending:a}}function _e(){let e=dt(),[,t]=P(()=>ct(e));return N(()=>{ua();let n=()=>t(a=>{let r=ct(dt());return a===r?a:r});return ot().add(n),n(),()=>ot().delete(n)},[]),e}function ct(e){return`${e.pathname}${e.search}${e.hash}`}function dt(){return{pathname:window.location.pathname,search:window.location.search,hash:window.location.hash}}function ft(){let e=history.state??{},t=window.__PNEXT_ROUTE__??{},n=typeof e.__pnextBfcacheId=="string"?e.__pnextBfcacheId:void 0;return n?{...t,bfcacheId:n}:t}function ut(e,t,n=!0){if(aa(e))return;let a=new URL(e,window.location.href);if(a.origin!==window.location.origin){let r=globalThis;r.__pnextMpaNavigation=(r.__pnextMpaNavigation??0)+1,requestAnimationFrame(()=>requestAnimationFrame(()=>{t==="replace"?window.location.replace(a.href):window.location.assign(a.href)}));return}if(a.pathname!==window.location.pathname||a.search!==window.location.search){pt(a.href,{replace:t==="replace",scroll:n});return}t==="replace"?window.history.replaceState(history.state,"",a):window.history.pushState(history.state,"",a),ea(a,{scroll:n}),na.settleLink?.()}function ua(){if(window.__PNEXT_HISTORY_PATCHED__)return;window.__PNEXT_HISTORY_PATCHED__=!0;let e=window.history.pushState.bind(window.history),t=window.history.replaceState.bind(window.history);function n(a){let r=window.history.state??{},i={};for(let l of Object.keys(r))l.startsWith("__pnext")&&(i[l]=r[l]);if(Object.keys(i).length===0)return a;let o=a??{};return Object.keys(o).some(l=>l.startsWith("__pnext"))?a:{...o,...i}}window.history.pushState=function(a,r,i){let o=window.location.href,l=e(n(a),r,i);return window.location.href!==o&&lt(),l},window.history.replaceState=function(a,r,i){let o=window.location.href,l=t(n(a),r,i);return window.location.href!==o&&lt(),l}}var vt={agents:{title:"Agents",lead:"Each agent listens on the platforms it declares and answers as itself."},tasks:{title:"Tasks"},newAgent:{title:"New agent",lead:"Start from a template or a repository. Everything but the name has a sensible default."},usage:{title:"Usage",lead:"Tasks, runner time, and tokens by agent. Pick a range, or open an agent for its breakdown."}};function Pe(){let e=K(null);return N(()=>{let t=e.current,n=t.nextElementSibling??t.parentElement.nextElementSibling,a=n.closest(".page"),r=()=>{let u=n.classList.contains("stuck"),p=n.offsetHeight;n.classList.toggle("stuck",!u);let g=n.offsetHeight;return n.classList.toggle("stuck",u),Math.max(0,u?g-p:p-g)},i,o=()=>{i?.disconnect();let u=56-r();i=new IntersectionObserver(([p])=>{let g=!p.isIntersecting&&p.boundingClientRect.top<u;if(g===n.classList.contains("stuck"))return;let w=n.offsetHeight;a&&(a.style.paddingBottom=`${w}px`),n.classList.toggle("stuck",g),n.style.marginBottom=g?`${w-n.offsetHeight}px`:"",a&&(a.style.paddingBottom="")},{rootMargin:`${-u}px 0px 0px 0px`}),i.observe(t)};o();let l=n.offsetWidth,d=new ResizeObserver(()=>{a?.style.setProperty("--head",`${n.offsetHeight}px`),n.offsetWidth!==l&&(l=n.offsetWidth,o())});return d.observe(n,{box:"border-box"}),()=>{i?.disconnect(),d.disconnect(),a?.style.removeProperty("--head")}},[]),s("i",{class:"sentinel",ref:e})}var ce=(...e)=>["pop-item",...e].filter(Boolean).join(" ");function de({icon:e,sub:t,end:n,children:a}){return s(D,{children:[typeof e=="string"?s(T,{d:e}):e,s("span",{class:"grow",children:[a,t?s("small",{children:t}):null]}),n]})}function Se({icon:e,title:t,sub:n,end:a,href:r,type:i="button",disabled:o,danger:l,...d}){let u=ce(n?"rich":!1,l&&"danger"),p=s(de,{icon:e,sub:n,end:a,children:t});return o?s("div",{class:u,"aria-disabled":"true",children:p}):r?s("a",{...d,class:u,href:r,children:p}):s("button",{...d,type:i,class:u,children:p})}function ha({icon:e,sub:t,end:n,class:a,children:r,...i}){return s(F,{...i,class:ce(t?"rich":!1,a),children:s(de,{icon:e,sub:t,end:n,children:r})})}function Le({on:e,onPick:t,href:n,disabled:a,icon:r,sub:i,end:o,children:l}){let d={role:"menuitemradio","aria-checked":e,class:ce(e&&"on",i?"rich":!1)},u=s(de,{icon:r,sub:i,end:s(D,{children:[o,s(T,{d:ae})]}),children:l});return a?s("div",{...d,"aria-disabled":"true",children:u}):n?s("a",{href:n,...d,children:u}):s("button",{type:"button",...d,onClick:t,children:u})}function Ue({active:e,selected:t,check:n,icon:a,sub:r,end:i,class:o,children:l,...d}){return s("div",{...d,role:"option","aria-selected":t,class:ce(e&&"on",o),children:s(de,{icon:a,sub:r,end:s(D,{children:[i,n?s(T,{d:ae}):null]}),children:l})})}var Ae=({children:e,...t})=>s("p",{...t,class:"pop-label",children:e}),Re=({children:e})=>s("p",{class:"pop-note",children:e}),pa=({icon:e,title:t,sub:n})=>s("div",{class:"pop-head",children:[e,s("div",{class:"grow",children:[s("b",{children:t}),s("small",{children:n})]})]}),ma=({children:e})=>s("div",{class:"pop-row",children:e});function gt({panelRef:e,class:t,children:n,...a}){return s("div",{...a,ref:e,class:t?`pop ${t}`:"pop",children:n})}var wt=e=>new URLSearchParams(Object.entries(e).filter(([,t])=>t)).toString();function fa(e){let[t,n]=P(e),[a,r]=P(e),i=K();return N(()=>{let o=xe(Object.keys(e));Object.keys(e).some(l=>o[l]!==e[l])&&(n(o),r(o))},[]),N(()=>()=>clearTimeout(i.current),[]),{values:t,set:(o,l,d=0)=>{let u={...t,[o]:l};n(u),clearTimeout(i.current);let p=()=>{r(u),Me(u)};d?i.current=setTimeout(p,d):p()},query:wt(a)}}function $t({value:e,label:t,onInput:n,disabled:a,...r}){return s("label",{class:"search","aria-hidden":a||void 0,children:[s(T,{d:ge}),s("input",{...r,type:"search",value:e,placeholder:t,"aria-label":t,disabled:a,tabIndex:a?-1:void 0,onInput:i=>n?.(i.currentTarget.value)})]})}function va({head:e,action:t,children:n}){return e?s(D,{children:[s(Pe,{}),s("header",{class:"head tools",children:[s("div",{children:[s("h1",{children:e.title}),e.lead?s("p",{class:"lead",children:e.lead}):null]}),s("div",{class:"filters",children:n}),t?s("div",{class:"actions",children:t}):null]})]}):s("div",{class:"filters",children:[n,t?s("span",{class:"end",children:t}):null]})}var bt="coder:filters",ga=5,Ee=5;function wa(e,t){if(e.length<=Ee)return e;let n=e.slice(0,Ee),a=e.find(([r])=>r===t);return a&&!n.includes(a)?[...n.slice(0,Ee-1),a]:n}var $a=e=>e.options.filter(([t])=>t).length>=ga;function ba(e,t,n={}){return t?e.options.find(([a])=>a===t)?.[1]??n[`${e.key}:${t}`]??t:"Any"}function ya(e,t,n={}){return e.filter(a=>t[a.key]).map(a=>{let r=ba(a,t[a.key],n);return{key:a.key,text:a.inline?r:`${a.label}: ${r}`}})}function ka(e,t,n){let a=n.trim().toLowerCase(),r=t.filter(([,o])=>o.toLowerCase().includes(a)),i=[...r,...e.filter(([o])=>!r.some(([l])=>l===o))];return{shown:i.slice(0,Y),more:i.length>Y}}function je(){try{return JSON.parse(localStorage.getItem(bt)??"{}")??{}}catch{return{}}}function Ma(e,t){let n=je();n[e]=[t,...(n[e]??[]).filter(([a])=>a!==t[0])].slice(0,5),localStorage.setItem(bt,JSON.stringify(n))}function xa({name:e,facets:t,values:n,onChange:a}){let[r,i]=P({}),o=(d,u)=>i(p=>({...p,...Object.fromEntries(u.map(([g,w])=>[`${d}:${g}`,w]))}));N(()=>{let d=je();for(let u of t)o(u.key,d[`${e}:${u.key}`]??[])},[]);let l=ya(t,n,r);return s(D,{children:[s(be,{class:"filter-more",summaryClass:`field-btn${l.length?" on":""}`,summary:l.length?`Filter \xB7 ${l.length}`:"Filter",children:s(Ca,{name:e,facets:t,values:n,seen:r,onFound:o,onPick:(d,[u,p])=>{!d.inline&&u!==n[d.key]&&(Ma(`${e}:${d.key}`,[u,p]),o(d.key,[[u,p]])),a(d.key,d.inline||u!==n[d.key]?u:"")}})}),s("span",{class:"filter-chips",children:l.map(d=>s(oe,{title:d.text,"aria-label":`Clear ${d.text}`,onClick:()=>a(d.key,""),children:[s("span",{class:"grow",children:d.text}),s(T,{d:J})]},d.key))})]})}function Ca({name:e,facets:t,values:n,seen:a,onFound:r,onPick:i}){let o=K(null),[l,d]=P(),[u,p]=P(""),[g,w]=P(),I=K(0),k=K(),v=u.trim(),y=h=>o.current?.querySelector(h)?.focus(),$=h=>{h&&(k.current=h.key),d(h),p(""),w(void 0)};N(()=>{let h=o.current.closest("[popover]"),f=M=>{M.newState==="open"?y("button"):$()};return h.addEventListener("toggle",f),()=>h.removeEventListener("toggle",f)},[]),N(()=>{o.current?.closest(":popover-open")&&y(l?"input":`[data-facet="${k.current}"]`)},[l]),N(()=>{if(!l?.search||!v)return;let h=++I.current,f=setTimeout(()=>void l.search(v,Y+1).then(M=>{I.current===h&&(w(M),r(l.key,M))},()=>I.current===h&&w([])),200);return()=>clearTimeout(f)},[l,v]);let C=l?l.search&&v?g??[]:l.options.filter(([h,f])=>h&&f.toLowerCase().includes(v.toLowerCase())):[],c=l?ka(C,je()[`${e}:${l.key}`]??[],v):{shown:[],more:!1},m=!!(l?.search&&v&&!g);return s("div",{ref:o,class:"filter-panel",onKeyDown:h=>{let f=[...o.current.querySelectorAll("input, button")],M=f.indexOf(document.activeElement),E=h.target,S=h.key;if(S==="ArrowDown")f[(M+1)%f.length]?.focus();else if(S==="ArrowUp")f[(M-1+f.length)%f.length]?.focus();else if(S==="ArrowRight"&&E.dataset.facet)E.click();else if(S==="ArrowLeft"&&l&&E.tagName!=="INPUT")$();else if(S==="Enter"&&E.tagName==="INPUT")y("[role=menuitemradio]");else if(S==="Escape"&&l)h.stopPropagation(),$();else return;h.preventDefault()},children:l?s(D,{children:[s(Se,{"data-keep":!0,icon:ne,title:l.label,onClick:()=>$()}),$a(l)?s($t,{value:u,label:`Find ${l.label.toLowerCase()}`,autocomplete:"off",onInput:p}):null,s("div",{role:"group","aria-label":l.label,"aria-busy":m,children:c.shown.map(([h,f])=>s(Le,{icon:l.icon?.(h),on:n[l.key]===h,onPick:()=>i(l,[h,f]),children:f},h))}),c.more?s(Re,{children:"Type to find more."}):!c.shown.length&&!m?s(Re,{children:"Nothing matches."}):null]}):t.map(h=>{let f=h.options.filter(([E])=>h.inline||E);if(!f.length)return null;let M=wa(f,n[h.key]);return s(D,{children:[s(Ae,{children:h.label}),s("div",{role:"group","aria-label":h.label,children:M.map(([E,S])=>s(Le,{icon:h.icon?.(E),on:n[h.key]===E,onPick:()=>i(h,[E,S]),children:S},E))}),f.length>M.length?s(Se,{"data-keep":!0,"data-facet":h.key,"aria-haspopup":"true",title:"More",end:s(D,{children:[s("span",{class:"muted",children:f.length-M.length}),s(T,{d:fe})]}),onClick:()=>$(h)}):null]},h.key)})})}var ht=10;function yt(e,t,n,a,r=[]){let[i,o]=P("");return Ie(()=>{if(!n)return;t.current?.showPopover();let l=()=>{let d=e.current?.getBoundingClientRect(),u=t.current;if(!d||!u)return;let p=innerHeight-d.bottom-12,g=p<Math.min(u.scrollHeight,240)&&d.top>p;o(`left:${Math.round(Math.min(d.left,innerWidth-u.offsetWidth-8))}px;min-width:${Math.round(d.width)}px;`+(g?`bottom:${Math.round(innerHeight-d.top+4)}px;max-height:${Math.round(Math.min(a,d.top-12))}px`:`top:${Math.round(d.bottom+4)}px;max-height:${Math.round(Math.min(a,p))}px`))};return l(),addEventListener("resize",l),addEventListener("scroll",l,!0),()=>{removeEventListener("resize",l),removeEventListener("scroll",l,!0)}},[n,...r]),i}function Ea({label:e,options:t,value:n,defaultValue:a,onChange:r,onFocus:i,name:o,disabled:l,headings:d,subs:u,unavailable:p,icons:g,action:w}){let[I,k]=P(a??t[0]?.[0]??""),v=Math.max(0,t.findIndex(([b])=>b===(n??I))),y=t[v]?.[0]??"",[$,C]=P(!1),[c,m]=P(v),h=K(null),f=K(null),M=yt(h,f,$,560),E=K({text:"",at:0}),S=sa(),R=(b=v)=>{m(b),C(!0)},q=(b=!0)=>{C(!1),b&&h.current?.focus()},z=b=>{if(w&&b===t.length){q(),w.onPick();return}let U=t[b]?.[0];U!==void 0&&p?.[U]||(q(),!(U===void 0||U===y)&&(n===void 0&&k(U),r?.(U)))},Ze=(b,U)=>{let x=Date.now(),_=x-E.current.at>600?b:E.current.text+b;E.current={text:_,at:x};let Qe=/^(.)\1*$/.test(_)?_[0]:_,Dt=Qe.length===1?U+1:U;for(let he=0;he<t.length;he++){let Xe=(Dt+he)%t.length;if(t[Xe][1].toLowerCase().startsWith(Qe.toLowerCase()))return Xe}return-1},jt=b=>{let U=t.length-1+(w?1:0),x=b.key;if(!$){if(["ArrowDown","ArrowUp","Enter"," "].includes(x))R();else if(x==="Home")R(0);else if(x==="End")R(U);else if(x.length===1&&!b.ctrlKey&&!b.metaKey){let _=Ze(x,v);if(_>=0)R(_);else return}else return;b.preventDefault();return}if(x==="ArrowDown")m(Math.min(U,c+1));else if(x==="ArrowUp"&&b.altKey)z(c);else if(x==="ArrowUp")m(Math.max(0,c-1));else if(x==="Home")m(0);else if(x==="End")m(U);else if(x==="PageDown")m(Math.min(U,c+ht));else if(x==="PageUp")m(Math.max(0,c-ht));else if(x==="Enter"||x===" "&&Date.now()-E.current.at>600)z(c);else if(x==="Escape")b.stopPropagation(),q();else if(x==="Tab"){p?.[t[c]?.[0]??""]?q(!1):z(c);return}else if(x.length===1&&!b.ctrlKey&&!b.metaKey){let _=Ze(x,c);_>=0&&m(_)}else return;b.preventDefault()};return Ie(()=>{if(!$)return;let b=U=>{let x=U.target;!h.current?.contains(x)&&!f.current?.contains(x)&&q(!1)};return document.addEventListener("pointerdown",b),()=>document.removeEventListener("pointerdown",b)},[$]),Ie(()=>{$&&f.current?.querySelector(`[data-index="${c}"]`)?.scrollIntoView({block:"nearest"})},[$,c,M]),s("span",{class:"select",children:[s("button",{ref:h,type:"button",role:"combobox","data-keep":!0,"aria-label":e,"aria-haspopup":"listbox","aria-expanded":$,"aria-controls":`${S}-list`,"aria-activedescendant":$?`${S}-${c}`:void 0,disabled:l,onFocus:i,onPointerDown:i,onClick:b=>{b.preventDefault(),$?q():R()},onKeyDown:jt,children:[g?.[y]??null,s("span",{class:"grow",children:t[v]?.[1]??""}),s(T,{d:me})]}),o?s("input",{type:"hidden",name:o,value:y}):null,$?s(kt,{id:S,label:e,listRef:f,place:M,children:[t.map(([b,U],x)=>s(D,{children:[d?.[b]?s(Ae,{children:d[b]}):null,s(Ue,{id:`${S}-${x}`,"data-index":x,active:x===c,selected:x===v,check:!0,icon:g?.[b],"aria-disabled":p?.[b]?"true":void 0,sub:p?.[b]??(u?.[b]?s("bdi",{dir:"ltr",children:u[b]}):null),onPointerMove:()=>x!==c&&m(x),onClick:_=>{_.preventDefault(),z(x)},children:U})]},b)),w?s(Ue,{id:`${S}-${t.length}`,"data-index":t.length,active:c===t.length,selected:!1,class:"action",icon:w.icon??X,onPointerMove:()=>c!==t.length&&m(t.length),onClick:b=>{b.preventDefault(),z(t.length)},children:w.label}):null]}):null]})}var kt=({id:e,label:t,listRef:n,place:a,children:r})=>s(gt,{panelRef:n,id:`${e}-list`,class:"select-pop",popover:"manual",role:"listbox","aria-label":t,style:a||"visibility:hidden",onMouseDown:i=>i.preventDefault(),children:r}),De=e=>e,Ia=e=>{let t=e.params??{};return e.href.replace(/\[([^\]]+)\]/g,(n,a)=>encodeURIComponent(String(t[a]??"")))};function Sa(e,t){let n=new URLSearchParams((e instanceof URLSearchParams,e));for(let[a,r]of Object.entries(t))n.set(a,r);return n}function La(e){if(!e?.startsWith("/"))return;let t=new URL(e,"http://dash");if(t.origin!=="http://dash"||!/^\/dash(\/|$)/.test(t.pathname))return;let[,,,n,a]=t.pathname.split("/"),r=vt[n]?.title??"Back";if(n==="tasks"&&a&&(r="Task"),n==="settings"&&(r=a?a[0].toUpperCase()+a.slice(1):"Settings"),n==="agents"&&a)try{r=decodeURIComponent(a)}catch{}return{to:{href:t.pathname,search:t.searchParams},label:r}}function Mt({label:e,back:t,named:n,...a}){let r=La(t),i=n??r?.label??e;return s(F,{class:"back","aria-label":i,...De(r?.to??a),children:[s(T,{d:ne}),s("span",{children:i})]})}function Ua({title:e,lead:t,actions:n,meta:a,back:r}){return s(D,{children:[s(Pe,{}),s("header",{class:"head",children:[s("div",{children:[r,s("div",{class:"title-row",children:[s("h1",{children:e}),a?s("div",{class:"meta",children:a}):null]}),t?s("p",{class:"lead",children:t}):null]}),n?s("div",{class:"actions",children:n}):null]})]})}var Z=()=>mt().org;function Ra({href:e,params:t,...n}){return s(F,{...n,...De({href:e,params:{...t,org:Z()}})})}function Ta({href:e,label:t}){return s(Mt,{href:e,params:{org:Z()},label:t})}import{$2h as Q,$2j as A,$2l as B}from"./shared-init-3fcac605fffcc273-2.js";var qa=e=>e.replace(/&(amp|lt|gt);/g,(t,n)=>({amp:"&",lt:"<",gt:">"})[n]);function Lt(e="",t=!1){let n=/<event>\n([^]*?)\n<\/event>/g;if(!t&&(!e.trimStart().startsWith("<event>")||e.replace(n,"").trim()))return;let a=[];for(let[,r]of e.matchAll(n))try{let i=JSON.parse(qa(r));if(!i||typeof i!="object"||Array.isArray(i)){if(!t)return;continue}a.push(i)}catch(i){if(console.error("coder: unreadable event prompt",i),!t)return}return a.length?a:void 0}function _a(e,t,n=[]){let a=[e??"",...n].flatMap(r=>(Lt(r,!0)??[]).flatMap(i=>typeof i.mustReply=="boolean"?[i.mustReply]:[]));return a.length?a.includes(!0):t}var Pa="__EMPTY__",Aa="Skipped: the agent chose not to reply.",ja="The agent returned no reply.",Da=/\x1b\[[0-9;?]*[ -/]*[@-~]|\x1b\][^\x07\x1b]*(?:\x07|\x1b\\)/g;function O(e,t){return t?e.split(`${t}/`).join("").split(t).join("."):e}var Oa=class{constructor(e,t={}){this.cwd=e,this.opts=t}prevKind=null;lastAssistant="";lastToolText="";openCalls=[];callIds=new WeakMap;approvals=new Map;lastUsageTotal=0;get lastAssistantMessage(){return this.lastAssistant}reduce(e){let t=e.entry,n=t?String(t.kind??"status"):"line",a=t?n==="tool-result"?this.close(e,t):n==="approval-answered"?this.decide(e,t):void 0:void 0;if(a)return this.prevKind=n,[a];let r={seq:e.seq,at:e.at,kind:"status",title:"",sourceKind:n,separated:!1,tone:"muted"};if(!t)r.kind=e.level==="err"?"error":e.level==="sys"?"status":"line",r.title=O(e.line,this.cwd),e.level==="err"&&(r.tone="error");else if(n==="usage"){let i=t.tokens;if(!i)return[];let o=this.lastUsageTotal>0,l=i.total-this.lastUsageTotal;if(!o||l<Math.max(2e4,this.lastUsageTotal*.2))return this.lastUsageTotal=Math.max(this.lastUsageTotal,i.total),[];this.lastUsageTotal=i.total,r.kind="usage",r.tokens=i;let d=typeof t.context=="number"?t.context:i.input+i.cachedInput;r.title=`ctx ${Ct(d)} \xB7 out ${Ct(i.output)}`}else if(n==="approval-escalated"){let i=Array.isArray(t.actions)?t.actions.map(String):[],o=O(t.reason?String(t.reason):"",this.cwd);r.kind="approval",r.title=["Approval needed",o,`${i.length} action${i.length===1?"":"s"}`].filter(Boolean).join(" \xB7 "),r.detail=O(i.map((l,d)=>`${d+1}. ${l.replaceAll(`
6
- `,`
7
- `)}`).join(`
8
- `),this.cwd),r.state="waiting",this.approvals.set(String(t.approvalId),r)}else if(n==="approval-answered")r.kind="approval",r.title="Approval",Object.assign(r,xt(r,e,t));else if(n==="approval-decision"){let i=O(t.summary?String(t.summary):"",this.cwd),o=t.decision==="accept";r.kind="approval",r.title=[o?"Allowed as approved":"Refused by the reviewer",i].filter(Boolean).join(" \xB7 "),r.detail=O(t.reason?String(t.reason):"",this.cwd),o||(r.tone="error")}else if(n==="auto-review"){r.kind="approval";let i=t.riskLevel?`(${String(t.riskLevel)} risk)`:"",o=O(t.summary?String(t.summary):"",this.cwd),l=o.slice(o.indexOf(": ")+2),d=o&&l&&this.lastToolText.includes(l)?"":o,u=d?"":String(t.method??"");r.title=`${["auto-review",String(t.decision??""),i,u].filter(Boolean).join(" ")}${d?` \xB7 ${d}`:""}`,r.detail=O(t.reason?String(t.reason):"",this.cwd)}else{let i=t.message?String(t.message):n==="tool-result"?"(no output)":String(t.tool||t.kind||"");if(!i&&!(n==="tool-result"&&(t.exitCode!=null||t.isError)))return[];r.title=O(i,this.cwd),n==="assistant"?(r.kind="assistant",r.tone=void 0,this.lastAssistant=r.title):n==="error"||n==="steer"?(r.kind=n,r.tone=n==="error"?"error":"warning"):n==="warning"?r.tone="warning":n==="reasoning"?(r.kind="reasoning",r.durationMs=typeof t.durationMs=="number"?t.durationMs:0):n==="tool"?(r.kind="tool",t.tool&&(r.tool=String(t.tool)),this.lastToolText=r.title,t.callId&&this.callIds.set(r,String(t.callId)),this.openCalls.push(r)):n==="tool-result"&&(r.kind="tool-result",r.title=this.output(i),r.exitCode=typeof t.exitCode=="number"?t.exitCode:void 0,r.tone=r.exitCode!==void 0&&r.exitCode!==0||t.isError===!0?"error":"muted",r.durationMs=typeof t.durationMs=="number"?t.durationMs:0,t.tool&&(r.tool=String(t.tool)))}return this.prevKind!==null&&(r.separated=["assistant","error","steer"].includes(n)||n==="reasoning"&&this.prevKind!=="reasoning"||n==="tool"&&["assistant","reasoning"].includes(this.prevKind)),this.prevKind=n,[r]}close(e,t){let n=t.tool?String(t.tool):void 0,a=t.callId?this.openCalls.findIndex(d=>this.callIds.get(d)===String(t.callId)):-1,r=t.callId?a:n?this.openCalls.findIndex(d=>d.tool===n):this.openCalls.length-1;if(r<0)return;let[i]=this.openCalls.splice(r,1),o=typeof t.exitCode=="number"?t.exitCode:void 0,l=typeof t.durationMs=="number"?t.durationMs:e.at-i.at||0;return{...i,title:t.callMessage?O(String(t.callMessage),this.cwd):i.title,result:{ok:!o&&t.isError!==!0,exitCode:o,durationMs:Math.max(0,l),detail:this.output(t.message?String(t.message):"")}}}decide(e,t){let n=this.approvals.get(String(t.approvalId));return n?xt(n,e,t):void 0}output(e){return O(this.opts.keepAnsi?e:e.replace(Da,""),this.cwd)}};function xt(e,t,n){let a=n.decision==="accept";return{...e,state:`${a?"approved":"denied"} ${n.by?`by ${String(n.by)}`:"in Coder"}`,result:{ok:a,durationMs:Math.max(0,t.at-e.at||0),detail:!a&&n.reason?String(n.reason):""}}}function Ct(e){return e<1e3?String(e):e<1e6?`${(e/1e3).toFixed(e<1e4?1:0)}k`:`${(e/1e6).toFixed(1)}M`}var Ha=e=>e==="failed"?0:e==="completed"?3:e==="cancelled"?2:1,Na=(e,t)=>e==="waiting"||!!t?.some(n=>!n.response),Ba=(e,t)=>e<t?-1:e>t?1:0,za=(e,t)=>e.rank-t.rank||t.createdAt-e.createdAt||Ba(t.id,e.id);function Oe(e){return Lt(e)?.flatMap(t=>t.reactions?t.reactions.map(({emoji:n,by:a})=>({author:a.join(", "),text:`reacted ${n}`,reaction:!0})):(t.messages??(t.message?[t.message]:[])).map(({text:n,author:a})=>({author:[a.handle,a.name].find(r=>r&&r!==a.id)??"",text:n||(t.event??"")})))}function Fa(e,t){let n=e?.trim();return n&&!Oe(n)?n:t?.trim()||Oe(n)?.find(a=>!a.reaction)?.text.trim()}function Ut({status:e,approvals:t}){let n=Na(e,t)?"waiting":e;return s("span",{class:`st ${n}`,children:[s("i",{}),Rt[n]??n]})}var Ka=()=>s(ke,{title:"Ran with read-only access",children:"read-only"}),Rt={queued:"waiting for slot",running:"running",waiting:"needs approval",completed:"completed",failed:"failed",cancelled:"cancelled"},ee="coder:watched",Tt="coder:notify",ue="coder:toast",Ve=new Set(["completed","failed","cancelled"]),Ja=new Set([...Ve,"waiting"]),Wa=20,Et=3,Va=8e3,It="coder:events",He="coder:task",Ne="coder:task-replay",Be="coder:task-reset",ze="coder:task-resync",Fe="coder:task-counts",Ke="coder:task-counts-replay",Je="coder:runners",Za=6e4,Qa=200,We=()=>{try{return JSON.parse(localStorage.getItem(ee)??"{}")??{}}catch{return{}}},qt=e=>{let t=Object.entries(e).sort(([,n],[,a])=>a.at-n.at).slice(0,Wa);localStorage.setItem(ee,JSON.stringify(Object.fromEntries(t))),dispatchEvent(new Event(ee))},_t=(e,t,n)=>dispatchEvent(new CustomEvent(ue,{detail:{title:e,line:t,tone:n}})),Xa=(e,t)=>_t(e,t,"error");function Pt(e,t,n){let a=We(),r=a[e];!r&&Ve.has(t)||r?.status===t&&(!n||r.title===n)||(a[e]={title:n||r?.title||e,status:t,at:r?.at??Date.now(),org:r?.org??location.pathname.split("/")[2]},qt(a))}var St=e=>/^\/dash\/[^/]+\/tasks\/([^/]+)$/.exec(e)?.[1];function Ga(e){let t=r=>typeof r=="string"?r.trim().split(`
9
- `)[0]:"",n=e.approval??{},a=typeof e.result=="object"?e.result?.output:e.result;return e.status==="waiting"?t(n.reason)||"It is waiting for your approval.":e.status==="completed"?t(a)||"It finished.":t(e.error)||(e.status==="failed"?"It failed.":"It was stopped.")}function At(e,t,n){let a=B({on:e,reset:t,resync:n});a.current={on:e,reset:t,resync:n},A(()=>{let r=l=>a.current.on(l.detail),i=()=>a.current.reset?.(),o=()=>a.current.resync?.();return addEventListener(He,r),addEventListener(Be,i),addEventListener(ze,o),dispatchEvent(new CustomEvent(Ne,{detail:l=>a.current.on(l)})),()=>{removeEventListener(He,r),removeEventListener(Be,i),removeEventListener(ze,o)}},[])}function Ya(e,t,n){let a=B(e);a.current=e;let r=B(),i=[...e].sort().join(",");A(()=>{let o=new Map,l=c=>{o.delete(c.id),o.set(c.id,c),o.size>Qa&&o.delete(o.keys().next().value),dispatchEvent(new CustomEvent(He,{detail:c}))},d=c=>{for(let m of o.values())c.detail(m)};addEventListener(Ne,d);let u,p=c=>u&&c.detail(u);addEventListener(Ke,p);let g=typeof BroadcastChannel<"u"&&navigator.locks?new BroadcastChannel(`${It}:${n}`):void 0,w=new AbortController,I,k=()=>{},v,y=c=>{I=c.id??I,c.event&&l(c.event),c.counts&&(u=c.counts,dispatchEvent(new CustomEvent(Fe,{detail:u}))),c.runners&&dispatchEvent(new CustomEvent(Je,{detail:c.runners})),c.resync&&dispatchEvent(new Event(ze)),c.reset&&(o.clear(),dispatchEvent(new Event(Be)))};g?.addEventListener("message",({data:c})=>{if(!c.hello)return y(c);v??=setTimeout(()=>{v=void 0,r.current?.abort.abort(),k()},300)}),g?.postMessage({hello:!0});let $=async()=>{t.current=!0;let c=setInterval(()=>{g?.postMessage({resync:!0}),y({resync:!0})},Za);try{await C()}finally{clearInterval(c)}},C=async()=>{for(;!w.signal.aborted;){let c=new AbortController,m=()=>c.abort();w.signal.addEventListener("abort",m);let h=a.current;r.current={key:[...h].sort().join(","),abort:c};let f=1e3;try{let M=await ie.tasks.events(h,I,c.signal);if(M.status===404)return void(t.current=!1);if(!M.ok||!M.body)f=[401,403].includes(M.status)?6e4:5e3;else for await(let{event:E,data:S,id:R}of se(M.body)){if(c.signal.aborted)break;let q={...R?{id:R}:{},...E==="task"?{event:JSON.parse(S)}:{},...E==="counts"?{counts:JSON.parse(S)}:{},...E==="runners"?{runners:JSON.parse(S)}:{},...E==="reset"?{reset:!0}:{}};g?.postMessage(q),y(q)}}catch(M){c.signal.aborted||console.error("coder dashboard: events",M)}w.signal.removeEventListener("abort",m),!c.signal.aborted&&(await new Promise(M=>{let E=setTimeout(M,f);k=()=>{clearTimeout(E),M()}}),k=()=>{})}};return g?navigator.locks.request(`${It}:${n}`,{signal:w.signal},$).catch(c=>{w.signal.aborted||console.error("coder dashboard: events",c)}):$(),()=>{w.abort(),k(),clearTimeout(v),g?.close(),removeEventListener(Ne,d),removeEventListener(Ke,p)}},[]),A(()=>{r.current&&r.current.key!==i&&r.current.abort.abort()},[i])}function er(e){let t=B(e);t.current=e,A(()=>{let n=a=>t.current(a.detail);return addEventListener(Je,n),()=>removeEventListener(Je,n)},[])}function tr(){let[e,t]=Q();return A(()=>{let n=a=>t(a.detail.active);return addEventListener(Fe,n),dispatchEvent(new CustomEvent(Ke,{detail:a=>t(a.active)})),()=>removeEventListener(Fe,n)},[]),e?s("span",{class:"n",title:`${e} active`,children:e}):null}function nr({toast:e,paused:t,dismiss:n}){let a=Z(),r=B(Va);return A(()=>{if(t)return;let i=Date.now(),o=setTimeout(()=>n(e.key),r.current);return()=>{clearTimeout(o),r.current-=Date.now()-i}},[t]),s("div",{class:e.tone?`toast ${e.tone}`:"toast",children:[s("p",{class:"toast-head",children:[e.id?s(F,{class:"toast-title",href:"/dash/[org]/tasks/[id]",params:{org:a,id:e.id},onClick:()=>n(e.key),children:e.title}):s("span",{class:"toast-title",children:e.title}),e.status?s(Ut,{status:e.status}):null,s(V,{icon:J,label:"Dismiss",onClick:()=>n(e.key)})]}),s("p",{class:"toast-line",children:e.line})]})}function ar(){let e=Z(),t=qe(),n=Te(),[a,r]=Q({}),[i,o]=Q([]),[l,d]=Q(!1),[u,p]=Q(!1),[g,w]=Q(!1),I=B(St(t));I.current=St(t);let k=B({}),v=B(!1);A(()=>{let c=()=>{let m=We();for(let[h,f]of Object.entries(m))k.current[h]??=f.status;r(m)};return c(),addEventListener(ee,c),addEventListener("storage",c),()=>{removeEventListener(ee,c),removeEventListener("storage",c)}},[]),A(()=>{let c=m=>{let h=m.detail;o(f=>[{key:`${ue}:${Date.now()}`,...h},...f].slice(0,Et))};return addEventListener(ue,c),()=>removeEventListener(ue,c)},[]),A(()=>{if(!i.length)return;let c=m=>m.key==="Escape"&&o([]);return addEventListener("keydown",c),()=>removeEventListener("keydown",c)},[i.length]);let y=B(null);A(()=>{let c=y.current;c.matches(":popover-open")&&c.hidePopover(),i.length&&c.showPopover()},[i[0]?.key]);let $=c=>o(m=>m.filter(h=>h.key!==c));At(c=>{let m=a[c.id];if(m?.org!==e)return;if(c.deleted){let f=We();return delete f[c.id],qt(f)}let h=k.current[c.id]??m.status;k.current[c.id]=c.status,h!==c.status&&C(c.id,{...c,result:c.result??void 0,error:c.error??void 0},m)});let C=(c,m,h)=>{if(Pt(c,m.status),!Ja.has(m.status)||I.current===c)return;let f={key:`${c}:${Date.now()}`,id:c,title:h.title,status:m.status,line:Ga(m)};if(o(E=>[f,...E].slice(0,Et)),!v.current||localStorage.getItem(Tt)!=="1"||typeof Notification>"u"||Notification.permission!=="granted")return;let M=new Notification(`${f.title} (${Rt[f.status]})`,{body:f.line,tag:c});M.onclick=()=>{focus(),n.push("/dash/[org]/tasks/[id]",{params:{org:e,id:c}})}};return Ya(Object.entries(a).filter(([,c])=>c.org===e&&!Ve.has(c.status)).map(([c])=>c),v,e),A(()=>{let c=()=>w(!0),m=()=>w(!1);return addEventListener("blur",c),addEventListener("focus",m),()=>{removeEventListener("blur",c),removeEventListener("focus",m)}},[]),s("section",{ref:y,class:"toasts",popover:"manual","aria-label":"Task updates","aria-live":"polite",onPointerOver:()=>d(!0),onPointerOut:c=>d(!!y.current?.contains(c.relatedTarget)),onFocusIn:()=>p(!0),onFocusOut:c=>p(!!y.current?.contains(c.relatedTarget)),children:i.map(c=>s(nr,{toast:c,paused:l||u||g,dismiss:$},c.key))})}import{$2e as rr,$2j as sr,$2l as ir,$2n as or}from"./shared-init-3fcac605fffcc273-2.js";function lr({open:e=!0,class:t,tone:n,title:a,icon:r,dismiss:i,busy:o,cancel:l="Cancel",cancelDanger:d,focus:u="cancel",actions:p,onSubmit:g,onClose:w,children:I}){let k=ir(null),v=or();sr(()=>{let C=k.current;e&&!C.open?C.showModal():!e&&C.open&&C.close()},[e]);let y=()=>!o&&k.current.close(),$=rr(p).length===0;return s("dialog",{ref:k,class:["modal",t,n&&`tone ${n}`].filter(Boolean).join(" "),"aria-labelledby":v,onClose:w,onCancel:C=>{C.preventDefault(),y()},onClick:C=>C.target===C.currentTarget&&y(),children:s("form",{method:g?void 0:"dialog",onSubmit:g??(i&&$?C=>C.preventDefault():void 0),children:[s("header",{children:[r?s(T,{d:r}):null,s("h2",{id:v,children:a}),i?s(V,{icon:J,label:"Close",onClick:y}):null]}),I,i&&$?null:s("div",{class:"actions",children:[s(W,{variant:$&&!d?"primary":"ghost",danger:d,disabled:o,autofocus:u==="cancel",onClick:y,children:l}),p]})]})})}export{kt as $0A,Mt as $0B,Ua as $0C,Z as $0D,Ra as $0E,Ta as $0F,Te as $0a,qe as $0b,ca as $0c,mt as $0d,da as $0e,De as $0f,Ia as $0g,Sa as $0h,vt as $0i,Pe as $0j,Se as $0k,ha as $0l,Le as $0m,Ue as $0n,Ae as $0o,Re as $0p,pa as $0q,ma as $0r,gt as $0s,wt as $0t,fa as $0u,$t as $0v,va as $0w,xa as $0x,yt as $0y,Ea as $0z,se as $1a,rt as $1b,ie as $1c,Dn as $1d,Hn as $1e,be as $1f,ye as $1g,Nn as $1h,st as $1i,$e as $1j,ke as $1k,oe as $1l,Bn as $1m,zn as $1n,Fn as $1o,Kn as $1p,Jn as $1q,Wn as $1r,Xn as $1s,Me as $1t,xe as $1u,Gn as $1v,Y as $1w,_a as $2a,Pa as $2b,Aa as $2c,ja as $2d,Oa as $2e,Ha as $2f,za as $2g,Oe as $2h,Fa as $2i,Ut as $2j,Ka as $2k,Tt as $2l,_t as $2m,Xa as $2n,Pt as $2o,At as $2p,er as $2q,tr as $2r,ar as $2s,wn as $3A,X as $3B,$n as $3C,bn as $3D,yn as $3E,kn as $3F,Mn as $3G,xn as $3H,ge as $3I,Cn as $3J,En as $3K,In as $3L,Sn as $3M,Ln as $3N,Un as $3O,Rn as $3P,s as $3Q,T as $3R,W as $3S,qn as $3T,V as $3U,te as $3a,F as $3b,en as $3c,tn as $3d,nn as $3e,an as $3f,ne as $3g,me as $3h,fe as $3i,rn as $3j,sn as $3k,on as $3l,ln as $3m,cn as $3n,dn as $3o,un as $3p,Ye as $3q,hn as $3r,pn as $3s,mn as $3t,fn as $3u,J as $3v,ae as $3w,vn as $3x,gn as $3y,ve as $3z,lr as $4a};
@@ -1 +0,0 @@
1
- import{$0b as d,$0e as b,$0g as T,$0k as P,$0m as A}from"./shared-init-abd7653140f37a0c.js";import{$1d as y}from"./shared-init-abd7653140f37a0c.js";import{$4a as B}from"./shared-init-abd7653140f37a0c.js";import{$3J as R,$3Q as t,$3S as f,$3U as g,$3b as L,$3g as S,$3i as E,$3j as O,$3k as C,$3l as M,$3r as w,$3u as x}from"./shared-init-abd7653140f37a0c.js";import{$2c as l,$2h as a,$2j as p,$2k as h,$2l as k}from"./shared-init-3fcac605fffcc273-2.js";function N({within:n,children:r,onClick:s,...i}){let e=d(),o=e===T(i)||n!==void 0&&(e===n||e.startsWith(`${n}/`)),c=k(null);return t(L,{...i,"aria-current":o?"page":void 0,onClick:u=>{c.current=u.currentTarget,s?.(u)},children:[r,t($,{anchor:c,current:o})]})}function $({anchor:n,current:r}){let{pending:s}=b();return h(()=>{n.current&&(s&&!r?n.current.setAttribute("data-pending",""):n.current.removeAttribute("data-pending"))},[s,r]),null}function Q({link:n}){let r=`/api/auth/sign-in?${new URLSearchParams({return:n,prompt:"login"})}`;return t(B,{class:"outcome-dialog",tone:"warning",title:"Not in this workspace",icon:R,cancel:"Stay here",actions:t(f,{href:r,children:"Sign in with another account"}),onClose:()=>history.replaceState(history.state,"",location.pathname),children:t("p",{role:"status",children:"The link you followed does not belong to this workspace."})})}function ot({menu:n}){let r=()=>void y().catch(()=>location.reload());return n?t(P,{icon:w,title:"Sign out",onClick:r}):t(f,{variant:"secondary",danger:!0,onClick:r,children:"Sign out"})}var v=3600*24*365,I=[["light","Light",O],["dark","Dark",C],["system","System",M]];function mt({theme:n}){let[r,s]=a(n),i=e=>{let o=document.documentElement;e==="system"?delete o.dataset.theme:o.dataset.theme=e,document.cookie=`theme=${e}; path=/; max-age=${v}; samesite=lax`,s(e)};return t(l,{children:I.map(([e,o,c])=>t(A,{on:r===e,onPick:()=>i(e),icon:c,children:o},e))})}var H="side";function ht({collapsed:n}){let[r,s]=a(n);p(()=>{let o=document.querySelector(".app");if(!o)return;let c=()=>s(o.classList.contains("side-min"));c();let u=new MutationObserver(c);return u.observe(o,{attributes:!0,attributeFilter:["class"]}),()=>u.disconnect()},[]);let i=()=>{let o=!r;document.querySelector(".app")?.classList.toggle("side-min",o),document.cookie=`${H}=${o?"min":"max"}; path=/; max-age=31536000; samesite=lax`},e=r?"Expand sidebar":"Collapse sidebar";return t(g,{icon:r?E:S,label:e,tip:e,class:"side-toggle",onClick:i})}function xt(){let n=d(),[r,s]=a(),i=r===n,e=o=>s(o?n:void 0);return p(()=>{if(document.documentElement.classList.toggle("drawer",i),!i)return;let o=c=>c.key==="Escape"&&e(!1);return addEventListener("keydown",o),()=>removeEventListener("keydown",o)},[i]),t(l,{children:[t(g,{icon:x,label:"Open navigation",class:"only-m",onClick:()=>e(!i)}),t("div",{class:"scrim",onClick:()=>e(!1)})]})}export{N as a,Q as b,ot as c,mt as d,ht as e,xt as f};
@@ -1 +0,0 @@
1
- import{$2a as o,$2f as i,$2g as a,$2i as d}from"./shared-init-abd7653140f37a0c.js";var T=["Conversation","Activity"],f=[["","Recent"],["active","Active"],["waiting","Needs approval"],["running","Running"],["queued","Queued"],["completed","Completed"],["failed","Failed"],["cancelled","Cancelled"],["archived","Archived"]];function w(t){let{status:e,...r}=t;return e==="archived"?{...r,archived:!0}:{...r,status:e}}var p=[["","All sources"],["dashboard","Dashboard"],["cli","CLI"],["schedule","Schedule"]],g=t=>(p.find(([e])=>e===t)??[t,t])[1],x=t=>t.status==="queued"||t.status==="running"||t.status==="waiting",c=t=>({rank:i(t.status),createdAt:t.createdAt,id:t.task.id}),u=(t,e)=>a(c(t),c(e));function y(t,e){let r=new Set(e.map(s=>s.task.id));return[...e,...t.filter(s=>!r.has(s.task.id))].sort(u)}function A(t,e,r={}){let s=new Set(t.map(n=>n.task.id));return[...e.filter(n=>!s.has(n.task.id)),...t].map(n=>r[n.task.id]??n).sort(u)}function v(t,e,r,s){let n=t.at(-1);return{rows:t.filter(l=>(r[l.task.id]??0)<=s),cursor:n?{since:n.updatedAt,sinceId:n.task.id}:e}}var h=(t,e)=>o(e,t.task.event?.mustReply!==!1);function S(t){let e=d(t.turns?.[0]?.prompt??t.task.prompt,t.task.event?.text);return t.task.name?.trim()||e||`${t.task.event?.type??"task"} on ${t.task.agent}`}function b(t){let{usage:e,definition:r}=t.task,s=e?.engine||e?.model?e:void 0;return[s?.engine,t.model??s?.model??r?.model,s?.effort].filter(Boolean).join("/")}var C=t=>t.split(/[\\/]/).filter(Boolean).at(-1)??t;export{T as a,f as b,w as c,p as d,g as e,x as f,y as g,A as h,v as i,h as j,S as k,b as l,C as m};
@@ -1,3 +0,0 @@
1
- import{k as H}from"./task-396d849e58e50d59.js";import{a as U}from"./types-3eca2c7f47c46054.js";import{a as Q}from"./confirm-14d018653fbe50fc.js";import{a as E}from"./segmented-66a8c77c6294fec3.js";import{a as W}from"./field-adcb6e6a5f9b7131.js";import{$0b as w}from"./shared-init-96225b8c7758de9d.js";import{$2m as P}from"./shared-init-abd7653140f37a0c.js";import{$0D as T,$0a as $,$0c as N,$0k as R}from"./shared-init-abd7653140f37a0c.js";import{$1c as A,$1f as I,$1o as S}from"./shared-init-abd7653140f37a0c.js";import{$4a as L}from"./shared-init-abd7653140f37a0c.js";import{$3A as z,$3Q as e,$3R as B,$3S as h,$3b as x,$3c as F,$3p as O}from"./shared-init-abd7653140f37a0c.js";import{$2c as C,$2h as y}from"./shared-init-3fcac605fffcc273-2.js";function Ae({task:n,live:o}){let a=$(),t=T(),s=w(),f=w({leaves:!0}),[d,p]=y(""),[g,i]=y(!1),u=g||!!n.archivedAt,[v,k]=y(N().get("delete")==="1"),m=async l=>{p("");let c=await s.run(l,()=>A.tasks[l](n.task.id));return c&&p(l==="cancel"?"Stop requested.":"Archived."),c},b=()=>void f.run("delete",async()=>{await A.tasks.delete(n.task.id),a.push("/dash/[org]/tasks",{params:{org:t}})}).then(l=>l||k(!1)),r=()=>void m("archive").then(i);return e(C,{children:[e("span",{class:"flash",role:"status",children:d}),o?e(h,{variant:"outline",disabled:!!s.pending,loading:s.pending==="cancel",onClick:()=>void m("cancel"),children:"Stop"}):u?null:e(h,{variant:"outline",class:"archive",disabled:!!s.pending,loading:s.pending==="archive",onClick:r,children:"Archive"}),e(I,{summary:e(B,{d:z}),button:"icon",label:"More actions",children:[o&&!u?e(R,{title:"Archive",onClick:r}):null,e(R,{title:"Copy task id",onClick:()=>void navigator.clipboard.writeText(n.task.id).then(()=>P("Copied",n.task.id))}),e(R,{title:"Delete",danger:!0,onClick:()=>k(!0)})]}),e(Q,{open:v,title:"Delete this task?",body:"Its conversation, activity and diff go with it.",confirmLabel:"Delete",busy:!!f.pending,onConfirm:b,onClose:()=>k(!1)})]})}var Z=n=>n.approvals?.find(o=>!o.response)??(n.approvals?.some(o=>o.id===n.approval?.id)?void 0:n.approval),we=(n,o)=>{let a=Date.parse(o.createdAt??""),t=n.findIndex(s=>!s.finishedAt||s.finishedAt>=a);return t<0?n.length-1:t},K=({decision:n,by:o})=>n==="closed"?"Task stopped":`${n==="accept"?"Approved":"Denied"} ${o?`by ${o}`:"in Coder"}`;function q({actions:n,diff:o,note:a}){return e("details",{class:"approval-actions",children:[e("summary",{children:e("span",{children:[`${n.length} ${o?"change":"action"}${n.length===1?"":"s"}`,a?` \xB7 ${a}`:null]})}),o?e("pre",{class:"change-diff",children:n.flatMap(t=>t.split(`
2
- `)).map((t,s)=>e("span",{class:t.startsWith("+ ")?"add":t.startsWith("- ")?"del":void 0,children:t},s))}):e("ol",{children:n.map((t,s)=>e("li",{children:e("code",{children:t})},s))})]})}var D=({response:n})=>e("strong",{class:"decided",children:K(n)});function Ce({approval:n}){let o=n.response;return e(S,{title:"Approval needed",actions:e(D,{response:o}),children:e("div",{class:"body",children:[e("p",{class:"approval",children:n.reason}),e(q,{actions:n.actions,diff:!!n.change}),o.reason?e("p",{class:"decision",children:o.reason}):null]})})}function Be({approval:n}){let o=n.response;return e("div",{class:`turn decision ${o.decision}`,children:[e("p",{class:"who",children:K(o)}),o.reason?e("div",{class:"prose",children:o.reason}):null,e(q,{actions:n.actions,diff:!!n.change})]})}var G={agent:["This agent","applies to this agent"],workspace:["Workspace","applies to the workspace"],personal:["Personal","applies to you"]};function J({task:n,me:o}){let a=n.task.requestedBy&&n.task.requestedBy===o.user?.id?"you":n.task.context?.user?.name??(n.task.event?.actor?.login!==n.task.event?.actor?.id?n.task.event?.actor?.login:void 0);return e("span",{class:"asker",title:a?`${n.task.agent} asks, for ${a}`:`${n.task.agent} asks`,children:[e("span",{children:[e(B,{d:F}),n.task.agent]}),a?e("span",{children:[e(B,{d:O}),a]}):null]})}function V({task:n,me:o,reason:a,request:t,answered:s,queue:f,actions:d,admin:p,dialog:g,children:i}){let u=T(),v=t?"body request":"body";return f?e("li",{class:"queue-row",children:[e("details",{children:[e("summary",{children:[e("span",{class:"queue-ask",children:[e(J,{task:n,me:o}),a?e("span",{class:"queue-reason",children:a}):null]}),e("span",{class:"queue-task",children:[e(x,{href:"/dash/[org]/tasks/[id]",params:{org:u,id:n.task.id},children:H(n).split(`
3
- `)[0]}),p]})]}),e("div",{class:v,children:i})]}),d?e("span",{class:"queue-acts",children:d}):null,g]}):e(S,{tone:s?void 0:"accent",title:"Approval needed",actions:d,children:[e("div",{class:v,children:[e("p",{class:"approval",children:[e(J,{task:n,me:o}),a]}),p?e("p",{children:p}):null,i]}),g]})}function _({task:n,approval:o,me:a,queue:t}){let s=o.change,f=w({toast:"Not sent"}),d=f.pending,[p,g]=y(s.scope),[i,u]=y(),v=p==="agent"||(p==="personal"?a.user?.id===s.asker:U(a)),k=s.operation.kind==="act-as"?s.operation.user.name:void 0,m=i==="ask"||!!s.askedAdmin,b=k?`Only ${k} answers this.`:m?"Asked an admin. Only a workspace admin approves this.":"Only a workspace admin approves this. Ask one.",r=o.response??(i&&i!=="ask"?{decision:i,by:a.user?.name}:void 0),l=c=>{let M=f.run(c,()=>A.tasks.request(n.task.id,o.id,c,{scope:p}));t?.onSent(M),M.then(X=>X&&u(c))};return e(V,{task:n,me:a,reason:o.reason,request:!0,answered:!!r,queue:t,actions:r?e(D,{response:r}):e(C,{children:[e(h,{variant:"outline",size:"sm",disabled:!!d||!!(k&&!v),loading:d==="decline",onClick:()=>l("decline"),children:"Deny"}),v?e(h,{size:"sm",disabled:!!d,loading:d==="accept",onClick:()=>l("accept"),children:"Approve"}):e("span",{class:"approve-off",title:b,children:e(h,{size:"sm",disabled:!0,children:"Approve"})})]}),admin:v||r||k?void 0:e("span",{class:"admin-ask",children:["Only a workspace admin approves this."," ",m?"Asked an admin.":e("button",{type:"button",class:"link",disabled:!!d,onClick:()=>l("ask"),children:"Ask an admin"})]}),children:[s.scopes.length>1&&!r?e(E,{label:"Scope",options:s.scopes.map(c=>[c,G[c][0]]),value:p,onChange:c=>g(c)}):null,e(q,{actions:o.actions,diff:!0,note:s.scopes.length>1&&!r?void 0:G[p][1]})]})}function Re({task:n,me:o,queue:a}){let t=w({toast:"Not sent"}),s=t.pending,[f,d]=y(),[p,g]=y(),i=Z(n),{id:u,reason:v,actions:k}=i??{actions:[]},m=i?.response??(f?.id===u?f?.response:void 0),b=async(r,l)=>{let c=t.run(r,()=>A.tasks.approve(n.task.id,u??"",r,l?{reason:l}:{}));a?.onSent(c),await c&&d({id:u,response:{decision:r,by:o.user?.name,...l?{reason:l}:{}}})};return i?i.change?e(_,{task:n,approval:i,me:o,queue:a},i.id):e(V,{task:n,me:o,reason:v,answered:!!m,queue:a,actions:m?e(D,{response:m}):n.task.flow==="default"?e(C,{children:[e(h,{variant:"outline",size:"sm",disabled:!!s,loading:s==="decline",onClick:()=>g(u),children:"Deny"}),e(h,{size:"sm",disabled:!!s,loading:s==="accept",onClick:()=>void b("accept"),children:"Approve"})]}):void 0,dialog:e(L,{class:"deny-why",open:p===u&&!m,title:"Deny this request?",focus:"actions",busy:s==="decline",onSubmit:r=>{r.preventDefault();let l=new FormData(r.currentTarget).get("why");g(void 0),b("decline",String(l??"").trim())},onClose:()=>g(void 0),actions:e(h,{type:"submit",danger:!0,loading:s==="decline",children:"Deny"}),children:e(W,{label:"Why?",hint:"optional, the task reads it",children:e("input",{name:"why",placeholder:"Use the staging bucket instead",autocomplete:"off",autofocus:!0})})}),children:[e(q,{actions:k}),m?.reason?e("p",{class:"decision",children:m.reason}):null]}):null}export{Ae as a,Z as b,we as c,Ce as d,Be as e,Re as f};