@wular/coder 0.4.11 → 0.4.13
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/README.md +4 -2
- package/dist/actions-D12xDiQS.js +4 -0
- package/dist/{adapter-DYxjaefw.js → adapter-Bz0E-DAY.js} +2 -2
- package/dist/{adapter-CkL4PqXE.js → adapter-CsacmMmv.js} +1 -1
- package/dist/adapter-DzpdWewB.js +1 -0
- package/dist/{agent-6GooVMsq.js → agent-JJStALIx.js} +2 -2
- package/dist/apps-Bnk7F3A2.js +379 -0
- package/dist/args-Dqf5Y1RP.js +1 -0
- package/dist/async-Tj4zKHXR.js +3 -0
- package/dist/auth-BhpnOCbn.js +1 -0
- package/dist/base64url-CsVsW4Id.js +1 -0
- package/dist/builtin/coder/agent.json +0 -1
- package/dist/builtin/coder/system.md +1 -1
- package/dist/chat-CSepnsrK.js +13 -0
- package/dist/cli.js +19 -1
- package/dist/{client-sqXb-y09.js → client-C4QCT6cG.js} +2 -2
- package/dist/cmd-BHZwhrfa.js +118 -0
- package/dist/connection-BkYTuJjV.js +1 -0
- package/dist/context-zhSlmXOp.js +7 -0
- package/dist/dash/standalone/node_modules/contextjsx/dist/index.mjs +1 -0
- package/dist/dash/standalone/node_modules/contextjsx/dist/jsx-runtime.mjs +1 -0
- package/dist/dash/standalone/node_modules/contextjsx/dist/src-BJ0QFeB8.mjs +2 -0
- package/dist/dash/standalone/node_modules/contextjsx/package.json +70 -0
- package/dist/dash/standalone/server/build-index.json +1 -1
- package/dist/dash/standalone/server/manifest.json +1302 -1282
- package/dist/dash/standalone/server/modules-server-server-react-server/src/agent/context/turn.6bb73458768e222e.js +129 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/client/{index.0de14cb4e30bd70d.js → index.de1f1311bab4252f.js} +12 -6
- package/dist/dash/standalone/server/modules-server-server-react-server/src/core/{defaults.1b615366c56838a1.js → defaults.e972c134a1ae918f.js} +3 -5
- package/dist/dash/standalone/server/modules-server-server-react-server/src/core/task/{log-view.60308a11f7001eb7.js → log-view.ec6391dbf3063330.js} +40 -48
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/api/{load.be791a5eaf328738.js → load.30ed8c28774a1a82.js} +4 -4
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/connect/{page.0fbfdba5254f7ae5.js → page.04762872666a6f0a.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/create/[id]/{page.70913bd4075da914.js → page.118a70787eff1761.js} +23 -3
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/account/{loading.e348ec45e9ed951b.js → loading.fcdfd50c21031895.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/account/{notify.61aab176baeefebd.js → notify.98dfcd316c306258.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/account/{page.815371ed0d5dd4fa.js → page.74c59322f5fe8a2c.js} +4 -4
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/account/{sign-out.1d6af804f9ec043d.js → sign-out.730aa96b086ac996.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/(list)/{agent-menu.2ed0e66d131fc148.js → agent-menu.1be5795272b245c8.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/(list)/{agents-grid.f43bcc1148ce3650.js → agents-grid.2c30ace077893029.js} +6 -6
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/(list)/{connect-apps.f3af8cc8540719d7.js → connect-apps.8a20501ccb244421.js} +3 -3
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/(list)/{loading.fac1132ad9c4248e.js → loading.733f0acc2af5ceda.js} +2 -2
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/(list)/{page.5f88059c03cf82b4.js → page.d066b77dd3187026.js} +9 -9
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/{layout.b7392d534ce0410e.js → layout.b26006f060cd48f0.js} +9 -9
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/{page.5aae24bbfd90c434.js → page.4b23e9df21433bd3.js} +10 -10
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/platforms/{loading.4da9e2ba3fea937f.js → loading.e06845585ca67abc.js} +2 -2
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/platforms/{page.91c992fdd3b4a493.js → page.4048048acb374c67.js} +35 -23
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/platforms/{platform-actions.8e7ca54dd1821e98.js → platform-actions.000f2f87a48bfbc6.js} +36 -10
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/settings/{agent-settings-form.eb707a9e32718374.js → agent-settings-form.ee0bb2dc4d403ec3.js} +9 -9
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/settings/{loading.ad1a4c9b000d269a.js → loading.0e3641f3e4abaa7c.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/settings/{page.9ec1ec08ba05da59.js → page.649b4ba135ded99b.js} +7 -7
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/tasks/{loading.dd9088a4581b1d65.js → loading.195e168e8e41d797.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/tasks/{page.71dc042821133e82.js → page.96f7573208644f40.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/usage/{loading.8f998a9c511e1fb3.js → loading.905293c9aa9afbc9.js} +2 -2
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/usage/{page.45e18b6dc3019af4.js → page.5f2b8585db8b27ad.js} +4 -4
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/{versions-list.c8d76988c734dda2.js → versions-list.8700f0106f4e8c15.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/edit/{loading.b1367e864b4fb406.js → loading.f94b2f9ab04aaf21.js} +3 -3
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/edit/{page.e3179ddf20a7e55d.js → page.e898c4b5ef16ecb0.js} +7 -7
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/agent/{agent-pills.f987c12bcbc5c850.js → agent-pills.44e689e546fb042b.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/agent/{agent-toggle.1579dc8acbaacf92.js → agent-toggle.4c67dfbb7d28a416.js} +2 -2
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/agent/{hero.ad5cc342db794e5d.js → hero.9740a8e2f4b41f28.js} +5 -5
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/editor/{connect-repositories.43b4b28f194ea842.js → connect-repositories.ff8b78a03153239b.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/editor/{editor.62cb8207218e6437.js → editor.471af698b8060eba.js} +32 -21
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/editor/{import-picker.eafa5b41a2ed571f.js → import-picker.b7b5c89e618e8f89.js} +5 -5
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/new/{loading.ee001af7a96e3972.js → loading.ecb9dfd4d0f9d107.js} +2 -2
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/new/{page.dffb05f2d256d81a.js → page.880bdac7fe843635.js} +5 -5
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/{layout.393cf7429eea189e.js → layout.81f7e055829854a3.js} +5 -5
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/operator/operator-apps.09bf294d753ee9d7.js +115 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/operator/{page.980adfb7c5714752.js → page.8f8697b1b6b34ad7.js} +36 -9
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/{page.24a1987405ed7b17.js → page.fe608b8e661aba1d.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{connections-list.21ec9dc73ce68656.js → connections-list.97381888bfdd711b.js} +8 -8
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{credentials-list.683476f62a9ecde7.js → credentials-list.a4d8338c7f6a5702.js} +10 -8
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{credentials.b43dd3d97c536c2a.js → credentials.1443bbed1ff1d441.js} +8 -8
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{engines-list.9e116751bd34e2cc.js → engines-list.d47db60d7dc01ebd.js} +2 -2
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{list.083f5c665df04b1b.js → list.a5b273558fb7f0f0.js} +4 -4
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{models-list.537f63f8e5dd085d.js → models-list.31d369f1b7ab45da.js} +66 -32
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{page.dfed4ae6ffc74434.js → page.805d0f8a2c5817d6.js} +15 -15
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{runners-list.3afa989490bbe77c.js → runners-list.1e83449aa6593224.js} +6 -6
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{secrets-list.0d175ee815b22cd7.js → secrets-list.17ac06593005b8ba.js} +4 -4
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/{layout.3e8289f888fa444c.js → layout.8c4a2b31b194ba3e.js} +5 -5
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/{page.06feaa5fbb06f1e6.js → page.a77996786278cda0.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/{settings-head.bbc7ced8dd5491eb.js → settings-head.705be0b1129b97af.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/setup/{create-link.ff95e4b6977d0474.js → create-link.19b4c50ef497aca1.js} +3 -3
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/setup/{outcome-dialog.894c73f9abee3ce1.js → outcome-dialog.18cf32fa42247b91.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/setup/{page.f06fda0df59beeb5.js → page.616f0b36bf7925bc.js} +5 -5
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/{activity.3c79cf14feff12bf.js → activity.a911169a820ba604.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/{loading.56520888d5270b88.js → loading.76f851da5cc5268d.js} +5 -5
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/{page.25b29e72df84806b.js → page.ddb594bb6567ee13.js} +6 -6
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/task-actions.51fbeac76459433a.js +240 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/{task-view.f2e902c8208b2e78.js → task-view.3276538e8306fd8a.js} +28 -28
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/{composer-data.309a194fc7fa34be.js → composer-data.05fc39e1a7fd1ab7.js} +2 -2
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/{composer.b0bb1faaac8e0b6c.js → composer.dbf06b05c5e2eba3.js} +9 -9
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/list/{status.16190fdd5fd7daad.js → status.cb704b48ce86cc7d.js} +6 -3
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/list/{task.a0c68180db5fb4c1.js → task.f089c1c122ed6dd2.js} +17 -4
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/list/{tasks-list.b52a49fb5faeefd0.js → tasks-list.5a00d69851dae119.js} +37 -22
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/list/{tasks-section.80f9c9a42ecae854.js → tasks-section.36e70c93f7d0feee.js} +7 -7
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/{page.20b5c22658eae312.js → page.185b1ba0c803db3f.js} +4 -4
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/usage/{loading.97d277dbab9c15cf.js → loading.a7e0ec01bfa769e3.js} +2 -2
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/usage/{page.fb21ebe90d49dac1.js → page.d41fea7676e37bfc.js} +4 -4
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/usage/{range-bar.2197d8f43216d104.js → range-bar.69e68c9dae09f238.js} +2 -2
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/{layout.185dbc99875e208a.js → layout.296d70b95894209f.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{foreign-link.1f4217895ff1e835.js → foreign-link.8c6adf9c5a6f467c.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{loading-card.cc76fc9708142525.js → loading-card.1cea8a722c10b998.js} +2 -2
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{page-head.85f15db7b648d48c.js → page-head.87b92529dbb53ceb.js} +3 -3
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{stream.e2915852cf82c86b.js → stream.c32d78562f75db25.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{task-toasts.0ed8ccaae81b9d53.js → task-toasts.44075fa7e04575e8.js} +5 -5
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/nav/{back.180765bdadf6d602.js → back.d6109e72fbd04b45.js} +2 -2
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/nav/{org.572ad93c7707ab27.js → org.d3abfd4053b711ce.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{confirm.c1281f9b12854210.js → confirm.29e198be34578222.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{filter.3a452a262f040973.js → filter.81bb9a5c60cd1089.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{modal.25d53e5b41b9c4e5.js → modal.0b69c7fd9db025b9.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{segmented.a08dc08338d080e9.js → segmented.633abe26ff760e37.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{sentinel.17cffebfc3103b9f.js → sentinel.0ddf515b8f09ef9f.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{tabs.66b2e54963f6901b.js → tabs.1600a0b563a5c7dd.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{toolbar.24036899654de6df.js → toolbar.8b3a460a65edf85a.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/utils/{action.b9a5c37272250e82.js → action.67dd6f8ab1ae067d.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/utils/{client.a3928fa2dcd27b75.js → client.78267fa3d7905d17.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/action-a76e495fb39a73d3.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/{agent-pills-bd32cb89331aff7e.js → agent-pills-4d3c6a2aa9eb1522.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/agent-settings-form-f7231a66e391f6b6.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/{agent-toggle-a45b95908d62f926.js → agent-toggle-d7d27123f2070f18.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/{agents-grid-9f79b5074899c8be.js → agents-grid-185ecb3d86c6c447.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/{back-b0cd2b85c9d8403e.js → back-e29cb10f5548ddae.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/{combo-1050768988cd0347.js → combo-702c94817bf6ac17.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/composer-56ebf36d63400423.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/{composer-87f138e21d68370d.js → composer-a686289a79f64bae.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/composer-data-f46a9bc7a14b4f9a.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/{confirm-01d5814b1c5f7721.js → confirm-a78147b6ecef3847.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/connect-apps-696726aedab42c96.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/{connect-repositories-49098298b3a82647.js → connect-repositories-7770ab805160028d.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/connections-list-07559f145f3e3da3.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/{copy-5db9d328f8f65d82.js → copy-bdc60bdafe336316.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/create-link-426b0a5871ee41dd.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/credentials-list-f07d090410104148.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/{custom-range-fdf1946aac09cfc3.js → custom-range-6618f32ef6cd4e80.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/editor-0860e370cbfc6b03.js +6 -0
- package/dist/dash/standalone/static/assets/chunks/engines-list-31b9bb7885924b05.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/{field-c530e261587d94df.js → field-bb8191aa02d07282.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/instructions-06b63e558f879da5.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/{instructions-3ea5afeea1992bf2.js → instructions-2d9fbcbfadac4f40.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/list-2773686bf8df64c7.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/models-list-03611e64b6a07efe.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/{notice-8939183c8a889bae.js → notice-d14fdac28139c0a8.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/outcome-dialog-d3ba8ef89c59f801.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/{outcome-dialog-6323cb5300b6d3c9.js → outcome-dialog-fde11a52c282301d.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/platform-actions-2a71c62b9f7eaef3.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/platform-actions-70600c9943320152.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/runners-list-edf536eb8003eab5.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/{runtime-71b727f8f5906f08-1.js → runtime-6e12333f12903a62-1.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/secrets-list-e86122f73525ff95.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/segmented-0b6dc6b93c35e0f5.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/shared-init-6e12333f12903a62-2.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/shared-init-b281027d465e004f.js +5 -0
- package/dist/dash/standalone/static/assets/chunks/shared-init-c3bd249cf1eca6d1.js +2 -0
- package/dist/dash/standalone/static/assets/chunks/side-toggle-9b3af821cfe4c824.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/{tail-81b69d49bfebfd4c.js → tail-f8804b80cf32f8d0.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/task-a37e7c26e82eb77d.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/task-actions-705395565f2d83b8.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/task-view-cb21169f38b56d15.js +6 -0
- package/dist/dash/standalone/static/assets/chunks/tasks-list-d7dccfd7e0623ae0.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/{versions-list-fbeed95c0b4e5f0f.js → versions-list-f8f2e71df691efda.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/{wular-pnext-71b727f8f5906f08-0.js → wular-pnext-6e12333f12903a62-0.js} +1 -1
- package/dist/dash/standalone/static/assets/create-param-id-c2c756f652f2fc30.css +1 -0
- package/dist/dash/standalone/static/assets/{dash-param-org-account-9471bec93c444232.css → dash-param-org-account-702f8a1b213e4026.css} +1 -1
- package/dist/dash/standalone/static/assets/dash-param-org-agents-aad2f9f93c06e9ab.css +1 -0
- package/dist/dash/standalone/static/assets/dash-param-org-agents-new-f9dcbcec36586f2b.css +1 -0
- package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-8ff47f5d622c1f9b.css +1 -0
- package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-edit-907036d553cfeb36.css +1 -0
- package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-platforms-5cc77badad15f00c.css +1 -0
- package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-settings-705d7c15868b4fd6.css +1 -0
- package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-tasks-04e189c045098772.css +1 -0
- package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-usage-76fcd1ce7b3dae71.css +1 -0
- package/dist/dash/standalone/static/assets/{dash-param-org-bcfa3de29341d5ba.css → dash-param-org-eccb6bb9297a53e6.css} +1 -1
- package/dist/dash/standalone/static/assets/dash-param-org-operator-635a121f7a9a95bd.css +1 -0
- package/dist/dash/standalone/static/assets/{dash-param-org-settings-6d6902345d88a687.css → dash-param-org-settings-a3297dc4d9e0c961.css} +1 -1
- package/dist/dash/standalone/static/assets/dash-param-org-settings-param-tab-bcb06f81d9e8268d.css +1 -0
- package/dist/dash/standalone/static/assets/{dash-param-org-setup-173efecd7b990c2e.css → dash-param-org-setup-df4be8b188b9777f.css} +1 -1
- package/dist/dash/standalone/static/assets/dash-param-org-tasks-16f9866a1b4801cd.css +1 -0
- package/dist/dash/standalone/static/assets/dash-param-org-tasks-param-id-02ae551dcd852b57.css +1 -0
- package/dist/dash/standalone/static/assets/dash-param-org-usage-f2175403069aab99.css +1 -0
- package/dist/dash/standalone/static/assets/{global-87e1762113874559.css → global-e1de614478b64717.css} +1 -1
- package/dist/dash/standalone/static/assets/pnext-client-0dc829ba60df5c26.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-14d191f7f1da6602.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-169eaa63783b71fd.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-1e34cfefafa70fac.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-285d61f00a80f40b.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-35b89c3ba23ee845.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-6c42784e005d4b87.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-6cd93f9bd4cf6ffd.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-7355f473fade532d.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-815c3c297f75efb0.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-87fe73c10a4dc33c.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-98b56a142d441260.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-b4bafe68a40f720b.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-bf61ff39bdc0db48.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-c9fa86c244813f74.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-d2e7a75e16221224.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-d34e774405ea8da8.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-d511822afdb41d1d.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-e113aa2f25ecfe01.js +1 -0
- package/dist/dash/standalone/static/assets/{pnext-client-e4c659a371f4cd79.js → pnext-client-eb62f461d0c32266.js} +1 -1
- package/dist/discover-CHfF4cEz.js +1 -0
- package/dist/docs-KHc0_gFX.js +2 -0
- package/dist/drive-Bwl7Bjme.js +1 -0
- package/dist/emit-BrkJJPUE.js +11 -0
- package/dist/env-6Y-NNnYD.js +1 -0
- package/dist/errors-DO_IltpP.js +16 -0
- package/dist/exec-BmTa0vcO.js +4 -0
- package/dist/executor-ufWRqhdS.js +11 -0
- package/dist/flow/builtin/review/index.d.ts +2 -0
- package/dist/flow/builtin/review/index.js +16 -0
- package/dist/flow/index.d.ts +1 -1
- package/dist/flow/index.js +1 -1
- package/dist/hook-CIipj9MJ.js +1 -0
- package/dist/http-Cg8PSe-c.js +1 -0
- package/dist/{types-C6NAqGqn.d.ts → index-ChcxzFdB.d.ts} +734 -285
- package/dist/integrations-I7fRDk_l.js +4 -0
- package/dist/lib/broker.js +2 -2
- package/dist/load-BDlEFetB.js +2 -0
- package/dist/local-COlczLwI.js +5 -0
- package/dist/log-view-CfX9lakH.js +4 -0
- package/dist/maintenance-CKCIWOvn.js +1 -0
- package/dist/{match-BwcxeAZF.js → match-CufHAZQH.js} +1 -1
- package/dist/mcp-BkwmRHI9.js +2 -0
- package/dist/mcp-CGU7aoJ-.js +1 -0
- package/dist/mcp-DAHbhfUh.js +13 -0
- package/dist/models-CzggS7p2.js +1 -0
- package/dist/output-SNqdgh9A.js +17 -0
- package/dist/permission-MWFjKxqX.js +1 -0
- package/dist/prompt-CIx4jwQF.js +8 -0
- package/dist/refresh-CxsaX5R9.js +1 -0
- package/dist/remote-C9Hj2cby.js +2 -0
- package/dist/remote-HUZCWgfl.js +3 -0
- package/dist/runner-DYysY1-G.js +1 -0
- package/dist/runner.json +1 -1
- package/dist/runner.tgz +0 -0
- package/dist/runners-CfaGE0nV.js +36 -0
- package/dist/schema.d.ts +1 -1
- package/dist/schema.js +8 -1
- package/dist/sdk.d.ts +12733 -4
- package/dist/sdk.js +1 -1
- package/dist/serve-DdAdw7Su.js +4 -0
- package/dist/serve-NQykWAKV.js +1 -0
- package/dist/serve-vKNqVaVy.js +12 -0
- package/dist/slack-BtKvW_4v.js +5 -0
- package/dist/task-CFxs0E_J.js +1 -0
- package/dist/task-iuYQ0zAK.js +7 -0
- package/dist/tools-B6ZxcqRi.js +2 -0
- package/dist/tools-FVop8XYG.js +1 -0
- package/dist/tools-search-kjKKolwp.js +1 -0
- package/dist/turn-DQ13lkPF.js +2 -0
- package/dist/types-DPtbvoo3.js +1 -0
- package/dist/types-DmThhjcW.js +1 -0
- package/dist/views-CMHXBMJp.js +3 -0
- package/dist/{wire-nJ7sEi-M.js → wire-C9CupY_A.js} +1 -1
- package/dist/worker-BQpx1dPr.js +9 -0
- package/dist/worker-sTJL2eoe.js +1 -0
- package/docs/access.md +33 -0
- package/docs/agents/coder.md +0 -11
- package/docs/agents/index.md +18 -20
- package/docs/cli/agent.md +137 -0
- package/docs/cli/auth.md +48 -0
- package/docs/cli/connection.md +89 -0
- package/docs/cli/credentials.md +58 -0
- package/docs/cli/flow.md +158 -0
- package/docs/cli/index.md +139 -0
- package/docs/cli/model.md +118 -0
- package/docs/cli/runner.md +92 -0
- package/docs/cli/server.md +89 -0
- package/docs/cli/task.md +273 -0
- package/docs/config.md +5 -15
- package/docs/flows.md +1 -7
- package/docs/mcp.md +8 -8
- package/docs/models.md +7 -6
- package/docs/review.md +4 -0
- package/docs/sdk.md +29 -29
- package/docs/self-host.md +25 -25
- package/package.json +3 -1
- package/plugins/agents/skills/coder/SKILL.md +16 -1
- package/plugins/claude/.claude-plugin/plugin.json +1 -1
- package/plugins/claude/.mcp.json +5 -0
- package/plugins/claude/skills/dispatch/SKILL.md +16 -1
- package/plugins/cursor/.cursor-plugin/plugin.json +1 -1
- package/plugins/cursor/skills/coder/SKILL.md +16 -1
- package/dist/actions-Cwe3IDVs.js +0 -2
- package/dist/adapter-Bi768A94.js +0 -1
- package/dist/add-B6vPKZEr.js +0 -1
- package/dist/add-n6c9OINP.js +0 -2
- package/dist/add-v1Pv00HX.js +0 -1
- package/dist/add-wC8ByRgM.js +0 -6
- package/dist/agent-BkxXgha0.js +0 -1
- package/dist/alias-A8ObWElH.js +0 -2
- package/dist/app-CaxTL1H3.js +0 -1
- package/dist/approvals-h5lytkey.js +0 -2
- package/dist/approve-BNhg0MLi.js +0 -2
- package/dist/approve-BiHM8kSo.js +0 -1
- package/dist/apps-BNe86LfS.js +0 -367
- package/dist/archive-CMHRsVYf.js +0 -4
- package/dist/archive-H2B7Me8E.js +0 -3
- package/dist/args-CURX44CA.js +0 -1
- package/dist/ask-D8TIVhPl.js +0 -4
- package/dist/auth-BSMPjhnz.js +0 -1
- package/dist/auth-D3quZAKT.js +0 -1
- package/dist/chat-3AvUDOwf.js +0 -13
- package/dist/chat-bridge-BmqYsASZ.js +0 -2
- package/dist/cli-BBlH53hA.js +0 -9
- package/dist/config-K6Rrjsee.js +0 -3
- package/dist/connection-B-IB8tlP.js +0 -1
- package/dist/connection-BXBDeoax.js +0 -1
- package/dist/create-CP_JmJnh.js +0 -1
- package/dist/credentials-BRFajC0d.js +0 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/core/event-prompt.87f064ca0141e796.js +0 -30
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/operator/operator-apps.a244f3199e7cf09c.js +0 -144
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/task-actions.587da79d68ab8d14.js +0 -151
- package/dist/dash/standalone/static/assets/chunks/action-fc8716cda7527d8c.js +0 -1
- package/dist/dash/standalone/static/assets/chunks/agent-settings-form-f5576a2c50fce094.js +0 -1
- package/dist/dash/standalone/static/assets/chunks/composer-8f0e8b1d07e74aad.js +0 -1
- package/dist/dash/standalone/static/assets/chunks/composer-data-5fed6c271a4791ca.js +0 -1
- package/dist/dash/standalone/static/assets/chunks/connect-apps-857dc9fa3f6f5bbc.js +0 -1
- package/dist/dash/standalone/static/assets/chunks/connections-list-46d48443d8fc8a0d.js +0 -1
- package/dist/dash/standalone/static/assets/chunks/create-link-6b6e9eeac436c4af.js +0 -1
- package/dist/dash/standalone/static/assets/chunks/credentials-list-3cccc85ef335cb22.js +0 -1
- package/dist/dash/standalone/static/assets/chunks/defaults-52f30e83d7666f7a.js +0 -1
- package/dist/dash/standalone/static/assets/chunks/editor-d2460c315bb1fd32.js +0 -6
- package/dist/dash/standalone/static/assets/chunks/engines-list-0159c8baa0b3e711.js +0 -1
- package/dist/dash/standalone/static/assets/chunks/instructions-d8884576a18e6cdb.js +0 -1
- package/dist/dash/standalone/static/assets/chunks/list-b67ce61483dd6acb.js +0 -1
- package/dist/dash/standalone/static/assets/chunks/models-list-98c956ba00913a73.js +0 -1
- package/dist/dash/standalone/static/assets/chunks/outcome-dialog-be3fbe8c4b43d180.js +0 -1
- package/dist/dash/standalone/static/assets/chunks/platform-actions-aafbf038008de64f.js +0 -1
- package/dist/dash/standalone/static/assets/chunks/platform-actions-ed27388f722b4a4c.js +0 -1
- package/dist/dash/standalone/static/assets/chunks/runners-list-a13d0f8f6583c6d2.js +0 -1
- package/dist/dash/standalone/static/assets/chunks/secrets-list-53a0c079492199c9.js +0 -1
- package/dist/dash/standalone/static/assets/chunks/segmented-a3642b8169857fb1.js +0 -1
- package/dist/dash/standalone/static/assets/chunks/shared-init-6cad28f8cc696d91.js +0 -2
- package/dist/dash/standalone/static/assets/chunks/shared-init-71b727f8f5906f08-2.js +0 -1
- package/dist/dash/standalone/static/assets/chunks/shared-init-94883db7bc70a5a8.js +0 -5
- package/dist/dash/standalone/static/assets/chunks/side-toggle-a2f67a8671a0309b.js +0 -1
- package/dist/dash/standalone/static/assets/chunks/task-95daa40d39de664f.js +0 -1
- package/dist/dash/standalone/static/assets/chunks/task-actions-25c70b47b5a53cd2.js +0 -1
- package/dist/dash/standalone/static/assets/chunks/task-view-e5ee0ada38552918.js +0 -5
- package/dist/dash/standalone/static/assets/chunks/tasks-list-d58f3063ae31d9d2.js +0 -1
- package/dist/dash/standalone/static/assets/create-param-id-da3f7e20689fe51a.css +0 -1
- package/dist/dash/standalone/static/assets/dash-param-org-agents-64500e78caae32df.css +0 -1
- package/dist/dash/standalone/static/assets/dash-param-org-agents-new-c067c22928a2d7cc.css +0 -1
- package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-9dec87710e04f949.css +0 -1
- package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-edit-779c474301e04440.css +0 -1
- package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-platforms-c7d594b5232630c2.css +0 -1
- package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-settings-a80e62570716fdb9.css +0 -1
- package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-tasks-ce278252012297b9.css +0 -1
- package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-usage-d3b6d701eb8e1403.css +0 -1
- package/dist/dash/standalone/static/assets/dash-param-org-operator-b7bc6447cc27c9ce.css +0 -1
- package/dist/dash/standalone/static/assets/dash-param-org-settings-param-tab-85c7af9a89eef06e.css +0 -1
- package/dist/dash/standalone/static/assets/dash-param-org-tasks-ae0bc03f468e63cc.css +0 -1
- package/dist/dash/standalone/static/assets/dash-param-org-tasks-param-id-7325d8cff5be3592.css +0 -1
- package/dist/dash/standalone/static/assets/dash-param-org-usage-517b2a7ae462ac57.css +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-037852a9f274c8c8.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-10eac8df53f62104.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-12635905e9754177.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-12955733c71cc641.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-26999113ea61d5b9.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-27b6e4b7d1697094.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-34fec171024dd082.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-44eb6d4096f7e875.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-4c558a168b95d9b1.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-5d21f3dd3f4407af.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-5fe04a4e1dff28a3.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-88bbc009041aa776.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-b36106c6b8a6cd35.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-b47dda1cd4cfac04.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-b556f5611fdcf545.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-b8485144ca29d436.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-c5c3c90b3518c5a8.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-f139547dc55d7d76.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-fd280710b31af681.js +0 -1
- package/dist/default-Ojx5oFuw.js +0 -1
- package/dist/delete-D1hEPpsk.js +0 -2
- package/dist/delete-UyzcQPoG.js +0 -4
- package/dist/disable-Dml_Slph.js +0 -1
- package/dist/discover-CyIfIBGD.js +0 -3
- package/dist/dispatch-CFZ9Crvg.js +0 -8
- package/dist/docs-BUHKbQjM.js +0 -2
- package/dist/docs-CvjWiada.js +0 -2
- package/dist/drive-BqunNi9n.js +0 -1
- package/dist/enable-xye-Nanc.js +0 -1
- package/dist/env-BgE9ipvN.js +0 -1
- package/dist/exec-Cprez703.js +0 -3
- package/dist/executor-3QMa-XRY.js +0 -11
- package/dist/flow/builtin/review.d.ts +0 -2
- package/dist/flow/builtin/review.js +0 -12
- package/dist/flow-CtillCQY.js +0 -1
- package/dist/history-C53URBjs.js +0 -8
- package/dist/http-CDZKt5ln.js +0 -1
- package/dist/hub-B0WCXtsP.js +0 -2
- package/dist/init-HdSVUozH.js +0 -1
- package/dist/integrations-BdLs4W6o.js +0 -1
- package/dist/integrations-IGnXBrPw.js +0 -2
- package/dist/list-1IMeVNg3.js +0 -1
- package/dist/list-BTjIMvNs.js +0 -1
- package/dist/list-BlOB32n6.js +0 -4
- package/dist/list-CZGTVKcS.js +0 -4
- package/dist/list-CquHtsmW.js +0 -3
- package/dist/list-CxjPT0Il.js +0 -1
- package/dist/list-DvFVuGT_.js +0 -1
- package/dist/list-gFnOS9Hk.js +0 -2
- package/dist/load-Q9fL4VC6.js +0 -2
- package/dist/local-Bzdmzc1o.js +0 -5
- package/dist/log-view-CL3_S0IQ.js +0 -3
- package/dist/login-C723kHh6.js +0 -1
- package/dist/login-Dq3r6gh6.js +0 -1
- package/dist/logout-DEg0aTmq.js +0 -1
- package/dist/maintenance-DYOstY6V.js +0 -1
- package/dist/mcp-CKqinFkk.js +0 -1
- package/dist/mcp-Dsl3Xdd3.js +0 -13
- package/dist/mcp-server-BlP9lACI.js +0 -1
- package/dist/model-Bs27g5EX.js +0 -1
- package/dist/models-Cb0ZTKZ7.js +0 -1
- package/dist/output-BKeyLbvt.js +0 -5
- package/dist/prompt-PEgcMJO7.js +0 -8
- package/dist/prompts-Bj4Fbd_n.js +0 -78
- package/dist/push-DpEW4XbQ.js +0 -1
- package/dist/reconnect-BmP_XXDv.js +0 -1
- package/dist/refresh-SHNJq9Cx.js +0 -1
- package/dist/remote-D3JZ4MMQ.js +0 -3
- package/dist/remove-BZZgJq8Z.js +0 -1
- package/dist/remove-CId1EwPg.js +0 -1
- package/dist/remove-Ci87WQq0.js +0 -1
- package/dist/remove-DxCv9BB4.js +0 -1
- package/dist/rename-DJaf5SwH.js +0 -1
- package/dist/result-BesDQ-b1.js +0 -5
- package/dist/result-D0dpv2O_.js +0 -18
- package/dist/resume-2Y0uC5MM.js +0 -3
- package/dist/review-DIm9oK_W.js +0 -7
- package/dist/review-Dxs-idTn.d.ts +0 -566
- package/dist/rotate-key-CS1G6ReH.js +0 -1
- package/dist/run-BKUd6B8S.js +0 -2
- package/dist/run-DjTTb8oA.js +0 -5
- package/dist/run-UPW-7pKo.js +0 -2
- package/dist/runner-BLS_ReEw.js +0 -1
- package/dist/runner-BM_98EQl.js +0 -1
- package/dist/runners-DyLnqHKy.js +0 -36
- package/dist/schema-CjHmulYJ.js +0 -8
- package/dist/sdk-B4Cl0Hbw.d.ts +0 -12551
- package/dist/serve-BApfeXk8.js +0 -12
- package/dist/serve-DE1cKoGa.js +0 -1
- package/dist/serve-lF97RlpX.js +0 -2
- package/dist/serve-mXTjboT1.js +0 -1
- package/dist/server-CUsxAflx.js +0 -1
- package/dist/setup-host-tlsilI6C.js +0 -6
- package/dist/show-Dn7zTz-9.js +0 -1
- package/dist/show-uyUpeqa9.js +0 -1
- package/dist/slack-DhPhLuWb.js +0 -5
- package/dist/status-D_1VGn9F.js +0 -1
- package/dist/steer-CMp-a7v2.js +0 -4
- package/dist/stop-C7YjN2sB.js +0 -1
- package/dist/stop-D8G7AtdY.js +0 -3
- package/dist/task-DJ6nruuA.js +0 -1
- package/dist/task-DeFLNmQH.js +0 -1
- package/dist/task-bkoi8_NN.js +0 -7
- package/dist/test-BD9rvefN.js +0 -1
- package/dist/tools-CdWkwI1g.js +0 -1
- package/dist/types-D_xnfP7m.js +0 -1
- package/dist/unalias-bL5t8Isc.js +0 -1
- package/dist/update-DIYW08ME.js +0 -2
- package/dist/upgrade-3fH6dGJw.js +0 -2
- package/dist/usage-Dr8F0xt0.js +0 -1
- package/dist/views-CE2d9x6T.js +0 -5
- package/dist/watch-BiyN4NxE.js +0 -5
- package/dist/watch-DJXu13jK.js +0 -9
- package/dist/worker-CHD_OiQS.js +0 -1
- package/dist/worker-KfrTK_Dk.js +0 -2
- package/dist/workflow-C21qQ4rT.js +0 -1
- package/docs/agents/prompt.md +0 -231
- package/docs/cli.md +0 -155
- /package/dist/dash/standalone/server/modules-server-server-react-server/src/core/{errors.0a735590a5412ea6.js → errors.1bd0542d832ae0c0.js} +0 -0
- /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/platforms/{page.c811938ae8a8f1df.css.pnext-asset.js → page.107e622830bff31d.css.pnext-asset.js} +0 -0
- /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/agent/{hero.1bef5dca89b5942c.css.pnext-asset.js → hero.243d85cac1f22df2.css.pnext-asset.js} +0 -0
- /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/editor/{editor.c496247a81ed832c.css.pnext-asset.js → editor.1eb1bce282b289c9.css.pnext-asset.js} +0 -0
- /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/{model-options.a96c11d11674f598.js → model-options.73f8d0d54f79d8e3.js} +0 -0
- /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/{task-view.57990cfd2bdf5c11.css.pnext-asset.js → task-view.42337a0d7c6ad0b6.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.abbbc9ace4d866e5.css.pnext-asset.js → tasks-list.2f90c4410f843fff.css.pnext-asset.js} +0 -0
- /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/{globals.c8fd2b8b01e7077b.css.pnext-asset.js → globals.f8ac779f0ebf888b.css.pnext-asset.js} +0 -0
- /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{page-head.364ec93a8e7857b3.css.pnext-asset.js → page-head.9fcc49ddf7119d75.css.pnext-asset.js} +0 -0
- /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{modal.9db07d368dcf5981.css.pnext-asset.js → modal.a533234c7c831be4.css.pnext-asset.js} +0 -0
- /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{segmented.0bd8652fdbc05eb0.css.pnext-asset.js → segmented.c6f30b839fd27f35.css.pnext-asset.js} +0 -0
- /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{sentinel.1e3ec9bd6008d811.css.pnext-asset.js → sentinel.d17e2bfcbeb9df31.css.pnext-asset.js} +0 -0
- /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{tabs.ca13e40ff54128d0.css.pnext-asset.js → tabs.025b532d6cc51736.css.pnext-asset.js} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.app{--side: 232px;display:grid;grid-template-columns:var(--side) minmax(0,1fr);grid-template-rows:56px 1fr;min-height:100vh}.top{grid-column:1 / -1;position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 16px 0 20px;background:var(--bg);border-bottom:1px solid var(--line2)}.top-l,.top-r{display:flex;align-items:center;gap:10px;min-width:0}.lockup{display:grid}.lockup small{font-weight:400;font-size:8px;line-height:8px;letter-spacing:.3em;text-transform:uppercase;color:var(--muted)}.side{position:sticky;top:56px;z-index:12;height:calc(100vh - 56px);display:flex;flex-direction:column;justify-content:space-between;padding:16px 12px;border-right:1px solid var(--line)}.side nav{display:grid;gap:2px}.side nav a{display:flex;align-items:center;gap:12px;height:36px;padding:0 12px;color:var(--muted);border-left:2px solid transparent}.side nav a:hover{color:var(--fg);background:var(--wash)}.side nav a[aria-current]{color:var(--fg);background:var(--wash2);border-left-color:var(--deep)}.side nav .n{margin-left:auto;background:var(--accbg);color:var(--acc)}.dot{width:7px;height:7px;flex:none;border-radius:50%;background:var(--warn)}.dot.ok{background:var(--ok);box-shadow:0 0 0 3px var(--okbg)}.server>button{width:100%;display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);font-size:12px;text-align:left;cursor:pointer}.server>button:hover{background:var(--wash)}.server>button .grow{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.server .ic{color:var(--dim);width:14px}.server .pop{width:max-content;max-width:calc(100vw - 32px)}.server .kv dd{white-space:nowrap}.org,.avatar{display:inline-grid;place-items:center;flex:none;width:26px;height:26px;background:var(--wash2);font-weight:700;font-size:12px}.avatar{width:32px;height:32px}.avatar-btn{display:grid;place-items:center;width:32px;height:32px;background:var(--fg);color:var(--bg);font-weight:700;cursor:pointer}.kv{display:grid;grid-template-columns:max-content 1fr;gap:8px 20px;margin:0}.kv dt{color:var(--muted)}.kv dd{margin:0;overflow-wrap:anywhere}.pop .kv{padding:6px 10px 10px;font-size:12px}.theme .ic.sun,.theme .ic.moon,.theme .ic.sys{display:none}:root[data-theme=light] .theme .ic.sun,:root[data-theme=dark] .theme .ic.moon,:root:not([data-theme]) .theme .ic.sys{display:block}.app>.auth{position:fixed;inset:0;z-index:60;overflow:auto;background:var(--bg)}@media(max-width:760px){.app{grid-template-columns:minmax(0,1fr)}.top{padding:0 10px}.side{position:fixed;top:56px;left:0;bottom:0;height:auto;width:min(280px,84vw);z-index:30;background:var(--bg);border-right:1px solid var(--line2);transform:translate(-100%);transition:transform .2s}}.side-foot{display:grid;gap:8px}button.side-toggle{justify-self:end;color:var(--dim)}.side-min .side-toggle{justify-self:center}.app.side-min{--side: 60px}.side-min .top .lockup{display:none}.side-min .side{padding-inline:10px}.side-min .side nav a{justify-content:center;gap:0;padding:0;font-size:0}.side-min .side nav .n{display:none}.side-min .side [data-tip],.side-toggle{position:relative}.side-min .side [data-tip]:after,.side-toggle:after{content:attr(data-tip) / "";position:absolute;top:50%;left:calc(100% + 12px);z-index:30;padding:6px 10px;border:1px solid var(--line2);background:var(--tile);box-shadow:0 12px 32px #0000002e;color:var(--fg);font-size:12px;letter-spacing:normal;white-space:nowrap;transform:translateY(-50%);pointer-events:none;opacity:0;transition:opacity .1s}.side-min .side [data-tip]:before,.side-toggle:before{content:"";position:absolute;top:50%;left:calc(100% + 8px);z-index:31;width:8px;height:8px;border-bottom:1px solid var(--line2);border-left:1px solid var(--line2);background:var(--tile);transform:translateY(-50%) rotate(45deg);pointer-events:none;opacity:0;transition:opacity .1s}.side-min .side [data-tip]:is(:hover,:focus-visible):before,.side-min .side [data-tip]:is(:hover,:focus-visible):after,.side-toggle:is(:hover,:focus-visible):before,.side-toggle:is(:hover,:focus-visible):after{opacity:1}.side-toggle:is(:hover,:focus-visible):before,.side-toggle:is(:hover,:focus-visible):after{transition-delay:.7s}.side-min .menu:has(:popover-open)>[data-tip]:before,.side-min .menu:has(:popover-open)>[data-tip]:after{opacity:0}.side-min .server>button{justify-content:center;padding:10px 0}.side-min .server>button :is(.grow,.ic){display:none}@media(max-width:760px){button.side-toggle{display:none}.app.side-min{grid-template-columns:minmax(0,1fr)}}.auth{display:grid;min-height:100vh}.auth-side{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;padding:40px 24px 72px}.auth-frame{width:100%;max-width:440px}.auth-frame .bar{min-height:32px;font-size:10px}.auth-frame .brand{font-size:12px}.tag{margin-left:auto;padding:1px 8px;background:var(--deep);color:#fff}.auth-body{display:grid;gap:14px;padding:28px 24px 26px}.auth-body h1{font-size:22px}.auth-body .lead{margin:0 0 6px}.auth-body form{display:grid;gap:14px}.auth-links{position:absolute;bottom:24px;left:0;right:0;display:flex;justify-content:center;gap:24px;font-size:9px;color:var(--muted)}.auth-links a:hover{color:var(--fg)}.ic{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.brand .coder-mark{flex:none;position:relative;top:-1px;width:16px;height:16px;fill:currentColor}th .ic{width:12px;height:12px}.pop,.more-list{position:fixed;inset:auto;margin:0;padding:6px;white-space:normal;max-height:calc(100vh - 24px);overflow-y:auto;border:1px solid var(--line2);background:var(--tile);color:inherit;box-shadow:0 12px 32px #0000002e}:where(.menu,.more)>button{padding:0;border:0;background:none;color:inherit;cursor:pointer}.menu>.pop,.more>.more-list{inset:0;margin:auto}@supports (anchor-scope: --menu){.menu,.more{anchor-scope:--menu}:where(.menu,.more)>button{anchor-name:--menu}.menu>.pop,.more>.more-list{position-anchor:--menu;inset:anchor(bottom) auto auto anchor(left);margin:8px 0 0}.more>.more-list{position-try-fallbacks:flip-block}.menu.right>.pop,.more>.more-list{inset:anchor(bottom) anchor(right) auto auto}.menu.up>.pop{inset:auto anchor(right) anchor(top) anchor(left);margin:0 0 8px}.menu>.pop.flip{inset:auto auto anchor(top) anchor(left);margin:0 0 8px}.menu.right>.pop.flip{inset:auto anchor(right) anchor(top) auto}.menu.up>.pop.flip{inset:anchor(bottom) anchor(right) auto anchor(left);margin:8px 0 0}}.pop{z-index:40;min-width:180px}.pop:has(.pop-label,.pop-item.rich,.pop-row){min-width:260px}.menu.up>.pop{min-width:0}.pop.wide{width:min(320px,calc(100vw - 32px))}.pop hr{border:0;border-top:1px solid var(--line);margin:6px 0}.pop-label{padding:8px 10px 4px;font-size:10px;color:var(--dim);border-top:1px solid var(--line)}.pop-head+.pop-label,.pop .pop-label:first-child{border-top:0}.pop-item{display:flex;align-items:center;gap:12px;width:100%;padding:8px 10px;border:0;background:none;text-align:left;cursor:pointer}.pop-item:hover{background:var(--wash)}.pop-item.danger:hover{background:var(--badbg);color:var(--bad)}.pop-item:disabled,.pop-item[aria-disabled=true]{cursor:default}.pop-item:disabled:hover,.pop-item[aria-disabled=true]:hover{background:none}.pop-item small{display:block;color:var(--muted);font-size:11.5px}.pop-item.rich{align-items:flex-start}.pop-item.rich .ic{margin-top:2px}.pop-item[role=menuitemradio]>.ic:last-child{visibility:hidden}.pop-item[role=menuitemradio][aria-checked=true]>.ic:last-child{visibility:visible;color:var(--acc)}.pop form{margin:0}.pop-head{display:flex;align-items:center;gap:12px;padding:8px 10px 12px;min-width:0}.pop-head b,.pop-head small{display:block;overflow:hidden;text-overflow:ellipsis}.pop-head small{color:var(--muted);font-size:11.5px}.pop-row{display:flex;align-items:center}.pop-row>.pop-item{flex:1 1 auto}.pop-row>.pop-item small{margin-right:6px;color:var(--muted);font-size:11px}.pop-note{padding:0 10px 8px;font-size:11.5px;color:var(--muted)}.more{flex:none}.more>button{padding:0 7px;border:1px solid var(--line2);color:var(--fg);font-size:11.5px;white-space:nowrap}.more:hover>button,.more:has(:popover-open)>button{border-color:var(--acc);color:var(--acc)}.more.info>button{display:inline-flex;padding:0;border:0;color:var(--muted);vertical-align:middle}.more.info .ic{width:14px;height:14px}.more.info>.more-list{max-width:280px;padding:10px 12px;gap:6px;color:var(--fg);font-size:13px;letter-spacing:normal;text-align:left}.more-list{--max: 220px;z-index:45;min-width:220px}.more-list:before{content:"";position:absolute;left:0;right:0;top:-8px;height:8px}.more-list:popover-open{display:grid;gap:4px}.more-list>:not(.pf-row,p){padding:4px 6px}@media(max-width:760px){.pop.wide{min-width:min(320px,calc(100vw - 32px))}}.scrim{display:none}@media(max-width:760px){.drawer .side{transform:none}.scrim{display:block;position:fixed;inset:56px 0 0;z-index:25;background:#0b0c1073;opacity:0;pointer-events:none;transition:opacity .2s}.drawer .scrim{opacity:1;pointer-events:auto}}@media(min-width:761px){button.only-m{display:none}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:34px;padding:0 14px;border:1px solid var(--deep);background:var(--deep);color:#fff;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.2em;white-space:nowrap;cursor:pointer}.btn:hover{filter:brightness(1.12)}.btn.outline{background:transparent;color:var(--fg);border-color:var(--line2)}.btn.outline:hover,.btn.ghost:hover{background:var(--wash);filter:none}.btn.ghost{background:transparent;border-color:transparent;color:var(--fg)}.btn.secondary{background:var(--wash2);border-color:transparent;color:var(--fg)}.btn.secondary:hover{background:var(--line2);filter:none}.btn.danger{background:light-dark(#c92a2a,#d42f2f);border-color:light-dark(#c92a2a,#d42f2f);color:#fff}.btn.secondary.danger{background:var(--badbg);border-color:transparent;color:var(--bad)}.btn.secondary.danger:is(:hover,:focus-visible){background:light-dark(rgba(224,49,49,.18),rgba(224,49,49,.3))}.btn.outline.danger{background:transparent;border-color:var(--line2);color:var(--bad)}.btn.ghost.danger{background:transparent;border-color:transparent;color:var(--fg)}.btn:is(.outline,.ghost).danger:is(:hover,:focus-visible){background:var(--badbg);color:var(--bad)}.btn.sm{height:28px;padding:0 10px;font-size:10px}.btn.wide{width:100%}.btn:disabled{opacity:.45;cursor:not-allowed;filter:none}.btn-spin{flex:none;width:12px;height:12px;margin:2px;border:1.5px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .8s linear infinite}.btn[aria-busy=true]:not(:has(>.btn-spin)){position:relative;-webkit-text-fill-color:transparent}.btn[aria-busy=true]:not(:has(>.btn-spin)):after{content:"";position:absolute;inset:0;width:12px;height:12px;margin:auto;border:1.5px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .8s linear infinite}.icon-btn{display:inline-grid;place-items:center;width:34px;height:34px;border:0;background:none;color:var(--muted);cursor:pointer}.icon-btn:hover{color:var(--fg);background:var(--wash)}td .btn,td .icon-btn{height:28px;margin-block:-3px -5px;vertical-align:top}td .icon-btn{width:28px}.bar-r .icon-btn{width:28px;height:28px}.toasts{position:fixed;z-index:50;display:flex;flex-direction:column;justify-content:flex-end;gap:8px;width:min(340px,calc(100vw - 32px));height:auto;inset:16px 16px 16px auto;margin:0;padding:0;border:0;background:none;color:inherit;overflow:visible;pointer-events:none}.toast{position:relative;display:grid;grid-template-columns:minmax(0,1fr);gap:6px;padding:14px 16px;border:1px solid var(--line2);background:var(--tile);box-shadow:0 12px 32px #0000002e;pointer-events:auto;cursor:pointer;animation:toast-in .15s ease-out}.toast:hover{background:linear-gradient(var(--wash),var(--wash)),var(--tile)}.toast:has(.cover:focus-visible){outline:2px solid var(--acc);outline-offset:2px}.toast-head{display:flex;align-items:center;gap:10px;margin:0}.toast-head .cover{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--fg);text-decoration:none;outline:none}.toast-line{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}.toast:is(.success,.warning,.error){border-top:3px solid var(--tone)}.toast.success{--tone: var(--ok)}.toast.warning{--tone: var(--warn)}.toast.error{--tone: var(--bad)}.toast.error .toast-line{white-space:normal}@keyframes toast-in{0%{opacity:0}}@media(prefers-reduced-motion:reduce){.toast{animation:none}}.st{display:inline-flex;align-items:baseline;gap:7px;padding:2px 8px;font-size:10px;letter-spacing:.14em;white-space:nowrap;color:var(--muted);background:var(--wash)}.st i{align-self:center;width:7px;height:7px;border-radius:50%;background:currentColor}.st.running{color:var(--acc);background:var(--accbg)}.st.running i{width:9px;height:9px;background:none;border:1.5px solid currentColor;border-top-color:transparent;animation:spin 1s linear infinite}.st.waiting{color:var(--warn);background:var(--warnbg)}.st.completed{color:var(--ok);background:var(--okbg)}.st.failed{color:var(--bad);background:var(--badbg)}.st.queued i,.st.cancelled i{background:none;border:1.5px solid currentColor}.stats .st{justify-self:start}.page.narrow{max-width:760px}.meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.page .head,.page .hero{position:sticky;top:56px;z-index:10;margin:-10px -40px 0;padding:10px 40px 6px;background:var(--bg);overflow-anchor:none}.page{--stuck: calc(56px + var(--head, 0px) + var(--tabs, 0px))}.page:has(.tabs:not(.vertical)){--tabs: 40px}.page *{scroll-margin-top:calc(var(--stuck) + 16px)}.back{display:inline-flex;align-items:center;gap:4px;margin-bottom:6px;font-size:12px;color:var(--muted)}.stuck>div:first-child:has(>.back,>*>.back){display:flex;align-items:center;gap:8px}.stuck .back{flex:none;margin:0}.stuck .back>span{display:none}.back:hover{color:var(--fg)}.back .ic{width:14px;height:14px}.title-row{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;min-width:0}.title-row h1{min-width:0}.head .title-row{flex-wrap:nowrap}.head .title-row h1{flex:0 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.head .title-row .meta{flex:none}@media(max-width:760px){.page .head,.page .hero{margin-inline:-16px;padding-inline:16px}.head .title-row{flex-wrap:wrap}}.head .meta:empty{min-height:20px}.sentinel{display:block;height:0;margin-bottom:-20px}.stuck{border-bottom:1px solid var(--line2);align-items:center;flex-wrap:nowrap}.stuck h1{font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stuck .lead{display:none}.stuck .title-row{flex-wrap:nowrap}.stuck .meta{flex-wrap:nowrap;overflow:hidden}.stuck>div:first-child,.stuck>.grow{flex:1 1 auto;min-width:0}.stuck .actions{flex:none;flex-wrap:nowrap;width:auto;justify-content:flex-end}.stuck .hero-mark{width:28px;height:28px;font-size:13px}.stuck.hero{align-items:center;gap:12px}.hero.stuck .title-row .badge{display:none}@media(max-width:760px){.stuck .actions>:not(.flash,dialog)~:not(.flash,dialog){display:none}}.bar-r{display:flex;align-items:center;margin-block:-2px;gap:8px;flex-wrap:wrap;justify-content:flex-end}.card.accent{border-color:var(--warn);background:linear-gradient(var(--warnbg),var(--warnbg)),var(--panel)}.card.danger{border-color:var(--bad)}.fold>summary{list-style:none;cursor:pointer}.fold>summary::-webkit-details-marker{display:none}.fold:not([open])>summary{border-bottom:0}.fold>summary h2{flex:0 0 auto}.fold-note{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:12px}.fold>summary:hover{background:var(--wash)}.fold>summary:focus-visible{outline:2px solid var(--acc);outline-offset:-2px}.fold>summary .btn{pointer-events:none}.fold[open]>summary .fold-open,.fold:not([open])>summary .fold-close{display:none}.empty{display:grid;justify-items:center;gap:6px;padding:32px 16px;border:1px dashed var(--line2);text-align:center;color:var(--muted)}.empty b{color:var(--fg);font-weight:500}.card .empty{border:0}.loading{display:flex;align-items:center;justify-content:center;gap:10px;flex:1 0 auto;min-height:var(--h, 240px);color:var(--dim);font-size:12px}.loading.inline{display:inline-flex;min-height:0}.card:has(>.loading:not([style])){flex:1 0 auto;display:flex;flex-direction:column}.loading>span{display:inline-flex;align-items:center;gap:10px;animation:loader-in 0s 60ms both}.loading.late>span{animation-delay:.3s}.loading .spin{flex:none;width:12px;height:12px;border:1.5px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .8s linear infinite}.loading .dots{display:inline-flex;gap:3px}.loading .dots>b{width:4px;height:4px;border-radius:50%;background:currentColor;animation:dots 1.2s ease-in-out infinite}.loading .dots>b:nth-child(2){animation-delay:.2s}.loading .dots>b:nth-child(3){animation-delay:.4s}@keyframes dots{0%,80%,to{opacity:.25}40%{opacity:1}}.filter-chips{display:flex;flex:1 1 0;gap:4px;min-width:0;overflow-x:auto;scrollbar-width:none}.filters:has(>.filter-chips)>.search{flex-grow:1000}.head.tools .filter-chips{order:-1}.head.tools .filter-chips>:first-child{margin-left:auto}.filter-chips .chip{display:inline-flex;flex:none;align-items:center;gap:4px;max-width:200px}.filter-chips .chip .grow{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-chips .chip .ic{width:12px;height:12px}.filter-more>.pop:popover-open{display:block;width:min(260px,calc(100vw - 32px));max-height:calc(100vh - 160px);overflow-y:auto;padding:6px}.filter-more .pop-label:not(:first-child){margin-top:10px}.filter-more .pop-item{width:100%;min-height:30px;font-size:12px}.field-btn{display:flex;align-items:center;gap:10px;min-height:36px;padding:7px 12px;border:1px solid var(--line2);background:var(--field);white-space:nowrap;cursor:pointer}.field-btn:focus-visible,.field-btn:has(+.pop:popover-open){outline:none;border-color:var(--acc);box-shadow:0 0 0 3px var(--accbg)}.field-btn:disabled{color:var(--muted);cursor:default}.filter-more>.field-btn.on{color:var(--acc)}.filter-panel .pop-item>.brand-icon{width:16px;height:16px}.filter-panel [data-facet]{color:var(--muted)}.filter-panel .search{margin:4px 0 6px}.filter-panel .search input{width:100%}@media(max-width:760px){@supports (anchor-scope: --menu){.filters .menu.filter-more>.pop{inset:anchor(bottom) auto auto anchor(left)}}.head.tools .filter-chips{order:0}.head.tools .filter-chips>:first-child{margin-left:0}}.badge{display:inline-flex;align-items:center;gap:6px;padding:1px 7px;border:1px solid var(--line2);font-size:10px;letter-spacing:.14em;color:var(--muted);white-space:nowrap}.badge.acc{border-color:transparent;background:var(--accbg);color:var(--acc)}.badge.ok{border-color:transparent;background:var(--okbg);color:var(--ok)}.badge.warn{border-color:transparent;background:var(--warnbg);color:var(--warn)}.badge.solid{border-color:var(--fg);background:var(--fg);color:var(--bg)}a.badge:hover,button.badge:hover{border-color:var(--acc)}button.badge{cursor:pointer}.chips{display:inline-flex;flex-wrap:wrap;gap:4px}.chip{line-height:18px;padding:0 6px;border:1px solid var(--line2);font-size:11.5px;color:var(--muted)}.id{font-size:11.5px;color:var(--dim)}button.chip{background:none;cursor:pointer}button.chip:hover,button.chip[aria-pressed=true]{border-color:var(--acc);color:var(--acc)}.head.tools{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px 24px;min-height:36px}.head.tools>div:first-child{display:contents}.head.tools .lead{grid-row:2;grid-column:1 / -1}.head.tools>.filters{grid-row:1;grid-column:2;justify-content:flex-end}.head.tools>.filters:last-child{grid-column:2 / -1}.head.tools>.actions{grid-row:1;grid-column:3}.page{container-type:inline-size}@container (max-width: 720px){.head.tools:has(>.actions)>.filters{grid-row:auto;grid-column:1 / -1;justify-content:flex-start}.head.tools:has(>.actions) .search{max-width:none}}.filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.search{position:relative;display:block}.tab-body .filters{position:sticky;top:calc(56px + var(--head, 0px) + var(--tabs, 0px));z-index:8;margin-block:-8px;padding-block:8px;background:var(--bg)}.filters .search{flex:1 1 240px;max-width:360px}.search .ic{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--dim);pointer-events:none}label.search input[type=search]{padding-left:32px}.filters .select{flex:none}.filters .end{margin-left:auto}.vsearch .search{width:min(280px,100%)}@media(max-width:760px){.head.tools{grid-template-columns:minmax(0,1fr) auto;row-gap:12px}.head.tools>.filters{grid-row:3;grid-column:1 / -1}.head.tools>.actions{grid-column:2;width:auto}.filters .search{max-width:none;flex-basis:100%}.filters .select{flex:1 1 0}.filters .select>button{gap:4px;padding-inline:8px}.head.tools.stuck>.filters>.select{display:none}}.select{position:relative;display:inline-flex;min-width:0}.field .select{display:flex}.select>button{display:flex;align-items:center;gap:10px;width:100%;min-height:36px;padding:7px 10px 7px 12px;border:1px solid var(--line2);background:var(--field);text-align:left;white-space:nowrap;cursor:pointer;touch-action:manipulation}.select>button .grow{overflow:hidden;text-overflow:ellipsis}.select>button .ic{color:var(--dim);transition:transform .15s}.select>button[aria-expanded=true] .ic{transform:rotate(180deg)}.select>button:focus-visible,.select>button[aria-expanded=true]{outline:none;border-color:var(--acc);box-shadow:0 0 0 3px var(--accbg)}.select>button:disabled{color:var(--muted);cursor:default}.select-pop{min-width:0;max-width:min(440px,calc(100vw - 16px));overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line2) transparent}.select-pop .pop-item{white-space:nowrap}.select-pop .pop-item:hover{background:none}.select-pop .pop-item.on{background:var(--wash2)}.select-pop .pop-item>.ic{visibility:hidden}.select-pop .pop-item[aria-selected=true]>.ic{visibility:visible;color:var(--acc)}.select>button:disabled{opacity:.65;cursor:default}.select-pop .pop-item small{display:block;overflow:hidden;direction:rtl;text-align:left;white-space:nowrap;text-overflow:ellipsis;font-size:11px;color:var(--muted)}.select-pop .pop-item .grow{min-width:0;overflow:hidden;text-overflow:ellipsis}.select-pop .pop-item.action{margin-top:4px;color:var(--muted)}.select-pop .pop-item.action>.ic{visibility:visible;width:14px;height:14px}.select-pop .pop-item.action.on{color:var(--fg)}.select .brand-icon,.select-pop .brand-icon{flex:none;width:14px;height:14px}dialog.modal{width:min(560px,calc(100vw - 32px));max-height:calc(100dvh - 48px);margin:auto;padding:0;border:3px solid light-dark(rgba(11,12,16,.3),rgba(255,255,255,.15));background:var(--tile);color:inherit;text-align:left;white-space:normal}dialog.modal:focus-visible{outline:none}dialog.modal::backdrop{background:light-dark(rgba(0,0,0,.1),rgba(0,0,0,.45))}.modal form{display:grid;gap:16px;padding:20px 24px 24px}.modal header{display:flex;align-items:center;gap:10px}.modal header:has(.icon-btn){margin-right:-10px}.modal h2{flex:1;font-size:15px;font-weight:700;overflow-wrap:anywhere}.modal .actions{justify-content:flex-end;margin-top:4px}@media(min-width:561px){.modal .actions>:first-child:not(:only-child){margin-right:auto}}dialog.confirm,dialog.outcome-dialog{width:min(500px,calc(100vw - 32px))}.confirm p,.outcome-dialog p{color:var(--muted);line-height:1.6}.confirm form{gap:8px}.confirm .actions{margin-top:12px}.outcome-dialog form{gap:10px;padding:24px 24px 20px}dialog.modal.tone{border-top:3px solid var(--tone)}dialog.modal.neutral{--tone: var(--muted)}dialog.modal.success{--tone: var(--ok)}dialog.modal.warning{--tone: var(--warn)}dialog.modal.error{--tone: var(--bad)}.modal.tone header{color:var(--tone)}.modal.tone h2{color:var(--fg)}.outcome-dialog .actions{margin-top:14px}@media(max-width:560px){.modal .actions{flex-direction:column-reverse;align-items:stretch}.modal .actions>*{margin-right:0}}.seg-btns{display:flex;border:1px solid var(--line2)}.seg-btns>a,.seg-btns>button,.seg-btns .menu>button{display:flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-left:1px solid var(--line2);background:var(--panel);font-size:10.5px;letter-spacing:.14em;color:var(--muted);cursor:pointer}.seg-btns>button{border-top:0;border-right:0;border-bottom:0;text-transform:uppercase}.seg-btns>:first-child{border-left:0}.seg-btns>a:hover,.seg-btns>button:hover,.seg-btns .menu>button:hover{color:var(--fg)}.seg-btns [aria-current],.seg-btns [aria-checked=true],.seg-btns .on>button{background:var(--accbg);color:var(--acc)}.seg-btns>button:disabled{opacity:.45;color:var(--muted);cursor:not-allowed}.seg-btns>button:has(.badge){position:relative}.seg-btns>button .badge{position:absolute;top:-8px;left:calc(100% - 14px);z-index:1;border-color:transparent;background:var(--acc);color:var(--panel);padding:0 4px;font-size:8.5px;line-height:14px;letter-spacing:.06em;text-transform:none}.range-line{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.date-pop{display:grid;gap:12px;min-width:226px;padding:8px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.stats>div{position:relative;display:grid;align-content:start;gap:8px;min-width:0;padding:14px 16px;border:1px solid var(--line);background:var(--panel)}.stats>div:before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:var(--acc);opacity:.7}.stats small{font-size:10px;color:var(--muted)}.stats strong{font-size:20px;font-weight:500;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;line-height:1.25}@media(max-width:1000px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.stats{gap:8px}.stats strong{font-size:16px}}.usage td:first-child{width:40%}.unlinked{font-weight:500;color:var(--muted)}.unlinked.gone{color:var(--dim)}.bar-in{display:block;height:3px;margin-top:8px;width:var(--w);background:var(--acc);opacity:.6}.bar-in.top{opacity:1;background:var(--c, var(--acc))}@media(max-width:760px){.usage.stacked tr{grid-template-columns:repeat(3,minmax(0,1fr))}.usage td.num{display:grid;text-align:left;font-size:12px}.usage td.num:before{content:attr(data-label);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--dim)}}.chart{display:flex;align-items:flex-end;gap:4px;height:200px}.empty-chart{align-items:center;justify-content:center}.chart li{position:relative;flex:1;min-width:0;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:6px}.chart .col{display:flex;flex-direction:column-reverse;gap:2px;width:100%;max-width:48px;height:var(--h);min-height:1px}.chart .col i{display:block;flex:var(--f) 0 0;min-height:1px;background:var(--c, var(--s1))}.chart .col i:last-child{border-radius:4px 4px 0 0}.chart li>small{font-size:10.5px;color:var(--dim);height:16px;white-space:nowrap}.chart li:hover .col{filter:brightness(1.15)}.chart .tip{display:none;position:absolute;bottom:calc(var(--h) + 30px);left:50%;transform:translate(-50%);z-index:5;width:max-content;max-width:240px;padding:8px 10px;border:1px solid var(--line2);background:var(--tile);box-shadow:0 12px 32px #0000002e;font-size:11.5px;line-height:1.5}.chart li:hover .tip{display:grid}.chart li:first-child .tip,.chart li:nth-child(2) .tip{left:0;transform:none}.chart li:last-child .tip,.chart li:nth-last-child(2) .tip{left:auto;right:0;transform:none}.tip b{font-weight:500}.legend{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12px;color:var(--muted)}.legend span,.tip span{display:inline-flex;align-items:center;gap:6px}.legend i,.tip i{width:10px;height:10px;border-radius:2px;background:var(--c)}@media(max-width:760px){.chart{gap:2px;height:160px}}.field{display:grid;gap:6px}.field>span:first-child,.field>label{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;font-weight:500}.field small{font-weight:400;color:var(--muted);font-size:11.5px}.field .seg-btns{width:max-content;max-width:100%}.field .seg-btns>button{height:36px}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
@font-face{font-family:Fira Code;font-style:normal;font-weight:400;font-display:optional;src:url(/assets/fonts/fira-code-latin-400-normal-717ee080.woff2) format("woff2")}@font-face{font-family:Fira Code;font-style:normal;font-weight:500;font-display:optional;src:url(/assets/fonts/fira-code-latin-500-normal-530b6706.woff2) format("woff2")}@font-face{font-family:Fira Code;font-style:normal;font-weight:700;font-display:optional;src:url(/assets/fonts/fira-code-latin-700-normal-98730669.woff2) format("woff2")}:root{color-scheme:light dark;--bg: light-dark(#ffffff, #0b0c10);--panel: light-dark(#f8f7f8, #13141a);--tile: light-dark(#f4f4f5, #16171c);--fg: light-dark(#
|
|
1
|
+
@font-face{font-family:Fira Code;font-style:normal;font-weight:400;font-display:optional;src:url(/assets/fonts/fira-code-latin-400-normal-717ee080.woff2) format("woff2")}@font-face{font-family:Fira Code;font-style:normal;font-weight:500;font-display:optional;src:url(/assets/fonts/fira-code-latin-500-normal-530b6706.woff2) format("woff2")}@font-face{font-family:Fira Code;font-style:normal;font-weight:700;font-display:optional;src:url(/assets/fonts/fira-code-latin-700-normal-98730669.woff2) format("woff2")}:root{color-scheme:light dark;--bg: light-dark(#ffffff, #0b0c10);--panel: light-dark(#f8f7f8, #13141a);--tile: light-dark(#f4f4f5, #16171c);--fg: light-dark(#000000, #ffffff);--muted: light-dark(#4f5664, #a9b0bd);--dim: light-dark(#7a808b, #7c828e);--line: light-dark(rgba(11, 12, 16, .08), rgba(255, 255, 255, .08));--line2: light-dark(rgba(11, 12, 16, .15), rgba(255, 255, 255, .15));--wash: light-dark(rgba(11, 12, 16, .06), rgba(255, 255, 255, .07));--wash-low: light-dark(rgba(11, 12, 16, .025), rgba(255, 255, 255, .03));--wash2: light-dark(rgba(11, 12, 16, .07), rgba(255, 255, 255, .09));--field: light-dark(#ffffff, #0a0a0a);--acc: light-dark(#0a63c4, #8fbcff);--accbg: light-dark(rgba(10, 99, 196, .1), rgba(143, 188, 255, .14));--deep: #0a63c4;--blue: #2a5da9;--ok: light-dark(#2b8a3e, #51cf66);--okbg: light-dark(rgba(47, 158, 68, .12), rgba(47, 158, 68, .18));--warn: light-dark(#b35c00, #fcc419);--warnbg: light-dark(rgba(245, 159, 0, .14), rgba(245, 159, 0, .16));--bad: light-dark(#c92a2a, #ff8787);--badbg: light-dark(rgba(224, 49, 49, .1), rgba(224, 49, 49, .18));--s1: light-dark(#2a78d6, #3987e5);--s2: light-dark(#eb6834, #d95926);--s3: light-dark(#1baf7a, #199e70);--s4: light-dark(#eda100, #c98500);--s0: light-dark(#b9bdc5, #3d414a);--mono: "Fira Code", ui-monospace, SFMono-Regular, Menlo, monospace}html.font-fallback{--mono: ui-monospace, SFMono-Regular, Menlo, monospace}[data-theme=light]{color-scheme:light}[data-theme=dark]{color-scheme:dark}*{box-sizing:border-box}html{font-size:14px;-webkit-text-size-adjust:100%;scrollbar-gutter:stable}body{margin:0;font:400 13px/1.6 var(--mono);background:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}ul,ol{margin:0;padding:0;list-style:none}button,input,select,textarea{font:inherit;color:inherit}[hidden]{display:none!important}.grow{flex:1;min-width:0}.muted{color:var(--muted)}.bad{color:var(--bad)}.mono{font-family:var(--mono)}.link{color:var(--acc);border-bottom:1px solid currentColor}:focus-visible{outline:2px solid var(--acc);outline-offset:2px}code{padding:0 4px;background:var(--wash2)}@supports selector(::-webkit-scrollbar){::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--line2);background-clip:padding-box;border:3px solid transparent;border-radius:10px}::-webkit-scrollbar-thumb:hover{background-color:var(--dim);border-width:1px}::-webkit-scrollbar-corner{background:transparent}}@supports not selector(::-webkit-scrollbar){*{scrollbar-width:thin;scrollbar-color:var(--line2) transparent}}.bar h2,th,.stats small,.pop-label,.badge,.st,.tabs a,.tabs>button,.auth-links,.facts dt,.tabs-label,.seg-btns>a,.seg-btns .menu>button,.live,.sheet .label b,.tag{text-transform:uppercase;letter-spacing:.2em}.frame{position:relative;border:1px solid var(--line2);background:var(--panel)}.bar{display:flex;align-items:center;gap:12px;min-height:40px;padding:6px 14px;border-bottom:1px solid var(--line)}.bar h2{flex:1;display:flex;align-items:center;gap:10px;font-size:10.5px;font-weight:500}.n{padding:0 6px;font-size:10.5px;letter-spacing:.05em;color:var(--muted);background:var(--wash2)}.body{padding:16px}.body:not(dl)>*+*{margin-top:12px}@keyframes spin{to{transform:rotate(360deg)}}.pills{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.brand{display:flex;align-items:center;gap:8px;min-width:0;font-weight:700;font-size:14px;line-height:16px;letter-spacing:.02em;white-space:nowrap}main{display:flex;flex-direction:column;min-width:0;padding:40px 40px 80px}.page,.tab-body{flex:1 0 auto;display:flex;flex-direction:column;gap:20px}.page{width:100%;max-width:1120px;margin:0 auto}.head{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}.head>div:first-child{min-width:0;flex:1 1 420px}h1{font-size:26px;line-height:1.2;font-weight:700;letter-spacing:-.01em;overflow-wrap:anywhere}.lead{margin-top:8px;max-width:64ch;color:var(--muted)}.head .lead{margin-top:4px;max-width:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.flash{font-size:12px;color:var(--ok)}.flash.err{color:var(--bad)}.flash.reserved{min-height:1lh}.scroll-box{max-height:var(--max, 280px);overflow:auto}.scroll-box thead th{position:sticky;top:0;z-index:1;background:var(--panel)}.prose{white-space:pre-line;overflow-wrap:anywhere}.sub{display:block;font-size:11.5px;color:var(--muted)}.when{white-space:nowrap;color:var(--muted)}.approval{font-size:14px}.notice{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 16px;border:1px solid var(--line)}.notice .ic{color:var(--dim)}.notice.warning{border-color:var(--warn);background:var(--warnbg)}.notice.warning .ic{color:var(--warn)}.notice.error{border-color:var(--bad);background:var(--badbg)}.notice.error .ic{color:var(--bad)}.notice.slim{flex-wrap:nowrap;gap:10px;padding:8px 8px 8px 14px;font-size:12px}.notice.slim .grow{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card>.notice.slim{margin:12px 16px 0}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse}th{text-align:left;padding:10px 16px;font-size:10px;font-weight:500;color:var(--dim);border-bottom:1px solid var(--line);white-space:nowrap}th a{display:inline-flex;align-items:center;gap:4px}th a:hover,th a[aria-current]{color:var(--fg)}td{padding:12px 16px;border-bottom:1px solid var(--line);vertical-align:top}tbody tr:last-child td{border-bottom:0}.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}th.num a{justify-content:flex-end}.rows tbody tr{position:relative}.rows tbody tr:hover{background:var(--wash-low)}.rows.tasks tbody tr:hover{background:var(--wash)}.cover{font-weight:500}.cover:after{content:"";position:absolute;inset:0}.row-title{display:flex;align-items:baseline;gap:8px}.acts{text-align:right;white-space:nowrap}input:not([type=checkbox]):not([type=radio]),select,textarea{width:100%;min-height:36px;padding:7px 10px;border:1px solid var(--line2);background:var(--field);border-radius:0}textarea{resize:vertical;line-height:1.6}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--acc);box-shadow:0 0 0 3px var(--accbg)}input[type=checkbox],input[type=radio]{accent-color:var(--deep);width:15px;height:15px;margin:0;flex:none}select:enabled,input[type=checkbox]:enabled,input[type=radio]:enabled{cursor:pointer}.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.check{display:flex;align-items:flex-start;gap:10px;cursor:pointer}.check input{margin-top:3px}.check small{display:block;color:var(--muted);font-size:11.5px}.form-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.with-btn{display:flex;gap:8px}.with-btn input{flex:1;min-width:0}.with-btn .btn{height:auto}.picks{display:flex;flex-wrap:wrap;gap:6px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}.add-form{display:grid;gap:16px;padding:16px}.add-form>.seg-btns{justify-self:start}.add-grid{display:flex;flex-wrap:wrap;align-items:flex-end;gap:14px}.add-grid>.field{flex:1 1 180px}.add-grid>div.field{flex:none}.add-grid>.btn{height:36px}.acts .menu{display:inline-block;margin-left:4px}.guide{display:grid;gap:12px;padding:16px;color:var(--muted)}.guide code{padding:1px 6px;background:var(--wash2);color:var(--fg);font-size:12px;overflow-wrap:anywhere}.steps-list{display:grid;gap:8px;padding-left:20px}ol.steps-list{list-style:decimal}ul.steps-list{list-style:square}pnext-suspense,pnext-hole{display:contents}@keyframes loader-in{0%{visibility:hidden}}.add-grid>.field:has(>input[name=name]){flex:0 1 220px}.add-grid>.field:has(>.select){flex:0 0 auto}@media(max-width:760px){main{padding:16px 16px 64px}h1{font-size:22px}.head .actions,.hero .actions{width:100%}.head{row-gap:12px}.head .actions{gap:4px}.head .actions>.btn{padding-inline:10px}.head .lead{white-space:normal}.notice:not(.slim)>.grow{flex-basis:calc(100% - 28px)}.fields,.fields.three,.agent-form,.import,.cred-new.split{grid-template-columns:minmax(0,1fr)}.stacked thead{display:none}.stacked tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;padding:14px 16px;border-bottom:1px solid var(--line)}.stacked td{padding:0;border:0}.stacked td:first-child{grid-column:1 / -1;min-width:0}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as d,b as p,c as f,d as c,e as l,f as u}from"./chunks/side-toggle-9b3af821cfe4c824.js";import{$3o as a,$3p as s}from"./chunks/shared-init-c3bd249cf1eca6d1.js";import{$0i as e}from"./chunks/shared-init-c3bd249cf1eca6d1.js";import{$2j as m,$2k as r}from"./chunks/shared-init-c3bd249cf1eca6d1.js";import"./chunks/wular-pnext-6e12333f12903a62-0.js";import"./chunks/shared-init-c3bd249cf1eca6d1.js";import"./chunks/shared-init-b281027d465e004f.js";import"./chunks/shared-init-b281027d465e004f.js";import{$4a as o}from"./chunks/shared-init-6e12333f12903a62-2.js";import{$1a as n}from"./chunks/shared-init-6e12333f12903a62-2.js";import{$2c as i}from"./chunks/shared-init-6e12333f12903a62-2.js";import{$0i as t}from"./chunks/shared-init-6e12333f12903a62-2.js";import"./chunks/shared-init-6e12333f12903a62-2.js";var{mountRoute:C,remountRoute:P,unmountRoute:_}=o({islands:[{id:"c-00c5e51459",Component:s},{id:"c-04ff2b89f3",Component:m},{id:"c-0c93875c0e",Component:d},{id:"c-128d3af291",Component:p},{id:"c-1405227366",Component:f},{id:"c-53c8f7970b",Component:n},{id:"c-5b03b7c93b",Component:e},{id:"c-70a0e9a1f0",Component:c},{id:"c-7feee8ea07",Component:a},{id:"c-adf39f3847",options:{load:"visible",ssr:!0},load:()=>import("./chunks/tasks-list-d7dccfd7e0623ae0.js").then(I=>I.TasksList)},{id:"c-db775f4a6a",Component:r},{id:"c-ee81db9cc1",Component:l},{id:"c-ff17a9ad1a",Component:u}]});i();t()||C();window.__PNEXT_REGISTER_ENTRY__&&window.__PNEXT_REGISTER_ENTRY__(import.meta.url,{mountRoute:C,unmountRoute:_});export{C as mountRoute,P as remountRoute,_ as unmountRoute};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as T}from"./chunks/agent-toggle-d7d27123f2070f18.js";import"./chunks/action-a76e495fb39a73d3.js";import"./chunks/format-a27067f0186e78ac.js";import{a as f,b as c,c as l,d as u,e as C,f as I}from"./chunks/side-toggle-9b3af821cfe4c824.js";import{$3o as d,$3p as p}from"./chunks/shared-init-c3bd249cf1eca6d1.js";import{$0C as s,$0i as m}from"./chunks/shared-init-c3bd249cf1eca6d1.js";import{$2j as a,$2k as r}from"./chunks/shared-init-c3bd249cf1eca6d1.js";import"./chunks/wular-pnext-6e12333f12903a62-0.js";import"./chunks/shared-init-c3bd249cf1eca6d1.js";import"./chunks/shared-init-b281027d465e004f.js";import"./chunks/shared-init-b281027d465e004f.js";import{$4a as n}from"./chunks/shared-init-6e12333f12903a62-2.js";import{$1a as t}from"./chunks/shared-init-6e12333f12903a62-2.js";import{$2c as e}from"./chunks/shared-init-6e12333f12903a62-2.js";import{$0i as i}from"./chunks/shared-init-6e12333f12903a62-2.js";import"./chunks/shared-init-6e12333f12903a62-2.js";var{mountRoute:_,remountRoute:x,unmountRoute:R}=n({islands:[{id:"c-00c5e51459",Component:p},{id:"c-04ff2b89f3",Component:a},{id:"c-0c93875c0e",Component:f},{id:"c-128d3af291",Component:c},{id:"c-1405227366",Component:l},{id:"c-47d1356fe6",Component:T},{id:"c-53c8f7970b",Component:t},{id:"c-5b03b7c93b",Component:m},{id:"c-70a0e9a1f0",Component:u},{id:"c-7feee8ea07",Component:d},{id:"c-a41dab3334",options:{},load:()=>import("./chunks/composer-56ebf36d63400423.js").then(o=>o.NewTaskButton)},{id:"c-adf39f3847",options:{load:"visible",ssr:!0},load:()=>import("./chunks/tasks-list-d7dccfd7e0623ae0.js").then(o=>o.TasksList)},{id:"c-db775f4a6a",Component:r},{id:"c-e152698e80",Component:s},{id:"c-ee81db9cc1",Component:C},{id:"c-ff17a9ad1a",Component:I}]});e();i()||_();window.__PNEXT_REGISTER_ENTRY__&&window.__PNEXT_REGISTER_ENTRY__(import.meta.url,{mountRoute:_,unmountRoute:R});export{_ as mountRoute,x as remountRoute,R as unmountRoute};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as T}from"./chunks/custom-range-6618f32ef6cd4e80.js";import{a as R}from"./chunks/agent-toggle-d7d27123f2070f18.js";import"./chunks/field-bb8191aa02d07282.js";import"./chunks/action-a76e495fb39a73d3.js";import"./chunks/format-a27067f0186e78ac.js";import{a as f,b as c,c as l,d as C,e as u,f as I}from"./chunks/side-toggle-9b3af821cfe4c824.js";import{$3o as d,$3p as p}from"./chunks/shared-init-c3bd249cf1eca6d1.js";import{$0C as s,$0i as m}from"./chunks/shared-init-c3bd249cf1eca6d1.js";import{$2j as a,$2k as r}from"./chunks/shared-init-c3bd249cf1eca6d1.js";import"./chunks/wular-pnext-6e12333f12903a62-0.js";import"./chunks/shared-init-c3bd249cf1eca6d1.js";import"./chunks/shared-init-b281027d465e004f.js";import"./chunks/shared-init-b281027d465e004f.js";import{$4a as n}from"./chunks/shared-init-6e12333f12903a62-2.js";import{$1a as t}from"./chunks/shared-init-6e12333f12903a62-2.js";import{$2c as i}from"./chunks/shared-init-6e12333f12903a62-2.js";import{$0i as e}from"./chunks/shared-init-6e12333f12903a62-2.js";import"./chunks/shared-init-6e12333f12903a62-2.js";var{mountRoute:_,remountRoute:D,unmountRoute:b}=n({islands:[{id:"c-00c5e51459",Component:p},{id:"c-04ff2b89f3",Component:a},{id:"c-0c93875c0e",Component:f},{id:"c-128d3af291",Component:c},{id:"c-1405227366",Component:l},{id:"c-47d1356fe6",Component:R},{id:"c-53c8f7970b",Component:t},{id:"c-5b03b7c93b",Component:m},{id:"c-70a0e9a1f0",Component:C},{id:"c-7feee8ea07",Component:d},{id:"c-a41dab3334",options:{},load:()=>import("./chunks/composer-56ebf36d63400423.js").then(o=>o.NewTaskButton)},{id:"c-adf39f3847",options:{load:"visible",ssr:!0},load:()=>import("./chunks/tasks-list-d7dccfd7e0623ae0.js").then(o=>o.TasksList)},{id:"c-db775f4a6a",Component:r},{id:"c-e152698e80",Component:s},{id:"c-e85fce2701",Component:T},{id:"c-ee81db9cc1",Component:u},{id:"c-ff17a9ad1a",Component:I}]});i();e()||_();window.__PNEXT_REGISTER_ENTRY__&&window.__PNEXT_REGISTER_ENTRY__(import.meta.url,{mountRoute:_,unmountRoute:b});export{_ as mountRoute,D as remountRoute,b as unmountRoute};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as N,b as h,c as g,d as T,e as k,f as w}from"./chunks/side-toggle-9b3af821cfe4c824.js";import{$3i as t,$3o as C,$3p as b}from"./chunks/shared-init-c3bd249cf1eca6d1.js";import{$0i as p}from"./chunks/shared-init-c3bd249cf1eca6d1.js";import{$2j as u,$2k as I}from"./chunks/shared-init-c3bd249cf1eca6d1.js";import"./chunks/wular-pnext-6e12333f12903a62-0.js";import"./chunks/shared-init-c3bd249cf1eca6d1.js";import"./chunks/shared-init-b281027d465e004f.js";import{$0a as e}from"./chunks/shared-init-b281027d465e004f.js";import{$4a as m}from"./chunks/shared-init-6e12333f12903a62-2.js";import{$1a as d}from"./chunks/shared-init-6e12333f12903a62-2.js";import{$2c as l}from"./chunks/shared-init-6e12333f12903a62-2.js";import{$0i as f}from"./chunks/shared-init-6e12333f12903a62-2.js";import{$3h as s,$3j as c}from"./chunks/shared-init-6e12333f12903a62-2.js";function _(){let[S,a]=s(!1),[r,i]=s(!1);c(()=>{if(typeof Notification>"u")return i(!0);i(Notification.permission==="denied"),a(localStorage.getItem(t)==="1"&&Notification.permission==="granted")},[]);let E=async o=>{o.checked&&Notification.permission==="default"&&await Notification.requestPermission();let n=o.checked&&Notification.permission==="granted";n?localStorage.setItem(t,"1"):localStorage.removeItem(t),o.checked=n,a(n),i(Notification.permission==="denied")};return e("label",{class:"notify",children:[e("input",{type:"checkbox",role:"switch",class:"switch",checked:S,disabled:r,onChange:o=>void E(o.currentTarget)}),r?"Notifications are blocked in this browser":"Notify me when a task finishes"]})}var{mountRoute:R,remountRoute:V,unmountRoute:v}=m({islands:[{id:"c-00c5e51459",Component:b},{id:"c-04ff2b89f3",Component:u},{id:"c-0c93875c0e",Component:N},{id:"c-128d3af291",Component:h},{id:"c-1405227366",Component:g},{id:"c-53c8f7970b",Component:d},{id:"c-5b03b7c93b",Component:p},{id:"c-70a0e9a1f0",Component:T},{id:"c-7feee8ea07",Component:C},{id:"c-918d66b760",Component:_},{id:"c-db775f4a6a",Component:I},{id:"c-ee81db9cc1",Component:k},{id:"c-ff17a9ad1a",Component:w}]});l();f()||R();window.__PNEXT_REGISTER_ENTRY__&&window.__PNEXT_REGISTER_ENTRY__(import.meta.url,{mountRoute:R,unmountRoute:v});export{R as mountRoute,V as remountRoute,v as unmountRoute};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a,b as s,c as d,d as p,e as f,f as c}from"./chunks/side-toggle-9b3af821cfe4c824.js";import{$3o as i,$3p as r}from"./chunks/shared-init-c3bd249cf1eca6d1.js";import"./chunks/shared-init-c3bd249cf1eca6d1.js";import{$2j as e}from"./chunks/shared-init-c3bd249cf1eca6d1.js";import"./chunks/wular-pnext-6e12333f12903a62-0.js";import"./chunks/shared-init-c3bd249cf1eca6d1.js";import"./chunks/shared-init-b281027d465e004f.js";import"./chunks/shared-init-b281027d465e004f.js";import{$4a as o}from"./chunks/shared-init-6e12333f12903a62-2.js";import{$1a as n}from"./chunks/shared-init-6e12333f12903a62-2.js";import{$2c as m}from"./chunks/shared-init-6e12333f12903a62-2.js";import{$0i as t}from"./chunks/shared-init-6e12333f12903a62-2.js";import"./chunks/shared-init-6e12333f12903a62-2.js";var{mountRoute:l,remountRoute:h,unmountRoute:u}=o({islands:[{id:"c-00c5e51459",Component:r},{id:"c-04ff2b89f3",Component:e},{id:"c-0c93875c0e",Component:a},{id:"c-128d3af291",Component:s},{id:"c-1405227366",Component:d},{id:"c-53c8f7970b",Component:n},{id:"c-70a0e9a1f0",Component:p},{id:"c-7feee8ea07",Component:i},{id:"c-ee81db9cc1",Component:f},{id:"c-ff17a9ad1a",Component:c}]});m();t()||l();window.__PNEXT_REGISTER_ENTRY__&&window.__PNEXT_REGISTER_ENTRY__(import.meta.url,{mountRoute:l,unmountRoute:u});export{l as mountRoute,h as remountRoute,u as unmountRoute};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{b as I}from"./chunks/back-e29cb10f5548ddae.js";import{a as p,b as c,c as f,d as l,e as C,f as u}from"./chunks/side-toggle-9b3af821cfe4c824.js";import{$3o as r,$3p as s}from"./chunks/shared-init-c3bd249cf1eca6d1.js";import{$0i as d}from"./chunks/shared-init-c3bd249cf1eca6d1.js";import{$2j as m,$2k as a}from"./chunks/shared-init-c3bd249cf1eca6d1.js";import"./chunks/wular-pnext-6e12333f12903a62-0.js";import"./chunks/shared-init-c3bd249cf1eca6d1.js";import"./chunks/shared-init-b281027d465e004f.js";import"./chunks/shared-init-b281027d465e004f.js";import{$4a as t}from"./chunks/shared-init-6e12333f12903a62-2.js";import{$1a as n}from"./chunks/shared-init-6e12333f12903a62-2.js";import{$2c as e}from"./chunks/shared-init-6e12333f12903a62-2.js";import{$0i as i}from"./chunks/shared-init-6e12333f12903a62-2.js";import"./chunks/shared-init-6e12333f12903a62-2.js";var{mountRoute:b,remountRoute:P,unmountRoute:R}=t({islands:[{id:"c-00c5e51459",Component:s},{id:"c-04ff2b89f3",Component:m},{id:"c-0998bcfe8e",Component:I},{id:"c-0c93875c0e",Component:p},{id:"c-128d3af291",Component:c},{id:"c-1405227366",Component:f},{id:"c-211bc78b0f",options:{},load:()=>import("./chunks/runners-list-edf536eb8003eab5.js").then(o=>o.RunnersList)},{id:"c-3d56b900ab",options:{},load:()=>import("./chunks/engines-list-31b9bb7885924b05.js").then(o=>o.EnginesList)},{id:"c-4284e09a04",options:{},load:()=>import("./chunks/secrets-list-e86122f73525ff95.js").then(o=>o.TaskSecrets)},{id:"c-53c8f7970b",Component:n},{id:"c-5b03b7c93b",Component:d},{id:"c-70a0e9a1f0",Component:l},{id:"c-7feee8ea07",Component:r},{id:"c-cd65ccc6a7",options:{},load:()=>import("./chunks/credentials-list-f07d090410104148.js").then(o=>o.EngineLogins)},{id:"c-d6a383147e",options:{},load:()=>import("./chunks/outcome-dialog-d3ba8ef89c59f801.js").then(o=>o.OutcomeDialog)},{id:"c-db775f4a6a",Component:a},{id:"c-eb838a4d62",options:{},load:()=>import("./chunks/models-list-03611e64b6a07efe.js").then(o=>o.ModelsList)},{id:"c-ee81db9cc1",Component:C},{id:"c-f019ede53d",options:{},load:()=>import("./chunks/connections-list-07559f145f3e3da3.js").then(o=>o.ConnectionsList)},{id:"c-fdac92ecd0",options:{},load:()=>import("./chunks/credentials-list-f07d090410104148.js").then(o=>o.CredentialsList)},{id:"c-ff17a9ad1a",Component:u}]});e();i()||b();window.__PNEXT_REGISTER_ENTRY__&&window.__PNEXT_REGISTER_ENTRY__(import.meta.url,{mountRoute:b,unmountRoute:R});export{b as mountRoute,P as remountRoute,R as unmountRoute};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as s,b as p,c as f,d as c,e as l,f as C}from"./chunks/side-toggle-9b3af821cfe4c824.js";import{$3o as a,$3p as d}from"./chunks/shared-init-c3bd249cf1eca6d1.js";import{$0i as i}from"./chunks/shared-init-c3bd249cf1eca6d1.js";import{$2j as m,$2k as r}from"./chunks/shared-init-c3bd249cf1eca6d1.js";import"./chunks/wular-pnext-6e12333f12903a62-0.js";import"./chunks/shared-init-c3bd249cf1eca6d1.js";import"./chunks/shared-init-b281027d465e004f.js";import"./chunks/shared-init-b281027d465e004f.js";import{$4a as o}from"./chunks/shared-init-6e12333f12903a62-2.js";import{$1a as n}from"./chunks/shared-init-6e12333f12903a62-2.js";import{$2c as e}from"./chunks/shared-init-6e12333f12903a62-2.js";import{$0i as t}from"./chunks/shared-init-6e12333f12903a62-2.js";import"./chunks/shared-init-6e12333f12903a62-2.js";var{mountRoute:u,remountRoute:P,unmountRoute:_}=o({islands:[{id:"c-00c5e51459",Component:d},{id:"c-04ff2b89f3",Component:m},{id:"c-0c93875c0e",Component:s},{id:"c-128d3af291",Component:p},{id:"c-1405227366",Component:f},{id:"c-53c8f7970b",Component:n},{id:"c-5b03b7c93b",Component:i},{id:"c-70a0e9a1f0",Component:c},{id:"c-7f1dcf028e",options:{},load:()=>import("./chunks/create-link-426b0a5871ee41dd.js").then(I=>I.CreateLink)},{id:"c-7feee8ea07",Component:a},{id:"c-db775f4a6a",Component:r},{id:"c-ee81db9cc1",Component:l},{id:"c-ff17a9ad1a",Component:C}]});e();t()||u();window.__PNEXT_REGISTER_ENTRY__&&window.__PNEXT_REGISTER_ENTRY__(import.meta.url,{mountRoute:u,unmountRoute:_});export{u as mountRoute,P as remountRoute,_ as unmountRoute};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{$4a as o}from"./chunks/shared-init-6e12333f12903a62-2.js";import{$1a as t}from"./chunks/shared-init-6e12333f12903a62-2.js";import{$2c as i}from"./chunks/shared-init-6e12333f12903a62-2.js";import{$0i as r}from"./chunks/shared-init-6e12333f12903a62-2.js";import"./chunks/shared-init-6e12333f12903a62-2.js";var{mountRoute:m,remountRoute:p,unmountRoute:n}=o({islands:[{id:"c-53c8f7970b",Component:t}]});i();r()||m();window.__PNEXT_REGISTER_ENTRY__&&window.__PNEXT_REGISTER_ENTRY__(import.meta.url,{mountRoute:m,unmountRoute:n});export{m as mountRoute,p as remountRoute,n as unmountRoute};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{f as i,g as N}from"./chunks/list-2773686bf8df64c7.js";import"./chunks/confirm-a78147b6ecef3847.js";import{a as m}from"./chunks/field-bb8191aa02d07282.js";import{a as O}from"./chunks/action-a76e495fb39a73d3.js";import"./chunks/format-a27067f0186e78ac.js";import{a as w,b as B,c as L,d as F,e as D,f as M}from"./chunks/side-toggle-9b3af821cfe4c824.js";import{$3o as T,$3p as E}from"./chunks/shared-init-c3bd249cf1eca6d1.js";import{$0i as y}from"./chunks/shared-init-c3bd249cf1eca6d1.js";import{$2j as S,$2k as _,$2o as A}from"./chunks/shared-init-c3bd249cf1eca6d1.js";import"./chunks/wular-pnext-6e12333f12903a62-0.js";import{$1a as k}from"./chunks/shared-init-c3bd249cf1eca6d1.js";import{$1a as I,$1c as R}from"./chunks/shared-init-b281027d465e004f.js";import{$0L as s,$0a as o,$0p as v}from"./chunks/shared-init-b281027d465e004f.js";import{$4a as b}from"./chunks/shared-init-6e12333f12903a62-2.js";import{$1a as g}from"./chunks/shared-init-6e12333f12903a62-2.js";import{$2c as C}from"./chunks/shared-init-6e12333f12903a62-2.js";import{$0i as h}from"./chunks/shared-init-6e12333f12903a62-2.js";import{$3c as f,$3h as p}from"./chunks/shared-init-6e12333f12903a62-2.js";function X({row:e,product:a,unreachable:r,onClose:t}){let[l,d]=p(!1),x=c=>{c.preventDefault();let G=new FormData(c.currentTarget),u=n=>String(G.get(n)??"").trim()||void 0;d(!0),R.operator.setUp(e.integration,{name:u("name"),owner:u("owner")}).then(({url:n})=>{location.href=n}).catch(n=>{if(n instanceof I&&n.status===401)return location.assign(location.pathname);d(!1),O(n)})};return o(k,{class:"create-dialog",title:`Set up shared ${e.name} app`,dismiss:!0,busy:l,onSubmit:x,onClose:t,actions:o(s,{type:"submit",rightIcon:v,disabled:r,loading:l,children:["Continue on ",e.name]}),children:[r?o("p",{class:"flash err",children:[e.name," cannot reach this server yet. Set a public address first: run the server with PUBLIC_URL set to an address ",e.name," can reach."]}):null,o("p",{class:"muted",children:["One app on ",e.name," serves the built-in agent in every workspace. People see its name on consent screens, as in ",a," wants to connect."]}),o(m,{label:"App name",children:o("input",{name:"name",defaultValue:a,autocomplete:"off",required:!0})}),e.organizationApps?o(m,{label:`${e.name} organization`,hint:"owns the app; leave empty to own it on your personal account",children:o("input",{name:"owner",placeholder:"your-org",autocomplete:"off"})}):null]})}function U({first:e}){let[a,r]=p();return o(f,{children:[o(N,{title:"Built-in apps",count:e.platforms.length,children:e.platforms.map(t=>o(i,{title:t.name,badges:t.app?o(A,{tone:"ok",children:"set up"}):null,sub:t.app?t.app.name:"Not set up. Workspaces cannot add the built-in agent here.",actions:t.app?null:o(s,{variant:"secondary",size:"sm",onClick:()=>r(t),children:"Set up"})},t.integration))}),a?o(X,{row:a,product:e.name,unreachable:e.unreachable,onClose:()=>r(void 0)}):null]})}var{mountRoute:z,remountRoute:So,unmountRoute:Y}=b({islands:[{id:"c-00c5e51459",Component:E},{id:"c-04ff2b89f3",Component:S},{id:"c-0c93875c0e",Component:w},{id:"c-128d3af291",Component:B},{id:"c-1405227366",Component:L},{id:"c-53c8f7970b",Component:g},{id:"c-5b03b7c93b",Component:y},{id:"c-70a0e9a1f0",Component:F},{id:"c-7feee8ea07",Component:T},{id:"c-ba521eb568",Component:i},{id:"c-d6a383147e",options:{},load:()=>import("./chunks/outcome-dialog-d3ba8ef89c59f801.js").then(e=>e.OutcomeDialog)},{id:"c-db775f4a6a",Component:_},{id:"c-e737bf1453",Component:U},{id:"c-ee81db9cc1",Component:D},{id:"c-ff17a9ad1a",Component:M}]});C();h()||z();window.__PNEXT_REGISTER_ENTRY__&&window.__PNEXT_REGISTER_ENTRY__(import.meta.url,{mountRoute:z,unmountRoute:Y});export{z as mountRoute,So as remountRoute,Y as unmountRoute};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{$4a as o}from"./chunks/shared-init-6e12333f12903a62-2.js";import{$1a as t}from"./chunks/shared-init-6e12333f12903a62-2.js";import{$2c as r}from"./chunks/shared-init-6e12333f12903a62-2.js";import{$0i as i}from"./chunks/shared-init-6e12333f12903a62-2.js";import"./chunks/shared-init-6e12333f12903a62-2.js";var{mountRoute:e,remountRoute:d,unmountRoute:m}=o({islands:[{id:"c-53c8f7970b",Component:t},{id:"c-7f1dcf028e",options:{},load:()=>import("./chunks/create-link-426b0a5871ee41dd.js").then(n=>n.CreateLink)}]});r();i()||e();window.__PNEXT_REGISTER_ENTRY__&&window.__PNEXT_REGISTER_ENTRY__(import.meta.url,{mountRoute:e,unmountRoute:m});export{e as mountRoute,d as remountRoute,m as unmountRoute};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as I}from"./chunks/composer-a686289a79f64bae.js";import"./chunks/composer-data-f46a9bc7a14b4f9a.js";import"./chunks/task-a37e7c26e82eb77d.js";import"./chunks/connect-repositories-7770ab805160028d.js";import"./chunks/model-options-8d2170eebe0d061d.js";import"./chunks/notice-d14fdac28139c0a8.js";import"./chunks/types-3eca2c7f47c46054.js";import"./chunks/back-e29cb10f5548ddae.js";import"./chunks/action-a76e495fb39a73d3.js";import"./chunks/format-a27067f0186e78ac.js";import{a as p,b as c,c as f,d as l,e as C,f as u}from"./chunks/side-toggle-9b3af821cfe4c824.js";import{$3o as d,$3p as s}from"./chunks/shared-init-c3bd249cf1eca6d1.js";import{$0i as m}from"./chunks/shared-init-c3bd249cf1eca6d1.js";import{$2j as r,$2k as a}from"./chunks/shared-init-c3bd249cf1eca6d1.js";import"./chunks/wular-pnext-6e12333f12903a62-0.js";import"./chunks/shared-init-c3bd249cf1eca6d1.js";import"./chunks/shared-init-b281027d465e004f.js";import"./chunks/shared-init-b281027d465e004f.js";import{$4a as n}from"./chunks/shared-init-6e12333f12903a62-2.js";import{$1a as t}from"./chunks/shared-init-6e12333f12903a62-2.js";import{$2c as i}from"./chunks/shared-init-6e12333f12903a62-2.js";import{$0i as e}from"./chunks/shared-init-6e12333f12903a62-2.js";import"./chunks/shared-init-6e12333f12903a62-2.js";var{mountRoute:_,remountRoute:Y,unmountRoute:R}=n({islands:[{id:"c-00c5e51459",Component:s},{id:"c-04ff2b89f3",Component:r},{id:"c-0c1d4aaf23",Component:I},{id:"c-0c93875c0e",Component:p},{id:"c-128d3af291",Component:c},{id:"c-1405227366",Component:f},{id:"c-14b1d4c8af",options:{},load:()=>import("./chunks/connect-apps-696726aedab42c96.js").then(o=>o.ConnectApps)},{id:"c-491cf764c7",options:{load:"visible",ssr:!0},load:()=>import("./chunks/agents-grid-185ecb3d86c6c447.js").then(o=>o.AgentsGrid)},{id:"c-53c8f7970b",Component:t},{id:"c-5b03b7c93b",Component:m},{id:"c-70a0e9a1f0",Component:l},{id:"c-7feee8ea07",Component:d},{id:"c-db775f4a6a",Component:a},{id:"c-ee81db9cc1",Component:C},{id:"c-ff17a9ad1a",Component:u}]});i();e()||_();window.__PNEXT_REGISTER_ENTRY__&&window.__PNEXT_REGISTER_ENTRY__(import.meta.url,{mountRoute:_,unmountRoute:R});export{_ as mountRoute,Y as remountRoute,R as unmountRoute};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as _}from"./chunks/agent-toggle-d7d27123f2070f18.js";import{a as T}from"./chunks/composer-a686289a79f64bae.js";import"./chunks/composer-data-f46a9bc7a14b4f9a.js";import"./chunks/task-a37e7c26e82eb77d.js";import"./chunks/connect-repositories-7770ab805160028d.js";import"./chunks/model-options-8d2170eebe0d061d.js";import"./chunks/notice-d14fdac28139c0a8.js";import"./chunks/types-3eca2c7f47c46054.js";import"./chunks/back-e29cb10f5548ddae.js";import"./chunks/action-a76e495fb39a73d3.js";import"./chunks/format-a27067f0186e78ac.js";import{a as f,b as c,c as l,d as C,e as I,f as u}from"./chunks/side-toggle-9b3af821cfe4c824.js";import{$3o as s,$3p as p}from"./chunks/shared-init-c3bd249cf1eca6d1.js";import{$0C as d,$0i as m}from"./chunks/shared-init-c3bd249cf1eca6d1.js";import{$2j as a,$2k as r}from"./chunks/shared-init-c3bd249cf1eca6d1.js";import"./chunks/wular-pnext-6e12333f12903a62-0.js";import"./chunks/shared-init-c3bd249cf1eca6d1.js";import"./chunks/shared-init-b281027d465e004f.js";import"./chunks/shared-init-b281027d465e004f.js";import{$4a as n}from"./chunks/shared-init-6e12333f12903a62-2.js";import{$1a as t}from"./chunks/shared-init-6e12333f12903a62-2.js";import{$2c as i}from"./chunks/shared-init-6e12333f12903a62-2.js";import{$0i as e}from"./chunks/shared-init-6e12333f12903a62-2.js";import"./chunks/shared-init-6e12333f12903a62-2.js";var{mountRoute:R,remountRoute:B,unmountRoute:b}=n({islands:[{id:"c-00c5e51459",Component:p},{id:"c-04ff2b89f3",Component:a},{id:"c-0c1d4aaf23",Component:T},{id:"c-0c93875c0e",Component:f},{id:"c-128d3af291",Component:c},{id:"c-1405227366",Component:l},{id:"c-47d1356fe6",Component:_},{id:"c-53c8f7970b",Component:t},{id:"c-5b03b7c93b",Component:m},{id:"c-70a0e9a1f0",Component:C},{id:"c-7feee8ea07",Component:s},{id:"c-a41dab3334",options:{},load:()=>import("./chunks/composer-56ebf36d63400423.js").then(o=>o.NewTaskButton)},{id:"c-adf39f3847",options:{load:"visible",ssr:!0},load:()=>import("./chunks/tasks-list-d7dccfd7e0623ae0.js").then(o=>o.TasksList)},{id:"c-db775f4a6a",Component:r},{id:"c-e152698e80",Component:d},{id:"c-ee81db9cc1",Component:I},{id:"c-f43e9245d5",options:{},load:()=>import("./chunks/agent-settings-form-f7231a66e391f6b6.js").then(o=>o.AgentSettingsForm)},{id:"c-ff17a9ad1a",Component:u}]});i();e()||R();window.__PNEXT_REGISTER_ENTRY__&&window.__PNEXT_REGISTER_ENTRY__(import.meta.url,{mountRoute:R,unmountRoute:b});export{R as mountRoute,B as remountRoute,b as unmountRoute};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as p,b as f,c,d as l,e as C,f as I}from"./chunks/side-toggle-9b3af821cfe4c824.js";import{$3o as d,$3p as s}from"./chunks/shared-init-c3bd249cf1eca6d1.js";import{$0D as a,$0i as e}from"./chunks/shared-init-c3bd249cf1eca6d1.js";import{$2j as i,$2k as r}from"./chunks/shared-init-c3bd249cf1eca6d1.js";import"./chunks/wular-pnext-6e12333f12903a62-0.js";import"./chunks/shared-init-c3bd249cf1eca6d1.js";import"./chunks/shared-init-b281027d465e004f.js";import"./chunks/shared-init-b281027d465e004f.js";import{$4a as o}from"./chunks/shared-init-6e12333f12903a62-2.js";import{$1a as n}from"./chunks/shared-init-6e12333f12903a62-2.js";import{$2c as m}from"./chunks/shared-init-6e12333f12903a62-2.js";import{$0i as t}from"./chunks/shared-init-6e12333f12903a62-2.js";import"./chunks/shared-init-6e12333f12903a62-2.js";var{mountRoute:u,remountRoute:X,unmountRoute:b}=o({islands:[{id:"c-00c5e51459",Component:s},{id:"c-04ff2b89f3",Component:i},{id:"c-0c93875c0e",Component:p},{id:"c-128d3af291",Component:f},{id:"c-1405227366",Component:c},{id:"c-50e54fead0",options:{},load:()=>import("./chunks/editor-0860e370cbfc6b03.js").then(_=>_.AgentEditor)},{id:"c-53c8f7970b",Component:n},{id:"c-5b03b7c93b",Component:e},{id:"c-70a0e9a1f0",Component:l},{id:"c-7feee8ea07",Component:d},{id:"c-bb31b84164",Component:a},{id:"c-db775f4a6a",Component:r},{id:"c-ee81db9cc1",Component:C},{id:"c-ff17a9ad1a",Component:I}]});m();t()||u();window.__PNEXT_REGISTER_ENTRY__&&window.__PNEXT_REGISTER_ENTRY__(import.meta.url,{mountRoute:u,unmountRoute:b});export{u as mountRoute,X as remountRoute,b as unmountRoute};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as p,b as f,c,d as l,e as C,f as I}from"./chunks/side-toggle-9b3af821cfe4c824.js";import{$3o as d,$3p as s}from"./chunks/shared-init-c3bd249cf1eca6d1.js";import{$0D as a,$0i as e}from"./chunks/shared-init-c3bd249cf1eca6d1.js";import{$2j as i,$2k as r}from"./chunks/shared-init-c3bd249cf1eca6d1.js";import"./chunks/wular-pnext-6e12333f12903a62-0.js";import"./chunks/shared-init-c3bd249cf1eca6d1.js";import"./chunks/shared-init-b281027d465e004f.js";import"./chunks/shared-init-b281027d465e004f.js";import{$4a as o}from"./chunks/shared-init-6e12333f12903a62-2.js";import{$1a as n}from"./chunks/shared-init-6e12333f12903a62-2.js";import{$2c as m}from"./chunks/shared-init-6e12333f12903a62-2.js";import{$0i as t}from"./chunks/shared-init-6e12333f12903a62-2.js";import"./chunks/shared-init-6e12333f12903a62-2.js";var{mountRoute:u,remountRoute:X,unmountRoute:b}=o({islands:[{id:"c-00c5e51459",Component:s},{id:"c-04ff2b89f3",Component:i},{id:"c-0c93875c0e",Component:p},{id:"c-128d3af291",Component:f},{id:"c-1405227366",Component:c},{id:"c-53c8f7970b",Component:n},{id:"c-5b03b7c93b",Component:e},{id:"c-70a0e9a1f0",Component:l},{id:"c-7de8ed486d",options:{},load:()=>import("./chunks/task-view-cb21169f38b56d15.js").then(_=>_.TaskView)},{id:"c-7feee8ea07",Component:d},{id:"c-bb31b84164",Component:a},{id:"c-db775f4a6a",Component:r},{id:"c-ee81db9cc1",Component:C},{id:"c-ff17a9ad1a",Component:I}]});m();t()||u();window.__PNEXT_REGISTER_ENTRY__&&window.__PNEXT_REGISTER_ENTRY__(import.meta.url,{mountRoute:u,unmountRoute:b});export{u as mountRoute,X as remountRoute,b as unmountRoute};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{b as I}from"./chunks/back-e29cb10f5548ddae.js";import{a as s,b as p,c as f,d as c,e as l,f as C}from"./chunks/side-toggle-9b3af821cfe4c824.js";import{$3o as a,$3p as d}from"./chunks/shared-init-c3bd249cf1eca6d1.js";import{$0i as m}from"./chunks/shared-init-c3bd249cf1eca6d1.js";import{$2j as i,$2k as r}from"./chunks/shared-init-c3bd249cf1eca6d1.js";import"./chunks/wular-pnext-6e12333f12903a62-0.js";import"./chunks/shared-init-c3bd249cf1eca6d1.js";import"./chunks/shared-init-b281027d465e004f.js";import"./chunks/shared-init-b281027d465e004f.js";import{$4a as o}from"./chunks/shared-init-6e12333f12903a62-2.js";import{$1a as n}from"./chunks/shared-init-6e12333f12903a62-2.js";import{$2c as e}from"./chunks/shared-init-6e12333f12903a62-2.js";import{$0i as t}from"./chunks/shared-init-6e12333f12903a62-2.js";import"./chunks/shared-init-6e12333f12903a62-2.js";var{mountRoute:u,remountRoute:X,unmountRoute:R}=o({islands:[{id:"c-00c5e51459",Component:d},{id:"c-04ff2b89f3",Component:i},{id:"c-0998bcfe8e",Component:I},{id:"c-0c93875c0e",Component:s},{id:"c-128d3af291",Component:p},{id:"c-1405227366",Component:f},{id:"c-53c8f7970b",Component:n},{id:"c-5b03b7c93b",Component:m},{id:"c-70a0e9a1f0",Component:c},{id:"c-7feee8ea07",Component:a},{id:"c-db775f4a6a",Component:r},{id:"c-ee81db9cc1",Component:l},{id:"c-ff17a9ad1a",Component:C}]});e();t()||u();window.__PNEXT_REGISTER_ENTRY__&&window.__PNEXT_REGISTER_ENTRY__(import.meta.url,{mountRoute:u,unmountRoute:R});export{u as mountRoute,X as remountRoute,R as unmountRoute};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as u}from"./chunks/custom-range-6618f32ef6cd4e80.js";import"./chunks/field-bb8191aa02d07282.js";import{a as d,b as p,c as f,d as c,e as l,f as C}from"./chunks/side-toggle-9b3af821cfe4c824.js";import{$3o as a,$3p as s}from"./chunks/shared-init-c3bd249cf1eca6d1.js";import{$0i as e}from"./chunks/shared-init-c3bd249cf1eca6d1.js";import{$2j as i,$2k as r}from"./chunks/shared-init-c3bd249cf1eca6d1.js";import"./chunks/wular-pnext-6e12333f12903a62-0.js";import"./chunks/shared-init-c3bd249cf1eca6d1.js";import"./chunks/shared-init-b281027d465e004f.js";import"./chunks/shared-init-b281027d465e004f.js";import{$4a as o}from"./chunks/shared-init-6e12333f12903a62-2.js";import{$1a as n}from"./chunks/shared-init-6e12333f12903a62-2.js";import{$2c as m}from"./chunks/shared-init-6e12333f12903a62-2.js";import{$0i as t}from"./chunks/shared-init-6e12333f12903a62-2.js";import"./chunks/shared-init-6e12333f12903a62-2.js";var{mountRoute:I,remountRoute:X,unmountRoute:R}=o({islands:[{id:"c-00c5e51459",Component:s},{id:"c-04ff2b89f3",Component:i},{id:"c-0c93875c0e",Component:d},{id:"c-128d3af291",Component:p},{id:"c-1405227366",Component:f},{id:"c-53c8f7970b",Component:n},{id:"c-5b03b7c93b",Component:e},{id:"c-70a0e9a1f0",Component:c},{id:"c-7feee8ea07",Component:a},{id:"c-db775f4a6a",Component:r},{id:"c-e85fce2701",Component:u},{id:"c-ee81db9cc1",Component:l},{id:"c-ff17a9ad1a",Component:C}]});m();t()||I();window.__PNEXT_REGISTER_ENTRY__&&window.__PNEXT_REGISTER_ENTRY__(import.meta.url,{mountRoute:I,unmountRoute:R});export{I as mountRoute,X as remountRoute,R as unmountRoute};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as R}from"./chunks/agent-toggle-d7d27123f2070f18.js";import{a as _}from"./chunks/composer-a686289a79f64bae.js";import"./chunks/composer-data-f46a9bc7a14b4f9a.js";import"./chunks/task-a37e7c26e82eb77d.js";import"./chunks/connect-repositories-7770ab805160028d.js";import"./chunks/model-options-8d2170eebe0d061d.js";import"./chunks/notice-d14fdac28139c0a8.js";import"./chunks/types-3eca2c7f47c46054.js";import{a as b}from"./chunks/back-e29cb10f5548ddae.js";import"./chunks/action-a76e495fb39a73d3.js";import"./chunks/format-a27067f0186e78ac.js";import{a as f,b as l,c as C,d as I,e as u,f as T}from"./chunks/side-toggle-9b3af821cfe4c824.js";import{$3o as p,$3p as c}from"./chunks/shared-init-c3bd249cf1eca6d1.js";import{$0C as s,$0i as a}from"./chunks/shared-init-c3bd249cf1eca6d1.js";import{$2j as m,$2k as d,$2l as r}from"./chunks/shared-init-c3bd249cf1eca6d1.js";import"./chunks/wular-pnext-6e12333f12903a62-0.js";import"./chunks/shared-init-c3bd249cf1eca6d1.js";import"./chunks/shared-init-b281027d465e004f.js";import"./chunks/shared-init-b281027d465e004f.js";import{$4a as t}from"./chunks/shared-init-6e12333f12903a62-2.js";import{$1a as n}from"./chunks/shared-init-6e12333f12903a62-2.js";import{$2c as e}from"./chunks/shared-init-6e12333f12903a62-2.js";import{$0i as i}from"./chunks/shared-init-6e12333f12903a62-2.js";import"./chunks/shared-init-6e12333f12903a62-2.js";var{mountRoute:g,remountRoute:j,unmountRoute:h}=t({islands:[{id:"c-00c5e51459",Component:c},{id:"c-04ff2b89f3",Component:m},{id:"c-0c1d4aaf23",Component:_},{id:"c-0c93875c0e",Component:f},{id:"c-101c6fa2ad",Component:b},{id:"c-1107d96360",options:{},load:()=>import("./chunks/platform-actions-2a71c62b9f7eaef3.js").then(o=>o.DriftQueue)},{id:"c-128d3af291",Component:l},{id:"c-1405227366",Component:C},{id:"c-47d1356fe6",Component:R},{id:"c-4ce198db31",Component:r},{id:"c-53c8f7970b",Component:n},{id:"c-59cc90648b",options:{},load:()=>import("./chunks/platform-actions-2a71c62b9f7eaef3.js").then(o=>o.PlatformActions)},{id:"c-5b03b7c93b",Component:a},{id:"c-70a0e9a1f0",Component:I},{id:"c-7feee8ea07",Component:p},{id:"c-a41dab3334",options:{},load:()=>import("./chunks/composer-56ebf36d63400423.js").then(o=>o.NewTaskButton)},{id:"c-adf39f3847",options:{load:"visible",ssr:!0},load:()=>import("./chunks/tasks-list-d7dccfd7e0623ae0.js").then(o=>o.TasksList)},{id:"c-d6a383147e",options:{},load:()=>import("./chunks/outcome-dialog-d3ba8ef89c59f801.js").then(o=>o.OutcomeDialog)},{id:"c-db775f4a6a",Component:d},{id:"c-e152698e80",Component:s},{id:"c-e6e93d0a3d",options:{},load:()=>import("./chunks/platform-actions-2a71c62b9f7eaef3.js").then(o=>o.InstallButton)},{id:"c-ee81db9cc1",Component:u},{id:"c-ff17a9ad1a",Component:T}]});e();i()||g();window.__PNEXT_REGISTER_ENTRY__&&window.__PNEXT_REGISTER_ENTRY__(import.meta.url,{mountRoute:g,unmountRoute:h});export{g as mountRoute,j as remountRoute,h as unmountRoute};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as b}from"./chunks/agent-toggle-d7d27123f2070f18.js";import{a as T}from"./chunks/composer-a686289a79f64bae.js";import"./chunks/composer-data-f46a9bc7a14b4f9a.js";import"./chunks/task-a37e7c26e82eb77d.js";import"./chunks/connect-repositories-7770ab805160028d.js";import"./chunks/model-options-8d2170eebe0d061d.js";import"./chunks/notice-d14fdac28139c0a8.js";import"./chunks/types-3eca2c7f47c46054.js";import"./chunks/back-e29cb10f5548ddae.js";import"./chunks/action-a76e495fb39a73d3.js";import"./chunks/format-a27067f0186e78ac.js";import{a as f,b as c,c as l,d as u,e as C,f as I}from"./chunks/side-toggle-9b3af821cfe4c824.js";import{$3o as d,$3p as p}from"./chunks/shared-init-c3bd249cf1eca6d1.js";import{$0C as s,$0i as a}from"./chunks/shared-init-c3bd249cf1eca6d1.js";import{$2j as r,$2k as m}from"./chunks/shared-init-c3bd249cf1eca6d1.js";import"./chunks/wular-pnext-6e12333f12903a62-0.js";import"./chunks/shared-init-c3bd249cf1eca6d1.js";import"./chunks/shared-init-b281027d465e004f.js";import"./chunks/shared-init-b281027d465e004f.js";import{$4a as n}from"./chunks/shared-init-6e12333f12903a62-2.js";import{$1a as t}from"./chunks/shared-init-6e12333f12903a62-2.js";import{$2c as e}from"./chunks/shared-init-6e12333f12903a62-2.js";import{$0i as i}from"./chunks/shared-init-6e12333f12903a62-2.js";import"./chunks/shared-init-6e12333f12903a62-2.js";var{mountRoute:_,remountRoute:D,unmountRoute:R}=n({islands:[{id:"c-00c5e51459",Component:p},{id:"c-04ff2b89f3",Component:r},{id:"c-0c1d4aaf23",Component:T},{id:"c-0c93875c0e",Component:f},{id:"c-128d3af291",Component:c},{id:"c-1405227366",Component:l},{id:"c-47d1356fe6",Component:b},{id:"c-53c8f7970b",Component:t},{id:"c-5b03b7c93b",Component:a},{id:"c-70a0e9a1f0",Component:u},{id:"c-7feee8ea07",Component:d},{id:"c-80b5a7ec6a",options:{},load:()=>import("./chunks/instructions-06b63e558f879da5.js").then(o=>o.Instructions)},{id:"c-a41dab3334",options:{},load:()=>import("./chunks/composer-56ebf36d63400423.js").then(o=>o.NewTaskButton)},{id:"c-adf39f3847",options:{load:"visible",ssr:!0},load:()=>import("./chunks/tasks-list-d7dccfd7e0623ae0.js").then(o=>o.TasksList)},{id:"c-db775f4a6a",Component:m},{id:"c-dd94f4faf3",options:{load:"visible",ssr:!0},load:()=>import("./chunks/versions-list-f8f2e71df691efda.js").then(o=>o.VersionsList)},{id:"c-e152698e80",Component:s},{id:"c-ee81db9cc1",Component:C},{id:"c-ff17a9ad1a",Component:I}]});e();i()||_();window.__PNEXT_REGISTER_ENTRY__&&window.__PNEXT_REGISTER_ENTRY__(import.meta.url,{mountRoute:_,unmountRoute:R});export{_ as mountRoute,D as remountRoute,R as unmountRoute};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as u}from"./chunks/agent-toggle-d7d27123f2070f18.js";import"./chunks/action-a76e495fb39a73d3.js";import"./chunks/format-a27067f0186e78ac.js";import{a as p,b as f,c,d as l,e as C,f as I}from"./chunks/side-toggle-9b3af821cfe4c824.js";import{$3o as d,$3p as s}from"./chunks/shared-init-c3bd249cf1eca6d1.js";import{$0C as a,$0i as m}from"./chunks/shared-init-c3bd249cf1eca6d1.js";import{$2j as i,$2k as r}from"./chunks/shared-init-c3bd249cf1eca6d1.js";import"./chunks/wular-pnext-6e12333f12903a62-0.js";import"./chunks/shared-init-c3bd249cf1eca6d1.js";import"./chunks/shared-init-b281027d465e004f.js";import"./chunks/shared-init-b281027d465e004f.js";import{$4a as o}from"./chunks/shared-init-6e12333f12903a62-2.js";import{$1a as n}from"./chunks/shared-init-6e12333f12903a62-2.js";import{$2c as e}from"./chunks/shared-init-6e12333f12903a62-2.js";import{$0i as t}from"./chunks/shared-init-6e12333f12903a62-2.js";import"./chunks/shared-init-6e12333f12903a62-2.js";var{mountRoute:_,remountRoute:x,unmountRoute:T}=o({islands:[{id:"c-00c5e51459",Component:s},{id:"c-04ff2b89f3",Component:i},{id:"c-0c93875c0e",Component:p},{id:"c-128d3af291",Component:f},{id:"c-1405227366",Component:c},{id:"c-47d1356fe6",Component:u},{id:"c-50e54fead0",options:{},load:()=>import("./chunks/editor-0860e370cbfc6b03.js").then(R=>R.AgentEditor)},{id:"c-53c8f7970b",Component:n},{id:"c-5b03b7c93b",Component:m},{id:"c-70a0e9a1f0",Component:l},{id:"c-7feee8ea07",Component:d},{id:"c-db775f4a6a",Component:r},{id:"c-e152698e80",Component:a},{id:"c-ee81db9cc1",Component:C},{id:"c-ff17a9ad1a",Component:I}]});e();t()||_();window.__PNEXT_REGISTER_ENTRY__&&window.__PNEXT_REGISTER_ENTRY__(import.meta.url,{mountRoute:_,unmountRoute:T});export{_ as mountRoute,x as remountRoute,T as unmountRoute};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{h as f}from"./chunks/format-a27067f0186e78ac.js";import{$
|
|
1
|
+
import{h as f}from"./chunks/format-a27067f0186e78ac.js";import{$1c as p}from"./chunks/shared-init-b281027d465e004f.js";import{$0L as v,$0a as t,$0c as h}from"./chunks/shared-init-b281027d465e004f.js";import{$4a as c}from"./chunks/shared-init-6e12333f12903a62-2.js";import{$1a as d}from"./chunks/shared-init-6e12333f12903a62-2.js";import{$2c as m}from"./chunks/shared-init-6e12333f12903a62-2.js";import{$0i as u}from"./chunks/shared-init-6e12333f12903a62-2.js";import{$3h as i}from"./chunks/shared-init-6e12333f12903a62-2.js";function R({tag:n,title:r,lead:o,children:a}){return t("section",{class:"auth",children:t("div",{class:"auth-side",children:[t("div",{class:"auth-frame frame",children:[t("div",{class:"bar",children:[t("a",{class:"brand",href:"/",children:[t(h,{}),t("span",{class:"lockup",children:["coder ",t("small",{children:"wular"})]})]}),t("span",{class:"tag",children:n})]}),t("div",{class:"auth-body",children:[t("h1",{children:r}),o?t("p",{class:"lead",children:o}):null,a]})]}),t("nav",{class:"auth-links",children:[t("a",{href:"https://wular.ai",children:"wular.ai"}),t("a",{href:"https://coder.wular.ai",children:"hosted service"})]})]})})}function l(){let[n,r]=i(""),[o,a]=i(""),C=typeof location>"u"?"":new URLSearchParams(location.search).get("token")??"";return t(R,{tag:"connect",title:"Connect your account",lead:o||"Link this platform identity to your signed-in Coder account.",children:[o?null:t(v,{wide:!0,onClick:()=>void p.linkAccount(C).then(e=>a(`${e.platform} account ${e.platformUserId} is connected.`)).catch(e=>r(f(e))),children:"Connect"}),t("p",{class:"flash err reserved",role:"alert",children:n})]})}var{mountRoute:_,remountRoute:D,unmountRoute:w}=c({islands:[{id:"c-53c8f7970b",Component:d}],Page:l});m();u()||_();window.__PNEXT_REGISTER_ENTRY__&&window.__PNEXT_REGISTER_ENTRY__(import.meta.url,{mountRoute:_,unmountRoute:w});export{_ as mountRoute,D as remountRoute,w as unmountRoute};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{qi as e}from"./core-DwsAMCnL.js";import{J as t,v as n}from"./errors-DO_IltpP.js";import r from"node:path";import{fileURLToPath as i}from"node:url";import a from"node:fs";var o=e({builtinFlowsDir:()=>c,discoverFlows:()=>d,flowsIn:()=>l,resolveFlow:()=>p});const s=[`.ts`,`.mjs`,`.js`];function c(){let e=r.dirname(i(import.meta.url)),t=e;for(;r.basename(t)!==`dist`&&r.dirname(t)!==t;)t=r.dirname(t);return r.basename(t)===`dist`?r.join(t,`flow`,`builtin`):r.join(e,`builtin`)}function l(e,t){let n=[];try{n=a.readdirSync(e)}catch{return[]}let i=[];for(let o of n.sort()){let n=r.extname(o);if(s.includes(n)&&!o.endsWith(`.d.ts`)){i.push({name:r.basename(o,n),path:r.join(e,o),scope:t});continue}let c=s.map(t=>r.join(e,o,`index${t}`)).find(e=>a.existsSync(e));c&&i.push({name:o,path:c,scope:t})}return i}function u(e){let i=t(e),a=[],o=r.resolve(e);for(;a.push({dir:r.join(o,`.coder`,`flows`),scope:`workspace`}),o!==i&&r.dirname(o)!==o;)o=r.dirname(o);return a.push({dir:n(`flows`),scope:`global`}),a}function d(e){let t=new Set,n=[];for(let{dir:r,scope:i}of u(e))for(let e of l(r,i))t.has(e.name)||(t.add(e.name),n.push(e));for(let e of l(c(),`builtin`))t.has(e.name)||n.push(e);return n}function f(e){return e.includes(`/`)||s.includes(r.extname(e))}function p(e,t){if(f(e)){let n=r.resolve(t,e);if(a.existsSync(n))return{name:r.basename(n,r.extname(n)),path:n};throw Error(`Flow file not found: ${e}`)}let n=d(t).find(t=>t.name===e);if(!n)throw Error(`No flow named "${e}". Run \`coder flow discover\` to see available flows.`);return{name:n.name,path:n.path,scope:n.scope}}export{p as a,l as i,d as n,o as r,c as t};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{qi as e}from"./core-DwsAMCnL.js";import{kn as t}from"./errors-DO_IltpP.js";import{Dt as n}from"./output-SNqdgh9A.js";import r from"node:path";import i from"node:fs";var a=e({collectTopics:()=>s,docsCore:()=>d});const o=[{name:`readme`,file:`README.md`,description:`What Coder is and how to get started.`},{name:`skill`,file:`plugins/agents/skills/coder/SKILL.md`,description:`How a host agent should drive Coder.`}];function s(e=t()){let n=r.join(e,`docs`),a=[];try{a=i.readdirSync(n,{withFileTypes:!0})}catch{a=[]}let s=(t,n)=>({name:t,file:n,description:l(r.join(e,n))}),u=[...new Set(a.filter(e=>e.isDirectory()?c(r.join(n,e.name)):e.name.endsWith(`.md`)).map(e=>e.isDirectory()?e.name:r.basename(e.name,`.md`)))].sort(),d=[];for(let e of u){let t=r.join(n,e);if(!a.some(t=>t.isDirectory()&&t.name===e)){d.push(s(e,r.join(`docs`,`${e}.md`)));continue}d.push(s(e,r.join(`docs`,e,`index.md`)));let o=i.readdirSync(t).filter(e=>e.endsWith(`.md`)&&e!==`index.md`).sort();for(let t of o){let n=r.basename(t,`.md`);d.push(s(`${e}/${n}`,r.join(`docs`,e,t)))}}return[...d,...o]}function c(e){return i.existsSync(r.join(e,`index.md`))}function l(e){let t=``;try{t=i.readFileSync(e,`utf8`)}catch{return``}let n=t.split(`
|
|
2
|
+
`),r=``,a=``,o=!1;for(let e of n){let t=e.trim();if(t.startsWith("```")){o=!o;continue}if(!(o||t===``||t.startsWith(`<!--`))){if(t.startsWith(`#`)){r||=t.replace(/^#+\s*/,``);continue}a=t;break}}return u(a)||r}function u(e){if(!e)return``;let t=e.match(/^.*?[.!?](?=\s|$)/);return(t?t[0]:e).trim()}function d(e,a={}){let o=t(),c=s(o);if(!e)return{topics:c.map(e=>({name:e.name,description:e.description}))};let l=e.toLowerCase(),u=c.find(e=>{let t=e.name.toLowerCase();return t===l||t.replace(`/`,`-`)===l});if(u?.name===`skill`&&a.claude&&(u={...u,file:`plugins/claude/skills/dispatch/SKILL.md`}),!u)throw new n(`invalid-option`,`Unknown docs topic "${e}". Available: ${c.map(e=>e.name).join(`, `)}`,{hint:`List topics: coder docs`});let d=r.join(o,u.file),f;try{f=i.readFileSync(d,`utf8`)}catch{throw new n(`invalid-option`,`Could not read docs for "${u.name}" (${u.file}).`)}return{name:u.name,content:f}}export{d as n,a as r,s as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{c as e}from"./args-Dqf5Y1RP.js";import{command as t}from"./cli.js";import{x as n}from"./executor-ufWRqhdS.js";import r from"node:process";const i=t({name:`drive`,description:`drive a run's orchestrator, detached`,access:`write`,args:{"run-id":e(),task:e(`the task this run reports to; it gets the result as a message`,`<id>`),tool:e(`with --task: the async tool the run answers for`,`<name>`),timeout:e(`with --task: stop the run after this many seconds`,`<s>`)},globalFlags:{json:!1},cli:{positional:[`run-id`]},mcp:!1,async run({args:[e],options:t,cwd:i}){if(!t.task)return n(e,i);let[{driveAsyncTool:a},{asyncTools:o}]=await Promise.all([import(`./async-Tj4zKHXR.js`).then(e=>e.t),import(`./tools-B6ZxcqRi.js`).then(e=>e.a)]),s=o.find(e=>e.name===t.tool);if(!s)throw Error(`Unknown async tool "${t.tool}"`);await a(s,e,i,t.task,t.timeout?Number(t.timeout):void 0),r.exit(0)}});export{i as commandDrive};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import{Nr as e}from"./errors-DO_IltpP.js";import"node:path";import{readFileSync as t}from"node:fs";function n(e){let t=[],n=[],r=[...e.skills??[]],i=(e,n=[])=>{for(let r of n){let n=[...e,r.name];t.push({path:n,id:n.join(`/`),command:r})}},a=(e,t=[])=>{for(let o of t){let t=[...e,o.name];n.push({path:t,namespace:o}),i(t,o.commands),r.push(...o.skills??[]),a(t,o.namespaces)}};return i([],e.commands),a([],e.namespaces),{commands:t,namespaces:n,skills:r}}function r(n){if(n.file===void 0)return{...n,text:e(n.body)};let r=t(n.file,`utf8`),i=/^---\r?\n([\s\S]*?)\r?\n---[ \t]*(\r?\n|$)/.exec(r),a={},o=(i?.[1]??``).split(/\r?\n/);for(let e=0;e<o.length;e++){let[,t,n=``]=/^([\w-]+):\s*(.*?)\s*$/.exec(o[e])??[];if(!t)continue;let r=/^[|>][+-]?$/.test(n),i=[];for(;r&&/^(\s|$)/.test(o[e+1]??`end`);)i.push(o[++e].trim());if(r){let e=i.join(`
|
|
2
|
+
`);a[t]=(n[0]===`|`?e:e.replace(/([^\n])\n(?=[^\n])/g,`$1 `).replace(/\n(\n+)/g,`$1`)).trim()}else a[t]=/^".*"$/.test(n)?JSON.parse(n):/^'.*'$/.test(n)?n.slice(1,-1).replaceAll(`''`,`'`):n}let s=n.name??a.name,c=n.description??a.description;if(!s||!c)throw Error(`contextjsx: skill file ${String(n.file)} needs a name and a description`);return{...n,name:s,description:c,text:r.slice(i?.[0].length??0).trim()}}function i(e){let t=globalThis.__zod_globalRegistry,n=Object.entries(e.args??{}),r=e.cli?.positional??[];return[...r.flatMap(e=>n.filter(([t])=>t===e)),...n.filter(([e])=>!r.includes(e))].map(([e,n])=>{let i=d(n)===`boolean`?u(n).defaultValue===!0?`--no-${e}`:`--${e}`:`--${e} <${e}>`,a=r.includes(e)?`<${e}>`:i,o=r.includes(e)?e:i;return{token:n._zod.optin?`[${o}]`:a,plain:a,description:t?.get(n)?.description??``}})}const a=(e,t)=>[...e,...i(t).map(e=>e.token)].join(` `),o=e=>{let t=Math.max(...e.map(([e])=>e.length));return e.map(([e,n])=>n?` ${e.padEnd(t)} ${n}`:` ${e}`).join(`
|
|
3
|
+
`)};function s(t){let i=(e,t=[],n=[])=>{let i=t.filter(e=>e.mcp!==!1).map(e=>e.name);return[i.length&&`${e}tools: ${i.join(` `)}`,n.length&&`${e}skills: ${n.map(e=>e.name??r(e).name).join(` `)}`]},a=[`${t.name}: ${t.description}`,...i(` `,t.commands,t.skills),...n(t).namespaces.flatMap(({path:e,namespace:t})=>{let n=` `.repeat(e.length);return[`${n}${t.name}: ${t.description}`,...i(`${n} `,t.commands,t.skills)]})].filter(Boolean).join(`
|
|
4
|
+
`);return[e(t.instructions),a].filter(Boolean).join(`
|
|
5
|
+
|
|
6
|
+
`)}function c(t,r){let{commands:s,namespaces:c}=n(t);if(!r||`commands`in r){let n=r?c.find(e=>e.namespace===r)?.path??[r.name]:[],{description:i,commands:s=[],namespaces:l=[]}=r??t,u=[...s.map(e=>[`${a([...n,e.name],e)}: ${e.description}`,``]),...l.map(e=>[`${[...n,e.name].join(` `)}: ${e.description}`,``])];return[n.join(` `)||t.name,i,e(r?.usage),u.length&&`Commands:\n${o(u)}`].filter(Boolean).join(`
|
|
7
|
+
|
|
8
|
+
`)}let l=s.find(e=>e.command===r)?.path??[r.name],u=i(r),{cli:d}=r;return[a(l,r),r.description,e(r.usage),u.length&&`Arguments:\n${o(u.map(e=>[e.plain,e.description]))}`,r.access===`read`&&`Read-only.`,d?.exit?.length&&`Exit codes:\n${o(d.exit.map(([e,t])=>[String(e),t]))}`,d?.env?.length&&`Environment:\n${o(d.env)}`,d?.examples?.length&&`Examples:\n${d.examples.map(e=>` ${e}`).join(`
|
|
9
|
+
`)}`].filter(Boolean).join(`
|
|
10
|
+
|
|
11
|
+
`)}var l=class extends Error{arg;constructor(e,t){super(e),this.name=`ParseError`,this.arg=t}};const u=e=>e._zod.def;function d(e){let t=u(e);for(;t.innerType??t.in;)t=u(t.innerType??t.in);return t.type===`union`&&t.options?.some(e=>u(e).values?.includes(!0))?`maybe`:t.type}function f(e,t){let n=e.args??{},r=e.cli?.positional??[],i={},a=[],o=e=>Object.hasOwn(n,e)?n[e]:void 0;for(let e=0;e<t.length;e++){let n=t[e];if(n===`--`){a.push(...t.slice(e+1));break}if(!n.startsWith(`-`)||n===`-`){a.push(n);continue}let s=n.startsWith(`--`)?`--`:`-`,c=n.slice(s.length),u=c.indexOf(`=`),f=u<0?c:c.slice(0,u),p=f.slice(3),m=o(p);if(s===`--`&&u<0&&f.startsWith(`no-`)&&!o(f)&&!r.includes(p)&&m&&d(m)===`boolean`){i[p]=!1;continue}let h=r.includes(f)?void 0:o(f);if(!h)throw new l(`Unknown option ${s}${f} (use -- to pass literal text starting with -)`,f);let g=d(h),_=u<0?void 0:c.slice(u+1);if(g===`boolean`){if(_!==void 0&&_!==`true`&&_!==`false`)throw new l(`Invalid ${s}${f} value ${JSON.stringify(_)}: expected true or false`,f);i[f]=_!==`false`}else{if(_===void 0){let n=t[e+1],r=n!==void 0&&n.startsWith(`-`)&&n!==`-`&&!/^-\d/.test(n);if(g===`maybe`&&(n===void 0||r)){i[f]=!0;continue}if(n===void 0||r)throw new l(`Missing value for ${s}${f}`,f);_=n,e++}i[f]=g===`array`?[...i[f]??[],_]:_}}let s=r.at(-1),c=s!==void 0&&d(n[s])===`array`;if(!c&&a.length>r.length){let e=a.slice(r.length);throw new l(`Unexpected argument${e.length>1?`s`:``}: ${e.join(` `)}`,e[0])}r.forEach((e,t)=>{t>=a.length||(i[e]=c&&e===s?a.slice(t):a[t])});let u=r.find((e,t)=>t>=a.length&&!n[e]?._zod.optin);if(u)throw new l(`Missing ${u}.`,u);let f={};for(let[e,t]of Object.entries(n)){let n=r.includes(e)?e:`--${e}`,a=t[`~standard`].validate(i[e]);if(a instanceof Promise)throw new l(`${n} has an async schema`,e);if(a.issues)throw new l(i[e]===void 0?`Missing required ${n}.`:`Invalid ${n} value ${JSON.stringify(i[e])}: ${a.issues[0]?.message}`,e);a.value!==void 0&&(f[e]=a.value)}return f}function p(e,t){let{commands:r,namespaces:i}=n(e),a,o=0,s=(e,n)=>{e.length<=o||!e.every((e,n)=>t[n]===e)||(o=e.length,a={...n,rest:t.slice(e.length)})};for(let{path:e,command:t}of r)s(e,{command:t,path:e});for(let{path:e,namespace:t}of i){for(let[n,r]of Object.entries(t.aliases??{}))for(let i of t.commands)i.name===r&&s([...e,n],{command:i,path:[...e,r]});s(e,{namespace:t,path:e})}return a}export{f as a,p as i,c as n,r as o,l as r,s,n as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Wi as e,Xt as t,Zt as n,dn as r,qi as i}from"./core-DwsAMCnL.js";import{Sn as a,X as o,_r as s,dr as c,fr as l,gr as u,hr as d,nr as f,pr as p,rr as m,sr as h,tr as g,ur as _,vr as v}from"./errors-DO_IltpP.js";import{Dt as y}from"./output-SNqdgh9A.js";import b from"node:process";import x from"node:os";var S=i({ISSUES_URL:()=>T,loadServerConfig:()=>M,requireBunServer:()=>P,rerunUnderBun:()=>F});const C=e=>f(g().check(h(),n()),e),w=p(l(s()),v(e=>e===`1`)),T=`https://github.com/muzam1l/coder/issues/new`,E=(e,n)=>s().check(t(e=>e.replace(/\/$/,``)),d(e=>URL.canParse(e),{error:`must be a URL`,abort:!0}),d(t=>e(new URL(t)),n)),D=e=>p(v(e=>e||void 0),e),O=p(s(),v((t,n)=>{try{let e=JSON.parse(t);if(e&&!Array.isArray(e)&&typeof e==`object`)return e}catch{}return n.issues.push({code:`custom`,message:`must be a JSON object`,input:t}),e})),k=c({AUTH_WULAR_URL:f(E(e=>e.protocol===`https:`||e.hostname===`localhost`,`must use HTTPS unless it is localhost`),`https://auth.wular.ai`)}),A=c({SERVER_LIMITS:D(l(p(O,u({principalPerMinute:l(_().check(h(),n())),authPerMinute:l(_().check(h(),n())),registerPerMinute:l(_().check(h(),n())),ipPerMinute:l(_().check(h(),n())),pairingPerMinute:l(_().check(h(),n())),concurrentTasks:l(_().check(h(),n()))})))),RUNNER:l(m([`local`,`local-docker`,`vercel-sandbox`,`github-actions`,`http`])),RUNNER_CONFIG:D(f(O,{})),WORK_DIR:l(s()),SERVER_ENCRYPTION_KEY:l(s()),SERVER_ENCRYPTION_KEY_PREVIOUS:l(s()),ADMIN_TOKEN:l(s()),PUBLIC_URL:D(l(E(e=>e.pathname===`/`&&!e.search&&!e.hash,`must be an origin, with no path, query or fragment`))),SERVER_NAME:l(s().check(r())),ISSUES_URL:D(l(E(()=>!0,`must be a URL`))),VERCEL_PROJECT_PRODUCTION_URL:l(s()),VERCEL_URL:l(s()),VERCEL:l(s()),DATABASE_URL:l(s()),POSTGRES_URL:l(s()),DATABASE_POOL_MAX:l(g().check(h(),n())),DATABASE_IDLE_TIMEOUT:l(g().check(h(),n())),MAX_TASKS:l(g().check(h(),n())),MAX_QUEUED:C(1e3),TASK_STALL:C(3e5),TASK_ATTEMPTS:C(2),TASK_TIMEOUT:C(18e5),CLAUDE_SUBSCRIPTIONS:w,CODEX_SUBSCRIPTIONS:w,SERVER_INTEGRATIONS:D(l(s())),SERVER_OPERATORS:D(l(s()))});function j(e,t){let n=e.safeParse(t);if(n.success)return n.data;let r=n.error.issues[0];throw new y(`invalid-option`,`Invalid server configuration:${String(r.path[0])} ${r.message}`)}function M(e=b.env,t=`node`){let n=j(A,e),r=n.DATABASE_URL??n.POSTGRES_URL,i=r?`postgres`:`memory`;if(i===`postgres`&&!n.SERVER_ENCRYPTION_KEY)throw new y(`invalid-option`,`SERVER_ENCRYPTION_KEY is required with DATABASE_URL`);let a=t===`vercel`?n.VERCEL_PROJECT_PRODUCTION_URL??n.VERCEL_URL:void 0,s=n.PUBLIC_URL??(a?`https://${a}`:void 0),c=i===`postgres`?j(k,e).AUTH_WULAR_URL:void 0;return{runner:n.RUNNER??(t===`vercel`||n.VERCEL?`vercel-sandbox`:`local`),store:i,workDir:n.WORK_DIR??o(),...n.SERVER_ENCRYPTION_KEY?{encryptionKey:n.SERVER_ENCRYPTION_KEY}:{},...n.SERVER_ENCRYPTION_KEY_PREVIOUS?{previousEncryptionKey:n.SERVER_ENCRYPTION_KEY_PREVIOUS}:{},...n.ADMIN_TOKEN?{adminToken:n.ADMIN_TOKEN}:{},...s?{publicUrl:s}:{},...n.SERVER_NAME?{name:n.SERVER_NAME}:{},issuesUrl:n.ISSUES_URL??`https://github.com/muzam1l/coder/issues/new`,...r?{databaseUrl:r,databasePool:{max:n.DATABASE_POOL_MAX??(t===`vercel`||n.VERCEL?2:10),idleTimeout:n.DATABASE_IDLE_TIMEOUT??(t===`vercel`||n.VERCEL?30:240)}}:{},runnerConfig:n.RUNNER_CONFIG,maxTasks:n.MAX_TASKS,limits:n.SERVER_LIMITS,maxQueued:n.MAX_QUEUED,taskTimeoutMs:n.TASK_TIMEOUT,taskStallMs:n.TASK_STALL,taskAttempts:n.TASK_ATTEMPTS,...n.CLAUDE_SUBSCRIPTIONS||n.CODEX_SUBSCRIPTIONS?{subscriptions:{claude:n.CLAUDE_SUBSCRIPTIONS,codex:n.CODEX_SUBSCRIPTIONS}}:{},...c?{auth:{wular:{url:c}}}:{},...n.SERVER_INTEGRATIONS?{integrations:n.SERVER_INTEGRATIONS.split(`,`).map(e=>e.trim()).filter(Boolean)}:{},...n.SERVER_OPERATORS?{operators:n.SERVER_OPERATORS.split(`,`).map(e=>e.trim()).filter(Boolean)}:{}}}function N(){return new y(`invalid-option`,`The Coder server needs Bun; the CLI itself runs on Node.`,{hint:[b.platform===`win32`?`Install Bun: powershell -c "irm bun.sh/install.ps1 | iex"`:`Install Bun: curl -fsSL https://bun.sh/install | bash`,`Or with npm: npm install -g bun`,`Then run the command again. More: https://bun.sh/docs/installation`]})}function P(){if(typeof Bun>`u`)throw N()}async function F(){if(typeof Bun<`u`)return;let e=b.platform===`win32`?[`bun.exe`,`bun.cmd`,`bun`]:[`bun`];for(let t of e){let e=await a(t);if(e.error?.code!==`ENOENT`&&e.error?.code!==`EINVAL`){if(e.error)throw e.error;if(e.signal){let t=x.constants.signals[e.signal];b.exit(typeof t==`number`?128+t:1)}b.exit(e.status??1)}}throw N()}export{M as n,P as r,S as t};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import{$t as e,Cr as t,Di as n,Ei as r,Er as i,Fi as a,Gr as o,Hr as s,Ir as c,Jr as l,Kn as u,Lr as d,Ni as f,Oi as ee,Or as te,Pn as ne,Pr as re,Rt as p,Tn as ie,Tr as ae,Ui as m,Ur as oe,Vr as se,Wt as ce,X as le,Yn as ue,Yr as de,Yt as fe,Zt as pe,_i as me,bi as he,br as ge,en as _e,er as ve,gn as ye,gt as be,hr as xe,in as Se,kr as Ce,nt as we,vi as Te,vn as Ee,wr as De,yi as Oe,yt as ke,zi as Ae,zn as je}from"./core-DwsAMCnL.js";import h from"node:path";import g from"node:process";import{fileURLToPath as Me}from"node:url";import _ from"node:fs";import{execFileSync as Ne,spawn as v,spawnSync as Pe}from"node:child_process";import Fe,{createHash as y,randomUUID as b}from"node:crypto";import x from"node:os";import S from"node:net";import Ie from"node:readline";import{channel as Le}from"node:diagnostics_channel";import Re from"node:http";function C(e,t){return{type:e,props:t}}const ze=C;function Be(e){return e.children}function w(e){return e.children}const Ve={"&":`&`,"<":`<`,">":`>`,'"':`"`,"'":`'`},He=(e,t)=>e.replace(t,e=>Ve[e]);function T(e,t,n){if(e==null||typeof e==`boolean`)return;if(typeof e==`string`||typeof e==`number`){let r=String(e);n.push(t?He(r,/[&<>]/g):r);return}if(Array.isArray(e)){for(let r of e)T(r,t,n);return}let{type:r,props:i}=e,a=i.children;if(r===w)return i.value!==void 0&&T(JSON.stringify(i.value,null,2),!0,n),T(a,!0,n);if(typeof r==`function`)return T(r(i),t,n);let o=[];T(a,t,o);let s=Ue(o);if(!s.length&&!i.keep)return;let c=``;for(let e in i){let t=i[e];if(e!==`children`&&e!==`keep`&&t!=null){if(typeof t!=`string`&&typeof t!=`number`&&typeof t!=`boolean`)throw Error(`contextjsx: attribute ${e} on <${r}> must be a string, number or boolean`);c+=` ${e}="${He(String(t),/[&<>"']/g)}"`}}n.push({name:r,attributes:c,children:s})}function Ue(e){let t=[],n=``,r=()=>{let e=n.trim();e&&t.push(e),n=``};for(let i of e)typeof i==`string`?n+=i:(r(),t.push(i));return r(),t}function We(e,t,n){return e.map(e=>typeof e==`string`?t?e.replace(/^(?=.)/gm,t):e:e.children.length?`${t}<${e.name}${e.attributes}>\n${We(e.children,t+n,n)}\n${t}</${e.name}>`:`${t}<${e.name}${e.attributes}/>`).join(`
|
|
2
|
+
`)}function Ge(e,t={}){let n=[];return T(e,!1,n),We(Ue(n),``,` `.repeat(t.indent??1))}function Ke(e){return e}function qe(e){return e}function Je(e){return e}function Ye(e){return e}function Xe(e,t){if(!t)return``;if(!h.isAbsolute(t))return t;let n=h.relative(e,t);return n&&!n.startsWith(`..`)?n:t}function Ze(e){try{return JSON.parse(_.readFileSync(e,`utf8`))}catch{return null}}function Qe(e,t){_.mkdirSync(h.dirname(e),{recursive:!0});let n=`${e}.${process.pid}.${b()}.tmp`;try{_.writeFileSync(n,t,{encoding:`utf8`,flag:`wx`}),_.renameSync(n,e)}finally{_.rmSync(n,{force:!0})}}function $e(e,t){Qe(e,`${JSON.stringify(t,null,2)}\n`)}function et(e,t){if(_.mkdirSync(h.dirname(t),{recursive:!0}),_.existsSync(t))throw Object.assign(Error(`Directory already exists: ${t}`),{code:`EEXIST`});try{_.renameSync(e,t);return}catch(e){if(e.code!==`EXDEV`)throw e}let n=`${t}.${process.pid}.${b()}.tmp`;try{_.cpSync(e,n,{recursive:!0,preserveTimestamps:!0,verbatimSymlinks:!0,errorOnExist:!0,force:!1}),_.renameSync(n,t),_.rmSync(e,{recursive:!0})}finally{_.rmSync(n,{recursive:!0,force:!0})}}async function tt(e,t){if(await _.promises.mkdir(h.dirname(t),{recursive:!0}),await _.promises.lstat(t).catch(e=>{if(e.code!==`ENOENT`)throw e}))throw Object.assign(Error(`Directory already exists: ${t}`),{code:`EEXIST`});try{await _.promises.rename(e,t);return}catch(e){if(e.code!==`EXDEV`)throw e}let n=`${t}.${process.pid}.${b()}.tmp`;try{await _.promises.cp(e,n,{recursive:!0,preserveTimestamps:!0,verbatimSymlinks:!0,errorOnExist:!0,force:!1}),await _.promises.rename(n,t),await _.promises.rm(e,{recursive:!0})}finally{await _.promises.rm(n,{recursive:!0,force:!0})}}function nt(e,t=0){let n=t,r=``;return()=>{let t;try{t=_.statSync(e).size}catch{return[]}if(t<n&&(n=0,r=``),t===n)return[];let i;try{i=_.openSync(e,`r`)}catch{return[]}try{let e=Buffer.alloc(t-n),a=_.readSync(i,e,0,e.length,n);n+=a;let o=(r+e.toString(`utf8`,0,a)).split(`
|
|
3
|
+
`);return r=o.pop()??``,o.filter(Boolean)}finally{_.closeSync(i)}}}function rt(e,t){let n=!1,r=!1,i=new Set,a=()=>{n=!0;for(let e of[...i])e()},o=e?setImmediate(()=>{a(),t?.(null)}):void 0,s;try{e&&(s=_.watch(e,{persistent:!1},(e,n)=>{a(),t?.(n)})),s?.on(`error`,a)}catch{}return{notify:a,wait(e,t){return r||n||t?.aborted||e<=0?(n=!1,Promise.resolve()):new Promise(r=>{let a=()=>{clearTimeout(o),t?.removeEventListener(`abort`,a),i.delete(a),n=!1,r()},o=setTimeout(a,e);i.add(a),t?.addEventListener(`abort`,a,{once:!0})})},async until(e,t,n,i=3e4){let a=Date.now()+t;try{for(;;){let t=await e();if(t!==void 0||r||Date.now()>=a||n?.aborted)return t;await this.wait(Math.min(i,a-Date.now()),n)}}finally{this.close()}},close(){r=!0,clearImmediate(o),s?.close();for(let e of[...i])e()}}}async function it(e,t,n=3e4,r=1/0){_.mkdirSync(h.dirname(e),{recursive:!0});let i=_.mkdtempSync(`${e}-`),a=`${process.pid}-${b()}`;_.mkdirSync(h.join(i,a));let o=rt(h.dirname(e)),s=Date.now()+r,c=!1,l;try{for(;!c;)try{if(_.existsSync(e))throw Object.assign(Error(`Lock is held`),{code:`EEXIST`});_.renameSync(i,e),c=!0}catch(t){if(![`EEXIST`,`ENOTEMPTY`,`ENOTDIR`].includes(t.code??``))throw t;try{let t=_.statSync(e).isFile(),r=t?[``]:_.readdirSync(e);for(let i of r){let r=t?e:h.join(e,i),a=Number(t?_.readFileSync(e,`utf8`):i.split(`-`)[0]),o=(!t||!a)&&Date.now()-_.statSync(r).mtimeMs>n;if(a)try{process.kill(a,0)}catch(e){o||=e.code===`ESRCH`}o&&(t?_.unlinkSync(r):_.rmdirSync(r))}!t&&(r.length||n===1/0||Date.now()-_.statSync(e).mtimeMs>n)&&_.rmdirSync(e)}catch{}if(Date.now()>=s)throw Error(`File lock wait timed out`);await o.wait(Math.min(200,n,s-Date.now()))}return l=setInterval(()=>{try{_.utimesSync(h.join(e,a),new Date,new Date)}catch{}},1e3),l.unref(),await t()}finally{if(o.close(),clearInterval(l),c){try{_.rmdirSync(h.join(e,a))}catch{}try{_.rmdirSync(e)}catch{}}else _.rmSync(i,{recursive:!0,force:!0})}}const E=m(`ZodMiniType`,(e,t)=>{if(!e._zod)throw Error(`Uninitialized schema in ZodMiniType.`);oe.init(e,t),e.def=t,e.type=t.type,e.parse=(t,n)=>me(e,t,n,{callee:e.parse}),e.safeParse=(t,n)=>Oe(e,t,n),e.parseAsync=async(t,n)=>Te(e,t,n,{callee:e.parseAsync}),e.safeParseAsync=async(t,n)=>he(e,t,n),e.check=(...n)=>e.clone({...t,checks:[...t.checks??[],...n.map(e=>typeof e==`function`?{_zod:{check:e,def:{check:`custom`},onattach:[]}}:e)]},{parent:!0}),e.with=e.check,e.clone=(t,n)=>r(e,t,n),e.brand=()=>e,e.register=((t,n)=>(t.add(e,n),e)),e.apply=t=>t(e)}),at=m(`ZodMiniString`,(e,t)=>{c.init(e,t),E.init(e,t)});function D(e){return Se(at,e)}const ot=m(`ZodMiniStringFormat`,(e,t)=>{d.init(e,t),at.init(e,t)}),st=m(`ZodMiniURL`,(e,t)=>{o.init(e,t),ot.init(e,t)});function ct(e){return Ee(st,e)}const lt=m(`ZodMiniNumber`,(e,t)=>{De.init(e,t),E.init(e,t)});function ut(e){return fe(lt,e)}const dt=m(`ZodMiniNumberFormat`,(e,t)=>{ae.init(e,t),lt.init(e,t)});function ft(e){return ke(dt,e)}const pt=m(`ZodMiniBoolean`,(e,t)=>{je.init(e,t),E.init(e,t)});function O(e){return le(pt,e)}const mt=m(`ZodMiniUnknown`,(e,t)=>{de.init(e,t),E.init(e,t)});function ht(){return ye(mt)}const gt=m(`ZodMiniNever`,(e,t)=>{ge.init(e,t),E.init(e,t)});function _t(e){return ce(gt,e)}const vt=m(`ZodMiniArray`,(e,t)=>{ne.init(e,t),E.init(e,t)});function k(e,t){return new vt({type:`array`,element:e,...f(t)})}const yt=m(`ZodMiniObject`,(e,t)=>{i.init(e,t),E.init(e,t),n(e,`shape`,()=>t.shape)});function bt(e,t){let n={type:`object`,shape:e??{},...f(t)};return new yt(n)}function A(e,t){return new yt({type:`object`,shape:e,catchall:_t(),...f(t)})}function xt(e,t){return ee(e,t)}function j(e,t){return a(Mt,e,t)}const St=m(`ZodMiniUnion`,(e,t)=>{l.init(e,t),E.init(e,t)});function Ct(e,t){return new St({type:`union`,options:e,...f(t)})}const wt=m(`ZodMiniTuple`,(e,t)=>{s.init(e,t),E.init(e,t)});function Tt(e,t,n){let r=t instanceof oe;return new wt({type:`tuple`,items:e,rest:r?t:null,...f(r?n:t)})}const Et=m(`ZodMiniRecord`,(e,t)=>{re.init(e,t),E.init(e,t)});function M(e,t,n){return!t||!t._zod?new Et({type:`record`,keyType:D(),valueType:e,...f(t)}):new Et({type:`record`,keyType:e,valueType:t,...f(n)})}const Dt=m(`ZodMiniEnum`,(e,t)=>{ve.init(e,t),E.init(e,t),e.options=Object.values(t.entries)});function N(e,t){let n=Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e;return new Dt({type:`enum`,entries:n,...f(t)})}const Ot=m(`ZodMiniLiteral`,(e,t)=>{xe.init(e,t),E.init(e,t)});function kt(e,t){return new Ot({type:`literal`,values:Array.isArray(e)?e:[e],...f(t)})}const At=m(`ZodMiniTransform`,(e,t)=>{se.init(e,t),E.init(e,t)});function jt(e){return new At({type:`transform`,transform:e})}const Mt=m(`ZodMiniOptional`,(e,t)=>{te.init(e,t),E.init(e,t)});function P(e){return new Mt({type:`optional`,innerType:e})}const Nt=m(`ZodMiniNullable`,(e,n)=>{t.init(e,n),E.init(e,n)});function Pt(e){return new Nt({type:`nullable`,innerType:e})}const Ft=m(`ZodMiniDefault`,(e,t)=>{ue.init(e,t),E.init(e,t)});function It(e,t){return new Ft({type:`default`,innerType:e,get defaultValue(){return typeof t==`function`?t():Ae(t)}})}const Lt=m(`ZodMiniPipe`,(e,t)=>{Ce.init(e,t),E.init(e,t)});function Rt(e,t){return new Lt({type:`pipe`,in:e,out:t})}const zt=m(`ZodMiniCustom`,(e,t)=>{u.init(e,t),E.init(e,t)});function Bt(t,n={}){return e(zt,t,n)}const Vt=ie;function Ht(e){return we(lt,e)}const F=D().check(p(1)),Ut=bt({access_token:F,token_type:D().check(Bt(e=>e.toLowerCase()===`bearer`)),refresh_token:P(F),expires_in:P(ut().check(be(0))),scope:P(D()),name:P(F),preferred_username:P(F),email:P(F)}),Wt=bt({error:F});function Gt(e){let t=new URL(e),n=t.hostname===`localhost`||t.hostname===`[::1]`||/^127\.(?:\d{1,3}\.){2}\d{1,3}$/.test(t.hostname);if(t.protocol!==`https:`&&!(t.protocol===`http:`&&n)||t.username||t.password||t.hash)throw Error(`OAuth URLs require HTTPS or loopback and no credentials or fragment.`);return t}async function Kt(e,t,n={}){let r=Gt(t).origin;for(let i=0;i<5;i++){let i=await e(t,{...n,redirect:`manual`,signal:n.signal??AbortSignal.timeout(15e3)});if(i.status<300||i.status>=400)return i;let a=i.headers.get(`location`);if(!a)throw Error(`OAuth redirect has no location.`);let o=Gt(new URL(a,t).href);if(o.origin!==r)throw Error(`OAuth redirect changed origin.`);if(await i.body?.cancel(),i.status===303||(i.status===301||i.status===302)&&n.method===`POST`)throw Error(`OAuth redirect would discard the request body.`);t=o.href}throw Error(`Too many OAuth redirects.`)}function qt(e,t){let n=new Headers({"content-type":`application/x-www-form-urlencoded`,accept:`application/json`}),r=e.tokenEndpointAuthMethod??(e.clientSecret?`client_secret_basic`:`none`);if(r!==`none`&&!e.clientSecret)throw Error(`OAuth client secret is missing.`);if(r===`client_secret_basic`){let t=e=>new URLSearchParams({v:e}).toString().slice(2);n.set(`authorization`,`Basic ${Buffer.from(`${t(e.clientId)}:${t(e.clientSecret)}`).toString(`base64`)}`)}else t.set(`client_id`,e.clientId),r===`client_secret_post`&&t.set(`client_secret`,e.clientSecret);return n}async function Jt(e,t,n){n.set(`resource`,t.resource);let r=qt(t,n),i=await Kt(e,t.tokenEndpoint,{method:`POST`,headers:r,body:n}),a=await i.json();if(!i.ok){let e=Wt.safeParse(a);throw n.get(`grant_type`)===`refresh_token`&&i.status>=400&&i.status<500&&e.success&&[`invalid_grant`,`invalid_client`].includes(e.data.error)?new Zt(`The OAuth connection must be reconnected.`):Error(`OAuth token request failed.`)}return Ut.parse(a)}function Yt(e,t,n){return{...e,accessToken:t.access_token,refreshToken:t.refresh_token??e.refreshToken,expiresAt:t.expires_in===void 0?void 0:n+t.expires_in*1e3,scope:t.scope??e.scope}}async function Xt(e){let{secret:t,now:n}=e;if(!e.force&&t.accessToken&&(t.expiresAt===void 0?!t.refreshToken:t.expiresAt-n>=6e4))return t.accessToken;if(!t.refreshToken)throw new Zt(`The OAuth connection must be reconnected.`);let r=Yt(t,await Jt(e.fetch,t,new URLSearchParams({grant_type:`refresh_token`,refresh_token:t.refreshToken})),n);return await e.save(r),r.accessToken}var Zt=class extends Error{},Qt=class extends Error{authenticate;constructor(e,t){super(e),this.authenticate=t}};function $t(e){return/^[A-Z][A-Z0-9_]*$/.test(e)&&!/^(CODER_|CODEX_|LD_|DYLD_|GIT_|APP_TOKEN(?:_|$))/.test(e)&&![`PATH`,`HOME`,`SHELL`,`USER`,`PWD`,`TMPDIR`,`NODE_OPTIONS`,`NODE_PATH`,`BASH_ENV`,`ENV`,`OPENAI_API_KEY`,`ANTHROPIC_API_KEY`,`CLAUDE_CODE_OAUTH_TOKEN`,`CODEX_AUTH_JSON`,`CODEX_HOME`,`CLAUDE_CONFIG_DIR`,`OPENAI_BASE_URL`,`ANTHROPIC_BASE_URL`].includes(e)}function en(e,t){return t?e?t.filter(t=>e.includes(t)):t:e}function tn(e){let t=new Set,n=new Set;for(let r of e){if(r.provider!==`env`||!r.keyIn||!(`env`in r.keyIn))continue;let e=r.keyIn.env;t.has(e)&&n.add(e),t.add(e)}return n}function nn(e=process.env){let t=JSON.parse(e.CODER_CONNECTION_ENV_VALUES??`{}`);return Object.fromEntries(Object.entries(t).filter(e=>$t(e[0])&&typeof e[1]==`string`))}function rn(e=process.env){let t=Object.entries(nn(e)).sort(([e],[t])=>e.localeCompare(t));return t.length?y(`sha256`).update(JSON.stringify(t)).digest(`hex`):void 0}function I(e=process.env){return{...Object.fromEntries(Object.entries(e).filter(([e])=>!e.startsWith(`CODER_CONNECTION_`)&&e!==`CODER_MCP_CONNECTION_ENV`)),...Object.fromEntries(Object.entries(nn(e)).filter(([t])=>e[t]===void 0))}}function an(e){let t={};for(let n of Object.values(e))for(let[e,r]of Object.entries(n.env??{}))t[e]=Object.hasOwn(t,e)?null:r;return t}const on=e=>e instanceof Qt||e instanceof Zt,sn=(e,t)=>on(t)?`${e} needs reconnecting.`:`${e} is temporarily unavailable; skipped for this task.`;function cn(e){if(e.status===401||e.status===403)throw new Qt(`MCP credential was refused`,e.headers.get(`www-authenticate`)??void 0);if(!e.ok)throw Error(`MCP did not answer`)}const ln=e=>/^[a-zA-Z0-9_.-]{1,128}$/.test(e);function un(e,t){return!e.username&&!e.password&&(t||!/^(?:(?:[a-z0-9_-]+\.)*localhost\.?|127\.\d+\.\d+\.\d+|\[::1\]|\[::ffff:7f[0-9a-f]{2}:[0-9a-f]{1,4}\])$/i.test(e.hostname))&&(e.protocol===`https:`||e.protocol===`http:`&&[`localhost`,`127.0.0.1`,`[::1]`].includes(e.hostname))}function L(e,t){try{return JSON.parse(_.readFileSync(e,`utf8`))}catch(e){if(e.code===`ENOENT`)return t;throw e}}function R(e,t){_.mkdirSync(h.dirname(e),{recursive:!0});let n=`${e}.${process.pid}.tmp`;try{_.writeFileSync(n,`${JSON.stringify(t,null,2)}\n`,{mode:384}),_.chmodSync(n,384),_.renameSync(n,e)}finally{_.rmSync(n,{force:!0})}}var dn=class{secrets;file;credentialFile;lock;constructor(e=K(),t=process.platform,n){this.file=h.join(e,`connections.json`),this.credentialFile=h.join(e,`local-credentials.json`),this.lock=h.join(e,`state`,`global`,`connections.lock`);let r=h.join(e,`credentials.json`);this.secrets=n??(t===`darwin`?{get(e){try{return Ne(`security`,[`find-generic-password`,`-s`,`coder`,`-a`,e,`-w`],{encoding:`utf8`,stdio:[`ignore`,`pipe`,`pipe`]}).trimEnd()}catch(e){if(e.status===44)return;throw Error(`Could not read the connection keychain`)}},put(e,t){try{let n=e=>`"`+e.replaceAll(`\\`,`\\\\`).replaceAll(`"`,`\\"`)+`"`;if(/[\r\n\0]/.test(e+t))throw Error(`Invalid keychain value`);Ne(`security`,[`-i`],{input:`add-generic-password -U -s coder -a ${n(e)} -w ${n(t)}\n`,stdio:[`pipe`,`pipe`,`pipe`]})}catch{throw Error(`Could not save the connection keychain`)}},delete(e){try{Ne(`security`,[`delete-generic-password`,`-s`,`coder`,`-a`,e],{stdio:[`ignore`,`pipe`,`pipe`]})}catch(e){if(e.status!==44)throw Error(`Could not remove the connection keychain`)}}}:{get:e=>L(r,{})[e],put(e,t){R(r,{...L(r,{}),[e]:t})},delete(e){let t=L(r,{});delete t[e],R(r,t)}})}async withLock(e,t){return it(t===void 0?this.lock:`${this.lock}-${y(`sha256`).update(t).digest(`hex`)}`,e)}list(){return Object.values(L(this.file,{}))}get(e){let t=this.list().find(t=>t.id===e);if(!t)return;let n;try{n=t.auth===`none`?void 0:this.secrets.get(e)}catch{return{...t,broken:{at:Date.now(),reason:`Needs reconnecting`}}}return{...t,...n?{secret:n}:{}}}put(e){if(e.provider===`env`&&(e.auth!==`key`||e.access!==`write`||e.endpoint||e.secret||!e.credential||!e.keyIn||!(`env`in e.keyIn)||!$t(e.keyIn.env)))throw Error(`Invalid environment connection`);let{secret:t,...n}=e,r=L(this.file,{});t?this.secrets.put(e.id,t):r[e.id]?.auth!==`none`&&r[e.id]&&this.secrets.delete(e.id),r[e.id]=n,R(this.file,r)}delete(e){let t=L(this.file,{}),n=t[e]&&t[e].auth!==`none`;delete t[e],R(this.file,t),n&&this.secrets.delete(e)}credentials(){return Object.entries(L(this.credentialFile,{})).flatMap(([e,t])=>{let n=this.secrets.get(`credential/${e}`);return n?[{id:e,value:{...t,...JSON.parse(n)}}]:[]})}credential(e){let t=L(this.credentialFile,{})[e];if(!t)return;let n=this.secrets.get(`credential/${e}`);return n?{...t,...JSON.parse(n)}:void 0}putCredential(e,t){let{iv:n,tag:r,ciphertext:i,...a}=t;this.secrets.put(`credential/${e}`,JSON.stringify({iv:n,tag:r,ciphertext:i})),R(this.credentialFile,{...L(this.credentialFile,{}),[e]:a})}deleteCredential(e){let t=L(this.credentialFile,{});delete t[e],R(this.credentialFile,t),this.secrets.delete(`credential/${e}`)}};async function fn(e,t=fetch,n){let r=`2025-11-25`,i=e=>n?Promise.race([e,new Promise((e,t)=>{let r=()=>t(n.reason??Error(`MCP startup timed out`));n.aborted&&r(),n.addEventListener(`abort`,r,{once:!0})})]):e,a=await i(e.command?pn(e):mn(e,t,()=>r)),o=1,s=(e,t,n)=>a.rpc(e,t,o++,n),c,l={initialize:()=>c??=i(s(`initialize`,{protocolVersion:r,capabilities:{},clientInfo:{name:`coder`,version:`1`}},n).then(async e=>{r=e?.protocolVersion??r,await a.rpc(`notifications/initialized`)})),async tools(){await l.initialize();let e=[],t=new Set,r;do{let a=await i(s(`tools/list`,r===void 0?{}:{cursor:r},n));if(!Array.isArray(a?.tools))throw Error(`Invalid tools`);if(e.push(...a.tools.filter(e=>typeof e.name==`string`)),r=a.nextCursor,r!==void 0){if(typeof r!=`string`||t.has(r))throw Error(`Invalid tools cursor`);t.add(r)}}while(r!==void 0);return e},async call(e,t){return await l.initialize(),s(`tools/call`,{name:e,arguments:t})},close:()=>a.close()};return l}async function pn(e){let{spawn:t}=await import(`node:child_process`),n=await import(`node:readline`),r=t(e.command,e.args??[],{env:{...process.env,...e.env},stdio:[`pipe`,`pipe`,`inherit`]}),i=new Map,a,o=e=>{a=e;for(let t of i.values())t.reject(e);i.clear()};return r.once(`error`,t=>o(Error(`MCP server ${e.name} could not start: ${t.message}`))),r.once(`close`,t=>o(Error(`MCP server ${e.name} exited with status ${t}`))),r.stdin.on(`error`,o),n.createInterface({input:r.stdout,terminal:!1}).on(`line`,e=>{let t;try{t=JSON.parse(e)}catch{return}let n=t.id===void 0?void 0:i.get(t.id);n&&(i.delete(t.id),t.error?n.reject(Error(t.error.message??`MCP error`)):n.resolve(t.result))}),{rpc(e,t,n,o){if(a)return Promise.reject(a);let s=n===void 0?Promise.resolve(void 0):new Promise((e,t)=>i.set(n,{resolve:e,reject:t}));return r.stdin.write(`${JSON.stringify({jsonrpc:`2.0`,method:e,...n===void 0?{}:{id:n},...t?{params:t}:{}})}\n`),s},async close(){r.stdin.end(),r.kill()}}}async function mn(e,t,n){let r,i=()=>({...e.headers,"mcp-protocol-version":n(),...r?{"mcp-session-id":r}:{}});return{async rpc(n,a,o,s){let c=await t(e.url,{method:`POST`,redirect:`manual`,...s?{signal:s}:{},headers:{...i(),"content-type":`application/json`,accept:`application/json, text/event-stream`},body:JSON.stringify({jsonrpc:`2.0`,method:n,...o===void 0?{}:{id:o},...a?{params:a}:{}})});if(cn(c),r=c.headers.get(`mcp-session-id`)??r,o===void 0){await c.body?.cancel();return}let l=await c.text(),u=(c.headers.get(`content-type`)?.includes(`text/event-stream`)?l.split(/\r?\n\r?\n/).flatMap(e=>{let t=e.split(/\r?\n/).filter(e=>e.startsWith(`data:`)).map(e=>e.slice(5).trimStart()).join(`
|
|
4
|
+
`);return t?[JSON.parse(t)]:[]}):[JSON.parse(l)]).find(e=>e.id===o);if(!u?.result||u.error)throw Error(`Invalid MCP response`);return u.result},async close(){r&&await t(e.url,{method:`DELETE`,redirect:`manual`,headers:i()}).then(e=>e.body?.cancel()).catch(()=>{})}}}async function hn(e,t,n=fetch){if(!e.endpoint)throw Error(`Missing endpoint`);let r={...e.endpoint,name:e.id};if(t)if(r.command){if(!e.keyIn||!(`env`in e.keyIn))throw Error(`Missing key env`);r.env={...r.env,[e.keyIn.env]:t},r.credentialFields={env:e.keyIn.env}}else{let n=e.keyIn&&`header`in e.keyIn?e.keyIn.header:`Authorization`;r.headers={...r.headers,[n]:n.toLowerCase()===`authorization`?`Bearer ${t}`:t},r.credentialFields={header:n}}if(r.command){if(e.access===`read`&&!r.tools?.length)throw Error(`Read-only requires tools`);return r}let i=await fn(r,n,AbortSignal.timeout(5e3));try{return await i.initialize(),e.access===`write`?r:(r.tools=(await i.tools()).filter(t=>ln(t.name)&&t.annotations?.readOnlyHint===!0&&(!e.endpoint?.tools?.length||e.endpoint.tools.includes(t.name))).map(e=>e.name),r.tools.length?r:void 0)}finally{await i.close()}}function gn(e,t={}){let n=new Set(vn()),r=Object.keys(t).length?{CODER_CONNECTION_ENV_VALUES:JSON.stringify(t)}:{};return{mcp:Object.fromEntries(Object.entries(e).map(([e,t])=>{let{credentialFields:i,...a}=t,o=a=>t[a]&&Object.fromEntries(Object.entries(t[a]).map(([t,o])=>{if(!(t===i?.[a===`env`?`env`:`header`]||n.has(o)))return[t,o];let s=`CODER_CONNECTION_${y(`sha256`).update(`${e}:${a}:${t}`).digest(`hex`).slice(0,24).toUpperCase()}`;return r[s]=o,[t,"${"+s+`}`]}));return[e,{...a,...t.env?{env:o(`env`)}:{},...t.headers?{headers:o(`headers`)}:{}}]})),env:r}}async function _n(e,t,n=new dn,r=`write`){let i=t??n.list().filter(t=>!t.owner&&(e===void 0||e.includes(t.id))).map(e=>e.id),a={},o={},s=[],c=tn(n.list().filter(e=>i.includes(e.id)&&!e.owner));return await Promise.all(i.map(async e=>{let t=n.get(e);if(!t||t.owner||![`mcp`,`env`].includes(t.provider))return;if(t.provider===`env`&&(t.auth!==`key`||t.access!==`write`||t.endpoint||!t.credential||!t.keyIn||!(`env`in t.keyIn)||!$t(t.keyIn.env)||c.has(t.keyIn.env)||process.env[t.keyIn.env]!==void 0)){s.push(sn(t.name,Error(`Invalid environment connection`)));return}if(t.broken){s.push(`${t.name} needs reconnecting.`);return}if(t.provider===`env`){let e=t.keyIn.env;try{let r=n.credential(t.credential),i=r?.iv===`plain`?JSON.parse(Buffer.from(r.ciphertext,`base64`).toString(`utf8`)).env[e]:void 0;if(!i)throw Error(`Missing credential`);o[e]=i}catch(e){s.push(sn(t.name,e))}return}let i=async(r=!1,i)=>n.withLock(async()=>{let a=n.get(e);if(!a||a.owner||a.broken||a.auth!==t.auth)throw Error(`Connection changed during resolution`);if(t=a,!a.secret)throw Error(`Missing credential`);let o=a.secret.startsWith(`plain.`)?JSON.parse(Buffer.from(a.secret.slice(6),`base64`).toString(`utf8`)):{key:a.secret};return a.auth===`key`?o.key:Xt({secret:o,fetch,now:Date.now(),force:r&&o.accessToken===i,save:async t=>n.withLock(async()=>{let r=n.get(e);if(!r||r.secret!==a.secret||r.auth!==a.auth||r.owner!==a.owner)throw Error(`Connection changed during refresh`);a.secret=`plain.${Buffer.from(JSON.stringify(t)).toString(`base64`)}`,n.put(a)})})},e);try{let n=t.auth===`none`?void 0:await i();if(t.auth!==`none`&&!n)throw Error(`Missing credential`);let o;try{o=await hn({...t,access:t.access??r},n)}catch(e){if(!(e instanceof Qt)||t.auth!==`oauth`)throw e;n=await i(!0,n),o=await hn({...t,access:t.access??r},n)}o&&(a[e]={...o,description:t.name,access:t.access??r})}catch(r){on(r)&&await n.withLock(async()=>{let r=n.get(e);r&&r.secret===t.secret&&n.put({...r,broken:{at:Date.now(),reason:`Needs reconnecting`}})}),s.push(sn(t.name,r))}})),{...gn(a,o),ids:i,warnings:s}}function vn(){return Object.entries(process.env).filter(([e,t])=>/^CODER_CONNECTION_[A-F0-9]{24}$/.test(e)&&t).flatMap(([,e])=>[e,...e.startsWith(`Bearer `)?[e.slice(7)]:[]])}function yn(e,t=[]){let n=Object.entries(nn()).filter(([,e])=>e.length>=8).map(([e,t])=>[t,`[${e}]`]),r=[...t,...vn()].filter(Boolean).map(e=>[e,`[REDACTED]`]),i=[...n,...r].sort(([e],[t])=>t.length-e.length);return JSON.stringify(e,(e,t)=>typeof t==`string`?i.reduce((e,[t,n])=>e.replaceAll(t,n),t):t)}function bn(e){return String(e??``).replace(/[^A-Za-z0-9._-]/g,`-`).replace(/^-+|-+$/g,``)}function xn(e,t=g.platform){return t===`win32`?`pipe:\\\\.\\pipe\\${bn(`${h.win32.basename(e)}-codex-app-server`)}`:`unix:${h.join(e,`broker.sock`)}`}function z(e){if(typeof e!=`string`||e.length===0)throw Error(`Missing broker endpoint.`);if(e.startsWith(`pipe:`)){let t=e.slice(5);if(!t)throw Error(`Broker pipe endpoint is missing its path.`);return{kind:`pipe`,path:t}}if(e.startsWith(`unix:`)){let t=e.slice(5);if(!t)throw Error(`Broker Unix socket endpoint is missing its path.`);return{kind:`unix`,path:t}}throw Error(`Unsupported broker endpoint: ${e}`)}function Sn(){let e=h.dirname(Me(import.meta.url));for(let t=0;t<10;t++){let t=h.join(e,`package.json`);try{if(JSON.parse(_.readFileSync(t,`utf8`)).name===`@wular/coder`)return e}catch{}let n=h.dirname(e);if(n===e)break;e=n}return h.resolve(h.dirname(Me(import.meta.url)),`..`)}const B=Sn(),Cn=_.existsSync(h.join(B,`dist/cli.js`))?h.join(B,`dist/cli.js`):h.join(B,`src/cli.ts`);function wn(){try{return JSON.parse(_.readFileSync(h.join(B,`package.json`),`utf8`)).version??`unknown`}catch{return`unknown`}}function Tn(e){try{return JSON.parse(_.readFileSync(e,`utf8`)).version??null}catch{return null}}function En(){return B}const Dn={false:`broker.json`,true:`broker-network.json`};function On(e=`coder-`){return _.mkdtempSync(h.join(x.tmpdir(),e))}function kn(e){let t=z(e);return S.createConnection({path:t.path})}async function An(e,t=2e3){let n=z(e);return!!await rt(h.dirname(n.path)).until(()=>new Promise(t=>{let n=kn(e);n.on(`connect`,()=>{n.end(),t(!0)}),n.on(`error`,()=>t(void 0))}),t,void 0,n.kind===`pipe`?250:1e3)}function jn({scriptPath:e,cwd:t,endpoint:n,pidFile:r,logFile:i,networkAccess:a=!1,env:o=g.env}){let s=_.openSync(i,`a`),c=v(g.execPath,[e,`serve`,`--endpoint`,n,`--cwd`,t,`--pid-file`,r,`--network-access`,String(a)],{cwd:t,env:{...I(o),...o.CODER_CONNECTION_ENV_VALUES?{CODER_CONNECTION_ENV_VALUES:o.CODER_CONNECTION_ENV_VALUES}:{}},detached:!0,stdio:[`ignore`,s,s]});return c.unref(),_.closeSync(s),c}function Mn(){let e=[new URL(`./lib/broker.js`,import.meta.url),new URL(`./main.js`,import.meta.url)];for(let t of e){let e=Me(t);if(_.existsSync(e))return e}throw Error("Coder broker script not found next to the runtime. Rebuild with `bun run build`.")}function Nn(e,t=!1,n){let r=Dn[t?`true`:`false`];return h.join(J(e),n?r.replace(`.json`,`-${n}.json`):r)}function Pn(e,t=!1,n){let r=Nn(e,t,n);if(!_.existsSync(r))return null;try{let e=JSON.parse(_.readFileSync(r,`utf8`));return(e.networkAccess??!1)===t?e:null}catch{return null}}function Fn(e){let t=J(e),n;try{n=_.readdirSync(t)}catch{return[]}return n.flatMap(e=>{if(!/^broker(?:-network)?(?:-[a-f0-9]{64})?\.json$/.test(e))return[];try{let n=JSON.parse(_.readFileSync(h.join(t,e),`utf8`));return typeof n.endpoint==`string`?[n]:[]}catch{return[]}})}function In(e,t,n=t.networkAccess??!1,r){let i=J(e);_.mkdirSync(i,{recursive:!0}),_.writeFileSync(Nn(e,n,r),`${JSON.stringify(t,null,2)}\n`,`utf8`)}function Ln(e,t=!1,n){let r=Nn(e,t,n);_.existsSync(r)&&_.unlinkSync(r)}async function Rn(e){if(!e)return!1;try{return await An(e,150)}catch{return!1}}async function zn(e,t={}){let n=t.scriptPath??Mn(),r=wn(),i=t.networkAccess??!1,a=Pn(e,i,t.connectionKey),o=a?.version===r&&a?.scriptPath===n&&(a?.networkAccess??!1)===i;if(a&&o&&await Rn(a.endpoint))return a;a&&(Bn({endpoint:a.endpoint??null,pidFile:a.pidFile??null,logFile:a.logFile??null,sessionDir:a.sessionDir??null,pid:a.pid??null,killProcess:t.killProcess??null}),Ln(e,i,t.connectionKey));let s=On(),c=(t.createBrokerEndpoint??xn)(s,t.platform),l=h.join(s,`broker.pid`),u=h.join(s,`broker.log`),d=jn({scriptPath:n,cwd:e,endpoint:c,pidFile:l,logFile:u,networkAccess:i,env:t.env??g.env});if(!await An(c,t.timeoutMs??2e3))return Bn({endpoint:c,pidFile:l,logFile:u,sessionDir:s,pid:d.pid??null,killProcess:t.killProcess??null}),null;let f={endpoint:c,pidFile:l,logFile:u,sessionDir:s,pid:d.pid??null,networkAccess:i,version:r,scriptPath:n};return In(e,f,i,t.connectionKey),f}function Bn({endpoint:e=null,pidFile:t,logFile:n,sessionDir:r=null,pid:i=null,killProcess:a=null}){if(Number.isFinite(i)&&a)try{a(i)}catch{}if(t&&_.existsSync(t)&&_.unlinkSync(t),n&&_.existsSync(n)&&_.unlinkSync(n),e)try{let t=z(e);t.kind===`unix`&&_.existsSync(t.path)&&_.unlinkSync(t.path)}catch{}let o=r??(t?h.dirname(t):n?h.dirname(n):null);if(o&&_.existsSync(o))try{_.rmdirSync(o)}catch{}}function Vn(e,t){let n=Le(`coder.timing`);n.hasSubscribers&&n.publish({at:Date.now(),pid:g.pid,stage:e,...t})}function Hn(e,t=[],n={}){let r=Pe(e,t,{cwd:n.cwd,env:n.env,encoding:`utf8`,input:n.input,maxBuffer:n.maxBuffer,stdio:n.stdio??`pipe`,shell:g.platform===`win32`?g.env.SHELL||!0:!1,windowsHide:!0});return{command:e,args:t,status:r.status??0,signal:r.signal??null,stdout:r.stdout??``,stderr:r.stderr??``,error:r.error??null}}function Un(e,t=[`--version`],n={}){let r=Hn(e,t,n);return r.error&&r.error.code===`ENOENT`?{available:!1,detail:`not found`}:r.error?{available:!1,detail:r.error.message}:r.status===0?{available:!0,detail:r.stdout.trim()||r.stderr.trim()||`ok`}:{available:!1,detail:r.stderr.trim()||r.stdout.trim()||`exit ${r.status}`}}function Wn(e){return new Promise(t=>{let n=v(e,g.argv.slice(1),{env:g.env,shell:!1,stdio:`inherit`}),r=()=>n.kill(`SIGINT`),i=()=>n.kill(`SIGTERM`);g.once(`SIGINT`,r),g.once(`SIGTERM`,i);let a=e=>{g.off(`SIGINT`,r),g.off(`SIGTERM`,i),t(e)};n.once(`error`,e=>a({error:e,status:null,signal:null})),n.once(`close`,(e,t)=>a({status:e,signal:t}))})}const V={chain:[`codex`,`claude`,`custom`],engines:{codex:{model:`gpt-6.1-sol`,effort:`high`,permissions:`auto`},claude:{model:`opus`,effort:`medium`,permissions:`auto`}},models:{},approvals:{allowedNetworkHosts:[]}},Gn=V.chain[0],Kn=`__EMPTY__`,qn=`Skipped: the agent chose not to reply.`,Jn=`The agent returned no reply.`,Yn=e=>e===`failed`?0:e===`completed`?3:e===`cancelled`?2:1,Xn=(e,t)=>e===`waiting`||!!t?.some(e=>!e.response),Zn=(e,t)=>e<t?-1:+(e>t),Qn=(e,t)=>e.rank-t.rank||t.createdAt-e.createdAt||Zn(t.id,e.id);function $n(e,t){if(!t||typeof t!=`object`||Array.isArray(t))return t;let n=e&&typeof e==`object`&&!Array.isArray(e)?Object.fromEntries(Object.entries(e)):{};for(let[e,r]of Object.entries(t))r===null?delete n[e]:Object.defineProperty(n,e,{value:$n(Object.hasOwn(n,e)?n[e]:void 0,r),writable:!0,enumerable:!0,configurable:!0});return n}function er(e,t){for(let n of Object.values(e??{}))n.repository=t}function tr(e){let t={...e.url?{url:e.url}:{command:e.command,args:e.args??[]},headers:Object.keys(e.headers??{}).sort(),env:Object.keys(e.env??{}).sort()};return y(`sha256`).update(JSON.stringify(t)).digest(`hex`)}function nr(){try{let e=JSON.parse(_.readFileSync(K(`state`,`global`,`mcp-approvals.json`),`utf8`));return e&&typeof e==`object`&&!Array.isArray(e)?e:{}}catch(e){if(e.code===`ENOENT`||e instanceof SyntaxError)return{};throw e}}function rr(e){return nr()[tr(e)]===!0}async function ir(e,t,n){if(!t)throw Error(`Usage: coder connection approve <name> [--agent <id>]`);let r=qr(e).mcp?.[t],i=[];r&&!n&&i.push(r);let{loadAgents:a}=await import(`./load-BDlEFetB.js`).then(e=>e.s),{INTEGRATIONS:o}=await import(`./integrations-I7fRDk_l.js`).then(e=>e.r);for(let r of await a(e,o,{includeDisabled:!0})){let e=r.definition.mcp?.[t];e&&(!n||r.id===n)&&i.push(e)}if(!i.length)throw Error(`No MCP server "${t}". Use --cwd to select its repository.`);if(i.some(e=>e.connection))throw Error(`MCP server "${t}" uses a connection and needs no repository approval.`);let s=new Set(i.map(tr));if(s.size!==1)throw Error(`MCP server "${t}" has different definitions. Select one with --agent <id>.`);let c=K(`state`,`global`,`mcp-approvals.json`);_.mkdirSync(h.dirname(c),{recursive:!0});let l=nr();return l[[...s][0]]=!0,$e(c,l),_.chmodSync(c,384),{name:t,file:c}}function ar(e){return!/\$\{[^}]+\}/.test(e)&&(/^(?:Bearer\s+\S+|ghp_|github_pat_|xox[a-z]-|sk-|lin_api_)/i.test(e)||/^[A-Za-z0-9_+\/.=-]{32,}$/.test(e))}function or(e,t){if(!t||typeof t!=`object`)return[];let{url:n,headers:r,env:i}=t,a=e=>e&&typeof e==`object`&&!Array.isArray(e)?Object.entries(e).filter(e=>typeof e[1]==`string`):[],o=[];typeof n==`string`&&[n,...a(r).map(([,e])=>e)].some(e=>/\$\{[^}]+\}/.test(e))&&o.push(`MCP server "${e}" keeps remote URL and header variables literal. Use a connection for credentials.`);for(let[t,n]of[[`headers`,r],[`env`,i]])for(let[r,i]of a(n))ar(i)&&o.push(`MCP server "${e}" has a literal secret in ${t}.${r}. Use a connection instead.`);return o}const sr={luna:`gpt-6-luna`,sol:`gpt-6.1-sol`,astra:`gpt-6-astra`},cr=new Set([`low`,`medium`,`high`]),lr={sonnet:`sonnet`,opus:`opus`,fable:`fable`},ur=new Set([`low`,`medium`,`high`]),dr={"read-only":{sandbox:`read-only`,approvalPolicy:`never`,approvalMode:null,approvalsReviewer:null},"workspace-write":{sandbox:`workspace-write`,approvalPolicy:`never`,approvalMode:null,approvalsReviewer:null},auto:{sandbox:`workspace-write`,approvalPolicy:`on-request`,approvalMode:`auto`,approvalsReviewer:`auto_review`}},fr=[`registry.npmjs.org`,`registry.yarnpkg.com`,`pypi.org`,`files.pythonhosted.org`,`index.crates.io`,`static.crates.io`,`proxy.golang.org`,`sum.golang.org`],pr={"read-only":[`--permission-mode`,`dontAsk`,`--disallowedTools`,`Edit`,`Write`,`MultiEdit`,`NotebookEdit`],"workspace-write":[`--permission-mode`,`acceptEdits`],auto:[`--permission-mode`,`auto`]},mr=[`--permission-mode`,`dontAsk`,`--disallowedTools`,`Edit`,`Write`,`MultiEdit`,`NotebookEdit`,`Bash`,`WebFetch`,`WebSearch`,`Task`],hr=/failIfUnavailable|sandbox\b[^.\n]*?(?:failed|could ?n[o']t|cannot|unavailable|not available|not supported)/i,gr=`CODER_MACHINE_SANDBOX`,_r=new Set([`localhost`,`127.0.0.1`,`::1`,`[::1]`]);function vr(e){return e.flatMap(e=>S.isIPv6(e)?[`[${e}]`]:e.startsWith(`[`)||e.includes(`:`)||S.isIP(e)?[e]:[e,`*.${e}`])}function yr(e,t){return{environment:[`$defaults`,e?`Host containment: an automated coding task on the user's own developer machine with open internet; the working directory is the user's workspace, the task has its own scratch folder under the temp directory, and nothing else on the machine is the task's.`:`Host containment: an automated coding task on a throwaway cloud machine with open internet and no neighbours; nothing on it is the user’s, it holds no cloud identity, and instance-metadata credentials are never task credentials.`,...t.length?[`Trusted internal domains: ${t.join(`, `)}`]:[]],allow:[`$defaults`,`Public Network Reads: fetching public web pages, documentation, search results and downloads, reading package registries, installing packages, and cloning or fetching public repositories into the workspace or the scratch folder are routine, whatever the host, as long as nothing leaves the machine beyond the request itself: no repository content, secrets, environment or user data in the request body, query or headers.`]}}function br(e,t,n=[],r=[],i=!0,a,o=!0,s){let c=r;if(!i)return JSON.stringify({permissions:{additionalDirectories:r,allow:[`Bash`],...e===`read-only`?{deny:[`Edit`,`Write`,`MultiEdit`,`NotebookEdit`]}:{}},sandbox:{enabled:!1}});if(e===`read-only`){let e=vr(n);return JSON.stringify({...c.length?{permissions:{additionalDirectories:c}}:{},sandbox:{enabled:!0,failIfUnavailable:!0,allowUnsandboxedCommands:!1,autoAllowBashIfSandboxed:!0,network:{strictAllowlist:!0,...e.length?{allowedDomains:e}:{}},filesystem:{denyWrite:[t,...r]}}})}let l=[...vr(n),...e===`auto`?fr:[]];return JSON.stringify({...c.length?{permissions:{additionalDirectories:c}}:{},sandbox:{enabled:!0,allowUnsandboxedCommands:e===`auto`,autoAllowBashIfSandboxed:!0,network:{...e===`auto`?{}:{strictAllowlist:!0},...l.length?{allowedDomains:l}:{},...n.some(e=>_r.has(e))?{allowLocalBinding:!0}:{}},filesystem:{...a?{allowWrite:[a]}:{},denyWrite:[t,...c].map(e=>h.join(e,`.git`))}},...e===`auto`?{autoMode:yr(o,n)}:{},...e===`auto`&&s?{hooks:{PreToolUse:[{matcher:`Bash`,hooks:[{type:`command`,command:s}]}]}}:{}})}const xr=N([`codex`,`claude`]),Sr=N([`codex`,`claude`,`custom`]),Cr=N([`low`,`medium`,`high`]),wr=N([`read-only`,`workspace-write`,`auto`]),Tr=j(A({model:D().check(p(1)),effort:Cr,permissions:wr})),Er=j(A({model:D().check(p(1)),effort:Cr,permissions:wr,network:O()})),Dr=Ct([A({baseUrl:ct(),model:D().check(p(1)),envKey:P(D().check(p(1))),wireApi:P(N([`chat`,`responses`])),contextWindow:P(ut().check(ft(),pe())),disabled:P(O())}),A({provider:xr,model:D().check(p(1)),effort:P(Cr),disabled:P(O())}),A({disabled:O()})]),Or=A({allowedNetworkHosts:k(D())}),kr=N([`read`,`write`]),Ar=D().check(_e(/^[a-z0-9][a-z0-9_-]*$/i,`agent or flow name`)),jr=Ct([O(),A({engine:P(D()),model:P(D()),effort:P(Cr),permissions:P(wr),access:P(kr),runner:P(N([`local`,`local-docker`,`vercel-sandbox`,`github-actions`])),integrations:P(M(D(),A({allowedEvents:P(k(D()))}))),connections:P(k(D())),disabled:P(O())})]),Mr=A({connection:P(D().check(p(1))),command:P(D().check(p(1))),args:P(k(D())),env:P(M(D(),D())),url:P(D().check(p(1))),type:P(N([`stdio`,`http`],{error:`Use type stdio or http; legacy SSE servers are not supported, use their streamable HTTP URL`})),headers:P(M(D(),D())),tools:P(k(D())),description:P(D())}).check(Bt(e=>e.connection?[e.url,e.command,e.args,e.env,e.headers,e.type].every(e=>e===void 0):!!e.command!=!!e.url,`Use a connection alone, without url, command, args, env, headers or type; otherwise supply one of command or url`)),Nr=j(xt(A({chain:k(Sr).check(p(1)),engines:j(A({codex:Er,claude:Tr,custom:Tr})),models:P(M(D().check(_e(/^[a-z0-9][a-z0-9./_-]*$/i,`model name`)),Dr)),agents:P(M(Ar,jr)),mcp:P(M(Ar,Mr)),approvals:Or}),{approvals:j(Or)}));function Pr(e){return`baseUrl`in e}function Fr(e){return`provider`in e}function Ir(e,t){return t??e===`auto`}function Lr(e,t,n){let r=Ir(e,t);if(r||!n.length)return{networkAccess:r,configOverrides:{}};let i=n.map(e=>{let t=e.replace(/^\[(.*)\](?::\d+)?$/,`$1`).replace(/^([^:]+):\d+$/,`$1`);return[S.isIP(t)||_r.has(t)?t:`**.${t}`,`allow`]});return{networkAccess:!0,configOverrides:{"features.network_proxy.enabled":!0,"features.network_proxy.domains":Object.fromEntries(i)}}}const Rr=/^(?!-)[a-z0-9-]{1,63}(?<!-)(?:\.(?!-)[a-z0-9-]{1,63}(?<!-))*(?::\d{1,5})?$/i;function zr(e){if(S.isIP(e))return!0;let t=/^\[([^\]]+)\](?::\d{1,5})?$/.exec(e);return t?S.isIPv6(t[1]):e.length<=253&&Rr.test(e)}function Br(e,t){delete e.models?.[t];for(let n of Object.values(e.engines??{}))n?.model===t&&delete n.model}function H(e){let t=Nr.safeParse(e);if(!t.success)return t.error.issues.map(e=>`${e.path.join(`.`)||`config`}: ${e.message}`);let n=Ur(V,t.data),r=[];for(let[e,n]of(t.data.approvals?.allowedNetworkHosts??[]).entries())zr(n)||r.push(`approvals.allowedNetworkHosts.${e}: "${n}" is not a host name or IP address`);for(let[e,i]of Object.entries(t.data.models??{})){if(e===`codex`||e===`claude`||e===`custom`){r.push(`models.${e}: reserved engine name`);continue}if(Fr(i)){let t=n.models?.[i.model];t&&!Pr(t)&&r.push(`models.${e}: alias target "${i.model}" is itself a config entry`)}}return r}function Vr(e){if(!_.existsSync(e))return null;try{return JSON.parse(_.readFileSync(e,`utf8`))}catch(t){let n=t instanceof Error?t.message:String(t);throw Error(`Invalid JSON in ${e}: ${n}`)}}function Hr(e){return Ur(V,e)}function Ur(e,t){if(!t||typeof t!=`object`||Array.isArray(t))return t??e;let n={...e},r=e;for(let[e,i]of Object.entries(t))n[e]=i&&typeof i==`object`&&!Array.isArray(i)&&r?.[e]&&typeof r[e]==`object`?Ur(r[e],i):i;return n}function U(){return K(`config.json`)}function Wr(e){return h.join(e,`.coder`,`config.json`)}const Gr=`CODER_WORKSPACE_CONFIG`;function Kr(e,t){let n=t.approvals?.allowedNetworkHosts?.filter(t=>e.approvals.allowedNetworkHosts.includes(t)),r=Object.fromEntries(Object.entries(t.engines??{}).map(([e,t])=>[e,{...t?.model?{model:t.model}:{},...t?.effort?{effort:t.effort}:{}}])),i=Object.entries(t.models??{}).filter(([,e])=>e.disabled===!0);return{...t.mcp?{mcp:t.mcp}:{},...t.chain?{chain:t.chain.filter(t=>e.chain.includes(t))}:{},engines:r,models:Object.fromEntries(i.map(([e])=>[e,{disabled:!0}])),...n?{approvals:{...e.approvals,allowedNetworkHosts:n}}:{}}}function qr(e){let t=ea(e),n=process.env[Gr],r=[[U(),Vr(U())],...n?[[`the workspace config`,JSON.parse(n)]]:[]],i=Wr(t);r.push([i,Vr(i)]);let a=V,o=new Set;for(let[e,t]of r){if(!t)continue;let r=H(t);if(r.length)throw Error(`Invalid config in ${e}:\n ${r.join(`
|
|
5
|
+
`)}`);let s=n&&e===i?Kr(a,t):t,c={...a.mcp,...s.mcp};for(let t of Object.keys(s.mcp??{}))e===i?o.add(t):o.delete(t);a={...Ur(a,s),...Object.keys(c).length?{mcp:c}:{}}}let s=H(a);if(s.length)throw Error(`Invalid merged config:\n ${s.join(`
|
|
6
|
+
`)}`);for(let[e,t]of Object.entries(a.mcp??{}))er({[e]:t},o.has(e));return a}function Jr(e){return e.replace(/\/+$/,``).replace(/\/(chat\/completions|completions|responses)$/,``)}function Yr(e,t,n){let r=[Wr(ea(e)),U()];for(let e of r){let r;try{r=Vr(e)}catch{continue}if(r?.models?.[t])return Object.assign(r.models[t],n),!H(r).length&&(_.writeFileSync(e,`${JSON.stringify(r,null,2)}\n`,`utf8`),!0)}return!1}function Xr(e){return/\/(chat\/completions|completions|responses)\/*$/.test(e)}function Zr(e,t){let n=Jr(e);return Xr(e)||/\/v\d+(alpha|beta)?$/.test(n)?[`${n}/${t}`]:[`${n}/${t}`,`${n}/v1/${t}`]}const W={baseUrl:`x-coder-base-url`,wireApi:`x-coder-wire-api`};function Qr(e,t,n){let r=t.envKey?process.env[t.envKey]:void 0;if(t.envKey&&!r)throw Error(`Missing environment variable: \`${t.envKey}\`.`);let i=`coder-${e}`;return{modelProvider:i,configOverrides:{[`model_providers.${i}`]:{name:e,base_url:`${n}/v1`,wire_api:`responses`,http_headers:{[W.baseUrl]:t.baseUrl,[W.wireApi]:t.wireApi??`chat`,...r?{authorization:`Bearer ${r}`}:{}}},...t.contextWindow?{model_context_window:t.contextWindow}:{}}}}function $r(e){return e?sr[e]??e:null}function ei(e){return e in sr||e in lr}function ti(e,t){return!!(t&&e.models?.[t]?.disabled)}function ni(e,t){if(ti(e,t))throw Error(`model "${t}" is disabled in config`)}function ri(e,t){if(!e)return null;let n=String(e).trim().split(`:`).map(e=>e.trim());if(!n.length||n.length>3||n.some(e=>!e))throw Error(`Invalid engine spec "${e}".`);let r=null,i=null,a=null,o=e=>cr.has(e)||ur.has(e);for(let t of n)if(t===`codex`||t===`claude`||t===`custom`){if(r)throw Error(`Invalid engine spec "${e}".`);r=t}else if(o(t)&&!a)a=t;else if(!i)i=t;else throw Error(`Invalid engine spec "${e}".`);let s=i?t.models?.[i]:void 0;if(s&&Fr(s)){if(s.disabled)throw Error(`model "${i}" is disabled in config`);if(r&&r!==s.provider)throw Error(`Alias "${i}" runs on ${s.provider}, not ${r}.`);r=s.provider,a=a??s.effort??null,i=s.model}r||=i&&i in lr?`claude`:i&&s&&Pr(s)?`custom`:`codex`;let c=t.engines[r]??{},l=i??c.model??null;return ni(t,l),{engine:r,model:l,effort:a??c.effort??null}}function ii(e){let t=U();return _.mkdirSync(h.dirname(t),{recursive:!0}),_.writeFileSync(t,`${JSON.stringify(e,null,2)}\n`,`utf8`),t}function ai(e,t){return t.split(`.`).reduce((e,t)=>e?.[t],e)}function oi(e,t){return t?Wr(ea(e)):U()}function si(e,t){let n=qr(e);return t?ai(n,t):n}function ci(e,t,n,r={}){let i=oi(e,r.workspace);li(i,e=>{let i=t.split(`.`),a=i.at(-1),o=e;for(let e of i.slice(0,-1))(typeof o[e]!=`object`||o[e]===null)&&(o[e]={}),o=o[e];r.unset?delete o[a]:o[a]=n});let a=ai(qr(e),t)??null;return{file:i,key:t,...r.unset?{unset:!0}:{value:n},effective:a}}function li(e,t){let n=_.existsSync(e)?JSON.parse(_.readFileSync(e,`utf8`)):{};t(n),n.models&&Object.keys(n.models).length===0&&delete n.models;let r=H(n);if(r.length)throw Error(`Refusing to write invalid config:\n ${r.join(`
|
|
7
|
+
`)}`);_.mkdirSync(h.dirname(e),{recursive:!0}),_.writeFileSync(e,`${JSON.stringify(n,null,2)}\n`,`utf8`)}const ui={get:(e,t={})=>si(h.resolve(t.cwd??`.`),e),set:(e,t,n={})=>ci(h.resolve(n.cwd??`.`),e,t,n)};function di(e,t,n,r){let i=Ge(ze(Be,{children:[C(`instructions`,{children:[`Answer one question about a Coder task, read-only.`,`You are not the task: never continue, redo or fix its work. The task never sees this question or your answer.`,`Grep or read the files selectively; events can be large.`,`Answer directly and concisely.`].join(`
|
|
8
|
+
`)}),C(`task`,{children:C(w,{value:{id:e.id,name:e.name??void 0,status:e.status,engine:e.engine,model:e.model??void 0,effort:e.effort??void 0,workspace:e.cwd??void 0,created:e.createdAt??void 0,finished:e.completedAt??void 0}})}),C(`task-prompt`,{children:C(w,{children:e.prompt??`(unknown)`})}),C(`files`,{children:[`progress log, one JSON event per line: ${t.log}`,`final result: ${t.result}`,`worker output: ${t.worker}`,e.cwd&&`workspace with the task's code and changes: ${e.cwd}`].filter(Boolean).join(`
|
|
9
|
+
`)}),C(`question`,{children:C(w,{children:n})})]}));return r?`${i}\n\nCoder command ${r}`:i}function fi(e){return e?`Reply with only one JSON object matching this JSON Schema, without prose or markdown fences:\n${JSON.stringify(e)}`:`Reply with only one JSON object matching the requested shape, without prose or markdown fences.`}const pi=e=>`Your last reply did not match the required JSON: ${e}\nReply again with only the JSON object.`,mi=e=>e.namespace?`${e.namespace}__${e.name}`:e.name;function hi(e){let t=new Map;for(let n of Array.isArray(e.tools)?e.tools:[])if(n?.type===`function`&&t.set(n.name,{name:n.name,tool:n}),n?.type===`namespace`&&Array.isArray(n.tools))for(let e of n.tools)e?.type===`function`&&t.set(mi({name:e.name,namespace:n.name}),{name:e.name,namespace:n.name,tool:e});return t}function gi(e){let t=[];typeof e.instructions==`string`&&e.instructions&&t.push({role:`system`,content:e.instructions});let n=Array.isArray(e.input)?e.input:[];for(let e of n)switch(e?.type){case`message`:{let n=Array.isArray(e.content)?e.content.map(e=>e?.text??``).join(``):String(e.content??``);t.push({role:e.role===`developer`?`system`:e.role,content:n});break}case`function_call`:{let n={id:e.call_id,type:`function`,function:{name:mi(e),arguments:e.arguments??`{}`}},r=t.at(-1);r?.role===`assistant`&&r.tool_calls?r.tool_calls.push(n):t.push({role:`assistant`,content:null,tool_calls:[n]});break}case`function_call_output`:{let n=e.output;t.push({role:`tool`,tool_call_id:e.call_id,content:typeof n==`string`?n:JSON.stringify(n??``)});break}}return t}function _i(e){let t=[...hi(e)].map(([e,{tool:t}])=>({type:`function`,function:{name:e,description:t.description??``,parameters:t.parameters??{type:`object`,properties:{}}}})),n=e.text?.format;return{model:e.model,messages:gi(e),...t.length?{tools:t,tool_choice:e.tool_choice??`auto`}:{},...typeof e.parallel_tool_calls==`boolean`?{parallel_tool_calls:e.parallel_tool_calls}:{},...n?.type===`json_schema`?{response_format:{type:`json_schema`,json_schema:{name:n.name,schema:n.schema,strict:n.strict??!1}}}:{},stream:!0,stream_options:{include_usage:!0}}}var vi=class{send;model;functions;responseId=`resp_bridge_${Fe.randomUUID()}`;text=``;textOpen=!1;toolCalls=new Map;usage=null;buffer=``;constructor(e,t,n){this.model=e,this.functions=t,this.send=n,this.send({type:`response.created`,response:{id:this.responseId,object:`response`,status:`in_progress`,model:e,output:[]}})}push(e){this.buffer+=e;let t=this.buffer.split(`
|
|
10
|
+
`);this.buffer=t.pop()??``;for(let e of t){let t=e.trim();if(!t.startsWith(`data:`))continue;let n=t.slice(5).trim();if(!n||n===`[DONE]`)continue;let r;try{r=JSON.parse(n)}catch{continue}r.usage&&(this.usage=r.usage);let i=r.choices?.[0]?.delta;if(i){typeof i.content==`string`&&i.content&&(this.textOpen||(this.textOpen=!0,this.send({type:`response.output_item.added`,output_index:0,item:{type:`message`,id:`msg_bridge_0`,status:`in_progress`,role:`assistant`,content:[]}})),this.text+=i.content,this.send({type:`response.output_text.delta`,item_id:`msg_bridge_0`,output_index:0,content_index:0,delta:i.content}));for(let e of i.tool_calls??[]){let t=this.toolCalls.get(e.index)??{id:``,name:``,args:``};e.id&&(t.id=e.id),e.function?.name&&(t.name+=e.function.name),e.function?.arguments&&(t.args+=e.function.arguments),this.toolCalls.set(e.index,t)}}}}finish(){let e=[];if(this.text){let t={type:`message`,id:`msg_bridge_0`,status:`completed`,role:`assistant`,content:[{type:`output_text`,text:this.text,annotations:[]}]};e.push(t),this.send({type:`response.output_item.done`,output_index:0,item:t})}let t=e.length;for(let n of this.toolCalls.values()){let r=this.functions.get(n.name),i={type:`function_call`,id:`fc_bridge_${t}`,call_id:n.id||`call_bridge_${t}`,name:r?.name??n.name,...r?.namespace?{namespace:r.namespace}:{},arguments:n.args||`{}`,status:`completed`};e.push(i),this.send({type:`response.output_item.done`,output_index:t,item:i}),t+=1}this.send({type:`response.completed`,response:{id:this.responseId,object:`response`,status:`completed`,model:this.model,output:e,usage:{input_tokens:this.usage?.prompt_tokens??0,input_tokens_details:{cached_tokens:this.usage?.prompt_tokens_details?.cached_tokens??0},output_tokens:this.usage?.completion_tokens??0,output_tokens_details:{reasoning_tokens:this.usage?.completion_tokens_details?.reasoning_tokens??0},total_tokens:this.usage?.total_tokens??0}}})}};async function yi(){let e=new Map;async function t(t,n,r){let i=t.wireApi===`responses`,a=Zr(t.baseUrl,i?`responses`:`chat/completions`),o=`${t.wireApi} ${t.baseUrl}`,s=e.get(o)??{resolvedTarget:null,schemaSupported:!0};e.set(o,s);async function c(e){let t=s.resolvedTarget?[s.resolvedTarget]:a,n=null;for(let i of t)if(n=await fetch(i,{method:`POST`,headers:{"content-type":`application/json`,...r?{authorization:r}:{}},body:e}),n.status!==404)return s.resolvedTarget=i,n;return n}let l=n.text?.format,u=i?n:_i(n),d=()=>{let e=fi(l.schema);if(i){let{format:t,...r}=n.text;return{...n,text:r,input:[...n.input??[],{type:`message`,role:`user`,content:[{type:`input_text`,text:e}]}]}}let{response_format:t,...r}=u;return{...r,messages:[...gi(n),{role:`user`,content:e}]}};if(l?.type!==`json_schema`)return c(JSON.stringify(u));if(!s.schemaSupported)return c(JSON.stringify(d()));let f=await c(JSON.stringify(u));if(![400,422,501].includes(f.status))return f;let ee=await f.clone().text();return/(invalid.{0,30}schema|schema.{0,30}invalid|unsupported.{0,30}(keyword|constraint)|(keyword|constraint).{0,30}unsupported)/i.test(ee)||!/(response_format|json_schema|text[.\s]format)/i.test(ee)||!/(not supported|unsupported|unknown parameter|unrecognized|not available)/i.test(ee)?f:(s.schemaSupported=!1,await f.body?.cancel(),c(JSON.stringify(d())))}let n=Fe.randomBytes(16).toString(`hex`),r=Re.createServer((e,r)=>{let i=t=>[e.headers[t]].flat()[0],a=i(W.baseUrl),o=i(W.wireApi)===`responses`?`responses`:`chat`;if(e.method!==`POST`||!RegExp(`^/${n}/v1/responses/*$`).test(e.url??``)||!a){r.writeHead(404,{"content-type":`application/json`}),r.end(JSON.stringify({error:{message:`coder chat bridge: only POST /v1/responses with ${W.baseUrl} is supported`}}));return}let s={baseUrl:a,wireApi:o},c=``;e.on(`data`,e=>c+=e),e.on(`end`,async()=>{let n;try{n=JSON.parse(c)}catch{r.writeHead(400,{"content-type":`application/json`}),r.end(JSON.stringify({error:{message:`invalid JSON`}}));return}try{let i=await t(s,n,e.headers.authorization);if(s.wireApi===`responses`){if(r.writeHead(i.status,{"content-type":i.headers.get(`content-type`)??`application/json`,"cache-control":`no-store`}),i.body)for await(let e of i.body)r.write(e);r.end();return}if(!i.ok||!i.body){let e=await i.text().catch(()=>``);r.writeHead(i.status,{"content-type":`application/json`}),r.end(e||JSON.stringify({error:{message:`upstream HTTP ${i.status}`}}));return}r.writeHead(200,{"content-type":`text/event-stream`,"cache-control":`no-store`});let a=new vi(n.model,hi(n),e=>r.write(`data: ${JSON.stringify(e)}\n\n`)),o=new TextDecoder;for await(let e of i.body)a.push(o.decode(e,{stream:!0}));a.finish(),r.end()}catch(e){let t=e instanceof Error?e.message:String(e);r.writeHead(502,{"content-type":`application/json`}),r.end(JSON.stringify({error:{message:`coder chat bridge: ${t}`}}))}})});await new Promise(e=>r.listen(0,`127.0.0.1`,e));let i=r.address();return{url:`http://127.0.0.1:${typeof i==`object`&&i?i.port:0}/${n}`,close:()=>new Promise(e=>{r.close(()=>e()),r.closeAllConnections?.()})}}const bi=`CODER_APP_SERVER_ENDPOINT`,xi=-32001,Si=`coder/notice`,Ci=`coder/appServerExited`,wi=`broker/recycle`;function Ti(){return{title:`Coder`,name:`coder`,version:wn()}}const Ei={experimentalApi:!0,requestAttestation:!1,optOutNotificationMethods:[`item/agentMessage/delta`,`item/reasoning/summaryTextDelta`,`item/reasoning/summaryPartAdded`,`item/reasoning/textDelta`]};function Di(e,t,n){return n===void 0?{code:e,message:t}:{code:e,message:t,data:n}}function Oi(e,t){let n=Error(e);return n.data=t,t?.code!==void 0&&(n.rpcCode=t.code),n}var ki=class{cwd;options;pending;nextId;stderr;closed;exitError;notificationHandler;serverRequestHandler;noticeHandler;lineBuffer;transport;bridgeUrl;exitPromise;exitResolved;resolveExit;handleServerRequest;constructor(e,t={}){this.cwd=e,this.options=t,this.pending=new Map,this.nextId=1,this.stderr=``,this.closed=!1,this.exitError=null,this.notificationHandler=null,this.serverRequestHandler=null,this.noticeHandler=null,this.lineBuffer=``,this.transport=`unknown`,this.handleServerRequest=e=>this.defaultHandleServerRequest(e),this.exitPromise=new Promise(e=>{this.resolveExit=e})}setNotificationHandler(e){this.notificationHandler=e}setServerRequestHandler(e){this.serverRequestHandler=e}setNoticeHandler(e){this.noticeHandler=e}request(e,t){if(this.closed)throw Error(`codex app-server client is closed.`);if(this.exitResolved)return Promise.reject(this.exitError??Error(`codex app-server connection closed.`));let n=this.nextId;return this.nextId+=1,new Promise((r,i)=>{this.pending.set(n,{resolve:r,reject:i,method:e}),this.sendMessage({id:n,method:e,params:t})})}notify(e,t={}){this.closed||this.sendMessage({method:e,params:t})}handleChunk(e){this.lineBuffer+=e;let t=this.lineBuffer.indexOf(`
|
|
11
|
+
`);for(;t!==-1;){let e=this.lineBuffer.slice(0,t);this.lineBuffer=this.lineBuffer.slice(t+1),this.handleLine(e),t=this.lineBuffer.indexOf(`
|
|
12
|
+
`)}}handleLine(e){if(!e.trim())return;let t;try{t=JSON.parse(e)}catch(t){this.handleExit(Oi(`Failed to parse codex app-server JSONL: ${t instanceof Error?t.message:String(t)}`,{line:e}));return}if(t.id!==void 0&&t.method){this.handleServerRequest(t);return}if(t.id!==void 0){let e=this.pending.get(t.id);if(!e)return;this.pending.delete(t.id),t.error?e.reject(Oi(t.error.message??`codex app-server ${e.method} failed.`,t.error)):e.resolve(t.result??{});return}if(t.method===`coder/notice`){this.noticeHandler?.(String(t.params?.message??``));return}if(t.method===`coder/appServerExited`){this.handleExit(Oi(String(t.params?.message??`codex app-server exited.`)));return}t.method&&this.notificationHandler&&this.notificationHandler(t)}defaultHandleServerRequest(e){let t=this.serverRequestHandler;if(!t){this.sendMessage({id:e.id,error:Di(-32601,`Unsupported server request: ${e.method}`)});return}Promise.resolve().then(()=>t(e.method,e.params??{})).then(t=>{this.sendMessage({id:e.id,result:t??{}})}).catch(t=>{this.sendMessage({id:e.id,error:Di(-32e3,t instanceof Error?t.message:String(t))})})}handleExit(e){if(!this.exitResolved){this.exitResolved=!0,this.exitError=e??null;for(let e of this.pending.values())e.reject(this.exitError??Error(`codex app-server connection closed.`));this.pending.clear(),this.resolveExit(void 0)}}sendMessage(e){throw Error(`sendMessage must be implemented by subclasses.`)}},Ai=class extends ki{proc;readline;bridge;constructor(e,t={}){super(e,t),this.transport=`direct`,this.exitPromise=this.exitPromise.then(()=>this.bridge?.close())}async initialize(){let e=this.options.networkAccess??!1;this.bridge=this.options.bridgeUrl?void 0:await yi(),this.bridgeUrl=this.options.bridgeUrl??this.bridge.url,Vn(`codex.spawn`),this.proc=v(`codex`,ji(e,this.options.nativeMcp),{cwd:this.cwd,env:I(this.options.env??g.env),stdio:[`pipe`,`pipe`,`pipe`],shell:g.platform===`win32`?g.env.SHELL||!0:!1,windowsHide:!0});let t=this.proc.stdout,n=this.proc.stderr;if(!t||!n)throw Error(`codex app-server did not expose stdio streams.`);t.setEncoding(`utf8`),n.setEncoding(`utf8`),n.on(`data`,e=>{this.stderr+=e}),this.proc.on(`error`,e=>{this.handleExit(e)}),this.proc.stdin?.on(`error`,()=>{}),this.proc.on(`exit`,(e,t)=>{let n=this.stderr.trim(),r=e===0?null:Oi(`codex app-server exited unexpectedly (${t?`signal ${t}`:`exit ${e}`}).${n?`\n${n}`:``}`);this.handleExit(r)}),this.readline=Ie.createInterface({input:t}),this.readline.on(`line`,e=>{this.handleLine(e)}),await this.request(`initialize`,{clientInfo:this.options.clientInfo??Ti(),capabilities:this.options.capabilities??Ei}),this.notify(`initialized`,{}),Vn(`codex.initialized`)}async close(){if(this.closed){await this.exitPromise;return}this.closed=!0,this.readline&&this.readline.close(),this.proc&&!this.proc.killed&&(this.proc.stdin?.end(),setTimeout(()=>{if(this.proc&&!this.proc.killed&&this.proc.exitCode===null)if(g.platform===`win32`)try{Pe(`taskkill`,[`/PID`,String(this.proc.pid),`/T`,`/F`],{stdio:`ignore`})}catch{}else this.proc.kill(`SIGTERM`)},50).unref?.()),await this.exitPromise}sendMessage(e){let t=`${JSON.stringify(e)}\n`,n=this.proc?.stdin;if(!n)throw Error(`codex app-server stdin is not available.`);n.write(t)}};function ji(e,t=!1){return[`-c`,`sandbox_workspace_write.network_access=${e}`,`app-server`,...t?[]:[`--disable`,`plugins`,`--disable`,`apps`]]}var Mi=class extends ki{endpoint;socket;constructor(e,t={}){super(e,t),this.transport=`broker`,this.endpoint=t.brokerEndpoint}async initialize(){await new Promise((e,t)=>{let n=z(this.endpoint);this.socket=S.createConnection({path:n.path}),this.socket.setEncoding(`utf8`),this.socket.on(`connect`,e),this.socket.on(`data`,e=>{this.handleChunk(e)}),this.socket.on(`error`,e=>{this.exitResolved||t(e),this.handleExit(e)}),this.socket.on(`close`,()=>{this.handleExit(this.exitError)})});let e=await this.request(`initialize`,{clientInfo:this.options.clientInfo??Ti(),capabilities:this.options.capabilities??Ei});this.bridgeUrl=e.bridgeUrl,this.notify(`initialized`,{}),Vn(`codex.initialized`)}async close(){if(this.closed){await this.exitPromise;return}this.closed=!0,this.socket&&this.socket.end(),await this.exitPromise}sendMessage(e){let t=`${JSON.stringify(e)}\n`,n=this.socket;if(!n)throw Error(`codex app-server broker connection is not connected.`);n.write(t)}},Ni=class{static async connect(e,t={}){let n=t.env??g.env,r=rn(n);t={...t,env:I(n)};let i=t.networkAccess??!1,a=null;!t.disableBroker&&!t.nativeMcp&&(a=r?null:t.brokerEndpoint??t.env?.CODER_APP_SERVER_ENDPOINT??g.env.CODER_APP_SERVER_ENDPOINT??null,!a&&t.reuseExistingBroker&&(a=Pn(e,i,r)?.endpoint??null),!a&&!t.reuseExistingBroker&&(a=(await zn(e,{env:n,networkAccess:i,connectionKey:r}))?.endpoint??null));let o=a?new Mi(e,{...t,brokerEndpoint:a}):new Ai(e,t);return await o.initialize(),o}};function Pi(){return process.env.CODEX_HOME||h.join(x.homedir(),`.codex`)}async function Fi(e,t,n){for(let r of Fn(e)){let i=null;try{return i=await Ni.connect(e,{env:I(),brokerEndpoint:r.endpoint,networkAccess:r.networkAccess??!1,reuseExistingBroker:!0}),await i.request(t,{threadId:n}),!0}catch{}finally{await i?.close().catch(()=>{})}}return!1}function Ii(e){try{let t=v(`codex`,e,{detached:!0,stdio:`ignore`,env:I()});t.on(`error`,()=>{}),t.unref()}catch{}}async function Li(e,t){await Fi(e,`thread/archive`,t)||Ii([`archive`,t])}function Ri(e){let t=h.join(Pi(),`archived_sessions`);try{return _.readdirSync(t).some(t=>t.endsWith(`-${e}.jsonl`))}catch{return!1}}function zi(e){return new Promise(t=>{try{let n=v(`codex`,[`unarchive`,e],{stdio:`ignore`,env:I()});n.on(`error`,()=>t(!1)),n.on(`close`,e=>t(e===0))}catch{t(!1)}})}async function Bi(e,t){return await Fi(e,`thread/delete`,t)?!0:Pe(`codex`,[`delete`,`--force`,t],{encoding:`utf8`,env:I()}).status===0}const Vi=`Background processes will not re-invoke you.`,Hi="Wait on each task with `coder task result <task-id> --wait` in its own background shell, one per task, never several tasks in one call, so each approval and answer reaches you.",Ui=`Stopped by user.`,Wi=[`completed`,`failed`,`cancelled`],Gi=[`queued`,`running`],Ki=`History lost, starting fresh`,qi=/^[a-z0-9][a-z0-9_-]*$/i;function G(e){return qi.test(e)}function Ji(e,t){if(!G(e))throw Error(`Invalid ${t} "${e}".`)}function K(...e){return h.join(h.resolve(process.env.CODER_HOME||h.join(x.homedir(),`.coder`)),...e)}function q(...e){let t=x.homedir(),n=x.platform(),r=process.env.CODER_CACHE_HOME||(n===`darwin`?h.join(t,`Library`,`Caches`,`wular-coder`):n===`win32`?h.join(process.env.LOCALAPPDATA||h.join(t,`AppData`,`Local`),`wular-coder`,`cache`):h.join(process.env.XDG_CACHE_HOME||h.join(t,`.cache`),`wular-coder`));return h.join(h.resolve(r),...e)}function Yi(){return K(`state`,`global`,`flows`)}function Xi(){return q(`flows-archived`)}function Zi(){return q(`usage.json`)}function Qi(e=Zi()){return`${e}.${process.pid}.${b()}.tmp`}function $i(){return q(`runner`,`usage.json`)}function ea(e){try{return Ne(`git`,[`rev-parse`,`--show-toplevel`],{cwd:e,encoding:`utf8`,stdio:[`ignore`,`pipe`,`ignore`]}).trim()}catch{return e}}const ta=`global`;function J(e){return K(`state`,ta)}function Y(e){return h.join(J(e),`jobs`)}function na(){return K(`state`,ta,`server-tasks`)}const ra=18e5,ia=(e,t=Date.now())=>t-e>ra;function X(e){return q(`archive`)}function aa(e){return Ji(e,`task id`),h.join(_.realpathSync(x.tmpdir()),`coder`,e)}function Z(e,t){Ji(t,`task id`);let n=h.join(Y(e),t);if(_.existsSync(h.join(n,`job.json`)))return n;let r=h.join(X(e),t);return _.existsSync(h.join(r,`job.json`))?r:n}function oa(e,t,n={}){let r=Gi.includes(t.status);if(!r){let n=Z(e,t.id),r=h.join(X(e),t.id);n!==r&&et(n,r)}let i=t.archived?n.auto||!t.autoArchived?t:ua(e,t.id,{autoArchived:void 0}):ua(e,t.id,{archived:!0,archivedAt:new Date().toISOString(),...n.auto?{autoArchived:!0}:{}},{touch:!n.auto});return!r&&t.engine!==`claude`&&t.threadId&&Li(e,t.threadId),i}function sa(e){return!!e.archived&&(e.resumedAt??``)>(e.archivedAt??``)}function ca(e,t){let n=Z(e,t.id),r=h.join(Y(e),t.id);return n!==r&&et(n,r),ua(e,t.id,{archived:void 0,archivedAt:void 0,autoArchived:void 0})}function la(){let e=Math.random().toString(36).slice(2,8);return`task-${Date.now().toString(36)}-${e}`}function ua(e,t,n,r={}){let i=Z(e,t);_.mkdirSync(i,{recursive:!0});let a=h.join(i,`job.json`),o=Q(e,t)??{id:t,createdAt:new Date().toISOString(),status:`queued`},s={...o,...n,updatedAt:r.touch===!1?o.updatedAt:new Date().toISOString()};return Qe(a,`${yn(s)}\n`),s}function Q(e,t){if(!G(t))return null;let n=h.join(Z(e,t),`job.json`);if(!_.existsSync(n))return null;try{return JSON.parse(_.readFileSync(n,`utf8`))}catch{return null}}function da(e,t){let n=Z(e,t);return _.existsSync(n)?(_.rmSync(n,{recursive:!0,force:!0}),_.rmSync(aa(t),{recursive:!0,force:!0}),!0):!1}function fa(e){if(!e)return!1;try{return process.kill(e,0),!0}catch(e){return e.code===`EPERM`}}function pa(e){try{let t=Ne(`ps`,[`-o`,`lstart=`,`-p`,String(e)],{encoding:`utf8`,stdio:[`ignore`,`pipe`,`ignore`],env:{...process.env,TZ:Intl.DateTimeFormat().resolvedOptions().timeZone}}).trim(),n=t?Date.parse(t):NaN;return Number.isFinite(n)?n:null}catch{return null}}function ma(e,t,n=pa){if(!fa(e))return!1;let r=n(e),i=Date.parse(t.resumedAt??t.createdAt??``);return r===null||!Number.isFinite(i)||r<=i+6e4}const ha=6e4;function $(e,t,n=pa){let r=t.status===`running`||t.status===`queued`,i=t.status===`completed`&&La(e,t.id);if(!r&&!i)return t;let a;if(i&&(t.steerClosed||!t.pid&&!t.resumeOwner))a=!0;else if(t.resumeOwner){let e=Date.parse(t.resumedAt??t.updatedAt??t.createdAt);a=!fa(t.resumeOwner)||Number.isFinite(e)&&Date.now()-e>ha}else if(t.pid)a=!ma(t.pid,t,n);else{let e=Date.parse(t.updatedAt??t.createdAt??``);a=Number.isFinite(e)&&Date.now()-e>ha}if(a){let r=Q(e,t.id);return r&&(r.status!==t.status||r.updatedAt!==t.updatedAt)?$(e,r,n):ua(e,t.id,{status:`failed`,steerClosed:!0,resumeOwner:void 0,error:`worker exited without finishing`,completedAt:new Date().toISOString()})}return i?{...t,status:`running`}:t}function ga(e){try{return _.readdirSync(e)}catch{return[]}}function _a(e,t=new Set){return ga(e).flatMap(n=>{if(t.has(n))return[];try{let r=JSON.parse(_.readFileSync(h.join(e,n,`job.json`),`utf8`));return t.add(n),[r]}catch{return[]}})}async function*va(e){let t=[{dir:Y(e),archived:!1},{dir:X(e),archived:!0}];for(let{dir:e,archived:n}of t){let t=await _.promises.readdir(e,{withFileTypes:!0}).catch(()=>[]);for(let r of t)r.isDirectory()&&G(r.name)&&(yield{id:r.name,dir:h.join(e,r.name),archived:n})}}const ya=(e,t)=>String(t.updatedAt??``).localeCompare(String(e.updatedAt??``));function ba(){let e=new Map,t=Date.now()+3e4;return n=>(Date.now()>=t&&(e.clear(),t=Date.now()+3e4),e.has(n)||e.set(n,pa(n)),e.get(n))}function xa(e){let t=ba(),n=[];for(let r of _a(Y(e))){let i=$(e,r,t);i.archived&&!sa(i)?oa(e,i,{auto:!0}):n.push(i.archived?ca(e,i):i)}return n.sort(ya)}function Sa(e,t,n=!1){if(t.status===`queued`)return!0;let r=t.generation??0;if(n&&!r)return!1;let i=Q(e,t.task.id);return i?r?t.startedAt===void 0||(Date.parse(i.resumedAt??``)||0)<t.startedAt:!1:!0}function Ca(e){let t=Ze(h.join(J(e),`runner`,`task.json`))??{},n=e=>e===void 0?void 0:new Date(e).toISOString();return Object.values(t).map(({value:e})=>e).filter(t=>Sa(e,t)).map(e=>{let t=e.status===`waiting`?`running`:e.status,r=e.archivedAt??(Wi.includes(t)&&ia(e.finishedAt??e.updatedAt)?e.finishedAt??e.updatedAt:void 0);return{id:e.task.id,status:t,...e.task.name?{name:e.task.name}:{},...e.task.prompt?{prompt:e.task.prompt}:{},...e.task.cwd?{cwd:e.task.cwd}:{},...e.task.agent?{agentId:e.task.agent}:{},source:e.task.source??`dashboard`,...e.error?{error:e.error}:{},createdAt:n(e.createdAt),updatedAt:n(e.updatedAt),...e.finishedAt?{completedAt:n(e.finishedAt)}:{},...r===void 0?{}:{archived:!0,archivedAt:n(r)}}})}function wa(e,t){let n=ba(),r=t?.migrate??!0,i=new Set,a=[];for(let t of _a(X(e),i))sa(t)?r&&ca(e,$(e,t,n)):a.push($(e,t,n));for(let t of _a(Y(e),i))if(t.archived&&!sa(t)){let i=$(e,t,n);a.push(r?oa(e,i,{auto:!0}):i)}return a.sort(ya)}function Ta(e,t){if(!t){let t=wa(e);return[...xa(e),...t].sort(ya)[0]??null}let n=t=>{let n=$(e,t);return sa(n)?ca(e,n):n},r=Q(e,t);if(r)return n(r);if(!G(t))return null;let i=[...new Set([Y(e),X(e)].flatMap(e=>ga(e).filter(e=>e.startsWith(t))))].flatMap(t=>{let n=Q(e,t);return n?[n]:[]});if(i.length>1)throw Error(`Task reference "${t}" is ambiguous. Use a longer id.`);return i[0]?n(i[0]):null}function Ea(e,t){let n=Z(e,t);try{_.mkdirSync(n,{recursive:!0}),_.writeFileSync(h.join(n,`heartbeat`),``,`utf8`)}catch{}}function Da(e,t){let n=Z(e,t.id),r=Date.parse(t.updatedAt??``)||0;for(let e of[`log.jsonl`,`heartbeat`])try{r=Math.max(r,_.statSync(h.join(n,e)).mtimeMs)}catch{}return r?new Date(r).toISOString():void 0}const Oa=`steer-queue.jsonl`,ka=`steer-pending`;function Aa(e,t,n){return Ji(t,`task id`),it(h.join(J(e),`steer`,`${t}.lock`),n)}const ja=`steer-claimed.jsonl`,Ma=e=>_.existsSync(e)?_.readFileSync(e,`utf8`).split(/\r?\n/).filter(Boolean).flatMap(e=>{try{let t=JSON.parse(e).key;return typeof t==`string`?[t]:[]}catch{return[]}}):[];function Na(e,t,n){let r=Z(e,t);return[Oa,ja].some(e=>Ma(h.join(r,e)).includes(n))}function Pa(e,t,n,r){if(r&&Na(e,t,r))return!1;let i=Z(e,t);return _.mkdirSync(i,{recursive:!0}),_.appendFileSync(h.join(i,Oa),`${JSON.stringify({at:new Date().toISOString(),text:n,...r?{key:r}:{}})}\n`,`utf8`),_.writeFileSync(h.join(i,ka),``),!0}function Fa(e,t){return t.status===`completed`&&t.steerClosed===!1&&!!t.pid&&ma(t.pid,t)&&La(e,t.id)}function Ia(e,t){return _.existsSync(h.join(Z(e,t),Oa))}function La(e,t){return Ia(e,t)||_.existsSync(h.join(Z(e,t),ka))}function Ra(e,t){_.rmSync(h.join(Z(e,t),ka),{force:!0})}function za(e,t){let n=Z(e,t),r=h.join(n,Oa);if(!_.existsSync(r))return[];_.writeFileSync(h.join(n,ka),``);let i=h.join(n,`steer-claim-${process.pid}-${Date.now()}.tmp`);try{_.renameSync(r,i)}catch{return[]}try{let e=_.readFileSync(i,`utf8`).split(/\r?\n/).filter(Boolean).flatMap(e=>{try{return[JSON.parse(e)]}catch{return[]}}),t=e.filter(e=>typeof e.key==`string`);return t.length&&_.appendFileSync(h.join(n,ja),t.map(e=>`${JSON.stringify({key:e.key})}\n`).join(``),`utf8`),e.map(e=>String(e.text??``)).filter(Boolean)}finally{try{_.unlinkSync(i)}catch{}}}function Ba(e,t,n){Va(Z(e,t),n)}function Va(e,t){_.mkdirSync(e,{recursive:!0}),_.appendFileSync(h.join(e,`log.jsonl`),`${yn({at:new Date().toISOString(),...t})}\n`,`utf8`)}const Ha=`Steer accepted live:
|
|
13
|
+
`;function Ua(e,t,n){let r=rt(Z(e,t));return n?.on(`message`,r.notify),n?.on(`exit`,r.notify),n?.on(`error`,r.notify),{wait:r.wait,close(){n?.off(`message`,r.notify),n?.off(`exit`,r.notify),n?.off(`error`,r.notify),r.close()}}}function Wa(e,t){let n=h.join(Z(e,t),`results.jsonl`);return _.existsSync(n)?_.readFileSync(n,`utf8`).split(`
|
|
14
|
+
`).flatMap(e=>{try{return[JSON.parse(e)]}catch{return[]}}):[]}function Ga(e,t){if(t<=0)return[];let n=0;for(let r=e.length-1;r>=0;--r)if(e[r]?.kind!==`usage`&&(n+=1)===t)return e.slice(r);return e}function Ka(e,t,n=40){if(n<=0)return[];let r=h.join(Z(e,t),`log.jsonl`),i;try{i=_.openSync(r,`r`)}catch(e){if(e.code===`ENOENT`)return[];throw e}try{let e=_.fstatSync(i).size,t=Math.min(e,65536);for(;;){let r=e-t,a=Buffer.alloc(t),o=_.readSync(i,a,0,t,r),s=a.toString(`utf8`,0,o),c=(r?s.slice(s.indexOf(`
|
|
15
|
+
`)+1):s).split(/\r?\n/).filter(Boolean);if(r===0||s.includes(`
|
|
16
|
+
`)&&c.length>=n)return c.slice(-n).map(e=>{try{return JSON.parse(e)}catch{return{message:e}}});t=Math.min(e,t*2)}}finally{_.closeSync(i)}}function qa(e){return[e.engine??`-`,e.model,e.model?e.effort:null].filter(Boolean).join(`/`)}function Ja(e){let t=Date.parse(e??``);return Number.isFinite(t)?Math.max(0,Date.now()-t):0}const Ya=6e5,Xa=/access token could not be refreshed/i,Za=/model is not supported|Codex cannot run model/i;function Qa(e){return e instanceof Error?e.message:String(e??``)}function $a(e){return Xa.test(e??``)}function eo(e){return Za.test(e??``)}function to(e,t){return!eo(e)||/Codex cannot run model/.test(e??``)?null:`Codex cannot run model ${/'([^']+)' model/.exec(e??``)?.[1]??t??`this model`} on the signed-in account. Run \`codex login\` with an account that has it, or pick another alias (coder model list).`}function no(e=process.env){return h.join(e.CODEX_HOME||h.join(x.homedir(),`.codex`),`auth.json`)}function ro(e){try{let t=JSON.parse(Buffer.from(String(e).split(`.`)[1]??``,`base64url`).toString(`utf8`));return String(t.sub??t.email??``)}catch{return``}}function io(e=process.env,t){let n=no(e),r;try{r=_.statSync(n).mtimeMs}catch{return``}if(t?.file===n&&t.mtimeMs===r)return t.fingerprint??``;try{let e=JSON.parse(_.readFileSync(n,`utf8`)),i=e.OPENAI_API_KEY?y(`sha256`).update(String(e.OPENAI_API_KEY)).digest(`hex`):``,a=[e.auth_mode??``,e.tokens?.account_id??``,ro(e.tokens?.id_token),i].join(`|`);return t&&Object.assign(t,{file:n,mtimeMs:r,fingerprint:a}),a}catch{return t?.file===n?t.fingerprint??``:``}}export{va as $,Jt as $n,U as $t,Q as A,z as An,qe as Ar,mr as At,X as B,un as Bn,oi as Bt,La as C,Ln as Cn,et as Cr,di as Ct,Da as D,Tn as Dn,rt as Dr,lr as Dt,G as E,B as En,Xe as Er,ur as Et,Sa as F,gn as Fn,Ye as Fr,Gr as Ft,Z as G,_n as Gn,qr as Gt,Yi as H,sn as Hn,Fr as Ht,Ka as I,rn as In,C as Ir,ni as It,ea as J,yn as Jn,ri as Jt,Zi as K,fn as Kn,Mr as Kt,Wa as L,hn as Ln,Be as Lr,br as Lt,pa as M,dn as Mn,Je as Mr,sr as Mt,ba as N,tn as Nn,Ge as Nr,gr as Nt,wa as O,wn as On,it as Or,pr as Ot,Ca as P,$t as Pn,Ke as Pr,dr as Pt,Ga as Q,Gt as Qn,Qr as Qt,$ as R,on as Rn,ze as Rr,Lr as Rt,la as S,Wn as Sn,nt as Sr,yi as St,fa as T,Cn as Tn,Ze as Tr,pi as Tt,$i as U,I as Un,ei as Ut,Xi as V,an as Vn,Zr as Vt,J as W,nn as Wn,Pr as Wt,na as X,Xt as Xn,Br as Xt,aa as Y,Zt as Yn,Yr as Yt,Na as Z,Kt as Zn,$r as Zt,q as _,Qn as _n,D as _r,xi as _t,eo as a,er as an,O as ar,ua as at,Ta as b,Un as bn,Ct as br,wi as bt,Ya as c,ar as cn,kt as cr,Vi as ct,Ba as d,Gn as dn,bt as dr,Wi as dt,Wr as en,Yt as er,Ea as et,ia as f,Kn as fn,P as fr,Pi as ft,Ra as g,Zn as gn,A as gr,Ci as gt,za as h,Xn as hn,Bt as hr,zi as ht,$a as i,ii as in,k as ir,Aa as it,ma as j,Qt as jn,w as jr,cr as jt,xa as k,En as kn,$e as kr,hr as kt,Ja as l,or as ln,Pt as lr,Hi as lt,Ji as m,qn as mn,M as mr,Ri as mt,to as n,Hr as nn,It as nr,ca as nt,ra as o,ir as on,Vt as or,Gi as ot,oa as p,Jn as pn,Rt as pr,Bi as pt,Qi as q,en as qn,Jr as qt,Qa as r,li as rn,N as rr,Ua as rt,Ha as s,rr as sn,ft as sr,Ki as st,io as t,H as tn,Ht as tr,Fa as tt,Va as u,V as un,ut as ur,Ui as ut,K as v,Yn as vn,jt as vr,bi as vt,Ia as w,Pn as wn,tt as wr,fi as wt,qa as x,Vn as xn,ht as xr,Ni as xt,Pa as y,$n as yn,Tt as yr,Si as yt,da as z,ln as zn,ui as zt};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import{qi as e}from"./core-DwsAMCnL.js";import{A as t,Fn as n,G as r,Gn as i,Gt as a,L as o,S as s,Tr as c,at as l,d as u,kr as d,mn as f,pn as p,qn as m,rt as h}from"./errors-DO_IltpP.js";import{Dt as g,E as ee,I as te,N as _,P as ne,R as re}from"./output-SNqdgh9A.js";import{d as v,l as y,m as b,o as x,u as S}from"./load-BDlEFetB.js";import{t as C}from"./integrations-I7fRDk_l.js";import{i as w}from"./dist-DAnSqY1s.js";import{a as T}from"./discover-CHfF4cEz.js";import{o as ie}from"./executor-ufWRqhdS.js";import{i as E,r as D}from"./mcp-DAHbhfUh.js";import{a as O,n as k,o as A,r as j}from"./turn-DQ13lkPF.js";import M from"node:path";import N from"node:process";import{readFileSync as P,readdirSync as F,writeFileSync as I}from"node:fs";import L from"node:fs/promises";var R=e({AGENT_TASK_PREFIX:()=>z,agentDeveloperInstructions:()=>Q,agentInstructions:()=>de,agentTaskOptions:()=>ue,builtinArgs:()=>ce,builtinTaskArgs:()=>oe,defaultTask:()=>pe,execAgent:()=>Y,isConversation:()=>$,localAgentPrompt:()=>le,postReply:()=>G,postReplyParts:()=>W,postTurnReply:()=>K,reactToMessage:()=>q,replyParts:()=>U,taskFromEvent:()=>B,threadReply:()=>H,waitForAgentTask:()=>X});const z=`agent:`;function B(e,t,n){let r=C[n.integration];return{id:`local-${n.deliveryId}-${e.id}`,source:n.integration,agent:e.id,flow:t,runner:`local`,event:n,definition:e.definition,...e.usage?{usage:e.usage}:{},tools:r?{[n.integration]:r.tools.presets[y(e)]}:{}}}function V(e){return e.normalize(`NFKC`).toLowerCase().replace(/[“”„‟«»‘’‚‛"'`]/g,``).replace(/[‐‑‒–—―−]/g,`-`).replace(/[.!?,;:…]+(?=\s|$)/g,``).replace(/\s+/g,` `).trim()}function H(e,t,n,r){let i=t?.finalMessage?.trim(),a=e.event&&C[e.event.integration]?.progressReplies,o=r?.lastReply?.trim();if(i&&i.replace(/^`+|`+$/g,``).trim()!==`__EMPTY__`&&!t?.error)return{text:i,problem:!1,...!a&&o&&V(i)===V(o)?{duplicate:!0}:{}};let s=t?.error?.message?.trim()??``;if(t?.error&&o&&!a)return{text:``,problem:!0,duplicate:!0};if(n)return{text:s,problem:!1};if(t&&!t.error){if(a&&o)return{text:o,problem:!1};if(r?.lastReply?.trim()||O(r?.prompt,e.context?.mustReply??e.event?.mustReply,r?.steers)===!1)return{text:``,problem:!1,skipped:!0};let t=e.taskUrl?` [See the task](${e.taskUrl})`:``;return{text:`${p}${t}`,problem:!1}}return{text:e.failureReply??s,problem:!0}}function U(e,t){if(!t||e.length<=t)return[e];let n=[],r=``,i=!1,a=()=>{r.trim()&&n.push(r.trimEnd()),r=``};for(let o of e.split(/\n\n/)){r&&!i&&`${r}\n\n${o}`.length>t&&a();let e=r?`${r}\n\n${o}`:o;for(;e.length>t;){let r=e.lastIndexOf(`
|
|
2
|
+
`,t),i=r>0?r:t;n.push(e.slice(0,i).trimEnd()),e=e.slice(i).replace(/^\n/,``)}r=e,(o.match(/^```/gm)??[]).length%2==1&&(i=!i)}return a(),n}async function W(e,t,n,r,i=!1){let a=[],o=i&&e.adapter.postProgress;for(let i of U(t,n))a.push(o?await o.call(e.adapter,e.id,i):r&&e.adapter.reply?await e.reply(r,{markdown:i}):await e.post({markdown:i}));return a}async function G(e,t,n,r,i=e.id,a=!1,o=!1,s){let c=s??await ae(e,t,r,i),l=c.adapter,u=l.postProblem;if(a&&u){let e=(await u.call(l,c.id,n))?.id;return e?[e]:[]}return(await W(c,n,e.replyLimit,t.chat?.message?.id,o)).flatMap(e=>e.id?[e.id]:[])}async function K(e,t,n,i){let a=M.join(r(e,t),`post-${n}.json`),o=c(a);if(o)return o;I(a,`null`,{flag:`wx`});let s=await i();return d(a,s),s}async function ae(e,t,n,r){if(!t.chat)throw Error(`The ${t.integration} event has no conversation`);let[{Chat:i},{LocalChatState:a}]=await Promise.all([import(`./dist-DAnSqY1s.js`).then(e=>e.a),import(`./chat-bwKd3y6V.js`).then(e=>e.r)]),o=await e.adapter({fetch,appId:t.appId.slice(e.id.length+1),name:r,installationId:t.installationId,token:async()=>n,privateState:()=>new a}),s=new i({userName:r,adapters:{[e.id]:o},state:new a,logger:`error`});return await s.initialize(),s.thread(t.chat.thread.id)}async function q(e,t,n){if(!n)throw Error(`This turn has no message to react to; give a message id`);let r=w.fromSlack(w.fromGChat(t).name);await e.adapter.addReaction(e.id,n,r)}function J(e,t){return Object.fromEntries(Object.keys(e.tools).map(n=>[n,t[E(n)]??(n===e.event?.integration?t.APP_TOKEN:void 0)]))}async function Y(e){let{cwd:i,flow:c}=e,p=a(i),m=await x(i,C),h=e.task;!h&&e.taskFile&&(h={...JSON.parse(await L.readFile(M.resolve(i,e.taskFile),`utf8`)),flow:c});let y=m.find(t=>t.id===e.agent);if(h&&(y={id:h.agent,name:h.definition.name??h.agent,definition:b(h.agent,h.definition),...h.usage?{usage:h.usage}:{},...h.files?{files:h.files}:{},builtin:!1}),!y)throw Error(`No agent named "${e.agent}".`);h??=await se(i,y,c,e);let S=h.event,w=S&&C[S.integration];if(S&&!w)throw Error(`Unknown integration "${S.integration}".`);let E=n(e.connections??{},e.connectionEnv),O=D(h,e.toolEnvironment?.tokens??J(h,N.env),e.replyEndpoint,e.toolEnvironment?.native);if(c==="default"){let n=e.post!==!1&&!!w,a=e.postToken??N.env.APP_TOKEN,m=n?ae(w,S,a,h.author??w.id):void 0;m?.catch(()=>{});let b=pe(y,h),x=e.resumeTaskId&&t(i,e.resumeTaskId)?.engine,C=_(x&&x!==v(y).engine?{engine:x}:v(y),p),T=ne(h.mcp?.join(`,`),p.mcp,y.definition.mcp,E.mcp),ie=[...Object.values(O.mcp),...T.mcp],D=e.resumeTurn??(e.resumeTaskId?o(i,e.resumeTaskId).length:0),k,A=e.resumeTaskId??e.taskId??s(),j=h.engineChain??[C.engine],P=Math.max(0,j.indexOf(C.engine)),F=!1;for(let e of j.slice(0,P))u(i,A,{kind:`warning`,message:`${e} skipped because no applicable credential is connected`});let I,R;for(;;){let t=j[P];C=_(F?{engine:t}:{...v(y),engine:t},p);let n=!1;try{if(await e.onEngine?.(t)===!1)throw new g(`chain-exhausted`,`No applicable credential is connected for ${t}`);F&&l(i,A,{status:`queued`,pid:null,threadId:null,resumeThreadId:null,resumedAt:new Date().toISOString(),error:void 0,completedAt:void 0}),I=e.resumeTaskId?{taskId:e.resumeTaskId}:await ee({onWorker:(t,n)=>{k=n,e.onWorker?.(t,n)},availability:e.availability,taskId:A,...e.resume?{resume:e.resume}:{},mcp:ie,mcpBindings:T.mcpBindings,mcpWarnings:T.warnings,nativeMcp:T.nativeMcp,connectionEnv:{...E.env,...O.env},connections:h.connections,cwd:i,agentId:h.agent,...$(h)?{conversation:!0}:{},...h.author?{author:h.author}:{},...S?.repo?{repo:`${S.repo.owner}/${S.repo.name}`}:{},...e.source?{name:h.name,source:e.source}:{name:`${z}${h.id}`,source:h.source},appendSystem:h.appendSystem,addDirs:h.addDirs,engine:C.engine,model:C.model??void 0,effort:C.effort??void 0,permissions:h.permissions??C.permissions,agentPrompt:b.agentPrompt,prompt:b.prompt,outputSchema:h.context?.outputSchema,...h.context?.approvals?{approvals:h.context.approvals}:{},wait:!0},h.engineChain?{config:{...p,chain:[C.engine]},waitForStartup:!1}:{}),await e.onTask?.(I.taskId,D),R=await X(i,I.taskId,e.onApproval,(e,t,n)=>re(e,t,{...n,turn:D,worker:k}))}catch(t){if(!h.engineChain||!(t instanceof g)||t.code!==`chain-exhausted`)throw t;n=!0;let a=t.payload?.error??t.message,s=l(i,A,{status:`failed`,engine:C.engine,prompt:b.prompt,error:a,pid:null}),c={status:1,threadId:null,error:{message:a}};d(M.join(r(i,s.id),`result.json`),c),await L.appendFile(M.join(r(i,s.id),`results.jsonl`),JSON.stringify({...c,prompt:b.prompt})+`
|
|
3
|
+
`),I={taskId:s.id},await e.onTask?.(s.id,D),R={taskId:s.id,task:s,status:`failed`,result:c,turns:o(i,s.id),steps:[]}}let a=n?j[P+1]??null:h.engineChain?te(i,R,{...p,chain:j}):void 0;if(a!==void 0&&u(i,A,{kind:`warning`,message:`${C.engine} skipped because ${R.result?.error?.message??`the engine could not start`}`}),a==null)break;D=o(i,I.taskId).length,k&&await new Promise(e=>{if(k.exitCode!==null||k.signalCode)return e();k.once(`exit`,()=>e())}),P++,F=!0,e={...e,resumeTaskId:void 0,resume:void 0}}let B=o(i,I.taskId)[D],{text:V,problem:U,skipped:W,duplicate:q}=B?H(h,B,!1,B):H(h,R.result,R.status===`cancelled`);W&&n&&u(i,I.taskId,{kind:`status`,message:f});let J=n&&!!V&&!q,Y=J?await K(i,I.taskId,D,async()=>G(w,S,V,a,h.author,U,!1,await m)):[];return{ok:R.status===`completed`,flow:c,reply:V,posted:J,...Y.length?{postedMessages:Y}:{},taskId:I.taskId,turn:D,tokens:R.result?.tokens??void 0}}let k=T(c,i),A=k.scope===`builtin`?{...await oe(h,y,e.post!==!1),cwd:i,...h.args}:h.args??S,j=await ie(k.path,{cwd:i,...e.taskId?{runId:e.taskId}:{},args:A,ceiling:{agent:y.id,permissions:h.permissions??_(v(y),p).permissions},...e.postToken?{integrationToken:e.postToken}:{},connections:{mcp:{...E.mcp,...O.mcp},env:{...E.env,...O.env},ids:h.connections??[]}},{...e.onTask?{onEvent:t=>{t.kind===`task-start`&&e.onTask(t.taskId)}}:{},...e.onStart?{onStart:e.onStart}:{}});return{ok:!0,flow:c,runId:j.runId,result:j.result,tokens:j.tokens}}async function X(e,t,n,r=re,i){let a=new Set,o=h(e,t);try{for(;;)try{return await r(e,t,{seen:[...a]})}catch(e){if(!(e instanceof g)||e.code!==`approval-pending`||!n)throw e;let t=String(e.approval?.id);if(!a.has(t)){a.add(t),await n(e.approval);continue}await(i?i():o.wait(3e4))}}finally{o.close()}}async function oe(e,t,n=!0){if(!e.event)throw Error(`built-in flows need a GitHub pull request event`);return{...await ce(e.event,t,e.context,e.author,n),...v(t),...e.permissions?{permissions:e.permissions}:{}}}async function se(e,t,n,r){if(r.taskFile){let t=JSON.parse(await L.readFile(M.resolve(e,r.taskFile),`utf8`));return{...t,flow:n,tools:t.tools??{}}}if(!r.eventFile)throw Error(`Missing --task or --event file.`);return B(t,n,JSON.parse(await L.readFile(M.resolve(e,r.eventFile),`utf8`)))}function ce(e,t,n,r,i=!0){let a=C[e.integration]?.repos?.pullRequest(e);if(!a)throw Error(`built-in flows need a pull request event`);return{pr:a,post:i,...r?{author:r}:{}}}async function le(e,t){let n=(await x(e,C).catch(()=>[])).find(e=>e.id===t);return n?{access:y(n),developer:Q(n)}:{access:`read`}}async function ue(e,t,n,r,o){let s=await x(e,C),c=s.find(e=>e.id===t);if(!c)throw new g(`invalid-option`,`No agent named "${t}".`,{hint:`Agents here: ${s.map(e=>e.id).join(`, `)}`});let{definition:l,usage:u}=c,d=r===void 0?await i(m(u?.connections,o),void 0,void 0,y(c)):void 0,f=l.mcp??{},p=ne(n,a(e).mcp,f,r??d?.mcp);return{engine:u?.engine??l.engine,model:u?.model??l.model,effort:u?.effort??l.effort,permissions:u?.permissions??l.permissions,developer:Q(c),...p,mcpWarnings:p.warnings,connections:u?.connections,...d?{connected:d}:{}}}const Z=48e3;function Q(e,t){return{description:e.definition.description,instructions:de(e),notes:t?.instructions}}function de(e){if(!e.dir)return fe(e.files??{});let t;try{t=F(e.dir).filter(e=>e.endsWith(`.md`))}catch{return``}t.sort((e,t)=>e===`system.md`?-1:t===`system.md`?1:e.localeCompare(t));let n=``;for(let r of t){let t=`### ${r}\n\n${P(M.join(e.dir,r),`utf8`).trim()}\n`;if(n+=t.slice(0,Z-n.length),n.length===Z)break}return n.trimEnd()}function fe(e){let t=Object.keys(e).filter(e=>e.endsWith(`.md`));t.sort((e,t)=>e===`system.md`?-1:t===`system.md`?1:e.localeCompare(t));let n=``;for(let r of t){let t=`### ${r}\n\n${e[r].trim()}\n`;if(n+=t.slice(0,Z-n.length),n.length===Z)break}return n.trimEnd()}const $=e=>!!(e.event&&e.source===e.event.integration);function pe(e,t){let{event:n,context:r}=t,i=$(t),a=t.prompt===void 0?r?.user:void 0,o=n&&C[n.integration],s=t.prompt===void 0?n?k([n],a):``:A(t.prompt,n?.repo,n&&o?.repos?.pullRequest(n));return{agentPrompt:{developer:Q(e,r),...i?{platform:{name:n.integration,prompt:[o?.prompt,o?.repos&&`Review findings are inline review comments marked coder-review:fp.`].filter(Boolean).join(`
|
|
4
|
+
`)||void 0},events:S(e.definition.integrations[n.integration])}:{},access:y(e)},prompt:j(r?.messages??[],s)}}export{G as a,q as c,X as d,R as i,B as l,ue as n,W as o,Y as r,K as s,z as t,H as u};
|