@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.
- package/dist/{actions-DO8MvHwc.js → actions-C35tq9KH.js} +2 -2
- package/dist/{agent-Cgala63h.js → agent-BZR4Eqdc.js} +1 -1
- package/dist/{apps-BORri-28.js → apps-CCqOsEZH.js} +4 -4
- package/dist/{async-BS9tyhva.js → async-BP5q3Une.js} +1 -1
- package/dist/{auth-C16ylySv.js → auth-CJOm9_Vh.js} +1 -1
- package/dist/{chat-czruXAt3.js → chat-BD2Fu3jU.js} +1 -1
- package/dist/cli.js +2 -2
- package/dist/{cmd-C1gHyVG7.js → cmd-BH1bmZGs.js} +29 -29
- package/dist/{connection-CgA5_NJ7.js → connection-DNzNYpha.js} +1 -1
- package/dist/{context-C1XBbfEL.js → context-DVGPu7f_.js} +1 -1
- package/dist/dash/standalone/server/build-index.json +1 -1
- package/dist/dash/standalone/server/manifest.json +1305 -1297
- package/dist/dash/standalone/server/modules-server-server-react-server/src/client/{index.91e126d7a389d4bd.js → index.a036e2c6ae93ec75.js} +3 -2
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/api/{load.858c062c7891a2c1.js → load.3e1c235ecb89201a.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/create/[id]/{page.9375ab741dc9791e.js → page.182d84c6c82e23ce.js} +3 -3
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/{layout.150d950d191db477.js → layout.87f5bb00d4e34e6b.js} +7 -7
- 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
- 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
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/{page.262ed73437c17872.js → page.7de674df6cd0e824.js} +1 -1
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{stream.2cdb8eabd8f6df70.js → stream.c7ffa724145ce870.js} +1 -1
- 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
- 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
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/nav/{back.7aa0ae82dbec38cd.js → back.95ed3b5a6128d557.js} +2 -2
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/nav/{org.853d173b55368728.js → org.efcee1c3404f6345.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{combo.e4e08287494081a3.js → combo.3acd48652c3a66a6.js} +2 -2
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{filter.0730dccad6332327.js → filter.6468dec3a8faed6f.js} +6 -6
- 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
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{select.0ee9e8f04ddd8b47.js → select.b712227920cd0845.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/utils/{action.56cea462eb725c39.js → action.55bd1d3e1b67a67e.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/utils/{client.685154f230716834.js → client.b9225923da59febe.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/{advanced-list-b75a9c2bd11026de.js → advanced-list-d9a68433a13416df.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/{agent-pills-54564413a57d7fa7.js → agent-pills-1414a96077ec37de.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/{agent-settings-form-55d294dad2ce5a0d.js → agent-settings-form-73da6b4b714e49b4.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/{agent-toggle-b5dcc4ea6292fb3d.js → agent-toggle-d14e2838d11ab0f7.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/{agents-grid-69461c53abbba433.js → agents-grid-aea25444710f2634.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/{back-ba5e4340a9f8bbd2.js → back-57d4a59bf80377e6.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/{chain-hint-491eb09a20a15702.js → chain-hint-dcb6933d6f8a6324.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/{combo-6df61e8a1cc31037.js → combo-460bff876882c694.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/{composer-198b844da57b82a3.js → composer-8d12a215b107c9b3.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/composer-fe63697f84a538c2.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/{confirm-14d018653fbe50fc.js → confirm-c0c0642856e64b11.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/{connect-repositories-5118edc019fc7890.js → connect-repositories-3a317a5db3ea50b1.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/{connections-list-5412dad7e0def52f.js → connections-list-0110d160a25b388c.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/{copy-04781f9af4e10f06.js → copy-eeb076af6e19e501.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/create-link-e72ff4dd7ef06e1c.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/{credentials-list-e64c973aee5602d3.js → credentials-list-90e6a2436041b18d.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/{custom-range-b6919bab9846ebf7.js → custom-range-721477a24237c90d.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/{editor-68e9ccd1764fc512.js → editor-64f6563f28d53ec5.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/{field-adcb6e6a5f9b7131.js → field-7c895f6d8d5d9eb3.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/{instructions-7b274685ceb26457.js → instructions-7b1485330fc4e8fd.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/instructions-ed61f719baf13b12.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/{list-662f042656857c82.js → list-c0633e5e742dff16.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/{models-list-ae1e2eff30d21824.js → models-list-228b3503307bc1ff.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/{outcome-dialog-fd86ded4c44c2de7.js → outcome-dialog-36842dfe50be1c85.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/outcome-dialog-630b20ddff39b01d.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/outcome-toast-b7e33ff0d984f359.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/{platform-actions-f3979ab69a6ceb53.js → platform-actions-055a2e246fca7af9.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/platform-actions-9e198b0c88df3206.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/platform-step-111051da80de6577.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/{platform-step-5454b6c0a19caefd.js → platform-step-c7473e57e0b2f824.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/{runners-list-20d42f19fb4bec8a.js → runners-list-973253df985a8306.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/{runtime-3fcac605fffcc273-1.js → runtime-9b28886f3cbe0ed3-1.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/{secrets-list-89f89ee70edb3856.js → secrets-list-4aa6e2bf0fef06d6.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/{segmented-66a8c77c6294fec3.js → segmented-a994b4c20434c0ad.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/shared-init-4f4cac48ca0ef193.js +9 -0
- package/dist/dash/standalone/static/assets/chunks/shared-init-5734a91cdb78a173.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/shared-init-9b28886f3cbe0ed3-2.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/{shared-init-96225b8c7758de9d.js → shared-init-e8cf924a73e46497.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/side-toggle-a2d07f99f136e975.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/{tail-40f16e09eade7eee.js → tail-d3ba4c4035c5453e.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/task-3b17e45e271a6480.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/task-actions-e0c202536048edc0.js +3 -0
- package/dist/dash/standalone/static/assets/chunks/task-view-3822a8fe44f4aa92.js +3 -0
- package/dist/dash/standalone/static/assets/chunks/tasks-list-cb838b88110bbbb4.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/{versions-list-ceb756236e69b761.js → versions-list-7cb9db8c25cdfaa7.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/{wular-pnext-3fcac605fffcc273-0.js → wular-pnext-9b28886f3cbe0ed3-0.js} +1 -1
- package/dist/dash/standalone/static/assets/{dash-param-org-agents-param-slug-dd4ac319a0d62432.css → dash-param-org-agents-param-slug-ea5e0d8593150b35.css} +1 -1
- 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
- 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
- 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
- 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
- package/dist/dash/standalone/static/assets/{dash-param-org-tasks-be3cb3d64573f3d9.css → dash-param-org-tasks-e040b6497646a8a0.css} +1 -1
- package/dist/dash/standalone/static/assets/{dash-param-org-tasks-param-id-c20a0537bc82620d.css → dash-param-org-tasks-param-id-7df5e6c891e9e77f.css} +1 -1
- package/dist/dash/standalone/static/assets/pnext-client-019fddb658ef621e.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-025682238ebc1ccd.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-05cb69349250f079.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-0abd872e45d259dd.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-19072249ab9d929f.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-24b6f98a5e678977.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-2ed3001f7f4597c0.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-3028d0d201243815.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-63d9e54053266337.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-7bfb634b06062acf.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-915218deeaa531f2.js +1 -0
- package/dist/dash/standalone/static/assets/{pnext-client-b1af82c6f0db0033.js → pnext-client-a62685439dab6db4.js} +1 -1
- package/dist/dash/standalone/static/assets/{pnext-client-435db60553fa3a67.js → pnext-client-a793df411dc27890.js} +1 -1
- package/dist/dash/standalone/static/assets/pnext-client-ae5f820b1e3add50.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-ba17d46e9f8417f8.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-dbca01dae6b3ad8c.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-ec303fb1cec93d9f.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-ec8fde62be82a077.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-f659576f3d4fea61.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-f715825f54bb8e89.js +1 -0
- package/dist/{drive-B7SBFfcb.js → drive-MggMiKA0.js} +1 -1
- package/dist/{exec-D9jF2F-H.js → exec-CNygM6yF.js} +1 -1
- package/dist/{executor-DBW7R7Tf.js → executor-Ds4wDCzV.js} +1 -1
- package/dist/flow/builtin/review/index.js +1 -1
- package/dist/flow/index.js +1 -1
- package/dist/{hook-DN__zYOG.js → hook-CVJU-ZD0.js} +1 -1
- package/dist/{local-BzMvgiwL.js → local-CqOUpEtl.js} +1 -1
- package/dist/{local-GIxwz_Or.js → local-DFrTuJFN.js} +1 -1
- package/dist/{login-LlZrIlxb.js → login-93jO9qjx.js} +1 -1
- package/dist/{maintenance-DyiyHI8S.js → maintenance-BuDKnfc7.js} +1 -1
- package/dist/{mcp-CrtKQoVi.js → mcp-CTVOR7r6.js} +1 -1
- package/dist/{mcp-Caq72REF.js → mcp-EwT2mCaa.js} +1 -1
- package/dist/{models-BVxs3I8o.js → models-mKyePWrV.js} +1 -1
- package/dist/{permission-RSZM3DUk.js → permission-F6F25GJU.js} +1 -1
- package/dist/remote-Cl-j8r3W.js +1 -0
- package/dist/{runner-CKMOh5Q3.js → runner-DK0jnzPr.js} +1 -1
- package/dist/runner.json +1 -1
- package/dist/runner.tgz +0 -0
- package/dist/schema.js +1 -1
- package/dist/sdk.d.ts +34 -0
- package/dist/sdk.js +1 -1
- package/dist/serve-Cqlkgdfd.js +8 -0
- package/dist/{serve-YlU04KO7.js → serve-DHe6dZM6.js} +1 -1
- package/dist/{session-D7eeJIaH.js → session-BMbMzzPu.js} +1 -1
- package/dist/{shared-BzNReirj.js → shared-D-KqAi7b.js} +1 -1
- package/dist/{sign-in-Dr6sU7vz.js → sign-in-Dv-rdYD4.js} +1 -1
- package/dist/{store-BrnWdtRw.js → store-BpDipcKB.js} +18 -18
- package/dist/{task-CyqtCXo3.js → task-BRHXn5y1.js} +1 -1
- package/dist/{task-DN4assR8.js → task-CzXNLREX.js} +1 -1
- package/dist/{tools-DVtBtED6.js → tools-BCm26CeV.js} +1 -1
- package/dist/{tools-Ck-ZWtmB.js → tools-C69W1B6S.js} +1 -1
- package/dist/{tools-search-BNDea9vZ.js → tools-search-BDaeCoWe.js} +1 -1
- package/dist/{worker-DeuC38Vp.js → worker-DGhRPDDt.js} +2 -2
- package/dist/{worker-DJANNSCT.js → worker-DHNBRRl-.js} +1 -1
- package/package.json +1 -1
- package/plugins/claude/.claude-plugin/plugin.json +1 -1
- package/plugins/cursor/.cursor-plugin/plugin.json +1 -1
- package/dist/dash/standalone/static/assets/chunks/composer-b26a3332a1243461.js +0 -1
- package/dist/dash/standalone/static/assets/chunks/create-link-0651addf1461f901.js +0 -1
- package/dist/dash/standalone/static/assets/chunks/instructions-0022dd3bdd57c13f.js +0 -1
- package/dist/dash/standalone/static/assets/chunks/outcome-dialog-546fe090efc129c2.js +0 -1
- package/dist/dash/standalone/static/assets/chunks/outcome-toast-c00becdb638cd9a8.js +0 -1
- package/dist/dash/standalone/static/assets/chunks/platform-actions-2be223e68e648134.js +0 -1
- package/dist/dash/standalone/static/assets/chunks/platform-step-9a52703f4c4f6a31.js +0 -1
- package/dist/dash/standalone/static/assets/chunks/shared-init-3fcac605fffcc273-2.js +0 -1
- package/dist/dash/standalone/static/assets/chunks/shared-init-96cde32cd50254c0.js +0 -1
- package/dist/dash/standalone/static/assets/chunks/shared-init-abd7653140f37a0c.js +0 -9
- package/dist/dash/standalone/static/assets/chunks/side-toggle-8a410cc6d6bd9b1d.js +0 -1
- package/dist/dash/standalone/static/assets/chunks/task-396d849e58e50d59.js +0 -1
- package/dist/dash/standalone/static/assets/chunks/task-actions-0b3054dc0f8d17c0.js +0 -3
- package/dist/dash/standalone/static/assets/chunks/task-view-9e026dc5da58af5b.js +0 -3
- package/dist/dash/standalone/static/assets/chunks/tasks-list-04c6568d7f7237b7.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-07b41bfab64b61c0.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-0d388d56250f9f46.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-1443e45181b60bb0.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-27207e4f43f9a21b.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-523dd4071aa294ba.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-5f6bda3919f68382.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-684fd8ad16563ed3.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-6b952cdda9a1eb2b.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-6fe9e98f7dd8dcbf.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-730c2c507a159f9e.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-7c46573e45b67166.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-83a865c3d75705bd.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-907d1db4fb398a1d.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-9baf701f3e641d09.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-a57705e4e1047a9e.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-cede3bd7b2735942.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-d9a3996f22b6816b.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-f95364a0073ca4ce.js +0 -1
- package/dist/remote-CY-qYX2C.js +0 -1
- package/dist/serve-D23JqDip.js +0 -12
- /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
- /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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "coder",
|
|
3
3
|
"displayName": "Coder",
|
|
4
|
-
"version": "0.
|
|
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&<(),l},window.history.replaceState=function(a,r,i){let o=window.location.href,l=t(n(a),r,i);return window.location.href!==o&<(),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};
|