@wular/coder 0.5.1 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{actions-DO8MvHwc.js → actions-C35tq9KH.js} +2 -2
- package/dist/{agent-Cgala63h.js → agent-BZR4Eqdc.js} +1 -1
- package/dist/{apps-BORri-28.js → apps-CCqOsEZH.js} +4 -4
- package/dist/{async-BS9tyhva.js → async-BP5q3Une.js} +1 -1
- package/dist/{auth-C16ylySv.js → auth-CJOm9_Vh.js} +1 -1
- package/dist/{chat-czruXAt3.js → chat-BD2Fu3jU.js} +1 -1
- package/dist/cli.js +2 -2
- package/dist/{cmd-C1gHyVG7.js → cmd-BH1bmZGs.js} +29 -29
- package/dist/{connection-CgA5_NJ7.js → connection-DNzNYpha.js} +1 -1
- package/dist/{context-C1XBbfEL.js → context-DVGPu7f_.js} +1 -1
- package/dist/dash/standalone/server/build-index.json +1 -1
- package/dist/dash/standalone/server/manifest.json +1305 -1297
- package/dist/dash/standalone/server/modules-server-server-react-server/src/client/{index.91e126d7a389d4bd.js → index.a036e2c6ae93ec75.js} +3 -2
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/api/{load.858c062c7891a2c1.js → load.3e1c235ecb89201a.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/create/[id]/{page.9375ab741dc9791e.js → page.182d84c6c82e23ce.js} +3 -3
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/account/{loading.56c14183236be231.js → loading.d336cb9556ff8727.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/account/{notify.c36570a56d279ce2.js → notify.62f2ed40b52a8634.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/account/{page.13fdd9cc55ad3a52.js → page.ff2419800c956e8d.js} +4 -4
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/account/{sign-out.38a7f39cddc670f7.js → sign-out.e125b18b5682b3eb.js} +2 -2
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/(list)/{agent-menu.5c780867b82081b1.js → agent-menu.eae818909ed5becf.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/(list)/{agents-grid.2385ffa8fdad08d6.js → agents-grid.dcc8b20efd8850e6.js} +5 -5
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/(list)/{loading.0130f8533d8f1b1e.js → loading.061efc737835250f.js} +2 -2
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/(list)/{page.5ca6921e50484f8c.js → page.6704febb2a60975e.js} +6 -6
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/{layout.afc4a8a5a8360975.js → layout.32acdff971049f4d.js} +8 -8
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/{page.ba65063a1aa99a62.js → page.1208c1115d309a62.js} +6 -6
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/platforms/{loading.d56ef50b0694f975.js → loading.e4f77e054d5a5f00.js} +2 -2
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/platforms/{page.03c5e72b0fe50ba9.js → page.630dd03a59048b88.js} +14 -14
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/platforms/{platform-actions.7c8c75bd0c05df4a.js → platform-actions.184f6c441ac3d1c7.js} +5 -5
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/platforms/{platform-step.d6a980d1181dc940.js → platform-step.d97e9a2290dbfae3.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/settings/{agent-settings-form.b5299f5130a4e8af.js → agent-settings-form.840d93eb2ba648bd.js} +8 -8
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/settings/{loading.2800c65e45a4a1d9.js → loading.707d269a647b6f56.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/settings/{page.fad77cea17947d47.js → page.b79c235f7735fc3e.js} +6 -6
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/tasks/{loading.4120e6979eaed441.js → loading.10ca51cc6fb65391.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/tasks/{page.474b3524d5ea53b7.js → page.a09314f795d5e740.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/usage/{loading.3a615597ca648452.js → loading.10a0ff0d99710f70.js} +2 -2
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/usage/{page.7868a07efcaa26f4.js → page.d88040124d4d2053.js} +4 -4
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/{versions-list.ba93a53773cab8a8.js → versions-list.e6088baf4de7f41e.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/edit/{loading.6e53829bd1f3021d.js → loading.5228229c48332ccd.js} +3 -3
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/edit/{page.5798ede8ba8ace97.js → page.c60cf1ea8ede39f6.js} +7 -7
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/platforms/[app]/{app-cards.55778a4b3177846d.js → app-cards.f17ab135e3e31e00.js} +2 -2
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/platforms/[app]/{loading.f0d91d48e2b79e50.js → loading.de17198764c127f5.js} +2 -2
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/platforms/[app]/{page.ce391cad0d78795f.js → page.706499514893c5e0.js} +5 -5
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/agent/{agent-pills.1012e04bfbc7bffd.js → agent-pills.bd9808856ef860f3.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/agent/{agent-toggle.0cec822c6099f058.js → agent-toggle.901667176840cd25.js} +2 -2
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/agent/{hero.7151c467e7ecf6a5.js → hero.fd2ffbf999c6c1e9.js} +3 -3
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/editor/{connect-repositories.4e121d31ed0cfe02.js → connect-repositories.e27bcba279f82d7b.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/editor/{editor.f314d92af0bb33b0.js → editor.edcfc2f0692e9059.js} +10 -10
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/editor/{import-picker.11028d5329ad537b.js → import-picker.515ab6c14afe14ac.js} +5 -5
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/new/{loading.9b65a8c1cdc8346f.js → loading.0cf7535fa7af7fbd.js} +2 -2
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/new/{page.1476d31e4554e88b.js → page.95eb2cd0671e7f6e.js} +5 -5
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/{layout.150d950d191db477.js → layout.87f5bb00d4e34e6b.js} +7 -7
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/operator/{operator-apps.3e72de86b86a7338.js → operator-apps.6a9975e2f64a9e5b.js} +6 -6
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/operator/{page.6a4be3b1a473ff8c.js → page.3691b55916b17d14.js} +6 -6
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/{page.262ed73437c17872.js → page.7de674df6cd0e824.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{advanced-list.7180570379e2625c.js → advanced-list.c7821de9a79fb144.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{connection-add.632b1847c16ecd42.js → connection-add.f102abaca93416ff.js} +7 -7
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{connections-list.4378ae707b2092ed.js → connections-list.098f57fd6b1570d8.js} +8 -8
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{credentials-list.e47897acb6867df8.js → credentials-list.2a2d391b2fc563fc.js} +7 -7
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{credentials.6bd06f96afbe7329.js → credentials.0eeab14f7a6236bb.js} +8 -8
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{list.38e70272eeb98cd0.js → list.5a1847f3ed97bc5b.js} +3 -3
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{models-list.a08cd37d0f7ff86c.js → models-list.d0954eca1a1ca3d2.js} +9 -9
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{page.f096b5a9ac419326.js → page.f0e75930eb08c4bc.js} +14 -14
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{runners-list.0df1f9329df1b67d.js → runners-list.74bcad5271e5de01.js} +6 -6
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{secrets-list.6d2f56fa7d6fcab0.js → secrets-list.d0c1121f216e0bcb.js} +4 -4
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/{layout.0fd865c865e5bab4.js → layout.05700d93abe5a3d4.js} +4 -4
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/{model-pick.695538b2edf9dd15.js → model-pick.1d99ed9c886cabe5.js} +2 -2
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/{page.c57b81c2197cce0f.js → page.e439da4bae9d6d6c.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/{settings-head.004ced21e02ffa48.js → settings-head.08ab3f9bad326d47.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/setup/{create-link.60aadbe43ea1e39c.js → create-link.161d0d636ca45721.js} +3 -3
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/setup/{outcome-toast.e2b9ef0344b1a1a2.js → outcome-toast.d6d0bd8663377fda.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/setup/{page.c456ad99c8a9f875.js → page.5f90915ba7faa83d.js} +5 -5
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/{activity.2ec05d78d609b7b2.js → activity.f8d48c80747830ee.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/{loading.779ecdd9c9d2ff09.js → loading.3966ea5aa984c177.js} +4 -4
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/{page.578be2f6c89fcba0.js → page.8ad4907125ab2593.js} +16 -10
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/{task-actions.d131453dd2a423c3.js → task-actions.f4e6ea3320e0ae23.js} +14 -22
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/{task-missing.33ec27a4a5eafefe.js → task-missing.66dc41e2c7b199fb.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/{task-view.3d72a4ecd2b3826e.js → task-view.b7b9a82526087a6f.js} +83 -22
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/{composer.97be3e67214889c1.js → composer.91fe18526ebad717.js} +10 -10
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/list/{pending-approvals.9175908da02960e1.js → pending-approvals.319cefed5e3adb15.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/list/{task.a25847399a4dfb30.js → task.fcd21a71424503e9.js} +27 -7
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/list/{tasks-list.028798c79227a366.js → tasks-list.550288bcec62fea5.js} +61 -44
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/list/{tasks-section.9a9d13057b326f25.js → tasks-section.7e3bc3398baec1bd.js} +7 -7
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/{page.045c6db0c56975b2.js → page.98767f77d0fd9a05.js} +3 -3
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/usage/{loading.5b973a8bb29197d5.js → loading.d2482006f8adc43a.js} +2 -2
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/usage/{page.938d29ff7edb678d.js → page.26319c38995aceca.js} +4 -4
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/usage/{range-bar.0b9038e9df707843.js → range-bar.3086edd9a97046c2.js} +2 -2
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{loading-card.77bea8c5870b5d3c.js → loading-card.94d5645c958c77e9.js} +2 -2
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{page-head.2eb1e0213eb50349.js → page-head.a6bd4a75087e6e53.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{stream.2cdb8eabd8f6df70.js → stream.c7ffa724145ce870.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{task-toasts.8733901ca0e4c246.js → task-toasts.168a3d3f5fd52cb4.js} +48 -21
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{theme-choices.fc86071c1b634176.js → theme-choices.9d0674c72d0ce188.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/nav/{back.7aa0ae82dbec38cd.js → back.95ed3b5a6128d557.js} +2 -2
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/nav/{org.853d173b55368728.js → org.efcee1c3404f6345.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{combo.e4e08287494081a3.js → combo.3acd48652c3a66a6.js} +2 -2
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{filter.0730dccad6332327.js → filter.6468dec3a8faed6f.js} +6 -6
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{menu-items.759a1b1f7c5ee365.js → menu-items.725ede2a88ea76a9.js} +7 -3
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{select.0ee9e8f04ddd8b47.js → select.b712227920cd0845.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/utils/{action.56cea462eb725c39.js → action.55bd1d3e1b67a67e.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/utils/{client.685154f230716834.js → client.b9225923da59febe.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/{advanced-list-b75a9c2bd11026de.js → advanced-list-d9a68433a13416df.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/{agent-pills-54564413a57d7fa7.js → agent-pills-1414a96077ec37de.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/{agent-settings-form-55d294dad2ce5a0d.js → agent-settings-form-73da6b4b714e49b4.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/{agent-toggle-b5dcc4ea6292fb3d.js → agent-toggle-d14e2838d11ab0f7.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/{agents-grid-69461c53abbba433.js → agents-grid-aea25444710f2634.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/{back-ba5e4340a9f8bbd2.js → back-57d4a59bf80377e6.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/{chain-hint-491eb09a20a15702.js → chain-hint-dcb6933d6f8a6324.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/{combo-6df61e8a1cc31037.js → combo-460bff876882c694.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/{composer-198b844da57b82a3.js → composer-8d12a215b107c9b3.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/composer-fe63697f84a538c2.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/{confirm-14d018653fbe50fc.js → confirm-c0c0642856e64b11.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/{connect-repositories-5118edc019fc7890.js → connect-repositories-3a317a5db3ea50b1.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/{connections-list-5412dad7e0def52f.js → connections-list-0110d160a25b388c.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/{copy-04781f9af4e10f06.js → copy-eeb076af6e19e501.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/create-link-e72ff4dd7ef06e1c.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/{credentials-list-e64c973aee5602d3.js → credentials-list-90e6a2436041b18d.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/{custom-range-b6919bab9846ebf7.js → custom-range-721477a24237c90d.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/{editor-68e9ccd1764fc512.js → editor-64f6563f28d53ec5.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/{field-adcb6e6a5f9b7131.js → field-7c895f6d8d5d9eb3.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/{instructions-7b274685ceb26457.js → instructions-7b1485330fc4e8fd.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/instructions-ed61f719baf13b12.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/{list-662f042656857c82.js → list-c0633e5e742dff16.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/{models-list-ae1e2eff30d21824.js → models-list-228b3503307bc1ff.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/{outcome-dialog-fd86ded4c44c2de7.js → outcome-dialog-36842dfe50be1c85.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/outcome-dialog-630b20ddff39b01d.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/outcome-toast-b7e33ff0d984f359.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/{platform-actions-f3979ab69a6ceb53.js → platform-actions-055a2e246fca7af9.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/platform-actions-9e198b0c88df3206.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/platform-step-111051da80de6577.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/{platform-step-5454b6c0a19caefd.js → platform-step-c7473e57e0b2f824.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/{runners-list-20d42f19fb4bec8a.js → runners-list-973253df985a8306.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/{runtime-3fcac605fffcc273-1.js → runtime-9b28886f3cbe0ed3-1.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/{secrets-list-89f89ee70edb3856.js → secrets-list-4aa6e2bf0fef06d6.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/{segmented-66a8c77c6294fec3.js → segmented-a994b4c20434c0ad.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/shared-init-4f4cac48ca0ef193.js +9 -0
- package/dist/dash/standalone/static/assets/chunks/shared-init-5734a91cdb78a173.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/shared-init-9b28886f3cbe0ed3-2.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/{shared-init-96225b8c7758de9d.js → shared-init-e8cf924a73e46497.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/side-toggle-a2d07f99f136e975.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/{tail-40f16e09eade7eee.js → tail-d3ba4c4035c5453e.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/task-3b17e45e271a6480.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/task-actions-e0c202536048edc0.js +3 -0
- package/dist/dash/standalone/static/assets/chunks/task-view-3822a8fe44f4aa92.js +3 -0
- package/dist/dash/standalone/static/assets/chunks/tasks-list-cb838b88110bbbb4.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/{versions-list-ceb756236e69b761.js → versions-list-7cb9db8c25cdfaa7.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/{wular-pnext-3fcac605fffcc273-0.js → wular-pnext-9b28886f3cbe0ed3-0.js} +1 -1
- package/dist/dash/standalone/static/assets/{dash-param-org-agents-param-slug-dd4ac319a0d62432.css → dash-param-org-agents-param-slug-ea5e0d8593150b35.css} +1 -1
- package/dist/dash/standalone/static/assets/{dash-param-org-agents-param-slug-platforms-9d2e1439f3f7e81b.css → dash-param-org-agents-param-slug-platforms-b45dbb9122cc7338.css} +1 -1
- package/dist/dash/standalone/static/assets/{dash-param-org-agents-param-slug-usage-9cc128ba8af6ef62.css → dash-param-org-agents-param-slug-settings-2a7be18387a422ff.css} +1 -1
- package/dist/dash/standalone/static/assets/{dash-param-org-agents-param-slug-tasks-c8d6aa06f6e75f4c.css → dash-param-org-agents-param-slug-tasks-d12ff8047806bbf5.css} +1 -1
- package/dist/dash/standalone/static/assets/{dash-param-org-agents-param-slug-settings-f21d4fcd3948139b.css → dash-param-org-agents-param-slug-usage-72b55bb80667080b.css} +1 -1
- package/dist/dash/standalone/static/assets/{dash-param-org-tasks-be3cb3d64573f3d9.css → dash-param-org-tasks-e040b6497646a8a0.css} +1 -1
- package/dist/dash/standalone/static/assets/{dash-param-org-tasks-param-id-c20a0537bc82620d.css → dash-param-org-tasks-param-id-7df5e6c891e9e77f.css} +1 -1
- package/dist/dash/standalone/static/assets/pnext-client-019fddb658ef621e.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-025682238ebc1ccd.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-05cb69349250f079.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-0abd872e45d259dd.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-19072249ab9d929f.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-24b6f98a5e678977.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-2ed3001f7f4597c0.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-3028d0d201243815.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-63d9e54053266337.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-7bfb634b06062acf.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-915218deeaa531f2.js +1 -0
- package/dist/dash/standalone/static/assets/{pnext-client-b1af82c6f0db0033.js → pnext-client-a62685439dab6db4.js} +1 -1
- package/dist/dash/standalone/static/assets/{pnext-client-435db60553fa3a67.js → pnext-client-a793df411dc27890.js} +1 -1
- package/dist/dash/standalone/static/assets/pnext-client-ae5f820b1e3add50.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-ba17d46e9f8417f8.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-dbca01dae6b3ad8c.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-ec303fb1cec93d9f.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-ec8fde62be82a077.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-f659576f3d4fea61.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-f715825f54bb8e89.js +1 -0
- package/dist/{drive-B7SBFfcb.js → drive-MggMiKA0.js} +1 -1
- package/dist/{exec-D9jF2F-H.js → exec-CNygM6yF.js} +1 -1
- package/dist/{executor-DBW7R7Tf.js → executor-Ds4wDCzV.js} +1 -1
- package/dist/flow/builtin/review/index.js +1 -1
- package/dist/flow/index.js +1 -1
- package/dist/{hook-DN__zYOG.js → hook-CVJU-ZD0.js} +1 -1
- package/dist/{local-BzMvgiwL.js → local-CqOUpEtl.js} +1 -1
- package/dist/{local-GIxwz_Or.js → local-DFrTuJFN.js} +1 -1
- package/dist/{login-LlZrIlxb.js → login-93jO9qjx.js} +1 -1
- package/dist/{maintenance-DyiyHI8S.js → maintenance-BuDKnfc7.js} +1 -1
- package/dist/{mcp-CrtKQoVi.js → mcp-CTVOR7r6.js} +1 -1
- package/dist/{mcp-Caq72REF.js → mcp-EwT2mCaa.js} +1 -1
- package/dist/{models-BVxs3I8o.js → models-mKyePWrV.js} +1 -1
- package/dist/{permission-RSZM3DUk.js → permission-F6F25GJU.js} +1 -1
- package/dist/remote-Cl-j8r3W.js +1 -0
- package/dist/{runner-CKMOh5Q3.js → runner-DK0jnzPr.js} +1 -1
- package/dist/runner.json +1 -1
- package/dist/runner.tgz +0 -0
- package/dist/schema.js +1 -1
- package/dist/sdk.d.ts +34 -0
- package/dist/sdk.js +1 -1
- package/dist/serve-Cqlkgdfd.js +8 -0
- package/dist/{serve-YlU04KO7.js → serve-DHe6dZM6.js} +1 -1
- package/dist/{session-D7eeJIaH.js → session-BMbMzzPu.js} +1 -1
- package/dist/{shared-BzNReirj.js → shared-D-KqAi7b.js} +1 -1
- package/dist/{sign-in-Dr6sU7vz.js → sign-in-Dv-rdYD4.js} +1 -1
- package/dist/{store-BrnWdtRw.js → store-BpDipcKB.js} +18 -18
- package/dist/{task-CyqtCXo3.js → task-BRHXn5y1.js} +1 -1
- package/dist/{task-DN4assR8.js → task-CzXNLREX.js} +1 -1
- package/dist/{tools-DVtBtED6.js → tools-BCm26CeV.js} +1 -1
- package/dist/{tools-Ck-ZWtmB.js → tools-C69W1B6S.js} +1 -1
- package/dist/{tools-search-BNDea9vZ.js → tools-search-BDaeCoWe.js} +1 -1
- package/dist/{worker-DeuC38Vp.js → worker-DGhRPDDt.js} +2 -2
- package/dist/{worker-DJANNSCT.js → worker-DHNBRRl-.js} +1 -1
- package/package.json +1 -1
- package/plugins/claude/.claude-plugin/plugin.json +1 -1
- package/plugins/cursor/.cursor-plugin/plugin.json +1 -1
- package/dist/dash/standalone/static/assets/chunks/composer-b26a3332a1243461.js +0 -1
- package/dist/dash/standalone/static/assets/chunks/create-link-0651addf1461f901.js +0 -1
- package/dist/dash/standalone/static/assets/chunks/instructions-0022dd3bdd57c13f.js +0 -1
- package/dist/dash/standalone/static/assets/chunks/outcome-dialog-546fe090efc129c2.js +0 -1
- package/dist/dash/standalone/static/assets/chunks/outcome-toast-c00becdb638cd9a8.js +0 -1
- package/dist/dash/standalone/static/assets/chunks/platform-actions-2be223e68e648134.js +0 -1
- package/dist/dash/standalone/static/assets/chunks/platform-step-9a52703f4c4f6a31.js +0 -1
- package/dist/dash/standalone/static/assets/chunks/shared-init-3fcac605fffcc273-2.js +0 -1
- package/dist/dash/standalone/static/assets/chunks/shared-init-96cde32cd50254c0.js +0 -1
- package/dist/dash/standalone/static/assets/chunks/shared-init-abd7653140f37a0c.js +0 -9
- package/dist/dash/standalone/static/assets/chunks/side-toggle-8a410cc6d6bd9b1d.js +0 -1
- package/dist/dash/standalone/static/assets/chunks/task-396d849e58e50d59.js +0 -1
- package/dist/dash/standalone/static/assets/chunks/task-actions-0b3054dc0f8d17c0.js +0 -3
- package/dist/dash/standalone/static/assets/chunks/task-view-9e026dc5da58af5b.js +0 -3
- package/dist/dash/standalone/static/assets/chunks/tasks-list-04c6568d7f7237b7.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-07b41bfab64b61c0.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-0d388d56250f9f46.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-1443e45181b60bb0.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-27207e4f43f9a21b.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-523dd4071aa294ba.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-5f6bda3919f68382.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-684fd8ad16563ed3.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-6b952cdda9a1eb2b.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-6fe9e98f7dd8dcbf.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-730c2c507a159f9e.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-7c46573e45b67166.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-83a865c3d75705bd.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-907d1db4fb398a1d.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-9baf701f3e641d09.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-a57705e4e1047a9e.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-cede3bd7b2735942.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-d9a3996f22b6816b.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-f95364a0073ca4ce.js +0 -1
- package/dist/remote-CY-qYX2C.js +0 -1
- package/dist/serve-D23JqDip.js +0 -12
- /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/{task-view.440367ae07204ee7.css.pnext-asset.js → task-view.61d4afa987d59596.css.pnext-asset.js} +0 -0
- /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/list/{tasks-list.f3737549b4696cc8.css.pnext-asset.js → tasks-list.835b11dc95c95cb5.css.pnext-asset.js} +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{Ea as e,ma as t}from"./args-CJsHYWbt.js";import{B as n,p as r,vt as i,z as a}from"./state-CxAUec80.js";import{z as o}from"./config-_32PHl9g.js";import{n as s}from"./connections-B90TemYf.js";import{c,i as l,n as u}from"./load-BtIDghgd.js";import{t as d}from"./integrations-DSZSa8Rc.js";import{f,i as ee,l as p}from"./definition-D0OpQfGX.js";import"./turn-eI4iRPsq.js";import m from"node:path";import h from"node:fs";import{execFile as te}from"node:child_process";import{randomUUID as ne}from"node:crypto";import{isDeepStrictEqual as g}from"node:util";const _=(e,t,n)=>(e.retryAt??1/0)<=t||!e.shownAt&&e.at<=t-n,v=3e4;var y=class extends Error{};const b=e=>`${e.source===`builtin`?0:1}:${e.id}`,x=(e,t=``)=>`token:${e}:${t}`,S=e=>`token-drop:${e}`;var re=e({agentProblems:()=>M,agentWithVersion:()=>D,diskFiles:()=>P,ensureBuiltinAgents:()=>L,getAgent:()=>w,getVersion:()=>E,listAgents:()=>T,publishAgent:()=>O,publishVersion:()=>k,seedBuiltinAgent:()=>F,seedBuiltinAgents:()=>I,setAgentSettings:()=>A,toAgent:()=>N,versionKey:()=>C});const C=(e,t)=>`${e}:${String(t).padStart(6,`0`)}`;function w(e,t){return e.get(`agent`,t)}async function T(e){return(await e.list(`agent`)).map(e=>e.value)}async function E(e,t,n){let r=n??(await w(e,t))?.currentVersion;return r===void 0?void 0:e.get(`agentversion`,C(t,r))}async function D(e,t){return(await e.listAgentsWithVersions(t))[0]??{}}async function O(e,t,n,r){let i=p(t.id,t.definition),a=t.files&&Object.keys(t.files).length?t.files:void 0;return e.publishAgent({id:t.id,name:t.name??i.name??t.id,...t.description??i.description?{description:t.description??i.description}:{},source:t.source,...t.repo?{repo:t.repo}:{},...t.path?{path:t.path}:{},currentVersion:0,createdAt:n,updatedAt:n},{agent:t.id,version:0,definition:i,systemPrompt:t.systemPrompt,...a?{files:a}:{},...t.commit?{commit:t.commit}:{},...t.origin?{source:t.origin}:{},importedFrom:t.importedFrom,createdAt:n},r)}async function k(e,t,n,r){if(!r)return(await O(e,t,n)).version;let i=p(t.id,t.definition),a=t.files&&Object.keys(t.files).length?t.files:void 0,o=r?r.record:await w(e,t.id),s=r?r.version:o?await E(e,t.id,o.currentVersion):void 0,c=(e,r)=>({id:t.id,name:t.name??i.name??t.id,...t.description??i.description?{description:t.description??i.description}:{},source:t.source,...t.repo?{repo:t.repo}:{},...t.path?{path:t.path}:{},currentVersion:e,...o?.settings?{settings:o.settings}:{},createdAt:o?.createdAt??n,updatedAt:r}),l=e=>g(e.definition,i)&&e.systemPrompt===t.systemPrompt&&g(e.files,a);if(s&&l(s)){let r=c(s.version,o.updatedAt);return g(o,r)||await e.put(`agent`,t.id,c(s.version,n)),s}o||await e.put(`agent`,t.id,c(0,n));let u;for(let r=(o?.currentVersion??0)+1;u={agent:t.id,version:r,definition:i,systemPrompt:t.systemPrompt,...a?{files:a}:{},...t.commit?{commit:t.commit}:{},...t.origin?{source:t.origin}:{},importedFrom:t.importedFrom,createdAt:n},!await e.create(`agentversion`,C(t.id,r),u);r++){let n=await e.get(`agentversion`,C(t.id,r));if(n&&l(n)){u=n;break}}let d=await w(e,t.id);return(!d||d.currentVersion<u.version)&&await e.put(`agent`,t.id,c(u.version,n)),u}async function A(e,t,n,r=Date.now()){let i=await w(e,t);if(!i)throw Error(`No agent named "${t}".`);let a={...i,settings:n,updatedAt:r};return await e.put(`agent`,t,a),a}function j(e,t,n,r){if(!t&&!n)return;let i=t??{},a=n??{},s=new Set([...Object.keys(i.integrations??{}),...Object.keys(a.integrations??{})]),c=Object.fromEntries([...s].map(e=>{let t=i.integrations?.[e],n=a.integrations?.[e],r=t?.allowedEvents&&n?.allowedEvents?t.allowedEvents.filter(e=>n.allowedEvents.includes(e)):n?.allowedEvents??t?.allowedEvents;return[e,r?{allowedEvents:r}:{}]})),l=a.engine||a.model?{engine:void 0,model:void 0,effort:void 0}:{};return{...i,...l,...a,...i.access||a.access?{access:o(i.access,a.access)}:{},...s.size?{integrations:c}:{},...i.connections!==void 0||a.connections!==void 0?{connections:i.connections&&a.connections?i.connections.filter(e=>a.connections.includes(e)):a.connections??i.connections}:{}}}function M(e,t,n){if(e.problems?.length)return e.problems;if(!t)return[`No version ${e.currentVersion} for agent "${e.id}".`];let r=ee(t.definition);if(r.length)return r;try{return u({definitions:{[e.id]:{json:t.definition,builtin:e.source===`builtin`}},usage:e.settings?{[e.id]:f(e.settings)}:void 0,includeDisabled:!0},n),[]}catch(e){return[e instanceof Error?e.message:String(e)]}}function N(e,t,n,r=d){let i=j(t.definition,void 0,e.settings,r),a=j(t.definition,i,n,r),[o]=u({definitions:{[e.id]:{json:t.definition,builtin:e.source===`builtin`}},usage:a?{[e.id]:f(a)}:void 0},r);if(!o)throw Error(`Agent "${e.id}" is disabled.`);return{...o,files:{...t.files??{},"system.md":t.systemPrompt}}}function P(e,t=``){let n={};for(let r of h.readdirSync(m.join(e,t),{withFileTypes:!0})){let i=t?`${t}/${r.name}`:r.name;r.isDirectory()?Object.assign(n,P(e,i)):r.isFile()&&i!==`agent.json`&&i!==`system.md`&&(n[i]=h.readFileSync(m.join(e,i),`utf8`))}return n}async function F(e,n,r,i){let a=l()[r];return a?await k(e,{id:r,source:`builtin`,definition:a.json,systemPrompt:a.systemPrompt,importedFrom:`builtin:${t()}`},n,i)!==i.version:!1}async function I(e,t,n){let r=n??await Promise.all(Object.keys(l()).map(t=>D(e,t))),i=!1;for(let n of Object.keys(l()))await F(e,t,n,r.find(({record:e})=>e?.id===n)??{})&&(i=!0);return i}async function L(e,t){let n=e.settings??={};return n.builtinAgents||=I(e.store,t).then(()=>{}).catch(e=>{throw delete n.builtinAgents,e}),n.builtinAgents}function R(e,t,n,r){let i=t;return(!n.runner||n.runner===e||n.runner===i.name)&&(!n.defaults||!!i.default)&&(!n.ids||n.ids.includes(e))&&(!n.agent||(r??i.agent)===n.agent)&&(!Object.hasOwn(n,`visibleTo`)||!i.owner||i.owner===n.visibleTo)&&(!n.active||i.deletedAt===void 0||!!(n.includeUninstalled&&i.uninstalled))&&(!n.installation||i.installationId===n.installation)&&(!n.apps||!!i.app&&n.apps.includes(i.app))}const z=(e,t)=>e===`credential`?`credential:${t.slice(0,Math.max(0,t.lastIndexOf(`/`)))}`:e===`runner`?`runners:`:`installation:${t}`;async function B(e,t,n,r){let{parseCredentialId:i}=await import(`./apps-BORri-28.js`).then(e=>e.Jt),a=i(n).owner,o=(await e.list(t)).filter(e=>t===`credential`?i(e.id).owner===a:e.id===n),s=await r(o.find(e=>e.id===n)?.value,o,e);for(let n of s??[])n.value===null?await e.delete(t,n.id):await e.put(t,n.id,n.value);return!!s?.length}function V(e,t,n){if(n.deletedAt!==void 0)return;let r=n.app.split(`/`)[0],i=(e,t)=>[e.slice(t.app.length+1),...t.covers??[]],a=new Set(i(t,n));if(e.some(([e,n])=>{let o=n;return e!==t&&!o.deletedAt&&(o.app===r||o.app.startsWith(`${r}/`))&&i(e,o).some(e=>a.has(e))}))throw new y(`Installation "${t}" is bound through another app.`)}function H(e,t,n,r){let i=e?.sending?.count??0,a=[...e?.items.slice(i)??[],...n],o=a.slice(0,Math.max(0,a.length-50));return{...e,owner:t,at:r,items:[...e?.items.slice(0,i)??[],...a.slice(-50)],more:(e?.more??0)+o.length,mustReply:e?.mustReply||o.some(e=>e?.event?.mustReply===!0)}}function ie(e,t){let n=e.sending?.count??0;return t===void 0?n:e.items.findIndex((e,r)=>r<n&&e.admission===t)+1}function ae(e,t,n,r){let{sending:i,...a}=e,o=t?ie(e,n):0;if(t&&i&&o<i.count)return{...e,items:e.items.slice(o),sending:{...i,count:i.count-o,until:r+v}};let s={...a,items:t?e.items.slice(i?.count??0):e.items,more:(e.more??0)+(t?0:i?.more??0),mustReply:e.mustReply||!t&&i?.mustReply};return t?s:H(s,s.owner,[],s.at)}function U(e,t,n=0,r){let i=e??{messages:[],more:0,epoch:ne()},a=i.version??i.messages.length+i.more,o=i.messages.map((e,t)=>({sequence:t+1,...e}));if(t)return{...i,version:a+1,messages:o.length<50?[...o,{...t,sequence:a+1}]:o,more:i.more+(o.length<50?0:1)};if(i.epoch!==r)return i;let s=Math.max(i.acknowledged??0,Math.min(n,a)),c=o.filter(e=>e.sequence>s);return{...i,version:a,acknowledged:s,messages:c,more:a-s-c.length}}function oe(e){let{sending:t,...n}=e;return H({...n,more:(e.more??0)+(t?.more??0),mustReply:e.mustReply||t?.mustReply},e.owner,[],e.at)}var W=class{now;recordEvents=new EventTarget;async watch(e,t){let n=`${e}:${t}`,r=i();return this.recordEvents.addEventListener(n,r.notify),{...r,close:()=>{this.recordEvents.removeEventListener(n,r.notify),r.close()}}}appUpdates=new Map;values=new Map;configUpdate;constructor(e=Date.now){this.now=e}async withAppLock(e,t){e.startsWith(`runners:`)&&(e=`runners:`);let n=(this.appUpdates.get(e)??Promise.resolve()).catch(()=>{}).then(()=>t(this));this.appUpdates.set(e,n);try{return await n}finally{this.appUpdates.get(e)===n&&this.appUpdates.delete(e)}}async withConfigLock(e){let t=(this.configUpdate??Promise.resolve()).catch(()=>{}).then(()=>e(this));this.configUpdate=t;try{return await t}finally{this.configUpdate===t&&delete this.configUpdate}}withCredential(e,t,n){return this.withAppLock(z(e,t),()=>B(this,e,t,n))}async listAgentsWithVersions(e){let t=Array.isArray(e)?await this.list(`agent`,{ids:e}):e?[{value:await this.get(`agent`,e)}]:await this.list(`agent`);return Promise.all(t.flatMap(({value:e})=>e?[this.get(`agentversion`,`${e.id}:${String(e.currentVersion).padStart(6,`0`)}`).then(t=>({record:e,version:t}))]:[]))}async listAgentSummaries(e={}){return(await this.listAgentsWithVersions(e.slug)).filter(({record:t,version:n})=>(!e.after||b(t)>e.after)&&(!e.source||t.source===e.source)&&(!e.platform||!!n?.definition.integrations?.[e.platform])&&(!e.q||[t.id,t.name,t.description,t.repo].some(t=>t?.toLowerCase().includes(e.q.toLowerCase())))).sort((e,t)=>b(e.record)<b(t.record)?-1:1).slice(0,e.limit).map(({record:e,version:t})=>{if(!t)return{record:e};let{systemPrompt:n,files:r,...i}=t;return{record:e,version:i}})}async listVersions(e,t,n){let r=await this.get(`agent`,e),i=n??(t===void 0?1/0:(r?.currentVersion??0)+1);return(await this.list(`agentversion`,{prefix:`${e}:`})).filter(({value:e})=>e.version<i&&(t===void 0||e.version>=i-t)).map(({id:e,value:{systemPrompt:t,files:n,...r}})=>({id:e,value:r}))}async publishAgent(e,t,n){let{publishVersion:r}=await Promise.resolve().then(()=>re);return this.withAppLock(`agent:${e.id}`,async()=>{let i=(await this.listAgentsWithVersions(e.id))[0]??{};if(n&&(i.record?.currentVersion??0)!==n.currentVersion)return;let a=await r(this,{...e,definition:t.definition,systemPrompt:t.systemPrompt,files:t.files,commit:t.commit,origin:t.source,importedFrom:t.importedFrom},e.updatedAt,i);return{record:await this.get(`agent`,e.id),version:a,unchanged:a.version===i.record?.currentVersion}})}async listCredentials(e){return(await this.list(`credential`)).filter(({value:t})=>!t.owner||t.owner===e.owner).slice(0,e.limit)}async installationApp(e){let t=await this.get(`installation`,e);if(!t||t.deletedAt)return;let n=await this.get(`app`,t.app);return n?{installation:t,app:n}:void 0}async getApps(e){return(await Promise.all([...new Set(e)].map(async e=>({id:e,value:await this.get(`app`,e)})))).filter(e=>!!e.value)}async updateMetadata(e,t,n){let r=await this.get(e,t);return r?(await this.put(e,t,{...r,...n}),!0):!1}async listHistory(e){return(await this.list(`history`,{prefix:`${e}:`})).map(({value:{engine:e,conversation:t,savedAt:n}})=>({engine:e,conversation:t,savedAt:n})).sort((e,t)=>e.savedAt-t.savedAt)}async conversationState(e){let[t,n,r]=await Promise.all([this.get(`delivery`,e),this.get(`delivery`,`since:${e}`),this.get(`delivery`,`batch:${e}`)]),i=t&&await this.get(`task`,t.taskId);return{record:t,unseen:n,batch:r,...i?.task.flow==="default"?{status:i}:{}}}async markConversation(e,t,n,r,i){let a=await this.get(`delivery`,e);a?.taskId===t&&await this.put(`delivery`,e,{...a,at:r,seen:n},{ttlMs:i})}async heldTokens(e,t){let n={held:new Map,drops:new Map};for(let t of e)for(let e of await this.list(`snapshot`,{prefix:x(t)}))n.held.set(e.id,e.value);for(let r of[...e,...t])n.drops.set(S(r),(await this.get(`snapshot`,S(r)))?.drop);return n}async holdToken(e){(await Promise.all(e.drops.map(async e=>(await this.get(`snapshot`,e.key))?.drop===e.drop))).every(Boolean)&&await this.put(`snapshot`,e.key,e.value,{ttlMs:e.ttlMs})}saveTaskSecrets(e,t){return this.withAppLock(`connections:${e}`,async n=>{let r=await n.get(`task`,e),i=!!(r&&![`completed`,`failed`,`cancelled`].includes(r.status));if(i)for(let e of t)await n.put(`snapshot`,e.id,{secret:e.value,expiresAt:e.expiresAt},{ttlMs:Math.max(1,e.expiresAt-this.now())});return i})}async dispatchState(e){let{key:t,owner:n,at:r,ttlMs:i}=e.delivery,a=this.live(`delivery`).get(t)?.value,o=a?.pending!==void 0&&(!a.owner||(a.at??0)+i<=r);return a&&!o?{claimed:!1}:(await this.put(`delivery`,t,{at:r,owner:n,pending:a?.pending??!0},a?.pending&&a.pending!==!0?{}:{ttlMs:i}),{claimed:!0})}async usageTotals(e){let{sumUsageTotals:t}=await import(`./apps-BORri-28.js`).then(e=>e.bt);return t(this,e)}async usageSummary(e,t){let{usageSummary:n}=await import(`./apps-BORri-28.js`).then(e=>e.bt);return n((await this.list(`usage`)).map(e=>e.value),e,t).totals}bucket(e){let t=this.values.get(e);return t||(t=new Map,this.values.set(e,t)),t}changed(e){}read(e,t){let n=t;if(e!==`app`||!n.shared)return t;let r=this.live(`app`).get(n.shared)?.value;return{...n,credentials:r?.credentials??``}}live(e){let t=this.bucket(e),n=this.now();for(let[e,r]of t)r.expiresAt!==void 0&&r.expiresAt<=n&&t.delete(e);return t}async get(e,t){let n=this.live(e).get(t);return n&&this.read(e,n.value)}async patchLogin(e,t,n={}){let r=this.live(`login`).get(e),i=r?.value;if(!i||!(i.expiresAt>this.now())||Object.entries(n).some(([e,t])=>Array.isArray(t)?!t.includes(i[e]):i[e]!==t))return;let a={...i,...t};return a.input===null&&delete a.input,r.value=a,this.recordEvents.dispatchEvent(new Event(`login:${e}`)),a}async completeLogin(e,t,n){let{completeLogin:r}=await import(`./apps-BORri-28.js`).then(e=>e.Jt);return r(this,e,t,n)}async put(e,t,n,r={}){e===`installation`&&V([...this.live(e)].map(([e,t])=>[e,t.value]),t,n);let i=r.ttlMs===void 0?void 0:this.now()+r.ttlMs,a=this.bucket(e),o=e===`task`&&!r.unarchive?a.get(t)?.value?.archivedAt:void 0;a.set(t,{value:o===void 0?e===`app`&&n.shared?{...n,credentials:``}:n:Object.assign({},n,{archivedAt:o}),expiresAt:i}),(e===`delivery`||e===`login`)&&this.recordEvents.dispatchEvent(new Event(`${e}:${t}`)),this.changed(e)}async putMany(e,t,n={}){if(e===`task`){await Promise.all(t.map(t=>this.put(e,t.id,t.value,n)));return}let r=this.bucket(e);for(let e of t)r.set(e.id,{value:e.value,...n.ttlMs===void 0?{}:{expiresAt:this.now()+n.ttlMs}});this.changed(e)}async list(e,t={}){let n=e===`installation`&&t.agent?this.live(`app`):void 0;return[...this.live(e).entries()].filter(([e])=>!t.prefix||e.startsWith(t.prefix)).filter(([e])=>!t.after||e>t.after).filter(([r,i])=>R(r,i.value,t,e===`agent`?r:n?.get(i.value.app)?.value?.agent)).sort(([e],[t])=>e.localeCompare(t)).slice(0,t.limit).map(([t,n])=>({id:t,value:this.read(e,n.value)}))}async approvalPostsDue(e,t){return[...this.live(`delivery`).entries()].filter(([e])=>e.startsWith(`approval:`)).map(([e,t])=>({id:e,value:t.value})).filter(({value:n})=>_(n,e,t))}async delete(e,t){this.bucket(e).delete(t),e===`login`&&this.recordEvents.dispatchEvent(new Event(`login:${t}`)),this.changed(e);for(let n of e===`task`?[`history`,`tasklog`]:e===`agent`?[`agentversion`]:[]){for(let e of this.bucket(n).keys())e.startsWith(`${t}:`)&&this.bucket(n).delete(e);this.changed(n)}}async create(e,t,n,r={}){let i=this.live(e);if(i.has(t))return!1;let a=r.ttlMs===void 0?void 0:this.now()+r.ttlMs;return i.set(t,{value:n,expiresAt:a}),this.changed(e),!0}async claimDeliveryLease(e,t,n){let r=this.live(`delivery`);if(r.has(e))return;let i=this.live(`snapshot`).get(`delivery:${e}`)?.value?.failures??0;return r.set(e,{value:{owner:t,failures:i},expiresAt:this.now()+n}),this.changed(`delivery`),i}async updateDeliveryLease(e,t,n,r={ttlMs:3e4}){let i=this.live(`delivery`);if(i.get(e)?.value?.owner!==t)return!1;if(!n)i.delete(e),this.bucket(`snapshot`).delete(`delivery:${e}`);else{let t=n.next===void 0?n:{...n,next:this.now()+r.ttlMs};i.set(e,{value:t,expiresAt:this.now()+r.ttlMs}),n.next!==void 0&&this.bucket(`snapshot`).set(`delivery:${e}`,{value:t,expiresAt:this.now()+864e5})}return this.changed(`delivery`),this.changed(`snapshot`),!0}async updateDelivery(e,t,n,r={}){let i=this.live(`delivery`);return i.get(e)?.value?.owner===t&&(n===void 0?i.delete(e):i.set(e,{value:n,...r.ttlMs===void 0?{}:{expiresAt:this.now()+r.ttlMs}}),this.changed(`delivery`),!0)}async appendUnseen(e,t,n){let r=this.live(`delivery`);if(!r.has(e))return;let i=`since:${e}`,a=r.get(i)?.value;r.set(i,{value:U(a,t),expiresAt:this.now()+n}),this.changed(`delivery`)}async acknowledgeUnseen(e,t,n){let r=this.live(`delivery`).get(`since:${e}`);r&&(r.value=U(r.value,void 0,t,n),this.changed(`delivery`))}async appendBatch(e,t,n,r,i){let a=this.live(`delivery`).get(e)?.value,o=H(a,t,n,r),s=this.now()+i;this.bucket(`delivery`).set(e,{value:o,expiresAt:s}),this.changed(`delivery`)}async claimBatch(e,t){return this.withAppLock(`batch:${e}`,async()=>{let n=this.live(`delivery`).get(e),r=n?.value;if(r?.owner!==t||!r.items.length)return;if(r.sending&&(r.sending.until??0)>this.now())return null;r.sending&&(r=oe(r));let i={...r,more:0,mustReply:!1,sending:{owner:t,until:this.now()+v,count:r.items.length,more:r.more,mustReply:r.mustReply}},a=n.expiresAt;return this.bucket(`delivery`).set(e,{value:i,expiresAt:a}),this.changed(`delivery`),r})}async finishBatch(e,t,n,r){let i=this.live(`delivery`).get(e),a=i?.value;if(a?.sending?.owner!==t)return!1;let o=ae(a,n,r,this.now());return this.bucket(`delivery`).set(e,{value:o,expiresAt:i.expiresAt}),this.changed(`delivery`),!0}async take(e,t,n){let r=this.live(e),i=r.get(t);if(!(!i||Object.entries(n??{}).some(([e,t])=>i.value[e]!==t)))return r.delete(t),this.changed(e),this.read(e,i.value)}},se=e({LocalStore:()=>X,deleteLocalAgent:()=>$,syncLocalAgents:()=>Z,writeLocalAgent:()=>Q});const G=new Set([`app`,`installation`,`runner`]),K=new Set([`connection`,`credential`]),q=new Set([`agent`,`agentversion`]);function J(e,t){try{return JSON.parse(h.readFileSync(e,`utf8`))}catch(e){if(e.code===`ENOENT`)return t;throw e}}function Y(e,t){h.mkdirSync(m.dirname(e),{recursive:!0});let n=`${e}.${process.pid}.tmp`;try{h.writeFileSync(n,t,{mode:384}),h.renameSync(n,e)}finally{h.rmSync(n,{force:!0})}}var X=class extends W{connections;revisions=new Map;logBuckets=new Map;writes=Promise.resolve();constructor(e=Date.now,t=()=>new s){super(e),this.connections=t}withAppLock(e,t){return e.startsWith(`connection:`)||e.startsWith(`connection-import:`)?this.connections().withLock(()=>t(this),e.replace(/^connection:/,``)):super.withAppLock(e,t)}withConfigLock(e){return super.withConfigLock(e)}withCredential(e,t,n){let r=()=>B(this,e,t,n);return e===`credential`?this.connections().withLock(r,z(e,t)):super.withAppLock(z(e,t),r)}get appsFile(){return r(`apps.json`)}get deliveriesFile(){return m.join(n(``),`deliveries.json`)}serial(e,t=!1){let n=this.writes.then(()=>t?this.connections().withLock(async()=>e()):e());return this.writes=n.catch(()=>{}),n}apps(){return J(this.appsFile,{})}recordsFile(e){return e===`delivery`?this.deliveriesFile:e===`usage`?a():e===`snapshot`?m.join(n(``),`snapshots.json`):m.join(n(``),`runner`,`${e}.json`)}bucket(e){let t=super.bucket(e);if(G.has(e)||K.has(e)||q.has(e)||e===`tasklog`)return t;let n=this.recordsFile(e),r=h.statSync(n,{throwIfNoEntry:!1}),i=r?`${r.ino}:${r.mtimeMs}:${r.size}`:``;if(this.revisions.get(e)!==i){for(let n of t.keys())(e!==`snapshot`||!n.startsWith(`connection`))&&t.delete(n);for(let[e,r]of Object.entries(J(n,{})))t.set(e,r);this.revisions.set(e,i)}return t}changed(e){!G.has(e)&&!K.has(e)&&!q.has(e)&&e!==`tasklog`&&Y(this.recordsFile(e),`${JSON.stringify(Object.fromEntries([...this.bucket(e)].filter(([t])=>e!==`snapshot`||!t.startsWith(`connection`))))}\n`)}logFile(e){return m.join(n(``),`runner`,`logs`,`${encodeURIComponent(e)}.jsonl`)}loadLog(e){let t=this.logBuckets.get(e);if(t)return t;t=new Map;try{let n=h.readFileSync(this.logFile(e),`utf8`);for(let e of n.split(`
|
|
1
|
+
import{Ea as e,ma as t}from"./args-CJsHYWbt.js";import{B as n,p as r,vt as i,z as a}from"./state-CxAUec80.js";import{z as o}from"./config-_32PHl9g.js";import{n as s}from"./connections-B90TemYf.js";import{c,i as l,n as u}from"./load-BtIDghgd.js";import{t as d}from"./integrations-DSZSa8Rc.js";import{f,i as ee,l as p}from"./definition-D0OpQfGX.js";import"./turn-eI4iRPsq.js";import m from"node:path";import h from"node:fs";import{execFile as te}from"node:child_process";import{randomUUID as ne}from"node:crypto";import{isDeepStrictEqual as g}from"node:util";const _=(e,t,n)=>(e.retryAt??1/0)<=t||!e.shownAt&&e.at<=t-n,v=3e4;var y=class extends Error{};const b=e=>`${e.source===`builtin`?0:1}:${e.id}`,x=(e,t=``)=>`token:${e}:${t}`,S=e=>`token-drop:${e}`;var re=e({agentProblems:()=>M,agentWithVersion:()=>D,diskFiles:()=>P,ensureBuiltinAgents:()=>L,getAgent:()=>w,getVersion:()=>E,listAgents:()=>T,publishAgent:()=>O,publishVersion:()=>k,seedBuiltinAgent:()=>F,seedBuiltinAgents:()=>I,setAgentSettings:()=>A,toAgent:()=>N,versionKey:()=>C});const C=(e,t)=>`${e}:${String(t).padStart(6,`0`)}`;function w(e,t){return e.get(`agent`,t)}async function T(e){return(await e.list(`agent`)).map(e=>e.value)}async function E(e,t,n){let r=n??(await w(e,t))?.currentVersion;return r===void 0?void 0:e.get(`agentversion`,C(t,r))}async function D(e,t){return(await e.listAgentsWithVersions(t))[0]??{}}async function O(e,t,n,r){let i=p(t.id,t.definition),a=t.files&&Object.keys(t.files).length?t.files:void 0;return e.publishAgent({id:t.id,name:t.name??i.name??t.id,...t.description??i.description?{description:t.description??i.description}:{},source:t.source,...t.repo?{repo:t.repo}:{},...t.path?{path:t.path}:{},currentVersion:0,createdAt:n,updatedAt:n},{agent:t.id,version:0,definition:i,systemPrompt:t.systemPrompt,...a?{files:a}:{},...t.commit?{commit:t.commit}:{},...t.origin?{source:t.origin}:{},importedFrom:t.importedFrom,createdAt:n},r)}async function k(e,t,n,r){if(!r)return(await O(e,t,n)).version;let i=p(t.id,t.definition),a=t.files&&Object.keys(t.files).length?t.files:void 0,o=r?r.record:await w(e,t.id),s=r?r.version:o?await E(e,t.id,o.currentVersion):void 0,c=(e,r)=>({id:t.id,name:t.name??i.name??t.id,...t.description??i.description?{description:t.description??i.description}:{},source:t.source,...t.repo?{repo:t.repo}:{},...t.path?{path:t.path}:{},currentVersion:e,...o?.settings?{settings:o.settings}:{},createdAt:o?.createdAt??n,updatedAt:r}),l=e=>g(e.definition,i)&&e.systemPrompt===t.systemPrompt&&g(e.files,a);if(s&&l(s)){let r=c(s.version,o.updatedAt);return g(o,r)||await e.put(`agent`,t.id,c(s.version,n)),s}o||await e.put(`agent`,t.id,c(0,n));let u;for(let r=(o?.currentVersion??0)+1;u={agent:t.id,version:r,definition:i,systemPrompt:t.systemPrompt,...a?{files:a}:{},...t.commit?{commit:t.commit}:{},...t.origin?{source:t.origin}:{},importedFrom:t.importedFrom,createdAt:n},!await e.create(`agentversion`,C(t.id,r),u);r++){let n=await e.get(`agentversion`,C(t.id,r));if(n&&l(n)){u=n;break}}let d=await w(e,t.id);return(!d||d.currentVersion<u.version)&&await e.put(`agent`,t.id,c(u.version,n)),u}async function A(e,t,n,r=Date.now()){let i=await w(e,t);if(!i)throw Error(`No agent named "${t}".`);let a={...i,settings:n,updatedAt:r};return await e.put(`agent`,t,a),a}function j(e,t,n,r){if(!t&&!n)return;let i=t??{},a=n??{},s=new Set([...Object.keys(i.integrations??{}),...Object.keys(a.integrations??{})]),c=Object.fromEntries([...s].map(e=>{let t=i.integrations?.[e],n=a.integrations?.[e],r=t?.allowedEvents&&n?.allowedEvents?t.allowedEvents.filter(e=>n.allowedEvents.includes(e)):n?.allowedEvents??t?.allowedEvents;return[e,r?{allowedEvents:r}:{}]})),l=a.engine||a.model?{engine:void 0,model:void 0,effort:void 0}:{};return{...i,...l,...a,...i.access||a.access?{access:o(i.access,a.access)}:{},...s.size?{integrations:c}:{},...i.connections!==void 0||a.connections!==void 0?{connections:i.connections&&a.connections?i.connections.filter(e=>a.connections.includes(e)):a.connections??i.connections}:{}}}function M(e,t,n){if(e.problems?.length)return e.problems;if(!t)return[`No version ${e.currentVersion} for agent "${e.id}".`];let r=ee(t.definition);if(r.length)return r;try{return u({definitions:{[e.id]:{json:t.definition,builtin:e.source===`builtin`}},usage:e.settings?{[e.id]:f(e.settings)}:void 0,includeDisabled:!0},n),[]}catch(e){return[e instanceof Error?e.message:String(e)]}}function N(e,t,n,r=d){let i=j(t.definition,void 0,e.settings,r),a=j(t.definition,i,n,r),[o]=u({definitions:{[e.id]:{json:t.definition,builtin:e.source===`builtin`}},usage:a?{[e.id]:f(a)}:void 0},r);if(!o)throw Error(`Agent "${e.id}" is disabled.`);return{...o,files:{...t.files??{},"system.md":t.systemPrompt}}}function P(e,t=``){let n={};for(let r of h.readdirSync(m.join(e,t),{withFileTypes:!0})){let i=t?`${t}/${r.name}`:r.name;r.isDirectory()?Object.assign(n,P(e,i)):r.isFile()&&i!==`agent.json`&&i!==`system.md`&&(n[i]=h.readFileSync(m.join(e,i),`utf8`))}return n}async function F(e,n,r,i){let a=l()[r];return a?await k(e,{id:r,source:`builtin`,definition:a.json,systemPrompt:a.systemPrompt,importedFrom:`builtin:${t()}`},n,i)!==i.version:!1}async function I(e,t,n){let r=n??await Promise.all(Object.keys(l()).map(t=>D(e,t))),i=!1;for(let n of Object.keys(l()))await F(e,t,n,r.find(({record:e})=>e?.id===n)??{})&&(i=!0);return i}async function L(e,t){let n=e.settings??={};return n.builtinAgents||=I(e.store,t).then(()=>{}).catch(e=>{throw delete n.builtinAgents,e}),n.builtinAgents}function R(e,t,n,r){let i=t;return(!n.runner||n.runner===e||n.runner===i.name)&&(!n.defaults||!!i.default)&&(!n.ids||n.ids.includes(e))&&(!n.agent||(r??i.agent)===n.agent)&&(!Object.hasOwn(n,`visibleTo`)||!i.owner||i.owner===n.visibleTo)&&(!n.active||i.deletedAt===void 0||!!(n.includeUninstalled&&i.uninstalled))&&(!n.installation||i.installationId===n.installation)&&(!n.apps||!!i.app&&n.apps.includes(i.app))}const z=(e,t)=>e===`credential`?`credential:${t.slice(0,Math.max(0,t.lastIndexOf(`/`)))}`:e===`runner`?`runners:`:`installation:${t}`;async function B(e,t,n,r){let{parseCredentialId:i}=await import(`./apps-CCqOsEZH.js`).then(e=>e.qt),a=i(n).owner,o=(await e.list(t)).filter(e=>t===`credential`?i(e.id).owner===a:e.id===n),s=await r(o.find(e=>e.id===n)?.value,o,e);for(let n of s??[])n.value===null?await e.delete(t,n.id):await e.put(t,n.id,n.value);return!!s?.length}function V(e,t,n){if(n.deletedAt!==void 0)return;let r=n.app.split(`/`)[0],i=(e,t)=>[e.slice(t.app.length+1),...t.covers??[]],a=new Set(i(t,n));if(e.some(([e,n])=>{let o=n;return e!==t&&!o.deletedAt&&(o.app===r||o.app.startsWith(`${r}/`))&&i(e,o).some(e=>a.has(e))}))throw new y(`Installation "${t}" is bound through another app.`)}function H(e,t,n,r){let i=e?.sending?.count??0,a=[...e?.items.slice(i)??[],...n],o=a.slice(0,Math.max(0,a.length-50));return{...e,owner:t,at:r,items:[...e?.items.slice(0,i)??[],...a.slice(-50)],more:(e?.more??0)+o.length,mustReply:e?.mustReply||o.some(e=>e?.event?.mustReply===!0)}}function ie(e,t){let n=e.sending?.count??0;return t===void 0?n:e.items.findIndex((e,r)=>r<n&&e.admission===t)+1}function ae(e,t,n,r){let{sending:i,...a}=e,o=t?ie(e,n):0;if(t&&i&&o<i.count)return{...e,items:e.items.slice(o),sending:{...i,count:i.count-o,until:r+v}};let s={...a,items:t?e.items.slice(i?.count??0):e.items,more:(e.more??0)+(t?0:i?.more??0),mustReply:e.mustReply||!t&&i?.mustReply};return t?s:H(s,s.owner,[],s.at)}function U(e,t,n=0,r){let i=e??{messages:[],more:0,epoch:ne()},a=i.version??i.messages.length+i.more,o=i.messages.map((e,t)=>({sequence:t+1,...e}));if(t)return{...i,version:a+1,messages:o.length<50?[...o,{...t,sequence:a+1}]:o,more:i.more+(o.length<50?0:1)};if(i.epoch!==r)return i;let s=Math.max(i.acknowledged??0,Math.min(n,a)),c=o.filter(e=>e.sequence>s);return{...i,version:a,acknowledged:s,messages:c,more:a-s-c.length}}function oe(e){let{sending:t,...n}=e;return H({...n,more:(e.more??0)+(t?.more??0),mustReply:e.mustReply||t?.mustReply},e.owner,[],e.at)}var W=class{now;recordEvents=new EventTarget;async watch(e,t){let n=`${e}:${t}`,r=i();return this.recordEvents.addEventListener(n,r.notify),{...r,close:()=>{this.recordEvents.removeEventListener(n,r.notify),r.close()}}}appUpdates=new Map;values=new Map;configUpdate;constructor(e=Date.now){this.now=e}async withAppLock(e,t){e.startsWith(`runners:`)&&(e=`runners:`);let n=(this.appUpdates.get(e)??Promise.resolve()).catch(()=>{}).then(()=>t(this));this.appUpdates.set(e,n);try{return await n}finally{this.appUpdates.get(e)===n&&this.appUpdates.delete(e)}}async withConfigLock(e){let t=(this.configUpdate??Promise.resolve()).catch(()=>{}).then(()=>e(this));this.configUpdate=t;try{return await t}finally{this.configUpdate===t&&delete this.configUpdate}}withCredential(e,t,n){return this.withAppLock(z(e,t),()=>B(this,e,t,n))}async listAgentsWithVersions(e){let t=Array.isArray(e)?await this.list(`agent`,{ids:e}):e?[{value:await this.get(`agent`,e)}]:await this.list(`agent`);return Promise.all(t.flatMap(({value:e})=>e?[this.get(`agentversion`,`${e.id}:${String(e.currentVersion).padStart(6,`0`)}`).then(t=>({record:e,version:t}))]:[]))}async listAgentSummaries(e={}){return(await this.listAgentsWithVersions(e.slug)).filter(({record:t,version:n})=>(!e.after||b(t)>e.after)&&(!e.source||t.source===e.source)&&(!e.platform||!!n?.definition.integrations?.[e.platform])&&(!e.q||[t.id,t.name,t.description,t.repo].some(t=>t?.toLowerCase().includes(e.q.toLowerCase())))).sort((e,t)=>b(e.record)<b(t.record)?-1:1).slice(0,e.limit).map(({record:e,version:t})=>{if(!t)return{record:e};let{systemPrompt:n,files:r,...i}=t;return{record:e,version:i}})}async listVersions(e,t,n){let r=await this.get(`agent`,e),i=n??(t===void 0?1/0:(r?.currentVersion??0)+1);return(await this.list(`agentversion`,{prefix:`${e}:`})).filter(({value:e})=>e.version<i&&(t===void 0||e.version>=i-t)).map(({id:e,value:{systemPrompt:t,files:n,...r}})=>({id:e,value:r}))}async publishAgent(e,t,n){let{publishVersion:r}=await Promise.resolve().then(()=>re);return this.withAppLock(`agent:${e.id}`,async()=>{let i=(await this.listAgentsWithVersions(e.id))[0]??{};if(n&&(i.record?.currentVersion??0)!==n.currentVersion)return;let a=await r(this,{...e,definition:t.definition,systemPrompt:t.systemPrompt,files:t.files,commit:t.commit,origin:t.source,importedFrom:t.importedFrom},e.updatedAt,i);return{record:await this.get(`agent`,e.id),version:a,unchanged:a.version===i.record?.currentVersion}})}async listCredentials(e){return(await this.list(`credential`)).filter(({value:t})=>!t.owner||t.owner===e.owner).slice(0,e.limit)}async installationApp(e){let t=await this.get(`installation`,e);if(!t||t.deletedAt)return;let n=await this.get(`app`,t.app);return n?{installation:t,app:n}:void 0}async getApps(e){return(await Promise.all([...new Set(e)].map(async e=>({id:e,value:await this.get(`app`,e)})))).filter(e=>!!e.value)}async updateMetadata(e,t,n){let r=await this.get(e,t);return r?(await this.put(e,t,{...r,...n}),!0):!1}async listHistory(e){return(await this.list(`history`,{prefix:`${e}:`})).map(({value:{engine:e,conversation:t,savedAt:n}})=>({engine:e,conversation:t,savedAt:n})).sort((e,t)=>e.savedAt-t.savedAt)}async conversationState(e){let[t,n,r]=await Promise.all([this.get(`delivery`,e),this.get(`delivery`,`since:${e}`),this.get(`delivery`,`batch:${e}`)]),i=t&&await this.get(`task`,t.taskId);return{record:t,unseen:n,batch:r,...i?.task.flow==="default"?{status:i}:{}}}async markConversation(e,t,n,r,i){let a=await this.get(`delivery`,e);a?.taskId===t&&await this.put(`delivery`,e,{...a,at:r,seen:n},{ttlMs:i})}async heldTokens(e,t){let n={held:new Map,drops:new Map};for(let t of e)for(let e of await this.list(`snapshot`,{prefix:x(t)}))n.held.set(e.id,e.value);for(let r of[...e,...t])n.drops.set(S(r),(await this.get(`snapshot`,S(r)))?.drop);return n}async holdToken(e){(await Promise.all(e.drops.map(async e=>(await this.get(`snapshot`,e.key))?.drop===e.drop))).every(Boolean)&&await this.put(`snapshot`,e.key,e.value,{ttlMs:e.ttlMs})}saveTaskSecrets(e,t){return this.withAppLock(`connections:${e}`,async n=>{let r=await n.get(`task`,e),i=!!(r&&![`completed`,`failed`,`cancelled`].includes(r.status));if(i)for(let e of t)await n.put(`snapshot`,e.id,{secret:e.value,expiresAt:e.expiresAt},{ttlMs:Math.max(1,e.expiresAt-this.now())});return i})}async dispatchState(e){let{key:t,owner:n,at:r,ttlMs:i}=e.delivery,a=this.live(`delivery`).get(t)?.value,o=a?.pending!==void 0&&(!a.owner||(a.at??0)+i<=r);return a&&!o?{claimed:!1}:(await this.put(`delivery`,t,{at:r,owner:n,pending:a?.pending??!0},a?.pending&&a.pending!==!0?{}:{ttlMs:i}),{claimed:!0})}async usageTotals(e){let{sumUsageTotals:t}=await import(`./apps-CCqOsEZH.js`).then(e=>e.yt);return t(this,e)}async usageSummary(e,t){let{usageSummary:n}=await import(`./apps-CCqOsEZH.js`).then(e=>e.yt);return n((await this.list(`usage`)).map(e=>e.value),e,t).totals}bucket(e){let t=this.values.get(e);return t||(t=new Map,this.values.set(e,t)),t}changed(e){}read(e,t){let n=t;if(e!==`app`||!n.shared)return t;let r=this.live(`app`).get(n.shared)?.value;return{...n,credentials:r?.credentials??``}}live(e){let t=this.bucket(e),n=this.now();for(let[e,r]of t)r.expiresAt!==void 0&&r.expiresAt<=n&&t.delete(e);return t}async get(e,t){let n=this.live(e).get(t);return n&&this.read(e,n.value)}async patchLogin(e,t,n={}){let r=this.live(`login`).get(e),i=r?.value;if(!i||!(i.expiresAt>this.now())||Object.entries(n).some(([e,t])=>Array.isArray(t)?!t.includes(i[e]):i[e]!==t))return;let a={...i,...t};return a.input===null&&delete a.input,r.value=a,this.recordEvents.dispatchEvent(new Event(`login:${e}`)),a}async completeLogin(e,t,n){let{completeLogin:r}=await import(`./apps-CCqOsEZH.js`).then(e=>e.qt);return r(this,e,t,n)}async put(e,t,n,r={}){e===`installation`&&V([...this.live(e)].map(([e,t])=>[e,t.value]),t,n);let i=r.ttlMs===void 0?void 0:this.now()+r.ttlMs,a=this.bucket(e),o=e===`task`&&!r.unarchive?a.get(t)?.value?.archivedAt:void 0;a.set(t,{value:o===void 0?e===`app`&&n.shared?{...n,credentials:``}:n:Object.assign({},n,{archivedAt:o}),expiresAt:i}),(e===`delivery`||e===`login`)&&this.recordEvents.dispatchEvent(new Event(`${e}:${t}`)),this.changed(e)}async putMany(e,t,n={}){if(e===`task`){await Promise.all(t.map(t=>this.put(e,t.id,t.value,n)));return}let r=this.bucket(e);for(let e of t)r.set(e.id,{value:e.value,...n.ttlMs===void 0?{}:{expiresAt:this.now()+n.ttlMs}});this.changed(e)}async list(e,t={}){let n=e===`installation`&&t.agent?this.live(`app`):void 0;return[...this.live(e).entries()].filter(([e])=>!t.prefix||e.startsWith(t.prefix)).filter(([e])=>!t.after||e>t.after).filter(([r,i])=>R(r,i.value,t,e===`agent`?r:n?.get(i.value.app)?.value?.agent)).sort(([e],[t])=>e.localeCompare(t)).slice(0,t.limit).map(([t,n])=>({id:t,value:this.read(e,n.value)}))}async approvalPostsDue(e,t){return[...this.live(`delivery`).entries()].filter(([e])=>e.startsWith(`approval:`)).map(([e,t])=>({id:e,value:t.value})).filter(({value:n})=>_(n,e,t))}async delete(e,t){this.bucket(e).delete(t),e===`login`&&this.recordEvents.dispatchEvent(new Event(`login:${t}`)),this.changed(e);for(let n of e===`task`?[`history`,`tasklog`]:e===`agent`?[`agentversion`]:[]){for(let e of this.bucket(n).keys())e.startsWith(`${t}:`)&&this.bucket(n).delete(e);this.changed(n)}}async create(e,t,n,r={}){let i=this.live(e);if(i.has(t))return!1;let a=r.ttlMs===void 0?void 0:this.now()+r.ttlMs;return i.set(t,{value:n,expiresAt:a}),this.changed(e),!0}async claimDeliveryLease(e,t,n){let r=this.live(`delivery`);if(r.has(e))return;let i=this.live(`snapshot`).get(`delivery:${e}`)?.value?.failures??0;return r.set(e,{value:{owner:t,failures:i},expiresAt:this.now()+n}),this.changed(`delivery`),i}async updateDeliveryLease(e,t,n,r={ttlMs:3e4}){let i=this.live(`delivery`);if(i.get(e)?.value?.owner!==t)return!1;if(!n)i.delete(e),this.bucket(`snapshot`).delete(`delivery:${e}`);else{let t=n.next===void 0?n:{...n,next:this.now()+r.ttlMs};i.set(e,{value:t,expiresAt:this.now()+r.ttlMs}),n.next!==void 0&&this.bucket(`snapshot`).set(`delivery:${e}`,{value:t,expiresAt:this.now()+864e5})}return this.changed(`delivery`),this.changed(`snapshot`),!0}async updateDelivery(e,t,n,r={}){let i=this.live(`delivery`);return i.get(e)?.value?.owner===t&&(n===void 0?i.delete(e):i.set(e,{value:n,...r.ttlMs===void 0?{}:{expiresAt:this.now()+r.ttlMs}}),this.changed(`delivery`),!0)}async appendUnseen(e,t,n){let r=this.live(`delivery`);if(!r.has(e))return;let i=`since:${e}`,a=r.get(i)?.value;r.set(i,{value:U(a,t),expiresAt:this.now()+n}),this.changed(`delivery`)}async acknowledgeUnseen(e,t,n){let r=this.live(`delivery`).get(`since:${e}`);r&&(r.value=U(r.value,void 0,t,n),this.changed(`delivery`))}async appendBatch(e,t,n,r,i){let a=this.live(`delivery`).get(e)?.value,o=H(a,t,n,r),s=this.now()+i;this.bucket(`delivery`).set(e,{value:o,expiresAt:s}),this.changed(`delivery`)}async claimBatch(e,t){return this.withAppLock(`batch:${e}`,async()=>{let n=this.live(`delivery`).get(e),r=n?.value;if(r?.owner!==t||!r.items.length)return;if(r.sending&&(r.sending.until??0)>this.now())return null;r.sending&&(r=oe(r));let i={...r,more:0,mustReply:!1,sending:{owner:t,until:this.now()+v,count:r.items.length,more:r.more,mustReply:r.mustReply}},a=n.expiresAt;return this.bucket(`delivery`).set(e,{value:i,expiresAt:a}),this.changed(`delivery`),r})}async finishBatch(e,t,n,r){let i=this.live(`delivery`).get(e),a=i?.value;if(a?.sending?.owner!==t)return!1;let o=ae(a,n,r,this.now());return this.bucket(`delivery`).set(e,{value:o,expiresAt:i.expiresAt}),this.changed(`delivery`),!0}async take(e,t,n){let r=this.live(e),i=r.get(t);if(!(!i||Object.entries(n??{}).some(([e,t])=>i.value[e]!==t)))return r.delete(t),this.changed(e),this.read(e,i.value)}},se=e({LocalStore:()=>X,deleteLocalAgent:()=>$,syncLocalAgents:()=>Z,writeLocalAgent:()=>Q});const G=new Set([`app`,`installation`,`runner`]),K=new Set([`connection`,`credential`]),q=new Set([`agent`,`agentversion`]);function J(e,t){try{return JSON.parse(h.readFileSync(e,`utf8`))}catch(e){if(e.code===`ENOENT`)return t;throw e}}function Y(e,t){h.mkdirSync(m.dirname(e),{recursive:!0});let n=`${e}.${process.pid}.tmp`;try{h.writeFileSync(n,t,{mode:384}),h.renameSync(n,e)}finally{h.rmSync(n,{force:!0})}}var X=class extends W{connections;revisions=new Map;logBuckets=new Map;writes=Promise.resolve();constructor(e=Date.now,t=()=>new s){super(e),this.connections=t}withAppLock(e,t){return e.startsWith(`connection:`)||e.startsWith(`connection-import:`)?this.connections().withLock(()=>t(this),e.replace(/^connection:/,``)):super.withAppLock(e,t)}withConfigLock(e){return super.withConfigLock(e)}withCredential(e,t,n){let r=()=>B(this,e,t,n);return e===`credential`?this.connections().withLock(r,z(e,t)):super.withAppLock(z(e,t),r)}get appsFile(){return r(`apps.json`)}get deliveriesFile(){return m.join(n(``),`deliveries.json`)}serial(e,t=!1){let n=this.writes.then(()=>t?this.connections().withLock(async()=>e()):e());return this.writes=n.catch(()=>{}),n}apps(){return J(this.appsFile,{})}recordsFile(e){return e===`delivery`?this.deliveriesFile:e===`usage`?a():e===`snapshot`?m.join(n(``),`snapshots.json`):m.join(n(``),`runner`,`${e}.json`)}bucket(e){let t=super.bucket(e);if(G.has(e)||K.has(e)||q.has(e)||e===`tasklog`)return t;let n=this.recordsFile(e),r=h.statSync(n,{throwIfNoEntry:!1}),i=r?`${r.ino}:${r.mtimeMs}:${r.size}`:``;if(this.revisions.get(e)!==i){for(let n of t.keys())(e!==`snapshot`||!n.startsWith(`connection`))&&t.delete(n);for(let[e,r]of Object.entries(J(n,{})))t.set(e,r);this.revisions.set(e,i)}return t}changed(e){!G.has(e)&&!K.has(e)&&!q.has(e)&&e!==`tasklog`&&Y(this.recordsFile(e),`${JSON.stringify(Object.fromEntries([...this.bucket(e)].filter(([t])=>e!==`snapshot`||!t.startsWith(`connection`))))}\n`)}logFile(e){return m.join(n(``),`runner`,`logs`,`${encodeURIComponent(e)}.jsonl`)}loadLog(e){let t=this.logBuckets.get(e);if(t)return t;t=new Map;try{let n=h.readFileSync(this.logFile(e),`utf8`);for(let e of n.split(`
|
|
2
2
|
`).filter(Boolean)){let{id:n,...r}=JSON.parse(e);t.set(n,r)}}catch(e){if(e.code!==`ENOENT`)throw e}return this.logBuckets.set(e,t),t}entries(e){if(e===`connection`)return this.connections().list().map(e=>[e.id,e]);if(e===`credential`)return this.connections().credentials().map(e=>[e.id,e.value]);if(G.has(e)){let t=this.apps(),n=Object.entries(t[e]??{});return e===`app`?n.map(([e,n])=>{let r=n,i=r.shared?t.app?.[r.shared]:void 0;return[e,r.shared?{...r,credentials:i?.credentials??``}:r]}):n}return[]}refuse(e){throw Error(`A local server keeps no ${e} records`)}async get(e,t){if(e===`connection`)return this.connections().get(t);if(e===`tasklog`){let e=this.loadLog(t.slice(0,t.lastIndexOf(`:`))).get(t);return e&&(e.expiresAt===void 0||e.expiresAt>this.now())?e.value:void 0}return!G.has(e)&&!K.has(e)?super.get(e,t):this.entries(e).find(([e])=>e===t)?.[1]}async completeLogin(){return this.refuse(`login`)}async patchLogin(){return this.refuse(`login`)}async put(e,t,n,r={}){if(e===`tasklog`)return this.putMany(e,[{id:t,value:n}],r);if(!G.has(e)&&!K.has(e))return super.put(e,t,n,r);await this.serial(()=>this.write(e,t,n),K.has(e))}write(e,t,n){if(e===`connection`){this.connections().put(n);return}if(e===`credential`&&t!==`claude`&&t!==`codex`){this.connections().putCredential(t,n);return}if(G.has(e)){let r=this.apps();e===`installation`&&V(Object.entries(r.installation??{}),t,n),e===`app`&&n.shared&&(n={...n,credentials:``}),r[e]={...r[e],[t]:n},Y(this.appsFile,`${JSON.stringify(r,null,2)}\n`)}else this.refuse(e)}remove(e,t){if(e===`connection`){let e=this.connections(),n=!!e.get(t);return e.delete(t),n}if(e===`credential`){let e=this.connections(),n=e.credentials().some(e=>e.id===t);return e.deleteCredential(t),n}if(G.has(e)){let n=this.apps(),r=n[e];return!r||!(t in r)?!1:(delete r[t],Y(this.appsFile,`${JSON.stringify(n,null,2)}\n`),!0)}return!1}async putMany(e,t,n={}){if(e===`tasklog`){let e=new Map;for(let{id:r,value:i}of t){let t=r.slice(0,r.lastIndexOf(`:`)),a=e.get(t)??[];a.push(JSON.stringify({id:r,value:i,...n.ttlMs===void 0?{}:{expiresAt:this.now()+n.ttlMs}})),e.set(t,a)}for(let[t,n]of e){let e=this.logFile(t);h.mkdirSync(m.dirname(e),{recursive:!0}),h.appendFileSync(e,`${n.join(`
|
|
3
3
|
`)}\n`,{mode:384})}for(let{id:e,value:r}of t)this.loadLog(e.slice(0,e.lastIndexOf(`:`))).set(e,{value:r,...n.ttlMs===void 0?{}:{expiresAt:this.now()+n.ttlMs}})}else if(!G.has(e)&&!K.has(e))await super.putMany(e,t,n);else for(let r of t)await this.put(e,r.id,r.value,n)}async list(e,t={}){if(e===`tasklog`){let e=t.prefix?.endsWith(`:`)?t.prefix.slice(0,-1):void 0;if(e!==void 0)this.loadLog(e);else{let e=m.dirname(this.logFile(``));if(h.existsSync(e))for(let t of h.readdirSync(e))t.endsWith(`.jsonl`)&&this.loadLog(decodeURIComponent(t.slice(0,-6)))}return(e===void 0?[...this.logBuckets.values()]:[this.loadLog(e)]).flatMap(e=>[...e]).filter(([e,n])=>(!t.prefix||e.startsWith(t.prefix))&&(!t.after||e>t.after)&&(n.expiresAt===void 0||n.expiresAt>this.now())).sort(([e],[t])=>e.localeCompare(t)).slice(0,t.limit).map(([e,t])=>({id:e,value:t.value}))}if(!G.has(e)&&!K.has(e))return super.list(e,t);let n=e===`installation`&&t.agent?this.apps().app:void 0;return this.entries(e).filter(([e])=>(!t.prefix||e.startsWith(t.prefix))&&(!t.after||e>t.after)).filter(([e,r])=>R(e,r,t,n?.[r.app]?.agent)).sort(([e],[t])=>e.localeCompare(t)).slice(0,t.limit).map(([n,r])=>{let i=r;return{id:n,value:(e===`connection`&&t.secrets&&(t.secrets===`all`||i.provider===`mcp`&&i.auth===`oauth`)?this.connections().get(n):void 0)??r}})}async delete(e,t){if(e===`tasklog`){let e=t.slice(0,t.lastIndexOf(`:`)),n=this.loadLog(e);n.delete(t),Y(this.logFile(e),[...n].map(([e,t])=>JSON.stringify({id:e,...t})).join(`
|
|
4
4
|
`)+`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{la as e}from"./args-CJsHYWbt.js";import{l as t}from"./state-CxAUec80.js";import{t as n}from"./integrations-DSZSa8Rc.js";import{n as r,t as i}from"./crypto-Ittsv-m4.js";import{a,i as o,o as s,s as c}from"./task-
|
|
1
|
+
import{la as e}from"./args-CJsHYWbt.js";import{l as t}from"./state-CxAUec80.js";import{t as n}from"./integrations-DSZSa8Rc.js";import{n as r,t as i}from"./crypto-Ittsv-m4.js";import{a,i as o,o as s,s as c}from"./task-CzXNLREX.js";import l from"node:path";import u from"node:process";import d from"node:fs";import{execFile as f,spawn as p}from"node:child_process";import m from"node:fs/promises";import{promisify as h}from"node:util";const g=h(f);async function _(e){if(u.platform===`linux`){let t=await m.readFile(`/proc/${e}/stat`,`utf8`).catch(()=>``);return t.slice(t.lastIndexOf(`)`)+2).split(` `)[19]}return(await g(`ps`,[`-p`,String(e),`-o`,`lstart=`]).catch(()=>void 0))?.stdout.trim()||void 0}function v(e){let t=i(e);if(!Number.isInteger(t.pid)||typeof t.dir!=`string`||typeof t.started!=`string`)throw Error(`Invalid local runner handle`);return t}var y=class{workDir;kind=`local`;children=new Map;constructor(e){this.workDir=e}async start(t,n){let i=this.taskDir(t.id),s=t.runner===`local`?o(t):void 0;await m.mkdir(i,{recursive:!0});let c=d.openSync(l.join(i,`runner.log`),`a`);await m.mkdir(l.join(i,`bin`),{recursive:!0}),await m.writeFile(l.join(i,`bin/coder`),`#!/bin/sh\nexec "${u.execPath}" "${e}" "$@"\n`,{mode:493});let f=p(u.execPath,[e,`agent`,`run`,`--task`,t.id],{cwd:i,detached:!0,env:{PATH:[l.join(i,`bin`),u.env.PATH??``].join(l.delimiter),HOME:u.env.HOME??``,TMPDIR:u.env.TMPDIR??``,...u.env.CODER_HOME?{CODER_HOME:u.env.CODER_HOME}:{},...n,...s?{CODER_CHECKOUT_CACHE:s}:{},CODER_INBOX_SOCKET:a(i)},stdio:[`ignore`,c,c]});await new Promise((e,t)=>{f.once(`spawn`,e),f.once(`error`,t)}),d.closeSync(c);let h={child:f};this.children.set(f.pid,h),f.once(`close`,e=>{h.code=e}),f.unref();let g=await _(f.pid);if(!g)throw Error(`Could not identify the local runner process`);return r({pid:f.pid,dir:i,started:g})}async status(e){let{pid:t,started:n}=v(e),r=this.children.get(t);if(r?.code===void 0)try{if(u.kill(t,0),await _(t)===n)return{state:`running`}}catch{}return{state:`exited`,...r?.code==null?{}:{code:r.code}}}async stop(e){let{pid:t,started:n}=v(e);if(await _(t)===n)try{u.kill(-t,`SIGTERM`)}catch{try{u.kill(t,`SIGTERM`)}catch{}}}async remove(e,t){let n=this.taskDir(e);if(t){let{pid:e,started:n}=v(t);for(let t=0;t<100&&await _(e)===n;t++)await new Promise(e=>setTimeout(e,100))}await s(l.join(n,`work`)).catch(e=>console.error(`coder runner: checkout cleanup failed`,e)),await m.rm(n,{recursive:!0,force:!0}),await m.rm(a(n),{force:!0})}taskDir(e){return t(e,`task id`),l.join(this.workDir,e)}async push(e,t){let{pid:n,dir:r,started:i}=v(e);if(await _(n)!==i)throw Error(`The task process exited`);return c(a(r),t)}};function b(e,t,n={}){return new Promise((r,i)=>{let a=p(e,t,{env:n,stdio:[`ignore`,`pipe`,`pipe`]}),o=``,s=``;a.stdout.on(`data`,e=>o+=String(e)),a.stderr.on(`data`,e=>s+=String(e)),a.once(`error`,i),a.once(`close`,e=>r({code:e,stdout:o,stderr:s}))})}function x(){return Object.values(n).flatMap(e=>e.tools.install?[`(${e.tools.install})`]:[])}export{b as n,x as r,y as t};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{c as e}from"./task-
|
|
1
|
+
import{c as e}from"./task-CzXNLREX.js";import t from"node:path";import n from"node:process";import{spawn as r}from"node:child_process";import i from"node:fs/promises";const a=[`SIGTERM`,`SIGINT`],o=/\x1b\[[0-9;?]*[ -/]*[@-~]|\x1b\][^\x07\x1b]*(?:\x07|\x1b\\)|\x1b[()][A-Z0-9]|\r/g;function s(e,t){if(e===`codex`)return{file:`codex`,args:[`login`,`--device-auth`],env:{CODEX_HOME:t}};let r=`stty cols 4000 rows 50 2>/dev/null; exec claude setup-token`;return{file:`sh`,args:[`-c`,`cat | { ${n.platform===`darwin`?`script -q /dev/null sh -c '${r}'`:`script -qfec '${r}' /dev/null`}; kill 0; }`],env:{CLAUDE_CONFIG_DIR:t,BROWSER:`true`}}}function c(e){try{return JSON.parse(Buffer.from(String(e).split(`.`)[1]??``,`base64url`).toString())}catch{return{}}}function l(e){let t=c(JSON.parse(e).tokens?.id_token),n=t[`https://api.openai.com/auth`];return{...typeof t.email==`string`?{email:t.email}:{},...typeof n?.chatgpt_plan_type==`string`?{plan:n.chatgpt_plan_type}:{}}}function u(e,t){let n=t.replace(o,``),r=/\x1b\]8;[^;]*;(https:\/\/[^\x07\x1b]+)(?:\x07|\x1b\\)/.exec(t)?.[1],i=e===`claude`?r??/https:\/\/\S*(?:oauth|authorize)\S*(?=\s)/.exec(n)?.[0]:/https:\/\/\S+(?=\s)/.exec(n)?.[0],a=e===`codex`?/\b[A-Z0-9]{4,}-[A-Z0-9]{4,}\b/.exec(n)?.[0]:void 0;if(!(!i||e===`codex`&&!a))return{url:i,...a?{code:a}:{}}}const d=/sk-ant-oat[\w-]+/,f=e=>e.replace(/[\w#.%-]{20,}|\b[A-Z0-9]{4,}-[A-Z0-9]{4,}\b/g,`…`).slice(-600),p=/\x1b(?:\[([0-9;?<>=]*)[ -/]*([@-~])|\][^\x07\x1b]*(?:\x07|\x1b\\)|[()][\s\S]|[^[\]()])/y;var m=class{height;rows=[[]];row=0;col=0;saved=[0,0];rest=``;constructor(e=50){this.height=e}write(e){let t=this.rest+e;this.rest=``;for(let e=0;e<t.length;){if(t[e]===`\x1B`){p.lastIndex=e;let n=p.exec(t);if(!n){this.rest=t.slice(e,e+4096);return}n[2]&&!/^[?<>=]/.test(n[1])?this.csi(n[1].split(`;`),n[2]):n[0]===`\x1B7`?this.saved=[this.row,this.col]:n[0]===`\x1B8`&&([this.row,this.col]=this.saved),e+=n[0].length;continue}let n=t.codePointAt(e),r=String.fromCodePoint(n);e+=r.length,r===`\r`?this.col=0:r===`
|
|
2
2
|
`?this.down():r===`\b`?this.col=Math.max(0,this.col-1):n>=32&&n!==127&&(this.line()[this.col++]=r)}}text(){return this.rows.map(e=>Array.from(e,e=>e??` `).join(``).trimEnd()).join(`
|
|
3
3
|
`)}line(){return this.rows[this.row]??=[]}down(){this.row<this.height-1?this.row++:this.rows.splice(0,this.rows.length-this.height+1)}csi(e,t){let n=(t=0)=>Number(e[t])||1,r=Number(e[0])||0,i=this.height-1;if(t===`A`)this.row=Math.max(0,this.row-n());else if(t===`B`)this.row=Math.min(i,this.row+n());else if(t===`C`)this.col+=n();else if(t===`D`)this.col=Math.max(0,this.col-n());else if(t===`E`||t===`F`)this.row=Math.max(0,Math.min(i,this.row+(t===`E`?n():-n()))),this.col=0;else if(t===`G`)this.col=n()-1;else if(t===`d`)this.row=Math.min(i,n()-1);else if(t===`H`||t===`f`)this.row=Math.min(i,n()-1),this.col=n(1)-1;else if(t===`K`){let e=this.line();r===0?e.length=Math.min(e.length,this.col):r===1?e.fill(` `,0,this.col+1):e.length=0}else t===`J`?r===0?(this.line().length=Math.min(this.line().length,this.col),this.rows.length=Math.min(this.rows.length,this.row+1)):r>=2&&(this.rows=[]):t===`s`?this.saved=[this.row,this.col]:t===`u`&&([this.row,this.col]=this.saved)}};async function h(c,p){let{server:h,token:g}=e();delete n.env.CODER_TASK_TOKEN,delete n.env.CODER_LOGIN;let _=new AbortController,v=async(e,t)=>{let n=e?_.signal:void 0;for(let r=1;;r++){let i=await fetch(`${h}/logins/${encodeURIComponent(c)}${e}`,{method:t===void 0?`GET`:`POST`,...n?{signal:n}:{},headers:{authorization:`Bearer ${g}`,...t===void 0?{}:{"content-type":`application/json`}},...t===void 0?{}:{body:JSON.stringify(t)}}).catch(t=>{if(n?.aborted||e===`/input`||r>=10)throw t;console.error(`coder runner: Coder server did not answer: ${t.message}`)});if(i?.ok)return await i.json();if(i&&(i.status<500||r>=10))throw Error(`Coder server answered ${i.status}`);i&&console.error(`coder runner: Coder server answered ${i.status}`),await new Promise(e=>setTimeout(e,1e3))}},{engine:y}=await v(``),b=await i.mkdtemp(t.join(p,`.login-`)),x=s(y,b),S=r(x.file,x.args,{env:{...n.env,...x.env},stdio:[`pipe`,`pipe`,`pipe`],detached:!0}),C=()=>{try{n.kill(-S.pid,`SIGTERM`)}catch{}},w=``,T=new m,E=!1,D=!1,O=0,k,A,j,M=new Promise((e,t)=>{S.once(`error`,t),S.once(`close`,e)}),N=setTimeout(C,6e5);for(let e of a)n.once(e,C);let P=async()=>{for(;!_.signal.aborted;){let{code:e}=await v(`/input`);if(e){k=w.length,S.stdin.write(e),await new Promise(e=>setTimeout(e,500)),S.stdin.write(`\r`),n.stdout.write(`Sign-in code typed
|
|
4
4
|
`);let t=k;setTimeout(()=>{k===t&&!E&&console.error(`coder runner: claude has not answered the code: ${JSON.stringify(f(T.text()))}`)},2e4).unref();return}}},F=e=>{if(w+=e,T.write(e),!D){let e=u(y,w.slice(O));e&&(D=!0,clearInterval(A),n.stdout.write(`Sign-in link ready
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./errors-DK_trCff.js";import"./dispatch-BkoIU4GU.js";import{n as t}from"./env-BwFCHakK.js";import{p as n}from"./drizzle-orm-CYU7WOQS.js";import{secret as r}from"./schema.js";import{
|
|
1
|
+
import{t as e}from"./errors-DK_trCff.js";import"./dispatch-BkoIU4GU.js";import{n as t}from"./env-BwFCHakK.js";import{p as n}from"./drizzle-orm-CYU7WOQS.js";import{secret as r}from"./schema.js";import{Er as i,Zt as a,ai as o,ii as s,ni as c,oi as l}from"./apps-CCqOsEZH.js";import u from"node:process";async function d(t){try{return await t()}catch(t){throw t instanceof e?t:new e(`server`,t instanceof Error?t.message:String(t))}}function f(f={}){return d(async()=>{let d=t(f.env??u.env);if(!d.encryptionKey)throw new e(`invalid-option`,`SERVER_ENCRYPTION_KEY is required to rotate keys.`,{hint:`Set the new key in SERVER_ENCRYPTION_KEY and the old key in SERVER_ENCRYPTION_KEY_PREVIOUS.`});let p=await i(d);try{let e=p.connection?.db;if(!e)return{moved:await a(p.store(p.defaultOrganizationId),d)};let t=o(d.encryptionKey),i=0;for(let a of await e.select().from(r))l(d,a.value)!==t&&(await e.update(r).set({value:s(d,c(d,a.value))}).where(n(r.id,a.id)),i++);return{moved:i}}finally{await p.close()}})}export{f as rotateKey};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{F as e,O as t,T as n,ba as r,j as i,t as a,u as o,va as s}from"./args-CJsHYWbt.js";import{command as c}from"./cli.js";import{n as l}from"./permission-
|
|
1
|
+
import{F as e,O as t,T as n,ba as r,j as i,t as a,u as o,va as s}from"./args-CJsHYWbt.js";import{command as c}from"./cli.js";import{n as l}from"./permission-F6F25GJU.js";import{serve as u}from"./serve-DoYbHm_k.js";const d=a(n(t(i(),e())),`The tool's input.`),f=(e,t)=>s({name:`coder`,description:`Coder approval policy`,commands:[r({name:`approval_prompt`,description:`Coder approval policy for claude permission prompts.`,args:{tool_name:o(`The tool Claude asks to run.`),input:d,tool_input:d},access:`read`,run:n=>l(e,t,n),mcp:{text:e=>JSON.stringify(e)}})]}),p=c({name:`mcp`,description:`the coder MCP server engines call back into`,access:`write`,args:{"task-id":o()},globalFlags:{json:!1},cli:{positional:[`task-id`]},mcp:!1,run:async({args:e,cwd:t})=>{await(await u(f(t,e[0]),`stdio`)).done}});export{p as commandTaskMcp};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{la as e,ua as t}from"./args-CJsHYWbt.js";import{s as n,t as r}from"./emit-BgeqsCkC.js";import{l as i,u as a,z as o}from"./config-_32PHl9g.js";import{v as s}from"./connections-B90TemYf.js";import{t as c}from"./dispatch-BkoIU4GU.js";import{o as l,s as u}from"./mcp-cEIva8Pd.js";import{n as d,r as f,t as p}from"./tools-
|
|
1
|
+
import{la as e,ua as t}from"./args-CJsHYWbt.js";import{s as n,t as r}from"./emit-BgeqsCkC.js";import{l as i,u as a,z as o}from"./config-_32PHl9g.js";import{v as s}from"./connections-B90TemYf.js";import{t as c}from"./dispatch-BkoIU4GU.js";import{o as l,s as u}from"./mcp-cEIva8Pd.js";import{n as d,r as f,t as p}from"./tools-BCm26CeV.js";import{o as m}from"./async-BP5q3Une.js";import{i as h,n as g,t as _}from"./tool-search-C9Ty3hhL.js";import v from"node:path";import y from"node:process";const b=[`CODER_HOME`,`CODER_MCP_MODE`,a,i,`CODEX_HOME`,`CLAUDE_CONFIG_DIR`,`CLAUDE_CODE_PROJECT_DIR_NAME`],x=()=>Object.fromEntries(b.flatMap(e=>y.env[e]?[[e,y.env[e]]]:[])),S=(e,t)=>!!e.readOnly||o(e.access,t)===`read-only`;async function C(e){let t=await s(e,fetch,AbortSignal.timeout(3e4));try{return await t.tools()}finally{await t.close().catch(()=>{})}}async function w(n,r,i,a){let s=e=>i.find(t=>t.name===e&&!t.command&&!t.url),d=s(`conversation`),f=s(t),m=e=>e.command?{...e,env:{...e.env,[c]:`1`}}:e,_=n.conversation?{...E(f?.env),connect:`start`}:void 0,b=[..._?[_]:[],...i.filter(e=>e!==d&&e!==f)].map(e=>m(S(e,e===_?`auto`:o(n.access,a.access))?{...e,readOnly:!0}:e)),C=A(n),w=p.flatMap(e=>{let t=e.platform&&u(i,e.platform);return t?[[l(e.platform),t]]:[]}),D=d?.env?.CODER_REPLY_URL,O=d?.env?.CODER_REPLY_TOKEN,j=D&&URL.canParse(D)?`${new URL(D).origin}/dash/settings/connections`:void 0;return{servers:[...C.length?[T(v.join(r,`job.json`),C,{...d?.env,...Object.fromEntries(w)})]:[],...b.length?[{...g({command:y.execPath,args:[e,`task`,`tools-search`],env:x()},b,j,D&&O?{url:D,token:O}:void 0,h(await k(b))),alwaysLoad:!0}]:[]].map(m),listed:b}}function T(t,r,i={}){return{name:d.name,command:y.execPath,args:[e,`task`,`tools`,...r],env:{...i,...x(),CODER_HISTORY_TASK:t},tools:r,alwaysLoad:!0,instructions:n(f(r))}}function E(n={}){return{name:t,command:y.execPath,args:[e,`mcp`],env:{...n,...x()}}}const D=(e,t=fetch)=>async(n,r)=>{let i=await t(`${e.url}/connection`,{method:`POST`,headers:{authorization:`Bearer ${e.token}`,"content-type":`application/json`},body:JSON.stringify({connection:n.connection??n.name,url:n.url,connectionCreatedAt:n.connectionCreatedAt,...r?{refused:r}:{}}),signal:AbortSignal.timeout(1e4)});if(i.status===403)throw Error((await i.json()).error);if(!i.ok)throw Error(`The connection is unavailable (${i.status})`);return(await i.json()).token};async function O(e={}){let t=await import(`./context-DVGPu7f_.js`),i=e.CODER_MCP_MODE===`cloud`?t.cloudApp:t.app,a=r(i).commands.flatMap(e=>e.command.mcp===!1?[]:[e.id]);return{description:i.description,started:{instructions:n(i,{tools:!1}),tools:[...a,...i.skills?.length?[`load_skill`]:[]]}}}function k(e){return Promise.all(e.map(async e=>{if(e.connect!==`start`)return e;if(e.name===`coder`)return{...e,...await O(e.env)};let t=await _(e,1e4).catch(()=>void 0);await t?.client.close().catch(()=>{});let n=t?.serverInfo?.description;return t?{...e,...n?{description:n}:{},started:{instructions:t.instructions,tools:t.tools.map(e=>e.name)}}:e}))}function A(e){let t=m(e);return[...p.some(e=>e.flow===t)?[]:p.map(e=>e.name),...(e.access??`auto`)===`auto`?[`escalate`]:[],...e.conversation?[`reply`,`react`,`history`]:[]]}export{C as listServerTools,D as serverCredential,A as taskToolNames,T as taskToolServer,w as turnToolServers};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Ea as e}from"./args-CJsHYWbt.js";import{t}from"./errors-DK_trCff.js";import{B as n,C as r,G as i,O as a,R as o,S as s,b as c,c as l,f as u,j as d,k as f,r as p,v as m,w as h,x as g}from"./config-_32PHl9g.js";import{n as _}from"./remote-
|
|
1
|
+
import{Ea as e}from"./args-CJsHYWbt.js";import{t}from"./errors-DK_trCff.js";import{B as n,C as r,G as i,O as a,R as o,S as s,b as c,c as l,f as u,j as d,k as f,r as p,v as m,w as h,x as g}from"./config-_32PHl9g.js";import{n as _}from"./remote-Cl-j8r3W.js";import{M as v,O as y}from"./dispatch-BkoIU4GU.js";import b from"node:path";import x from"node:process";var S=e({detectWireApi:()=>G,models:()=>U,probeEndpoint:()=>w});const C=new Set([`codex`,`claude`,`custom`]);async function w(e,t={}){let n=`key`in t?t.key:e.envKey?x.env[e.envKey]:void 0,r=t.fetch??fetch,i=c(e.baseUrl,`models`),a=null;for(let t of i)try{let i=await r(t,{headers:n?{Authorization:`Bearer ${n}`}:{},signal:AbortSignal.timeout(5e3)});if(!i.ok){a=i.status===404?{reachable:!0,modelListed:null,models:null,detail:`endpoint reachable (no model list to verify against)`}:{reachable:!1,modelListed:null,models:null,detail:`${t} -> HTTP ${i.status}`};continue}let o=await i.json().catch(()=>null),s=Array.isArray(o?.data)?o.data.map(e=>e.id).filter(e=>typeof e==`string`):null;if(!s)return{reachable:!0,modelListed:null,models:null,detail:`endpoint reachable`};let c=Object.fromEntries(o.data.flatMap(e=>{let t=T(e.context_window??e.context_length??e.max_model_len);return typeof e.id==`string`&&t?[[e.id,t]]:[]})),l=Object.keys(c).length?c:await E(e.baseUrl,e.model?[e.model]:s,n,r),u=Object.keys(l).length?{contextWindows:l}:{};if(!e.model)return{reachable:!0,modelListed:null,models:s,...u,detail:`endpoint reachable; ${s.length} models listed`};let d=s.includes(e.model);return{reachable:!0,modelListed:d,models:s,...u,detail:d?`endpoint reachable; model "${e.model}" listed`:`endpoint reachable, but "${e.model}" is not in its model list`}}catch(e){a={reachable:!1,modelListed:null,models:null,detail:`${t} unreachable (${e instanceof Error?e.message:String(e)})`}}return a}const T=e=>Number.isInteger(e)&&e>0?e:void 0;async function E(e,t,n,r){let i=`${a(e).replace(/\/v1$/,``)}/api/show`,o=async e=>{let t=await r(i,{method:`POST`,headers:{"content-type":`application/json`,...n?{Authorization:`Bearer ${n}`}:{}},body:JSON.stringify({model:e}),signal:AbortSignal.timeout(5e3)}).catch(()=>null),a=(t?.ok?await t.json().catch(()=>null):null)?.model_info??{},o=Object.keys(a).find(e=>e.endsWith(`.context_length`));return o?T(a[o]):void 0},[s,...c]=t,l=s?await o(s):void 0;if(!l)return{};let u=await Promise.all(c.map(async e=>[e,await o(e)]));return Object.fromEntries([[s,l],...u].filter(e=>!!e[1]))}function D(e,t){i(e,e=>{e.models=e.models??{},t(e.models)})}const O=(e,t=p)=>Object.fromEntries(Object.entries(t).flatMap(([t,n])=>{let[r,i]=n.split(`/`);return r===e&&i?[[t,i]]:[]}));function k(e){let t=e.models??{},n=Object.entries(t).filter(e=>r(e[1])),i=Object.entries(t).filter(e=>g(e[1])).map(([t,n])=>{let r=u(n,e),i=O(r.engine),a=(r.model&&i[r.model])??r.model,o=()=>[r.engine,r.model,r.effort].filter(Boolean).join(`/`),c=s(t)?t:Object.entries(i).find(([,e])=>e===a)?.[0];return{name:t,spec:o(),replaces:c,disabled:!1}}),a=new Map;for(let e of i)e.replaces&&(e.name===e.replaces||!a.has(e.replaces))&&a.get(e.replaces)?.name!==e.replaces&&a.set(e.replaces,e);let o=e=>t[e]===!1,c=i.filter(e=>![...a.values()].some(t=>t.name===e.name));return{models:t,endpoints:n,providerRows:(e,t)=>[...Object.entries(t).map(([e,t])=>{let n=a.get(e);return n?{alias:n.name,spec:n.spec,overrides:e,disabled:n.disabled}:{alias:e,model:t,builtin:!0,disabled:o(e)}}),...c.filter(t=>t.spec.startsWith(`${e}/`)).map(({name:e,spec:t,disabled:n})=>({alias:e,spec:t,disabled:n}))],toggledSlugs:Object.entries(t).filter(([e,t])=>t===!1&&!s(e)).map(([e])=>({name:e,disabled:!0})),disabled:o}}async function A(e,t){let n=t?await _(t).models.list():void 0,{endpoints:r,providerRows:i,toggledSlugs:a}=k(n?{models:n.models}:h(e)),o=await Promise.all(r.map(async([e,t])=>({name:e,...t,...n?{}:{probe:await w(t)}})));return{codex:i(`codex`,O(`codex`,n?.builtin)),claude:i(`claude`,O(`claude`,n?.builtin)),custom:o,...a.length?{toggles:a}:{}}}async function j(e,t,n,r){let i=await G(t),a=i?.wireApi===`responses`;i?(t.wireApi=i.wireApi,t.baseUrl=i.baseUrl??t.baseUrl):delete t.wireApi;let o=await w(t),s=o.contextWindows?.[t.model];!t.contextWindow&&s&&(t.contextWindow=s),D(n,n=>{n[e]=t});let c=y(v(r)),l=v(r);return{name:e,entry:t,file:n,probe:o,codex:l,install:c,nativeResponses:a,keyMissing:!!(t.envKey&&!x.env[t.envKey]),ready:o.reachable&&l.available}}const M=`Usage: coder model add <name> --base-url <url> --model <id> [--env-key VAR] [--context-window <tokens>]`,N=`Usage: coder model update <name> [--base-url <url>] [--model <id>] [--env-key VAR] [--context-window <tokens>]`,P=`Usage: coder model alias <name> <spec> (e.g. coder model alias fast codex/luna)`,F=`List them: coder model list`;function I(e,n,r){if(!e)throw new t(`invalid-option`,`Missing model name.`,{hint:r});if(!/^[a-z][a-z0-9-]*$/.test(e))throw new t(`invalid-option`,`Invalid model name "${e}". Use lowercase kebab-case (e.g. qwen-local).`);if(l.has(e)||n===`model`&&(C.has(e)||s(e)))throw new t(`invalid-option`,`"${e}" is reserved; pick another name.`)}async function L(e,n,i){I(n,`model`,M);let o=h(e).models?.[n];if(o)throw new t(`invalid-option`,r(o)?`Custom model "${n}" already exists.`:`"${n}" is already configured as an ${g(o)?`alias`:`entry`}; remove it first.`,{hint:`Change it: coder model update ${n} [--base-url|--model|--env-key], or remove it first.`});if(!i.baseUrl||!i.model)throw new t(`invalid-option`,`Missing --base-url or --model.`,{hint:M});return j(n,{baseUrl:a(i.baseUrl),model:i.model,...i.envKey?{envKey:i.envKey}:{},...i.contextWindow?{contextWindow:i.contextWindow}:{}},m(e,i.workspace),e)}async function R(e,n,i){let o=n?h(e).models?.[n]:void 0,s=o&&r(o)?o:void 0;if(!n||!s)throw new t(`invalid-option`,n?`No custom model named "${n}".`:`Missing model name.`,{hint:n?F:N});if(!i.baseUrl&&!i.model&&!i.envKey&&!i.contextWindow)throw new t(`invalid-option`,`Nothing to update: pass --base-url, --model, --env-key, or --context-window.`,{hint:N});let c={...s,...i.baseUrl?{baseUrl:a(i.baseUrl)}:{},...i.model?{model:i.model}:{},...i.envKey?{envKey:i.envKey}:{}};return i.contextWindow?c.contextWindow=i.contextWindow:(c.model!==s.model||c.baseUrl!==s.baseUrl)&&delete c.contextWindow,j(n,c,m(e,i.workspace),e)}function z(e,n,r={}){if(!n||!h(e).models?.[n])throw new t(`invalid-option`,n?`No custom model named "${n}".`:`Missing model name.`,{hint:n?F:`Usage: coder model remove <name>`});let a=m(e,r.workspace);return i(a,e=>d(e,n)),{removed:n,file:a}}function B(e,n,i,a={}){I(n,`alias`,P);let s=h(e),c=s.models?.[n];if(c&&r(c))throw new t(`invalid-option`,`"${n}" is a custom model name; pick another alias name.`);if(!i)throw new t(`invalid-option`,`Missing alias spec.`,{hint:P});let l;try{l=f(i,s)}catch(e){throw new t(`invalid-option`,e instanceof Error?e.message:String(e),{hint:P})}if(!l||!l.model)throw new t(`invalid-option`,`Alias spec "${i}" does not resolve to a model.`,{hint:P});if(C.has(n)&&l.engine!==n)throw new t(`invalid-option`,`The ${n} alias names a ${n} model.`,{hint:P});if(l.engine===`custom`&&n!==`custom`)throw new t(`invalid-option`,`"${i}" names a custom model, which is already dispatchable by name; aliases target codex/claude models.`);let u=o(i),d=[l.engine,u.model??l.model,u.effort].filter(Boolean).join(`/`),p=m(e,a.workspace);return D(p,e=>{e[n]=d}),{alias:n,model:d,file:p}}function V(e,n,r={}){let a=n?h(e).models?.[n]:void 0;if(!n||!a||!g(a))throw new t(`invalid-option`,n?`No alias named "${n}".`:`Missing alias name.`,{hint:n?F:`Usage: coder model unalias <name>`});let o=m(e,r.workspace);return i(o,e=>d(e,n)),{unaliased:n,file:o}}function H(e,r,i,a={}){if(!r)throw new t(`invalid-option`,`Missing model name.`,{hint:`Usage: coder model ${i?`disable`:`enable`} <name>`});let o=m(e,a.workspace);return D(o,e=>n(e,r,i)),{name:r,disabled:i,file:o}}const U={add:(e,t)=>L(b.resolve(t.cwd??`.`),e,t),update:(e,t)=>t.server===void 0?R(b.resolve(t.cwd??`.`),e,t):_({server:t.server}).models.update(e,{...t.baseUrl?{baseUrl:t.baseUrl}:{},...t.model?{model:t.model}:{},...t.envKey?{envKey:t.envKey}:{},...t.contextWindow?{contextWindow:t.contextWindow}:{}}),remove:(e,t={})=>z(b.resolve(t.cwd??`.`),e,t),list:({cwd:e,workspace:t,...n}={})=>A(b.resolve(e??`.`),n.server===void 0?void 0:{...n,organization:n.organization??t}),alias:(e,t,n={})=>n.server===void 0?B(b.resolve(n.cwd??`.`),e,t,n):_({server:n.server}).models.alias(e,t),unalias:(e,t={})=>V(b.resolve(t.cwd??`.`),e,t),disable:(e,t={})=>t.server===void 0?H(b.resolve(t.cwd??`.`),e,!0,t):_({server:t.server}).models.disable(e),enable:(e,t={})=>t.server===void 0?H(b.resolve(t.cwd??`.`),e,!1,t):_({server:t.server}).models.enable(e)};async function W(e,t,n){let r=e.envKey?x.env[e.envKey]:void 0,i=!1;for(let a of c(e.baseUrl,t))try{let e=await fetch(a,{method:`POST`,headers:{"content-type":`application/json`,...r?{Authorization:`Bearer ${r}`}:{}},body:JSON.stringify(n),signal:AbortSignal.timeout(5e3)});if(i=!0,e.status!==404&&e.status!==405&&e.status!==501)return{baseUrl:a.slice(0,-(t.length+1))}}catch{}return{reachable:i}}async function G(e){let t=await W(e,`responses`,{model:e.model,input:[],stream:!1});if(`baseUrl`in t)return{wireApi:`responses`,baseUrl:t.baseUrl};let n=await W(e,`chat/completions`,{model:e.model,messages:[],stream:!1});return`baseUrl`in n?{wireApi:`chat`,baseUrl:n.baseUrl}:t.reachable||n.reachable?{wireApi:`chat`}:null}export{w as i,U as n,S as r,G as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{V as e,bt as t,gt as n,o as r}from"./state-CxAUec80.js";import{c as i,r as a}from"./approvals-C8XV7CK2.js";import o from"node:path";function s(e,t,n){let i=String(n.tool_name??``),o=n.input??n.tool_input??{},s=i===`Bash`?`run command: ${String(o.command??``)||`(unknown command)`}`:`${i||`(unknown tool)`}: ${JSON.stringify(o).slice(0,200)}`;return r(e,t,{kind:`approval-decision`,method:i,decision:`decline`,reason:a,summary:s}),{behavior:`deny`,message:a}}function c(t,n,a){let o=String(a.tool_input?.command??``),s=a.tool_name===`Bash`&&o.trim()?i(e(t,n),o):void 0;return s?(r(t,n,{kind:`approval-decision`,method:`Bash`,decision:`accept`,approvalId:s.id,summary:`run command: ${o.trim()}`}),{hookSpecificOutput:{hookEventName:`PreToolUse`,permissionDecision:`allow`,permissionDecisionReason:`Coder: approved action ${s.id}`,updatedInput:a.tool_input}}):null}async function l(i,a,s,c){let l=String(s.tool_name??``);if(!c||!l.startsWith(`mcp__`))return null;let[{claudeToolName:u},{listServerTools:d}]=await Promise.all([import(`./dispatch-BkoIU4GU.js`).then(e=>e.v),import(`./mcp-
|
|
1
|
+
import{V as e,bt as t,gt as n,o as r}from"./state-CxAUec80.js";import{c as i,r as a}from"./approvals-C8XV7CK2.js";import o from"node:path";function s(e,t,n){let i=String(n.tool_name??``),o=n.input??n.tool_input??{},s=i===`Bash`?`run command: ${String(o.command??``)||`(unknown command)`}`:`${i||`(unknown tool)`}: ${JSON.stringify(o).slice(0,200)}`;return r(e,t,{kind:`approval-decision`,method:i,decision:`decline`,reason:a,summary:s}),{behavior:`deny`,message:a}}function c(t,n,a){let o=String(a.tool_input?.command??``),s=a.tool_name===`Bash`&&o.trim()?i(e(t,n),o):void 0;return s?(r(t,n,{kind:`approval-decision`,method:`Bash`,decision:`accept`,approvalId:s.id,summary:`run command: ${o.trim()}`}),{hookSpecificOutput:{hookEventName:`PreToolUse`,permissionDecision:`allow`,permissionDecisionReason:`Coder: approved action ${s.id}`,updatedInput:a.tool_input}}):null}async function l(i,a,s,c){let l=String(s.tool_name??``);if(!c||!l.startsWith(`mcp__`))return null;let[{claudeToolName:u},{listServerTools:d}]=await Promise.all([import(`./dispatch-BkoIU4GU.js`).then(e=>e.v),import(`./mcp-EwT2mCaa.js`)]),f=n(c)?.find(e=>l.startsWith(`${u(e.name)}__`)),p=o.join(e(i,a),`read-only-tools.json`),m=f&&n(p)?.[f.name],h=`This task is read-only.`;if(f&&!m)try{m=(await d(f)).filter(e=>e.annotations?.readOnlyHint===!0).map(e=>e.name),t(p,{...n(p),[f.name]:m})}catch(e){h=`This task is read-only, and MCP server "${f.name}" did not list its tools (${e instanceof Error?e.message:String(e)}).`}return f&&m?.some(e=>u(f.name,e)===l)?null:(r(i,a,{kind:`approval-decision`,method:l,decision:`decline`,reason:h,summary:`${l}: ${JSON.stringify(s.tool_input??{}).slice(0,200)}`}),{hookSpecificOutput:{hookEventName:`PreToolUse`,permissionDecision:`deny`,permissionDecisionReason:h}})}export{s as n,l as r,c as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Ea as e}from"./args-CJsHYWbt.js";import{t}from"./errors-DK_trCff.js";import{c as n,o as r}from"./load-BtIDghgd.js";import{a as i,i as a,n as o,o as s,r as c}from"./http-615JJgHo.js";import{a as l,c as u,i as d,n as f,r as p}from"./session-BMbMzzPu.js";import m from"node:path";import h from"node:process";import g from"node:http";import _ from"node:fs/promises";import{Readable as v}from"node:stream";var y=class extends t{authenticate;needs;constructor(e,t,n=``,r,i){super(`server`,t,{status:e,...r?{hint:r}:{}}),this.authenticate=n,this.needs=i}};const b=new Set([`completed`,`failed`,`cancelled`]);var x=class{url;fetchImpl;organization;renewal;onError;token;cookie;constructor(e,n,r={}){if(this.cookie=`cookie`in n,this.url=e?s(e):``,!this.cookie&&!this.url)throw new t(`invalid-option`,`Bearer clients need a server URL.`);this.token=`token`in n?n.token:void 0,this.fetchImpl=r.fetch??((e,t)=>fetch(e,t)),this.organization=r.organization,this.renewal=r.renewal,this.onError=r.onError}request(e,t={}){let n=this.read(e,t);return n.catch(()=>{}),n}async read(e,n){this.renewal&&this.renewal.expiresAt()-Date.now()<3e4&&(this.token=await this.renewal.renew());let r=await this.send(e,n);r.status===401&&this.renewal&&/invalid_token/.test(r.headers.get(`www-authenticate`)??``)&&(this.token=await this.renewal.renew(),r=await this.send(e,n));let i=await r.text().catch(()=>``),a={},o;try{i&&r.status!==204&&(a=JSON.parse(i))}catch{if(r.ok)throw new t(`server`,`The server answered ${r.status} with a body that is not JSON.`);this.cookie&&i&&(o=i)}if(r.status===202&&a.pending){let{approval:e,reason:n,changes:r}=a;throw new t(`approval-pending`,n,{approval:{id:e,reason:n,actions:r}})}if(!r.ok){let e=new y(r.status,a.error??a.message??o??`The server answered ${r.status}.`,r.headers.get(`www-authenticate`)??``,a.hint,a.needs===`key`?a.needs:void 0);throw this.onError?.(e),e}return a}send(e,n){let r=new Headers(n.headers);return n.body&&!r.has(`content-type`)&&r.set(`content-type`,`application/json`),this.token&&r.set(`authorization`,`Bearer ${this.token}`),this.organization&&r.set(`x-coder-organization`,this.organization),this.fetchImpl(`${this.url}${e}`,{...n,headers:r,...this.cookie?{credentials:`same-origin`}:{}}).catch(e=>{throw e instanceof t||e.name===`AbortError`?e:new t(`server`,this.url?`No Coder server answers at ${this.url}: ${e.message}`:`The server did not answer. Check the connection and try again.`)})}post(e,t){return this.request(e,{method:`POST`,...t===void 0?{}:{body:JSON.stringify(t)}})}me(){return this.request(`/me`)}signOut(){return this.post(`/api/auth/sign-out`,{})}agents={list:e=>this.request(c(`/admin/agents`,e??{})),get:(e,t)=>this.request(c(`/admin/agents/${encodeURIComponent(e)}`,{...t?.versions===!1?{versions:0}:{},...t?.content===!1?{content:0}:{},...t?.handles?{handles:1}:{},...t?.installations?{installations:1}:{}})),versions:(e,t={})=>this.request(c(`/admin/agents/${encodeURIComponent(e)}/versions`,t)),remove:e=>this.request(`/admin/agents/${encodeURIComponent(e)}`,{method:`DELETE`}),preview:(e,t)=>this.request(c(`/admin/agents/import`,{repo:e,ref:t})),version:(e,t)=>this.request(`/admin/agents/${encodeURIComponent(e)}/versions/${t}`),put:(e,t)=>this.request(`/admin/agents/${encodeURIComponent(e)}`,{method:`PUT`,body:JSON.stringify(t)}).then(t=>({id:e,version:t.version,unchanged:t.unchanged,...t.apps?.length?{apps:t.apps}:{}})),settings:(e,t)=>this.request(`/admin/agents/${encodeURIComponent(e)}/settings`,{method:`PATCH`,body:JSON.stringify(t)}),import:(e,t,n)=>this.post(`/admin/agents/import`,{repo:e,ref:t,...n?{agents:n}:{}})};composer(){return this.request(`/admin/composer`)}folders={list:()=>this.request(`/admin/folders`),check:e=>this.post(`/admin/folders/check`,{path:e}),clone:e=>this.post(`/admin/folders/clone`,{url:e}),pick:()=>this.post(`/admin/folders/pick`,{})};tasks={list:e=>this.request(c(`/admin/tasks`,{limit:20,...e,...e?.archived?{archived:1}:{},...e?.summary?{summary:1}:{},...e?.counts?{counts:1}:{},...e?.approvals?{approvals:1}:{}})),get:e=>this.request(`/admin/tasks/${encodeURIComponent(e)}`),logs:(e,t=-1,n)=>this.request(c(`/admin/tasks/${encodeURIComponent(e)}/logs`,{after:t,limit:n})),stream:(e,t=-1,n)=>this.send(`/admin/tasks/${encodeURIComponent(e)}/stream?after=${t}`,{headers:{accept:`text/event-stream`},signal:n}),events:(e,t,n)=>this.send(c(`/admin/events`,{tasks:e}),{headers:{accept:`text/event-stream`,...t?{"last-event-id":t}:{}},signal:n}),cancel:e=>this.post(`/admin/tasks/${encodeURIComponent(e)}/cancel`),steer:(e,t,n={})=>this.post(`/admin/tasks/${encodeURIComponent(e)}/steer`,{text:t,...n}),ask:(e,t,n={})=>this.post(`/admin/tasks/${encodeURIComponent(e)}/ask`,{question:t,...n}),approve:(e,t,n,r={})=>this.post(`/admin/tasks/${encodeURIComponent(e)}/approve`,{approvalId:t,decision:n,...r}),request:(e,t,n,r={})=>this.post(`/admin/tasks/${encodeURIComponent(e)}/requests/${encodeURIComponent(t)}`,{decision:n,...r}),pendingApprovals:()=>this.request(`/admin/approvals/pending`),archive:e=>this.post(`/admin/tasks/${encodeURIComponent(e)}/archive`),delete:e=>this.request(`/admin/tasks/${encodeURIComponent(e)}`,{method:`DELETE`}),create:e=>this.post(`/admin/tasks`,e),wait:async(e,n={})=>{let r=-1;for(;;){let i=new AbortController,o=await this.tasks.stream(e,r,i.signal);if(!o.ok||!o.body){let n=await this.tasks.get(e);if(b.has(n.status))return n;if(o.status===401)continue;throw new t(`server`,`The task stream answered ${o.status}.`)}let s=!1;for await(let e of a(o.body))if(e.event===`log`){let t=JSON.parse(e.data);r=t.seq,n.onLog?.(t)}else if(e.event===`end`||e.event===`approval`){s=!0;break}if(s)return this.tasks.get(e);await new Promise(e=>setTimeout(e,1e3))}}};credentials={list:e=>this.request(c(`/admin/credentials`,e??{})),add:e=>this.post(`/admin/credentials`,e),remove:(e,{workspace:t}={})=>this.request(`/admin/credentials/${encodeURIComponent(e)}${t?`?workspace`:``}`,{method:`DELETE`}),login:e=>this.post(`/admin/logins`,{engine:e}),loginStatus:(e,t)=>this.request(`/admin/logins/${encodeURIComponent(e)}${t?`?state=${encodeURIComponent(t)}`:``}`),loginCode:(e,t)=>this.post(`/admin/logins/${encodeURIComponent(e)}`,{code:t}),cancelLogin:e=>this.request(`/admin/logins/${encodeURIComponent(e)}`,{method:`DELETE`})};runners={list:()=>this.request(`/admin/runners`),add:e=>this.post(`/admin/runners`,e),pair:e=>this.post(`/admin/runners/pair`,e),update:(e,t)=>this.request(`/admin/runners/${encodeURIComponent(e)}`,{method:`PATCH`,body:JSON.stringify(t)}),test:e=>this.post(`/admin/runners/${encodeURIComponent(e)}/test`,{}),remove:e=>this.request(`/admin/runners/${encodeURIComponent(e)}`,{method:`DELETE`})};integrations={list:e=>this.request(c(`/admin/integrations`,{agent:e}))};repositories={list:()=>this.request(`/admin/repositories`),refresh:()=>this.post(`/admin/repositories/refresh`,{})};engines={status:()=>this.request(`/admin/engines/status`),login:e=>this.post(`/admin/engines/${encodeURIComponent(e)}/login`,{}),logout:e=>this.post(`/admin/engines/${encodeURIComponent(e)}/logout`,{})};apps={list:e=>this.request(c(`/admin/apps`,{agent:e})),install:(e,t)=>this.post(c(`/admin/apps/${encodeURIComponent(e)}/install`,{back:t})),remove:e=>this.request(`/admin/apps/${encodeURIComponent(e)}`,{method:`DELETE`}),update:e=>this.post(`/admin/apps/${encodeURIComponent(e)}/update`,{}),drift:e=>this.request(`/admin/apps/${encodeURIComponent(e)}/drift`),create:(e,t)=>this.post(`/admin/apps/create/${encodeURIComponent(e)}`,t),start:(e,t)=>this.post(c(`/create/${encodeURIComponent(e)}`,t)),finish:(e,t)=>this.request(`/create/${encodeURIComponent(e)}/callback`,{method:`POST`,headers:{accept:`application/json`,"content-type":`application/x-www-form-urlencoded`},body:new URLSearchParams(t)})};operator={apps:()=>this.request(`/admin/operator/apps`),setUp:(e,t)=>this.post(`/admin/operator/apps/${encodeURIComponent(e)}`,t),audit:()=>this.request(`/admin/operator/audit`),drift:e=>this.request(`/admin/operator/apps/${encodeURIComponent(e)}/drift`),update:e=>this.post(`/admin/operator/apps/${encodeURIComponent(e)}/update`,{})};installations={list:(e,t={})=>this.request(c(`/admin/installations`,{agent:e,limit:t.limit,...t.active?{active:1}:{}})),uninstall:e=>this.request(`/admin/installations/${encodeURIComponent(e)}`,{method:`DELETE`})};connections={list:(e,t)=>this.request(c(`/admin/connections`,{authorization:e,wait:t})),add:e=>this.post(`/admin/connections`,e),update:(e,t)=>this.request(`/admin/connections/${encodeURIComponent(e)}`,{method:`PATCH`,body:JSON.stringify(t)}),remove:e=>this.request(`/admin/connections/${encodeURIComponent(e)}`,{method:`DELETE`}),authorize:e=>this.post(`/admin/connections/${encodeURIComponent(e)}/authorize`)};config={get:()=>this.request(`/admin/config`),patch:e=>this.request(`/admin/config`,{method:`PATCH`,headers:{"content-type":`application/merge-patch+json`},body:JSON.stringify(e)})};models={list:()=>this.request(`/admin/models`),add:e=>this.post(`/admin/models`,e),probe:e=>this.post(`/admin/models/probe`,e),remove:e=>this.request(`/admin/models/${encodeURIComponent(e)}`,{method:`DELETE`}),update:(e,t)=>this.request(`/admin/models/${encodeURIComponent(e)}`,{method:`PATCH`,body:JSON.stringify(t)}),alias:(e,t)=>this.post(`/admin/models/${encodeURIComponent(e)}/alias`,{spec:t}),enable:e=>this.post(`/admin/models/${encodeURIComponent(e)}/enable`),disable:e=>this.post(`/admin/models/${encodeURIComponent(e)}/disable`)};mcp={search:e=>this.request(c(`/admin/mcp-registry`,{q:e}))};flows={list:e=>this.request(c(`/admin/flows`,{repo:e})),run:(e,t)=>this.post(`/admin/flows/${encodeURIComponent(e)}/run`,t)};pulls={list:e=>this.request(c(`/admin/pulls`,{repo:e}))};usage(e={}){return this.request(c(`/admin/usage/totals`,{...e,since:e.since??Date.now()-6048e5}))}usageRows(e){return this.request(c(`/admin/usage`,{installation:e}))}},S=e({addCredential:()=>j,coderClient:()=>T,connect:()=>w,credentials:()=>N,loginCredential:()=>M,pushAgents:()=>D,serverFor:()=>C});function C(e={}){let n=u(e.server);if(!f(n)){if(!e.yes)throw new t(`invalid-option`,`First use of Coder server ${new URL(n).origin} needs confirmation.`,{hint:`Inspect the origin, then pass yes: true.`});p(n)}return n}function w(e={}){let t=C(e);return T(t,{token:e.token,missingHint:`auth.login({ server: '${t}' })`,organization:e.organization})}function T(e,{token:n,missingHint:r,organization:a}={}){let s=u(e),c=i();if(c&&s===`unix:${c}`)return new x(`http://localhost`,{},{fetch:E(c),organization:a});let f=l(s),p=f?.token,m=h.env.ADMIN_TOKEN,g=h.env.CODER_MCP_MODE===`cloud`?h.env.CODER_TASK_TOKEN:void 0,_=n??g??p??m;if(_&&_===m&&!o(s))throw new t(`invalid-option`,`ADMIN_TOKEN cannot be sent to a non-loopback server.`);if(!_)throw new t(`login-failed`,`Not signed in to ${s}.`,{...r?{hint:r}:{}});return new x(s,{token:_},{organization:a??f?.organization?.slug,renewal:f&&_===p?d(s,f):void 0})}function E(e){return async(t,n={})=>{let r=new URL(String(t)),i=n.body?Buffer.from(await new Response(n.body).arrayBuffer()):void 0;return new Promise((t,a)=>{let o=g.request({socketPath:e,path:`${r.pathname}${r.search}`,method:n.method??`GET`,headers:Object.fromEntries(new Headers(n.headers)),signal:n.signal??void 0},e=>{let r=new Headers;for(let t=0;t<e.rawHeaders.length;t+=2)r.append(e.rawHeaders[t],e.rawHeaders[t+1]);let i=e.statusCode??502,a=i===204||i===304||n.method===`HEAD`;a&&e.resume(),t(new Response(a?null:v.toWeb(e),{status:i,headers:r}))});o.on(`error`,a),o.end(i)})}}async function D(e,i,a){let{INTEGRATIONS:o}=await import(`./integrations-DSZSa8Rc.js`).then(e=>e.r),s=(await n(i,o)).filter(e=>!e.builtin),c=a?s.filter(e=>e.id===a):s;if(a&&!c.length)throw new t(`invalid-option`,`No workspace agent named "${a}".`);let l=[];for(let t of c)l.push(await e.agents.put(t.id,{definition:t.definition,systemPrompt:await _.readFile(m.join(t.dir,`system.md`),`utf8`).catch(()=>``),files:await r(t.dir),name:t.name,description:t.definition.description}));return l}const O=/^[A-Z_][A-Z0-9_]*$/,k=(e,n)=>new t(`invalid-option`,e,n?{hint:n}:{});async function A(){let e=``;for await(let t of h.stdin)e+=t.toString();return e.replace(/\r?\n$/,``)}async function j(e){let t=e.env;if(!t)throw k(`Missing required --env NAME.`,`Like --env ANTHROPIC_API_KEY`);if(!O.test(t))throw k(`Invalid environment variable name ${JSON.stringify(t)}.`);let n=e.value===`-`?await A():e.value??h.env[t];if(!n)throw k(`Environment variable ${t} is not set.`);return w(e).credentials.add({env:{[t]:n},workspace:e.workspace,noCheck:e.noCheck})}async function M(e,t={}){if(e!==`claude`&&e!==`codex`)throw k(`Name the engine to sign in to.`,`Usage: coder credentials login <claude|codex>`);let n=w(t).credentials,r=await n.login(e);t.onStart?.(()=>n.cancelLogin(r.id));let i=async e=>{for(;!e(r.state);)r=await n.loginStatus(r.id,r.state)};return await i(e=>e!==`starting`),t.onOpen?.(r),e===`claude`&&r.state===`open`&&t.code&&await n.loginCode(r.id,await t.code()),await i(e=>e===`done`||e===`failed`),r}const N={list:(e={})=>w(e).credentials.list(),add:j,remove:(e,t={})=>w(t).credentials.remove(e,t),login:M};export{S as a,D as i,w as n,C as o,N as r,T as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Ea as e}from"./args-CJsHYWbt.js";import{t}from"./errors-DK_trCff.js";import{n}from"./remote-
|
|
1
|
+
import{Ea as e}from"./args-CJsHYWbt.js";import{t}from"./errors-DK_trCff.js";import{n}from"./remote-Cl-j8r3W.js";import{t as r}from"./serve-DHe6dZM6.js";import i from"node:process";var a=e({addRunnerFields:()=>p,listRunners:()=>s,removeRunner:()=>f,runAssignedTask:()=>o,runners:()=>m,testRunner:()=>d});async function o(e,t){if(i.env.CODER_LOGIN)return(await import(`./login-93jO9qjx.js`)).runLogin(e,t);let{prepareRepo:n,runTask:r}=await import(`./task-CzXNLREX.js`).then(e=>e.l);return i.env.CODER_PREPARE?n(e,t):r(e,t)}const s=(e={})=>n(e).runners.list(),c=(e,t={})=>n(t).runners.add(e),l=(e,t={})=>n(t).runners.pair(e),u=(e,t,r={})=>n(r).runners.update(e,t),d=(e,t={})=>n(t).runners.test(e),f=(e,t={})=>n(t).runners.remove(e);async function p(e,r){let a=n(r),{catalog:o}=await a.runners.list(),s=o.find(t=>t.kind===e);if(!s)throw new t(`invalid-option`,`Unknown runner kind.`);if(!s.available)throw new t(`invalid-option`,s.reason??`Runner unavailable.`);let c={};for(let e of r.field??[]){let n=e.indexOf(`=`);if(n<1)throw new t(`invalid-option`,`Use --field key=value.`);let r=e.slice(0,n),a=e.slice(n+1),o=s.fields.find(e=>e.key===r);if(!o)throw new t(`invalid-option`,`Unknown runner field ${r}.`);if(o.secret){if(!/^env:[A-Z_][A-Z0-9_]*$/.test(a)||!i.env[a.slice(4)])throw new t(`invalid-option`,`Read ${r} from the environment with --field ${r}=env:VARIABLE.`);c[r]=i.env[a.slice(4)]}else c[r]=a}let l=r.scope??((await a.me()).user?`personal`:`workspace`);if(l!==`personal`&&l!==`workspace`)throw new t(`invalid-option`,`Scope must be personal or workspace.`);return s.connect===`pair`?a.runners.pair({name:r.name,scope:l}):a.runners.add({kind:s.kind,name:r.name??s.name,scope:l,config:c})}const m={list:s,add:c,pair:l,update:u,default:(e,t={})=>u(e,{default:!0},t),test:d,rename:(e,t,n={})=>u(e,{name:t},n),remove:f,serve:r};export{m as n,a as t};
|
package/dist/runner.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"hash":"
|
|
1
|
+
{"hash":"52be17b9c96790ea3eaf14b186b3c19970e5b8ac5753a1baaf4a7fc3f1e883bc"}
|
package/dist/runner.tgz
CHANGED
|
Binary file
|
package/dist/schema.js
CHANGED
|
@@ -4,4 +4,4 @@ import{$ as e,A as t,At as n,B as r,Ct as i,D as a,Dt as o,E as s,Et as c,F as l
|
|
|
4
4
|
hash text NOT NULL,
|
|
5
5
|
created_at bigint
|
|
6
6
|
)
|
|
7
|
-
`;await t.execute(k`CREATE SCHEMA IF NOT EXISTS ${k.identifier(i)}`),await t.execute(a);let o=(await t.all(k`select id, hash, created_at from ${k.identifier(i)}.${k.identifier(r)} order by created_at desc limit 1`))[0];await t.transaction(async t=>{for await(let n of e)if(!o||Number(o.created_at)<n.folderMillis){for(let e of n.sql)await t.execute(k.raw(e));await t.execute(k`insert into ${k.identifier(i)}.${k.identifier(r)} ("hash", "created_at") values(${n.hash}, ${n.folderMillis})`)}})}escapeName(e){return`"${e.replace(/"/g,`""`)}"`}escapeParam(e){return`$${e+1}`}escapeString(e){return`'${e.replace(/'/g,`''`)}'`}buildWithCTE(e){if(!e?.length)return;let t=[k`with `];for(let[n,r]of e.entries())t.push(k`${k.identifier(r._.alias)} as (${r._.sql})`),n<e.length-1&&t.push(k`, `);return t.push(k` `),k.join(t)}buildDeleteQuery({table:e,where:t,returning:n,withList:r}){let i=this.buildWithCTE(r),a=n?k` returning ${this.buildSelection(n,{isSingleTable:!0})}`:void 0,o=t?k` where ${t}`:void 0;return k`${i}delete from ${e}${o}${a}`}buildUpdateSet(e,t){let n=e[P.Symbol.Columns],r=Object.keys(n).filter(e=>t[e]!==void 0||n[e]?.onUpdateFn!==void 0),i=r.length;return k.join(r.flatMap((e,r)=>{let a=n[e],o=a.onUpdateFn?.(),s=t[e]??(_(o,O)?o:k.param(o,a)),c=k`${k.identifier(this.casing.getColumnCasing(a))} = ${s}`;return r<i-1?[c,k.raw(`, `)]:[c]}))}buildUpdateQuery({table:e,set:t,where:n,returning:r,withList:i,from:a,joins:o}){let c=this.buildWithCTE(i),l=e[s.Symbol.Name],u=e[s.Symbol.Schema],d=e[s.Symbol.OriginalName],f=l===d?void 0:l,p=k`${u?k`${k.identifier(u)}.`:void 0}${k.identifier(d)}${f&&k` ${k.identifier(f)}`}`,m=this.buildUpdateSet(e,t),h=a&&k.join([k.raw(` from `),this.buildFromTable(a)]),g=this.buildJoins(o),_=r?k` returning ${this.buildSelection(r,{isSingleTable:!a})}`:void 0,v=n?k` where ${n}`:void 0;return k`${c}update ${p} set ${m}${h}${g}${v}${_}`}buildSelection(e,{isSingleTable:t=!1}={}){let r=e.length,a=e.flatMap(({field:e},a)=>{let o=[];if(_(e,O.Aliased)&&e.isSelectionField)o.push(k.identifier(e.fieldAlias));else if(_(e,O.Aliased)||_(e,O)){let n=_(e,O.Aliased)?e.sql:e;t?o.push(new O(n.queryChunks.map(e=>_(e,b)?k.identifier(this.casing.getColumnCasing(e)):e))):o.push(n),_(e,O.Aliased)&&o.push(k` as ${k.identifier(e.fieldAlias)}`)}else if(_(e,n))t?o.push(k.identifier(this.casing.getColumnCasing(e))):o.push(e);else if(_(e,i)){let t=Object.entries(e._.selectedFields);if(t.length===1){let r=t[0][1],i=_(r,O)?r.decoder:_(r,n)?{mapFromDriverValue:e=>r.mapFromDriverValue(e)}:r.sql.decoder;i&&(e._.sql.decoder=i)}o.push(e)}return a<r-1&&o.push(k`, `),o});return k.join(a)}buildJoins(e){if(!e||e.length===0)return;let t=[];for(let[n,r]of e.entries()){n===0&&t.push(k` `);let i=r.table,a=r.lateral?k` lateral`:void 0,o=r.on?k` on ${r.on}`:void 0;if(_(i,s)){let e=i[s.Symbol.Name],n=i[s.Symbol.Schema],c=i[s.Symbol.OriginalName],l=e===c?void 0:r.alias;t.push(k`${k.raw(r.joinType)} join${a} ${n?k`${k.identifier(n)}.`:void 0}${k.identifier(c)}${l&&k` ${k.identifier(l)}`}${o}`)}else if(_(i,j)){let e=i[F].name,n=i[F].schema,s=i[F].originalName,c=e===s?void 0:r.alias;t.push(k`${k.raw(r.joinType)} join${a} ${n?k`${k.identifier(n)}.`:void 0}${k.identifier(s)}${c&&k` ${k.identifier(c)}`}${o}`)}else t.push(k`${k.raw(r.joinType)} join${a} ${i}${o}`);n<e.length-1&&t.push(k` `)}return k.join(t)}buildFromTable(e){if(_(e,P)&&e[P.Symbol.IsAlias]){let t=k`${k.identifier(e[P.Symbol.OriginalName])}`;return e[P.Symbol.Schema]&&(t=k`${k.identifier(e[P.Symbol.Schema])}.${t}`),k`${t} ${k.identifier(e[P.Symbol.Name])}`}return e}buildSelectQuery({withList:e,fields:t,fieldsFlat:r,where:a,having:o,table:s,joins:c,orderBy:l,groupBy:u,limit:d,offset:f,lockingClause:p,distinct:m,setOperators:h}){let g=r??S(t);for(let e of g)if(_(e.field,n)&&I(e.field.table)!==(_(s,i)?s._.alias:_(s,V)?s[F].name:_(s,O)?void 0:I(s))&&!(e=>c?.some(({alias:t})=>t===(e[P.Symbol.IsAlias]?I(e):e[P.Symbol.BaseName])))(e.field.table)){let t=I(e.field.table);throw Error(`Your "${e.path.join(`->`)}" field references a column "${t}"."${e.field.name}", but the table "${t}" is not part of the query! Did you forget to join it?`)}let v=!c||c.length===0,y=this.buildWithCTE(e),b;m&&(b=m===!0?k` distinct`:k` distinct on (${k.join(m.on,k`, `)})`);let x=this.buildSelection(g,{isSingleTable:v}),ee=this.buildFromTable(s),C=this.buildJoins(c),te=a?k` where ${a}`:void 0,ne=o?k` having ${o}`:void 0,w;l&&l.length>0&&(w=k` order by ${k.join(l,k`, `)}`);let re;u&&u.length>0&&(re=k` group by ${k.join(u,k`, `)}`);let T=typeof d==`object`||typeof d==`number`&&d>=0?k` limit ${d}`:void 0,ie=f?k` offset ${f}`:void 0,E=k.empty();if(p){let e=k` for ${k.raw(p.strength)}`;p.config.of&&e.append(k` of ${k.join(Array.isArray(p.config.of)?p.config.of:[p.config.of],k`, `)}`),p.config.noWait?e.append(k` nowait`):p.config.skipLocked&&e.append(k` skip locked`),E.append(e)}let ae=k`${y}select${b} ${x} from ${ee}${C}${te}${re}${ne}${w}${T}${ie}${E}`;return h.length>0?this.buildSetOperations(ae,h):ae}buildSetOperations(e,t){let[n,...r]=t;if(!n)throw Error(`Cannot pass undefined values to any set operator`);return r.length===0?this.buildSetOperationQuery({leftSelect:e,setOperator:n}):this.buildSetOperations(this.buildSetOperationQuery({leftSelect:e,setOperator:n}),r)}buildSetOperationQuery({leftSelect:e,setOperator:{type:t,isAll:n,rightSelect:r,limit:i,orderBy:a,offset:o}}){let s=k`(${e.getSQL()}) `,c=k`(${r.getSQL()})`,l;if(a&&a.length>0){let e=[];for(let t of a)if(_(t,b))e.push(k.identifier(t.name));else if(_(t,O)){for(let e=0;e<t.queryChunks.length;e++){let n=t.queryChunks[e];_(n,b)&&(t.queryChunks[e]=k.identifier(n.name))}e.push(k`${t}`)}else e.push(k`${t}`);l=k` order by ${k.join(e,k`, `)} `}let u=typeof i==`object`||typeof i==`number`&&i>=0?k` limit ${i}`:void 0,d=k.raw(`${t} ${n?`all `:``}`),f=o?k` offset ${o}`:void 0;return k`${s}${d}${c}${l}${u}${f}`}buildInsertQuery({table:e,values:t,onConflict:n,returning:r,withList:i,select:a,overridingSystemValue_:o}){let s=[],c=e[P.Symbol.Columns],l=Object.entries(c).filter(([e,t])=>!t.shouldDisableInsert()),u=l.map(([,e])=>k.identifier(this.casing.getColumnCasing(e)));if(a){let e=t;_(e,O)?s.push(e):s.push(e.getSQL())}else{let e=t;s.push(k.raw(`values `));for(let[t,n]of e.entries()){let r=[];for(let[e,t]of l){let i=n[e];if(i===void 0||_(i,ce)&&i.value===void 0)if(t.defaultFn!==void 0){let e=t.defaultFn(),n=_(e,O)?e:k.param(e,t);r.push(n)}else if(!t.default&&t.onUpdateFn!==void 0){let e=t.onUpdateFn(),n=_(e,O)?e:k.param(e,t);r.push(n)}else r.push(k`default`);else r.push(i)}s.push(r),t<e.length-1&&s.push(k`, `)}}let d=this.buildWithCTE(i),f=k.join(s),p=r?k` returning ${this.buildSelection(r,{isSingleTable:!0})}`:void 0,m=n?k` on conflict ${n}`:void 0,h=o===!0?k`overriding system value `:void 0;return k`${d}insert into ${e} ${u} ${h}${f}${m}${p}`}buildRefreshMaterializedViewQuery({view:e,concurrently:t,withNoData:n}){let r=t?k` concurrently`:void 0,i=n?k` with no data`:void 0;return k`refresh materialized view${r} ${e}${i}`}prepareTyping(e){return _(e,f)||_(e,ee)?`json`:_(e,l)?`decimal`:_(e,v)?`time`:_(e,t)||_(e,fe)?`timestamp`:_(e,r)||_(e,re)?`date`:_(e,pe)?`uuid`:`none`}sqlToQuery(e,t){return e.toQuery({casing:this.casing,escapeName:this.escapeName,escapeParam:this.escapeParam,escapeString:this.escapeString,prepareTyping:this.prepareTyping,invokeSource:t})}buildRelationalQueryWithoutPK({fullSchema:e,schema:t,tableNamesMap:r,table:a,tableConfig:o,queryConfig:c,tableAlias:l,nestedQueryRelation:u,joinOn:d}){let f=[],p,m,h=[],g,v=[];if(c===!0)f=Object.entries(o.columns).map(([e,t])=>({dbKey:t.name,tsKey:e,field:D(t,l),relationTableTsKey:void 0,isJson:!1,selection:[]}));else{let a=Object.fromEntries(Object.entries(o.columns).map(([e,t])=>[e,D(t,l)]));if(c.where){let e=typeof c.where==`function`?c.where(a,ye()):c.where;g=e&&Te(e,l)}let s=[],u=[];if(c.columns){let e=!1;for(let[t,n]of Object.entries(c.columns))n!==void 0&&t in o.columns&&(!e&&n===!0&&(e=!0),u.push(t));u.length>0&&(u=e?u.filter(e=>c.columns?.[e]===!0):Object.keys(o.columns).filter(e=>!u.includes(e)))}else u=Object.keys(o.columns);for(let e of u){let t=o.columns[e];s.push({tsKey:e,value:t})}let d=[];c.with&&(d=Object.entries(c.with).filter(e=>!!e[1]).map(([e,t])=>({tsKey:e,queryConfig:t,relation:o.relations[e]})));let y;if(c.extras){y=typeof c.extras==`function`?c.extras(a,{sql:k}):c.extras;for(let[e,t]of Object.entries(y))s.push({tsKey:e,value:ge(t,l)})}for(let{tsKey:e,value:t}of s)f.push({dbKey:_(t,O.Aliased)?t.fieldAlias:o.columns[e].name,tsKey:e,field:_(t,n)?D(t,l):t,relationTableTsKey:void 0,isJson:!1,selection:[]});let b=typeof c.orderBy==`function`?c.orderBy(a,Ce()):c.orderBy??[];Array.isArray(b)||(b=[b]),h=b.map(e=>_(e,n)?D(e,l):Te(e,l)),p=c.limit,m=c.offset;for(let{tsKey:n,queryConfig:a,relation:o}of d){let s=he(t,r,o),c=r[oe(o.referencedTable)],u=`${l}_${n}`,d=le(...s.fields.map((e,t)=>xe(D(s.references[t],u),D(e,l)))),p=this.buildRelationalQueryWithoutPK({fullSchema:e,schema:t,tableNamesMap:r,table:e[c],tableConfig:t[c],queryConfig:_(o,Se)?a===!0?{limit:1}:{...a,limit:1}:a,tableAlias:u,joinOn:d,nestedQueryRelation:o}),m=k`${k.identifier(u)}.${k.identifier(`data`)}`.as(n);v.push({on:k`true`,table:new i(p.sql,{},u),alias:u,joinType:`left`,lateral:!0}),f.push({dbKey:n,tsKey:n,field:m,relationTableTsKey:c,isJson:!0,selection:p.selection})}}if(f.length===0)throw new ve({message:`No fields selected for table "${o.tsName}" ("${l}")`});let y;if(g=le(d,g),u){let e=k`json_build_array(${k.join(f.map(({field:e,tsKey:t,isJson:n})=>n?k`${k.identifier(`${l}_${t}`)}.${k.identifier(`data`)}`:_(e,O.Aliased)?e.sql:e),k`, `)})`;_(u,_e)&&(e=k`coalesce(json_agg(${e}${h.length>0?k` order by ${k.join(h,k`, `)}`:void 0}), '[]'::json)`);let t=[{dbKey:`data`,tsKey:`data`,field:e.as(`data`),isJson:!0,relationTableTsKey:o.tsName,selection:f}];p!==void 0||m!==void 0||h.length>0?(y=this.buildSelectQuery({table:we(a,l),fields:{},fieldsFlat:[{path:[],field:k.raw(`*`)}],where:g,limit:p,offset:m,orderBy:h,setOperators:[]}),g=void 0,p=void 0,m=void 0,h=[]):y=we(a,l),y=this.buildSelectQuery({table:_(y,s)?y:new i(y,{},l),fields:{},fieldsFlat:t.map(({field:e})=>({path:[],field:_(e,n)?D(e,l):e})),joins:v,where:g,limit:p,offset:m,orderBy:h,setOperators:[]})}else y=this.buildSelectQuery({table:we(a,l),fields:{},fieldsFlat:f.map(({field:e})=>({path:[],field:_(e,n)?D(e,l):e})),joins:v,where:g,limit:p,offset:m,orderBy:h,setOperators:[]});return{tableTsKey:o.tsName,sql:y,selection:f}}},Ie=class{static[A]=`TypedQueryBuilder`;getSelectedFields(){return this._.selectedFields}},U=class{static[A]=`PgSelectBuilder`;fields;session;dialect;withList=[];distinct;constructor(e){this.fields=e.fields,this.session=e.session,this.dialect=e.dialect,e.withList&&(this.withList=e.withList),this.distinct=e.distinct}authToken;setToken(e){return this.authToken=e,this}from(e){let t=!!this.fields,n=e,r;return r=this.fields?this.fields:_(n,i)?Object.fromEntries(Object.keys(n._.selectedFields).map(e=>[e,n[e]])):_(n,V)?n[F].selectedFields:_(n,O)?{}:m(n),new Re({table:n,fields:r,isPartialSelect:t,session:this.session,dialect:this.dialect,withList:this.withList,distinct:this.distinct}).setToken(this.authToken)}},Le=class extends Ie{static[A]=`PgSelectQueryBuilder`;_;config;joinsNotNullableMap;tableName;isPartialSelect;session;dialect;cacheConfig=void 0;usedTables=new Set;constructor({table:e,fields:t,isPartialSelect:n,session:r,dialect:i,withList:a,distinct:o}){super(),this.config={withList:a,table:e,fields:{...t},distinct:o,setOperators:[]},this.isPartialSelect=n,this.session=r,this.dialect=i,this._={selectedFields:t,config:this.config},this.tableName=M(e),this.joinsNotNullableMap=typeof this.tableName==`string`?{[this.tableName]:!0}:{};for(let t of K(e))this.usedTables.add(t)}getUsedTables(){return[...this.usedTables]}createJoin(e,t){return(n,r)=>{let a=this.tableName,o=M(n);for(let e of K(n))this.usedTables.add(e);if(typeof o==`string`&&this.config.joins?.some(e=>e.alias===o))throw Error(`Alias "${o}" is already used in this query`);if(!this.isPartialSelect&&(Object.keys(this.joinsNotNullableMap).length===1&&typeof a==`string`&&(this.config.fields={[a]:this.config.fields}),typeof o==`string`&&!_(n,O))){let e=_(n,i)?n._.selectedFields:_(n,j)?n[F].selectedFields:n[P.Symbol.Columns];this.config.fields[o]=e}if(typeof r==`function`&&(r=r(new Proxy(this.config.fields,new R({sqlAliasedBehavior:`sql`,sqlBehavior:`sql`})))),this.config.joins||(this.config.joins=[]),this.config.joins.push({on:r,table:n,joinType:e,alias:o,lateral:t}),typeof o==`string`)switch(e){case`left`:this.joinsNotNullableMap[o]=!1;break;case`right`:this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([e])=>[e,!1])),this.joinsNotNullableMap[o]=!0;break;case`cross`:case`inner`:this.joinsNotNullableMap[o]=!0;break;case`full`:this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([e])=>[e,!1])),this.joinsNotNullableMap[o]=!1}return this}}leftJoin=this.createJoin(`left`,!1);leftJoinLateral=this.createJoin(`left`,!0);rightJoin=this.createJoin(`right`,!1);innerJoin=this.createJoin(`inner`,!1);innerJoinLateral=this.createJoin(`inner`,!0);fullJoin=this.createJoin(`full`,!1);crossJoin=this.createJoin(`cross`,!1);crossJoinLateral=this.createJoin(`cross`,!0);createSetOperator(e,t){return n=>{let r=typeof n==`function`?n(ze()):n;if(!p(this.getSelectedFields(),r.getSelectedFields()))throw Error(`Set operator error (union / intersect / except): selected fields are not the same or are in a different order`);return this.config.setOperators.push({type:e,isAll:t,rightSelect:r}),this}}union=this.createSetOperator(`union`,!1);unionAll=this.createSetOperator(`union`,!0);intersect=this.createSetOperator(`intersect`,!1);intersectAll=this.createSetOperator(`intersect`,!0);except=this.createSetOperator(`except`,!1);exceptAll=this.createSetOperator(`except`,!0);addSetOperators(e){return this.config.setOperators.push(...e),this}where(e){return typeof e==`function`&&(e=e(new Proxy(this.config.fields,new R({sqlAliasedBehavior:`sql`,sqlBehavior:`sql`})))),this.config.where=e,this}having(e){return typeof e==`function`&&(e=e(new Proxy(this.config.fields,new R({sqlAliasedBehavior:`sql`,sqlBehavior:`sql`})))),this.config.having=e,this}groupBy(...e){if(typeof e[0]==`function`){let t=e[0](new Proxy(this.config.fields,new R({sqlAliasedBehavior:`alias`,sqlBehavior:`sql`})));this.config.groupBy=Array.isArray(t)?t:[t]}else this.config.groupBy=e;return this}orderBy(...e){if(typeof e[0]==`function`){let t=e[0](new Proxy(this.config.fields,new R({sqlAliasedBehavior:`alias`,sqlBehavior:`sql`}))),n=Array.isArray(t)?t:[t];this.config.setOperators.length>0?this.config.setOperators.at(-1).orderBy=n:this.config.orderBy=n}else{let t=e;this.config.setOperators.length>0?this.config.setOperators.at(-1).orderBy=t:this.config.orderBy=t}return this}limit(e){return this.config.setOperators.length>0?this.config.setOperators.at(-1).limit=e:this.config.limit=e,this}offset(e){return this.config.setOperators.length>0?this.config.setOperators.at(-1).offset=e:this.config.offset=e,this}for(e,t={}){return this.config.lockingClause={strength:e,config:t},this}getSQL(){return this.dialect.buildSelectQuery(this.config)}toSQL(){let{typings:e,...t}=this.dialect.sqlToQuery(this.getSQL());return t}as(e){let t=[];if(t.push(...K(this.config.table)),this.config.joins)for(let e of this.config.joins)t.push(...K(e.table));return new Proxy(new i(this.getSQL(),this.config.fields,e,!1,[...new Set(t)]),new R({alias:e,sqlAliasedBehavior:`alias`,sqlBehavior:`error`}))}getSelectedFields(){return new Proxy(this.config.fields,new R({alias:this.tableName,sqlAliasedBehavior:`alias`,sqlBehavior:`error`}))}$dynamic(){return this}$withCache(e){return this.cacheConfig=e===void 0?{config:{},enable:!0,autoInvalidate:!0}:e===!1?{enable:!1}:{enable:!0,autoInvalidate:!0,...e},this}},Re=class extends Le{static[A]=`PgSelect`;_prepare(e){let{session:t,config:n,dialect:r,joinsNotNullableMap:i,authToken:a,cacheConfig:o,usedTables:s}=this;if(!t)throw Error(`Cannot execute a query on a query builder. Please use a database instance instead.`);let{fields:c}=n;return C.startActiveSpan(`drizzle.prepareQuery`,()=>{let n=S(c),l=t.prepareQuery(r.sqlToQuery(this.getSQL()),n,e,!0,void 0,{type:`select`,tables:[...s]},o);return l.joinsNotNullableMap=i,l.setToken(a)})}prepare(e){return this._prepare(e)}authToken;setToken(e){return this.authToken=e,this}execute=e=>C.startActiveSpan(`drizzle.operation`,()=>this._prepare().execute(e,this.authToken))};u(Re,[e]);function W(e,t){return(n,r,...i)=>{let a=[r,...i].map(n=>({type:e,isAll:t,rightSelect:n}));for(let e of a)if(!p(n.getSelectedFields(),e.rightSelect.getSelectedFields()))throw Error(`Set operator error (union / intersect / except): selected fields are not the same or are in a different order`);return n.addSetOperators(a)}}const ze=()=>({union:Be,unionAll:Ve,intersect:He,intersectAll:Ue,except:We,exceptAll:Ge}),Be=W(`union`,!1),Ve=W(`union`,!0),He=W(`intersect`,!1),Ue=W(`intersect`,!0),We=W(`except`,!1),Ge=W(`except`,!0);var G=class{static[A]=`PgQueryBuilder`;dialect;dialectConfig;constructor(e){this.dialect=_(e,H)?e:void 0,this.dialectConfig=_(e,H)?void 0:e}$with=(e,t)=>{let n=this;return{as:r=>(typeof r==`function`&&(r=r(n)),new Proxy(new Ee(r.getSQL(),t??(`getSelectedFields`in r?r.getSelectedFields()??{}:{}),e,!0),new R({alias:e,sqlAliasedBehavior:`alias`,sqlBehavior:`error`})))}};with(...e){let t=this;function n(n){return new U({fields:n??void 0,session:void 0,dialect:t.getDialect(),withList:e})}function r(e){return new U({fields:e??void 0,session:void 0,dialect:t.getDialect(),distinct:!0})}function i(e,n){return new U({fields:n??void 0,session:void 0,dialect:t.getDialect(),distinct:{on:e}})}return{select:n,selectDistinct:r,selectDistinctOn:i}}select(e){return new U({fields:e??void 0,session:void 0,dialect:this.getDialect()})}selectDistinct(e){return new U({fields:e??void 0,session:void 0,dialect:this.getDialect(),distinct:!0})}selectDistinctOn(e,t){return new U({fields:t??void 0,session:void 0,dialect:this.getDialect(),distinct:{on:e}})}getDialect(){return this.dialect||=new H(this.dialectConfig),this.dialect}},Ke=class{constructor(e,t){this.name=e,this.schema=t}static[A]=`PgDefaultViewBuilderCore`;config={};with(e){return this.config.with=e,this}},qe=class extends Ke{static[A]=`PgViewBuilder`;as(e){typeof e==`function`&&(e=e(new G));let t=new R({alias:this.name,sqlBehavior:`error`,sqlAliasedBehavior:`alias`,replaceOriginalName:!0}),n=new Proxy(e.getSelectedFields(),t);return new Proxy(new Qe({pgConfig:this.config,config:{name:this.name,schema:this.schema,selectedFields:n,query:e.getSQL().inlineParams()}}),t)}},Je=class extends Ke{static[A]=`PgManualViewBuilder`;columns;constructor(e,t,n){super(e,n),this.columns=m(a(e,t))}existing(){return new Proxy(new Qe({pgConfig:void 0,config:{name:this.name,schema:this.schema,selectedFields:this.columns,query:void 0}}),new R({alias:this.name,sqlBehavior:`error`,sqlAliasedBehavior:`alias`,replaceOriginalName:!0}))}as(e){return new Proxy(new Qe({pgConfig:this.config,config:{name:this.name,schema:this.schema,selectedFields:this.columns,query:e.inlineParams()}}),new R({alias:this.name,sqlBehavior:`error`,sqlAliasedBehavior:`alias`,replaceOriginalName:!0}))}},Ye=class{constructor(e,t){this.name=e,this.schema=t}static[A]=`PgMaterializedViewBuilderCore`;config={};using(e){return this.config.using=e,this}with(e){return this.config.with=e,this}tablespace(e){return this.config.tablespace=e,this}withNoData(){return this.config.withNoData=!0,this}},Xe=class extends Ye{static[A]=`PgMaterializedViewBuilder`;as(e){typeof e==`function`&&(e=e(new G));let t=new R({alias:this.name,sqlBehavior:`error`,sqlAliasedBehavior:`alias`,replaceOriginalName:!0}),n=new Proxy(e.getSelectedFields(),t);return new Proxy(new et({pgConfig:{with:this.config.with,using:this.config.using,tablespace:this.config.tablespace,withNoData:this.config.withNoData},config:{name:this.name,schema:this.schema,selectedFields:n,query:e.getSQL().inlineParams()}}),t)}},Ze=class extends Ye{static[A]=`PgManualMaterializedViewBuilder`;columns;constructor(e,t,n){super(e,n),this.columns=m(a(e,t))}existing(){return new Proxy(new et({pgConfig:{tablespace:this.config.tablespace,using:this.config.using,with:this.config.with,withNoData:this.config.withNoData},config:{name:this.name,schema:this.schema,selectedFields:this.columns,query:void 0}}),new R({alias:this.name,sqlBehavior:`error`,sqlAliasedBehavior:`alias`,replaceOriginalName:!0}))}as(e){return new Proxy(new et({pgConfig:{tablespace:this.config.tablespace,using:this.config.using,with:this.config.with,withNoData:this.config.withNoData},config:{name:this.name,schema:this.schema,selectedFields:this.columns,query:e.inlineParams()}}),new R({alias:this.name,sqlBehavior:`error`,sqlAliasedBehavior:`alias`,replaceOriginalName:!0}))}},Qe=class extends V{static[A]=`PgView`;[je];constructor({pgConfig:e,config:t}){super(t),e&&(this[je]={with:e.with})}};const $e=Symbol.for(`drizzle:PgMaterializedViewConfig`);var et=class extends V{static[A]=`PgMaterializedView`;[$e];constructor({pgConfig:e,config:t}){super(t),this[$e]={with:e?.with,using:e?.using,tablespace:e?.tablespace,withNoData:e?.withNoData}}};function tt(e,t,n){return t?new Je(e,t,n):new qe(e,n)}function nt(e,t,n){return t?new Ze(e,t,n):new Xe(e,n)}function K(e){return _(e,s)?[e[E]?`${e[E]}.${e[P.Symbol.BaseName]}`:e[P.Symbol.BaseName]]:_(e,i)?e._.usedTables??[]:_(e,O)?e.usedTables??[]:[]}var rt=class extends e{constructor(e,t,n,r){super(),this.session=t,this.dialect=n,this.config={table:e,withList:r}}static[A]=`PgDelete`;config;cacheConfig;where(e){return this.config.where=e,this}returning(e=this.config.table[P.Symbol.Columns]){return this.config.returningFields=e,this.config.returning=S(e),this}getSQL(){return this.dialect.buildDeleteQuery(this.config)}toSQL(){let{typings:e,...t}=this.dialect.sqlToQuery(this.getSQL());return t}_prepare(e){return C.startActiveSpan(`drizzle.prepareQuery`,()=>this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()),this.config.returning,e,!0,void 0,{type:`delete`,tables:K(this.config.table)},this.cacheConfig))}prepare(e){return this._prepare(e)}authToken;setToken(e){return this.authToken=e,this}execute=e=>C.startActiveSpan(`drizzle.operation`,()=>this._prepare().execute(e,this.authToken));getSelectedFields(){return this.config.returningFields?new Proxy(this.config.returningFields,new R({alias:I(this.config.table),sqlAliasedBehavior:`alias`,sqlBehavior:`error`})):void 0}$dynamic(){return this}},it=class{constructor(e,t,n,r,i){this.table=e,this.session=t,this.dialect=n,this.withList=r,this.overridingSystemValue_=i}static[A]=`PgInsertBuilder`;authToken;setToken(e){return this.authToken=e,this}overridingSystemValue(){return this.overridingSystemValue_=!0,this}values(e){if(e=Array.isArray(e)?e:[e],e.length===0)throw Error(`values() must be called with at least one value`);let t=e.map(e=>{let t={},n=this.table[P.Symbol.Columns];for(let r of Object.keys(e)){let i=e[r];t[r]=_(i,O)?i:new ce(i,n[r])}return t});return new at(this.table,t,this.session,this.dialect,this.withList,!1,this.overridingSystemValue_).setToken(this.authToken)}select(e){let t=typeof e==`function`?e(new G):e;if(!_(t,O)&&!p(this.table[ue],t._.selectedFields))throw Error(`Insert select error: selected fields are not the same or are in a different order compared to the table definition`);return new at(this.table,t,this.session,this.dialect,this.withList,!0)}},at=class extends e{constructor(e,t,n,r,i,a,o){super(),this.session=n,this.dialect=r,this.config={table:e,values:t,withList:i,select:a,overridingSystemValue_:o}}static[A]=`PgInsert`;config;cacheConfig;returning(e=this.config.table[P.Symbol.Columns]){return this.config.returningFields=e,this.config.returning=S(e),this}onConflictDoNothing(e={}){if(e.target===void 0)this.config.onConflict=k`do nothing`;else{let t=``;t=Array.isArray(e.target)?e.target.map(e=>this.dialect.escapeName(this.dialect.casing.getColumnCasing(e))).join(`,`):this.dialect.escapeName(this.dialect.casing.getColumnCasing(e.target));let n=e.where?k` where ${e.where}`:void 0;this.config.onConflict=k`(${k.raw(t)})${n} do nothing`}return this}onConflictDoUpdate(e){if(e.where&&(e.targetWhere||e.setWhere))throw Error(`You cannot use both "where" and "targetWhere"/"setWhere" at the same time - "where" is deprecated, use "targetWhere" or "setWhere" instead.`);let t=e.where?k` where ${e.where}`:void 0,n=e.targetWhere?k` where ${e.targetWhere}`:void 0,r=e.setWhere?k` where ${e.setWhere}`:void 0,i=this.dialect.buildUpdateSet(this.config.table,ie(this.config.table,e.set)),a=``;return a=Array.isArray(e.target)?e.target.map(e=>this.dialect.escapeName(this.dialect.casing.getColumnCasing(e))).join(`,`):this.dialect.escapeName(this.dialect.casing.getColumnCasing(e.target)),this.config.onConflict=k`(${k.raw(a)})${n} do update set ${i}${t}${r}`,this}getSQL(){return this.dialect.buildInsertQuery(this.config)}toSQL(){let{typings:e,...t}=this.dialect.sqlToQuery(this.getSQL());return t}_prepare(e){return C.startActiveSpan(`drizzle.prepareQuery`,()=>this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()),this.config.returning,e,!0,void 0,{type:`insert`,tables:K(this.config.table)},this.cacheConfig))}prepare(e){return this._prepare(e)}authToken;setToken(e){return this.authToken=e,this}execute=e=>C.startActiveSpan(`drizzle.operation`,()=>this._prepare().execute(e,this.authToken));getSelectedFields(){return this.config.returningFields?new Proxy(this.config.returningFields,new R({alias:I(this.config.table),sqlAliasedBehavior:`alias`,sqlBehavior:`error`})):void 0}$dynamic(){return this}},ot=class extends e{constructor(e,t,n){super(),this.session=t,this.dialect=n,this.config={view:e}}static[A]=`PgRefreshMaterializedView`;config;concurrently(){if(this.config.withNoData!==void 0)throw Error(`Cannot use concurrently and withNoData together`);return this.config.concurrently=!0,this}withNoData(){if(this.config.concurrently!==void 0)throw Error(`Cannot use concurrently and withNoData together`);return this.config.withNoData=!0,this}getSQL(){return this.dialect.buildRefreshMaterializedViewQuery(this.config)}toSQL(){let{typings:e,...t}=this.dialect.sqlToQuery(this.getSQL());return t}_prepare(e){return C.startActiveSpan(`drizzle.prepareQuery`,()=>this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()),void 0,e,!0))}prepare(e){return this._prepare(e)}authToken;setToken(e){return this.authToken=e,this}execute=e=>C.startActiveSpan(`drizzle.operation`,()=>this._prepare().execute(e,this.authToken))},st=class{constructor(e,t,n,r){this.table=e,this.session=t,this.dialect=n,this.withList=r}static[A]=`PgUpdateBuilder`;authToken;setToken(e){return this.authToken=e,this}set(e){return new ct(this.table,ie(this.table,e),this.session,this.dialect,this.withList).setToken(this.authToken)}},ct=class extends e{constructor(e,t,n,r,i){super(),this.session=n,this.dialect=r,this.config={set:t,table:e,withList:i,joins:[]},this.tableName=M(e),this.joinsNotNullableMap=typeof this.tableName==`string`?{[this.tableName]:!0}:{}}static[A]=`PgUpdate`;config;tableName;joinsNotNullableMap;cacheConfig;from(e){let t=e,n=M(t);return typeof n==`string`&&(this.joinsNotNullableMap[n]=!0),this.config.from=t,this}getTableLikeFields(e){return _(e,s)?e[P.Symbol.Columns]:_(e,i)?e._.selectedFields:e[F].selectedFields}createJoin(e){return(t,n)=>{let r=M(t);if(typeof r==`string`&&this.config.joins.some(e=>e.alias===r))throw Error(`Alias "${r}" is already used in this query`);if(typeof n==`function`){let e=this.config.from&&!_(this.config.from,O)?this.getTableLikeFields(this.config.from):void 0;n=n(new Proxy(this.config.table[P.Symbol.Columns],new R({sqlAliasedBehavior:`sql`,sqlBehavior:`sql`})),e&&new Proxy(e,new R({sqlAliasedBehavior:`sql`,sqlBehavior:`sql`})))}if(this.config.joins.push({on:n,table:t,joinType:e,alias:r}),typeof r==`string`)switch(e){case`left`:this.joinsNotNullableMap[r]=!1;break;case`right`:this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([e])=>[e,!1])),this.joinsNotNullableMap[r]=!0;break;case`inner`:this.joinsNotNullableMap[r]=!0;break;case`full`:this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([e])=>[e,!1])),this.joinsNotNullableMap[r]=!1}return this}}leftJoin=this.createJoin(`left`);rightJoin=this.createJoin(`right`);innerJoin=this.createJoin(`inner`);fullJoin=this.createJoin(`full`);where(e){return this.config.where=e,this}returning(e){if(!e&&(e=Object.assign({},this.config.table[P.Symbol.Columns]),this.config.from)){let t=M(this.config.from);if(typeof t==`string`&&this.config.from&&!_(this.config.from,O)){let n=this.getTableLikeFields(this.config.from);e[t]=n}for(let t of this.config.joins){let n=M(t.table);if(typeof n==`string`&&!_(t.table,O)){let r=this.getTableLikeFields(t.table);e[n]=r}}}return this.config.returningFields=e,this.config.returning=S(e),this}getSQL(){return this.dialect.buildUpdateQuery(this.config)}toSQL(){let{typings:e,...t}=this.dialect.sqlToQuery(this.getSQL());return t}_prepare(e){let t=this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()),this.config.returning,e,!0,void 0,{type:`insert`,tables:K(this.config.table)},this.cacheConfig);return t.joinsNotNullableMap=this.joinsNotNullableMap,t}prepare(e){return this._prepare(e)}authToken;setToken(e){return this.authToken=e,this}execute=e=>this._prepare().execute(e,this.authToken);getSelectedFields(){return this.config.returningFields?new Proxy(this.config.returningFields,new R({alias:I(this.config.table),sqlAliasedBehavior:`alias`,sqlBehavior:`error`})):void 0}$dynamic(){return this}},lt=class e extends O{constructor(t){super(e.buildEmbeddedCount(t.source,t.filters).queryChunks),this.params=t,this.mapWith(Number),this.session=t.session,this.sql=e.buildCount(t.source,t.filters)}sql;token;static[A]=`PgCountBuilder`;[Symbol.toStringTag]=`PgCountBuilder`;session;static buildEmbeddedCount(e,t){return k`(select count(*) from ${e}${k.raw(` where `).if(t)}${t})`}static buildCount(e,t){return k`select count(*) as count from ${e}${k.raw(` where `).if(t)}${t};`}setToken(e){return this.token=e,this}then(e,t){return Promise.resolve(this.session.count(this.sql,this.token)).then(e,t)}catch(e){return this.then(void 0,e)}finally(e){return this.then(t=>(e?.(),t),t=>{throw e?.(),t})}},ut=class{constructor(e,t,n,r,i,a,o){this.fullSchema=e,this.schema=t,this.tableNamesMap=n,this.table=r,this.tableConfig=i,this.dialect=a,this.session=o}static[A]=`PgRelationalQueryBuilder`;findMany(e){return new dt(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,e||{},`many`)}findFirst(e){return new dt(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,e?{...e,limit:1}:{limit:1},`first`)}},dt=class extends e{constructor(e,t,n,r,i,a,o,s,c){super(),this.fullSchema=e,this.schema=t,this.tableNamesMap=n,this.table=r,this.tableConfig=i,this.dialect=a,this.session=o,this.config=s,this.mode=c}static[A]=`PgRelationalQuery`;_prepare(e){return C.startActiveSpan(`drizzle.prepareQuery`,()=>{let{query:t,builtQuery:n}=this._toSQL();return this.session.prepareQuery(n,void 0,e,!0,(e,n)=>{let r=e.map(e=>se(this.schema,this.tableConfig,e,t.selection,n));return this.mode===`first`?r[0]:r})})}prepare(e){return this._prepare(e)}_getQuery(){return this.dialect.buildRelationalQueryWithoutPK({fullSchema:this.fullSchema,schema:this.schema,tableNamesMap:this.tableNamesMap,table:this.table,tableConfig:this.tableConfig,queryConfig:this.config,tableAlias:this.tableConfig.tsName})}getSQL(){return this._getQuery().sql}_toSQL(){let e=this._getQuery();return{query:e,builtQuery:this.dialect.sqlToQuery(e.sql)}}toSQL(){return this._toSQL().builtQuery}authToken;setToken(e){return this.authToken=e,this}execute(){return C.startActiveSpan(`drizzle.operation`,()=>this._prepare().execute(void 0,this.authToken))}},ft=class extends e{constructor(e,t,n,r){super(),this.execute=e,this.sql=t,this.query=n,this.mapBatchResult=r}static[A]=`PgRaw`;getSQL(){return this.sql}getQuery(){return this.query}mapResult(e,t){return t?this.mapBatchResult(e):e}_prepare(){return this}isResponseInArrayMode(){return!1}},pt=class{constructor(e,t,n){if(this.dialect=e,this.session=t,this._=n?{schema:n.schema,fullSchema:n.fullSchema,tableNamesMap:n.tableNamesMap,session:t}:{schema:void 0,fullSchema:{},tableNamesMap:{},session:t},this.query={},this._.schema)for(let[r,i]of Object.entries(this._.schema))this.query[r]=new ut(n.fullSchema,this._.schema,this._.tableNamesMap,n.fullSchema[r],i,e,t);this.$cache={invalidate:async e=>{}}}static[A]=`PgDatabase`;query;$with=(e,t)=>{let n=this;return{as:r=>(typeof r==`function`&&(r=r(new G(n.dialect))),new Proxy(new Ee(r.getSQL(),t??(`getSelectedFields`in r?r.getSelectedFields()??{}:{}),e,!0),new R({alias:e,sqlAliasedBehavior:`alias`,sqlBehavior:`error`})))}};$count(e,t){return new lt({source:e,filters:t,session:this.session})}$cache;with(...e){let t=this;function n(n){return new U({fields:n??void 0,session:t.session,dialect:t.dialect,withList:e})}function r(n){return new U({fields:n??void 0,session:t.session,dialect:t.dialect,withList:e,distinct:!0})}function i(n,r){return new U({fields:r??void 0,session:t.session,dialect:t.dialect,withList:e,distinct:{on:n}})}function a(n){return new st(n,t.session,t.dialect,e)}function o(n){return new it(n,t.session,t.dialect,e)}function s(n){return new rt(n,t.session,t.dialect,e)}return{select:n,selectDistinct:r,selectDistinctOn:i,update:a,insert:o,delete:s}}select(e){return new U({fields:e??void 0,session:this.session,dialect:this.dialect})}selectDistinct(e){return new U({fields:e??void 0,session:this.session,dialect:this.dialect,distinct:!0})}selectDistinctOn(e,t){return new U({fields:t??void 0,session:this.session,dialect:this.dialect,distinct:{on:e}})}update(e){return new st(e,this.session,this.dialect)}insert(e){return new it(e,this.session,this.dialect)}delete(e){return new rt(e,this.session,this.dialect)}refreshMaterializedView(e){return new ot(e,this.session,this.dialect)}authToken;execute(e){let t=typeof e==`string`?k.raw(e):e.getSQL(),n=this.dialect.sqlToQuery(t),r=this.session.prepareQuery(n,void 0,void 0,!1);return new ft(()=>r.execute(void 0,this.authToken),t,n,e=>r.mapResult(e,!0))}transaction(e,t){return this.session.transaction(e,t)}},mt=class{constructor(e,t,n){this.seqName=e,this.seqOptions=t,this.schema=n}static[A]=`PgSequence`};function ht(e,t,n){return new mt(e,t,n)}var gt=class{constructor(e){this.schemaName=e}static[A]=`PgSchema`;table=(e,t,n)=>y(e,t,n,this.schemaName);view=(e,t)=>tt(e,t,this.schemaName);materializedView=(e,t)=>nt(e,t,this.schemaName);enum(e,t){return Array.isArray(t)?c(e,[...t],this.schemaName):ne(e,t,this.schemaName)}sequence=(e,t)=>ht(e,t,this.schemaName);getSQL(){return new O([k.identifier(this.schemaName)])}shouldOmitSQLParens(){return!0}};function _t(e){if(e===`public`)throw Error(`You can't specify 'public' as schema name. Postgres is using public schema by default. If you want to use 'public' schema, just use pgTable() instead of creating a schema`);return new gt(e)}var vt=class{static[A]=`Cache`},yt=class extends vt{strategy(){return`all`}static[A]=`NoopCache`;async get(e){}async put(e,t,n,r){}async onMutate(e){}};async function bt(e,t){let n=`${e}-${JSON.stringify(t)}`,r=new TextEncoder().encode(n),i=await crypto.subtle.digest(`SHA-256`,r);return[...new Uint8Array(i)].map(e=>e.toString(16).padStart(2,`0`)).join(``)}var xt=class{constructor(e,t,n,r){this.query=e,this.cache=t,this.queryMetadata=n,this.cacheConfig=r,t&&t.strategy()===`all`&&r===void 0&&(this.cacheConfig={enable:!0,autoInvalidate:!0}),this.cacheConfig?.enable||(this.cacheConfig=void 0)}authToken;getQuery(){return this.query}mapResult(e,t){return e}setToken(e){return this.authToken=e,this}static[A]=`PgPreparedQuery`;joinsNotNullableMap;async queryWithCache(e,t,n){if(this.cache===void 0||_(this.cache,yt)||this.queryMetadata===void 0)try{return await n()}catch(n){throw new N(e,t,n)}if(this.cacheConfig&&!this.cacheConfig.enable)try{return await n()}catch(n){throw new N(e,t,n)}if((this.queryMetadata.type===`insert`||this.queryMetadata.type===`update`||this.queryMetadata.type===`delete`)&&this.queryMetadata.tables.length>0)try{let[e]=await Promise.all([n(),this.cache.onMutate({tables:this.queryMetadata.tables})]);return e}catch(n){throw new N(e,t,n)}if(!this.cacheConfig)try{return await n()}catch(n){throw new N(e,t,n)}if(this.queryMetadata.type===`select`){let r=await this.cache.get(this.cacheConfig.tag??await bt(e,t),this.queryMetadata.tables,this.cacheConfig.tag!==void 0,this.cacheConfig.autoInvalidate);if(r===void 0){let r;try{r=await n()}catch(n){throw new N(e,t,n)}return await this.cache.put(this.cacheConfig.tag??await bt(e,t),r,this.cacheConfig.autoInvalidate?this.queryMetadata.tables:[],this.cacheConfig.tag!==void 0,this.cacheConfig.config),r}return r}try{return await n()}catch(n){throw new N(e,t,n)}}},St=class{constructor(e){this.dialect=e}static[A]=`PgSession`;execute(e,t){return C.startActiveSpan(`drizzle.operation`,()=>C.startActiveSpan(`drizzle.prepareQuery`,()=>this.prepareQuery(this.dialect.sqlToQuery(e),void 0,void 0,!1)).setToken(t).execute(void 0,t))}all(e){return this.prepareQuery(this.dialect.sqlToQuery(e),void 0,void 0,!1).all()}async count(e,t){let n=await this.execute(e,t);return Number(n[0].count)}},Ct=class extends pt{constructor(e,t,n,r=0){super(e,t,n),this.schema=n,this.nestedIndex=r}static[A]=`PgTransaction`;rollback(){throw new de}getTransactionConfigSQL(e){let t=[];return e.isolationLevel&&t.push(`isolation level ${e.isolationLevel}`),e.accessMode&&t.push(e.accessMode),typeof e.deferrable==`boolean`&&t.push(e.deferrable?`deferrable`:`not deferrable`),k.raw(t.join(` `))}setTransaction(e){return this.session.execute(k`set transaction ${this.getTransactionConfigSQL(e)}`)}};const wt=_t(`coder`),q=wt.table,J=()=>g({withTimezone:!0}),Y={createdAt:J().notNull().defaultNow(),updatedAt:J().notNull().defaultNow()},X={id:w({mode:`number`}).primaryKey(),organizationId:x().notNull()},Tt=q(`secret`,{id:w({mode:`number`}).primaryKey(),value:x().notNull()}),Z=()=>T({mode:`number`}).references(()=>Tt.id),Et=q(`platform_link`,{id:w({mode:`number`}).primaryKey(),platform:x().notNull(),platformUserId:x().notNull(),login:x(),userId:x().notNull(),name:x().notNull(),email:x().notNull(),organizations:h().$type(),roles:h().$type(),organizationId:x(),tokenSecretId:Z(),refusedAt:J(),createdAt:J().notNull().defaultNow()},e=>[B(`platform_link_platform_platformUserId_unique`).on(e.platform,e.platformUserId),z().on(e.userId)]),Dt=q(`workspace`,{organizationId:x().primaryKey(),slug:x(),name:x(),config:h().$type()}),Ot=q(`agent`,{...X,slug:x().notNull(),name:x().notNull(),description:x(),problems:h().$type(),source:x().$type().notNull(),repo:x(),path:x(),currentVersion:L().notNull(),engineSettings:h().$type(),...Y},e=>[B(`agent_organizationId_slug_unique`).on(e.organizationId,e.slug)]),kt=q(`agent_version`,{id:w({mode:`number`}).primaryKey(),agentId:T({mode:`number`}).notNull().references(()=>Ot.id,{onDelete:`cascade`}),version:L().notNull(),definition:h().$type().notNull(),systemPrompt:x().notNull(),files:h().$type(),commit:x(),importedFrom:x().notNull(),createdAt:J().notNull().defaultNow()},e=>[B(`agent_version_agentId_version_unique`).on(e.agentId,e.version)]),Q=q(`integration_app`,{...X,key:x().notNull(),integration:x().notNull(),agent:x().notNull(),name:x().notNull(),agentsRepo:x(),branch:x(),credentialsSecretId:Z().notNull(),sharedAppId:T({mode:`number`}).references(()=>Q.id),...Y},e=>[B(`integration_app_organizationId_key_unique`).on(e.organizationId,e.key),B(`integration_app_key_unique`).on(e.key)]),At=q(`integration_app_installation`,{...X,key:x().notNull(),appId:T({mode:`number`}).references(()=>Q.id,{onDelete:`set null`}),platformInstallId:x().notNull(),account:h().$type().notNull(),tokenSecretId:Z(),installer:x(),self:x(),covers:h().$type(),repos:h().$type(),...Y,deletedAt:J(),uninstalled:d()},e=>[me().on(e.key),z().on(e.organizationId,e.appId)]),jt=q(`engine_credential`,{...X,owner:x(),label:x().notNull(),secretId:Z().notNull(),account:h().$type(),...Y},e=>[B(`engine_credential_workspace_label_unique`).on(e.organizationId,e.label).where(k`${e.owner} is null`),B(`engine_credential_owner_label_unique`).on(e.organizationId,e.owner,e.label).where(k`${e.owner} is not null`)]),Mt=q(`runner`,{...X,publicId:x().notNull(),owner:x(),name:x().notNull(),kind:x().$type().notNull(),config:h().$type().notNull(),secretId:Z().notNull(),createdBy:x(),isDefault:d().notNull().default(!1),lastSeen:g({withTimezone:!0}),...Y},e=>[B(`runner_organizationId_publicId_unique`).on(e.organizationId,e.publicId)]),Nt=q(`connection`,{...X,key:x().notNull(),owner:x(),record:h().$type().notNull(),secretId:Z()},e=>[B(`connection_organizationId_key_unique`).on(e.organizationId,e.key),z().on(e.organizationId,e.owner)]),$=q(`task`,{...X,publicId:x().notNull(),source:x().$type().notNull(),status:x().$type().notNull(),agent:x().notNull(),flow:x().notNull(),runnerKind:x().notNull(),access:x().$type(),installationId:T({mode:`number`}).references(()=>At.id),event:h().$type(),audience:x(),space:x(),parent:x(),connections:h().$type(),models:h().$type(),name:x(),cwd:x(),prompt:x(),args:h().$type(),mcp:h().$type(),appendSystem:x(),addDirs:h().$type(),author:x(),definition:h().$type().notNull(),requestedBy:x(),runnerId:x(),engineSettings:h().$type(),tools:h().$type().notNull(),context:h().$type(),files:h().$type(),failureReply:x(),notice:x(),taskUrl:x(),settingsUrl:x(),result:h().$type(),error:x(),fallbacks:h().$type(),tokens:h(),engine:x(),model:x(),credential:x(),runnerMs:L(),tokenCount:T({mode:`number`}),usageTokens:h(),handle:x(),tokenHash:x(),lastSeenAt:J(),logCursor:L(),logSeq:L(),logBytes:L(),logsComplete:d(),typingEnded:d(),archivedAt:J(),approval:h().$type(),answer:h(),attempts:L().notNull().default(0),inboxSeq:L().notNull().default(k`'-1'`),inboxAck:L().notNull().default(k`'-1'`),generation:L().notNull().default(0),startedAt:J(),finishedAt:J(),cancelRequestedAt:J(),...Y},e=>[B(`task_organizationId_publicId_unique`).on(e.organizationId,e.publicId),z().on(e.publicId),z().on(e.organizationId,e.createdAt.desc(),e.publicId.desc()),z(`task_organizationId_unarchived_index`).on(e.organizationId,e.createdAt.desc(),e.publicId.desc()).where(k`${e.archivedAt} is null`),z().on(e.organizationId,e.updatedAt),z().on(e.organizationId,e.finishedAt),z().on(e.organizationId,e.audience),z().on(e.organizationId,e.requestedBy),z().on(e.organizationId,e.parent),z().on(e.organizationId).where(k`${e.status} = 'queued'`),z(`task_organizationId_active_index`).on(e.organizationId).where(k`${e.status} in ('queued', 'running', 'waiting')`),z().on(e.status,e.createdAt)]),Pt=q(`task_inbox`,{id:w({mode:`number`}).primaryKey(),taskId:T({mode:`number`}).notNull().references(()=>$.id,{onDelete:`cascade`}),seq:L().notNull(),generation:L().notNull().default(0),kind:x().$type().notNull(),value:h(),at:J().notNull()},e=>[B(`task_inbox_taskId_seq_unique`).on(e.taskId,e.seq),z().on(e.taskId,e.generation,e.seq)]),Ft=q(`task_log`,{id:w({mode:`number`}).primaryKey(),taskId:T({mode:`number`}).notNull().references(()=>$.id,{onDelete:`cascade`}),seqFrom:L().notNull(),seqTo:L().notNull(),lines:h().$type().notNull()},e=>[B(`task_log_taskId_seqFrom_unique`).on(e.taskId,e.seqFrom)]),It=q(`task_history`,{id:w({mode:`number`}).primaryKey(),taskId:T({mode:`number`}).notNull().references(()=>$.id,{onDelete:`cascade`}),engine:x().$type().notNull(),conversation:x().notNull(),data:x().notNull(),state:x(),savedAt:J().notNull()},e=>[B(`task_history_taskId_conversation_unique`).on(e.taskId,e.conversation)]),Lt=q(`task_secret`,{id:w({mode:`number`}).primaryKey(),taskId:T({mode:`number`}).notNull().references(()=>$.id,{onDelete:`cascade`}),key:x().notNull(),secretId:Z().notNull(),expiresAt:J()},e=>[B(`task_secret_taskId_key_unique`).on(e.taskId,e.key),z().on(e.expiresAt).where(k`${e.expiresAt} is not null`)]),Rt=q(`task_tombstone`,{organizationId:x().notNull(),publicId:x().notNull(),audience:x(),requestedBy:x(),deletedAt:J().notNull()},e=>[te({name:`task_tombstone_pk`,columns:[e.organizationId,e.publicId]}),z().on(e.organizationId,e.deletedAt)]),zt=q(`approval_post`,{...X,key:x().notNull(),value:h().$type().notNull(),at:J().notNull(),shownAt:J(),retryAt:J(),expiresAt:J()},e=>[B(`approval_post_organizationId_key_unique`).on(e.organizationId,e.key),z().on(e.retryAt).where(k`${e.retryAt} is not null`),z(`approval_post_unshown_index`).on(e.at).where(k`${e.shownAt} is null`)]),Bt=q(`private_space`,{...X,integration:x().notNull(),app:x().notNull(),installation:x().notNull(),account:x().notNull(),kind:x().$type().notNull(),space:x().notNull(),syncedAt:J(),claimedAt:J()},e=>[B(`private_space_organizationId_integration_account_space_unique`).on(e.organizationId,e.integration,e.account,e.space)]),Vt=q(`space_member`,{spaceId:T({mode:`number`}).notNull().references(()=>Bt.id,{onDelete:`cascade`}),member:x().notNull()},e=>[B(`space_member_spaceId_member_unique`).on(e.spaceId,e.member)]),Ht=q(`chat_state`,{key:x().primaryKey(),value:h().notNull(),expiresAt:J()},e=>[z().on(e.expiresAt).where(k`${e.expiresAt} is not null`),z(`chat_state_key_prefix_index`).on(e.key.op(`text_pattern_ops`))]),Ut=q(`chat_item`,{key:x().notNull(),seq:T({mode:`number`}).generatedAlwaysAsIdentity(),value:h().notNull(),expiresAt:J()},e=>[te({name:`chat_item_key_seq_pk`,columns:[e.key,e.seq]}),z().on(e.expiresAt).where(k`${e.expiresAt} is not null`)]),Wt={secret:Tt,platformLink:Et,workspace:Dt,agent:Ot,agentVersion:kt,integrationApp:Q,integrationAppInstallation:At,engineCredential:jt,runner:Mt,connection:Nt,task:$,taskInbox:Pt,taskLog:Ft,taskHistory:It,taskSecret:Lt,taskTombstone:Rt,approvalPost:zt,privateSpace:Bt,spaceMember:Vt,chatState:Ht,chatItem:Ut};export{pt as a,Ot as agent,kt as agentVersion,zt as approvalPost,De as c,Ut as chatItem,Ht as chatState,wt as coder,Nt as connection,jt as engineCredential,yt as i,Q as integrationApp,At as integrationAppInstallation,St as n,H as o,Et as platformLink,Bt as privateSpace,Ct as r,Mt as runner,Fe as s,Tt as secret,Vt as spaceMember,xt as t,Wt as tables,$ as task,It as taskHistory,Pt as taskInbox,Ft as taskLog,Lt as taskSecret,Rt as taskTombstone,Dt as workspace};
|
|
7
|
+
`;await t.execute(k`CREATE SCHEMA IF NOT EXISTS ${k.identifier(i)}`),await t.execute(a);let o=(await t.all(k`select id, hash, created_at from ${k.identifier(i)}.${k.identifier(r)} order by created_at desc limit 1`))[0];await t.transaction(async t=>{for await(let n of e)if(!o||Number(o.created_at)<n.folderMillis){for(let e of n.sql)await t.execute(k.raw(e));await t.execute(k`insert into ${k.identifier(i)}.${k.identifier(r)} ("hash", "created_at") values(${n.hash}, ${n.folderMillis})`)}})}escapeName(e){return`"${e.replace(/"/g,`""`)}"`}escapeParam(e){return`$${e+1}`}escapeString(e){return`'${e.replace(/'/g,`''`)}'`}buildWithCTE(e){if(!e?.length)return;let t=[k`with `];for(let[n,r]of e.entries())t.push(k`${k.identifier(r._.alias)} as (${r._.sql})`),n<e.length-1&&t.push(k`, `);return t.push(k` `),k.join(t)}buildDeleteQuery({table:e,where:t,returning:n,withList:r}){let i=this.buildWithCTE(r),a=n?k` returning ${this.buildSelection(n,{isSingleTable:!0})}`:void 0,o=t?k` where ${t}`:void 0;return k`${i}delete from ${e}${o}${a}`}buildUpdateSet(e,t){let n=e[P.Symbol.Columns],r=Object.keys(n).filter(e=>t[e]!==void 0||n[e]?.onUpdateFn!==void 0),i=r.length;return k.join(r.flatMap((e,r)=>{let a=n[e],o=a.onUpdateFn?.(),s=t[e]??(_(o,O)?o:k.param(o,a)),c=k`${k.identifier(this.casing.getColumnCasing(a))} = ${s}`;return r<i-1?[c,k.raw(`, `)]:[c]}))}buildUpdateQuery({table:e,set:t,where:n,returning:r,withList:i,from:a,joins:o}){let c=this.buildWithCTE(i),l=e[s.Symbol.Name],u=e[s.Symbol.Schema],d=e[s.Symbol.OriginalName],f=l===d?void 0:l,p=k`${u?k`${k.identifier(u)}.`:void 0}${k.identifier(d)}${f&&k` ${k.identifier(f)}`}`,m=this.buildUpdateSet(e,t),h=a&&k.join([k.raw(` from `),this.buildFromTable(a)]),g=this.buildJoins(o),_=r?k` returning ${this.buildSelection(r,{isSingleTable:!a})}`:void 0,v=n?k` where ${n}`:void 0;return k`${c}update ${p} set ${m}${h}${g}${v}${_}`}buildSelection(e,{isSingleTable:t=!1}={}){let r=e.length,a=e.flatMap(({field:e},a)=>{let o=[];if(_(e,O.Aliased)&&e.isSelectionField)o.push(k.identifier(e.fieldAlias));else if(_(e,O.Aliased)||_(e,O)){let n=_(e,O.Aliased)?e.sql:e;t?o.push(new O(n.queryChunks.map(e=>_(e,b)?k.identifier(this.casing.getColumnCasing(e)):e))):o.push(n),_(e,O.Aliased)&&o.push(k` as ${k.identifier(e.fieldAlias)}`)}else if(_(e,n))t?o.push(k.identifier(this.casing.getColumnCasing(e))):o.push(e);else if(_(e,i)){let t=Object.entries(e._.selectedFields);if(t.length===1){let r=t[0][1],i=_(r,O)?r.decoder:_(r,n)?{mapFromDriverValue:e=>r.mapFromDriverValue(e)}:r.sql.decoder;i&&(e._.sql.decoder=i)}o.push(e)}return a<r-1&&o.push(k`, `),o});return k.join(a)}buildJoins(e){if(!e||e.length===0)return;let t=[];for(let[n,r]of e.entries()){n===0&&t.push(k` `);let i=r.table,a=r.lateral?k` lateral`:void 0,o=r.on?k` on ${r.on}`:void 0;if(_(i,s)){let e=i[s.Symbol.Name],n=i[s.Symbol.Schema],c=i[s.Symbol.OriginalName],l=e===c?void 0:r.alias;t.push(k`${k.raw(r.joinType)} join${a} ${n?k`${k.identifier(n)}.`:void 0}${k.identifier(c)}${l&&k` ${k.identifier(l)}`}${o}`)}else if(_(i,j)){let e=i[F].name,n=i[F].schema,s=i[F].originalName,c=e===s?void 0:r.alias;t.push(k`${k.raw(r.joinType)} join${a} ${n?k`${k.identifier(n)}.`:void 0}${k.identifier(s)}${c&&k` ${k.identifier(c)}`}${o}`)}else t.push(k`${k.raw(r.joinType)} join${a} ${i}${o}`);n<e.length-1&&t.push(k` `)}return k.join(t)}buildFromTable(e){if(_(e,P)&&e[P.Symbol.IsAlias]){let t=k`${k.identifier(e[P.Symbol.OriginalName])}`;return e[P.Symbol.Schema]&&(t=k`${k.identifier(e[P.Symbol.Schema])}.${t}`),k`${t} ${k.identifier(e[P.Symbol.Name])}`}return e}buildSelectQuery({withList:e,fields:t,fieldsFlat:r,where:a,having:o,table:s,joins:c,orderBy:l,groupBy:u,limit:d,offset:f,lockingClause:p,distinct:m,setOperators:h}){let g=r??S(t);for(let e of g)if(_(e.field,n)&&I(e.field.table)!==(_(s,i)?s._.alias:_(s,V)?s[F].name:_(s,O)?void 0:I(s))&&!(e=>c?.some(({alias:t})=>t===(e[P.Symbol.IsAlias]?I(e):e[P.Symbol.BaseName])))(e.field.table)){let t=I(e.field.table);throw Error(`Your "${e.path.join(`->`)}" field references a column "${t}"."${e.field.name}", but the table "${t}" is not part of the query! Did you forget to join it?`)}let v=!c||c.length===0,y=this.buildWithCTE(e),b;m&&(b=m===!0?k` distinct`:k` distinct on (${k.join(m.on,k`, `)})`);let x=this.buildSelection(g,{isSingleTable:v}),ee=this.buildFromTable(s),C=this.buildJoins(c),te=a?k` where ${a}`:void 0,ne=o?k` having ${o}`:void 0,w;l&&l.length>0&&(w=k` order by ${k.join(l,k`, `)}`);let re;u&&u.length>0&&(re=k` group by ${k.join(u,k`, `)}`);let T=typeof d==`object`||typeof d==`number`&&d>=0?k` limit ${d}`:void 0,ie=f?k` offset ${f}`:void 0,E=k.empty();if(p){let e=k` for ${k.raw(p.strength)}`;p.config.of&&e.append(k` of ${k.join(Array.isArray(p.config.of)?p.config.of:[p.config.of],k`, `)}`),p.config.noWait?e.append(k` nowait`):p.config.skipLocked&&e.append(k` skip locked`),E.append(e)}let ae=k`${y}select${b} ${x} from ${ee}${C}${te}${re}${ne}${w}${T}${ie}${E}`;return h.length>0?this.buildSetOperations(ae,h):ae}buildSetOperations(e,t){let[n,...r]=t;if(!n)throw Error(`Cannot pass undefined values to any set operator`);return r.length===0?this.buildSetOperationQuery({leftSelect:e,setOperator:n}):this.buildSetOperations(this.buildSetOperationQuery({leftSelect:e,setOperator:n}),r)}buildSetOperationQuery({leftSelect:e,setOperator:{type:t,isAll:n,rightSelect:r,limit:i,orderBy:a,offset:o}}){let s=k`(${e.getSQL()}) `,c=k`(${r.getSQL()})`,l;if(a&&a.length>0){let e=[];for(let t of a)if(_(t,b))e.push(k.identifier(t.name));else if(_(t,O)){for(let e=0;e<t.queryChunks.length;e++){let n=t.queryChunks[e];_(n,b)&&(t.queryChunks[e]=k.identifier(n.name))}e.push(k`${t}`)}else e.push(k`${t}`);l=k` order by ${k.join(e,k`, `)} `}let u=typeof i==`object`||typeof i==`number`&&i>=0?k` limit ${i}`:void 0,d=k.raw(`${t} ${n?`all `:``}`),f=o?k` offset ${o}`:void 0;return k`${s}${d}${c}${l}${u}${f}`}buildInsertQuery({table:e,values:t,onConflict:n,returning:r,withList:i,select:a,overridingSystemValue_:o}){let s=[],c=e[P.Symbol.Columns],l=Object.entries(c).filter(([e,t])=>!t.shouldDisableInsert()),u=l.map(([,e])=>k.identifier(this.casing.getColumnCasing(e)));if(a){let e=t;_(e,O)?s.push(e):s.push(e.getSQL())}else{let e=t;s.push(k.raw(`values `));for(let[t,n]of e.entries()){let r=[];for(let[e,t]of l){let i=n[e];if(i===void 0||_(i,ce)&&i.value===void 0)if(t.defaultFn!==void 0){let e=t.defaultFn(),n=_(e,O)?e:k.param(e,t);r.push(n)}else if(!t.default&&t.onUpdateFn!==void 0){let e=t.onUpdateFn(),n=_(e,O)?e:k.param(e,t);r.push(n)}else r.push(k`default`);else r.push(i)}s.push(r),t<e.length-1&&s.push(k`, `)}}let d=this.buildWithCTE(i),f=k.join(s),p=r?k` returning ${this.buildSelection(r,{isSingleTable:!0})}`:void 0,m=n?k` on conflict ${n}`:void 0,h=o===!0?k`overriding system value `:void 0;return k`${d}insert into ${e} ${u} ${h}${f}${m}${p}`}buildRefreshMaterializedViewQuery({view:e,concurrently:t,withNoData:n}){let r=t?k` concurrently`:void 0,i=n?k` with no data`:void 0;return k`refresh materialized view${r} ${e}${i}`}prepareTyping(e){return _(e,f)||_(e,ee)?`json`:_(e,l)?`decimal`:_(e,v)?`time`:_(e,t)||_(e,fe)?`timestamp`:_(e,r)||_(e,re)?`date`:_(e,pe)?`uuid`:`none`}sqlToQuery(e,t){return e.toQuery({casing:this.casing,escapeName:this.escapeName,escapeParam:this.escapeParam,escapeString:this.escapeString,prepareTyping:this.prepareTyping,invokeSource:t})}buildRelationalQueryWithoutPK({fullSchema:e,schema:t,tableNamesMap:r,table:a,tableConfig:o,queryConfig:c,tableAlias:l,nestedQueryRelation:u,joinOn:d}){let f=[],p,m,h=[],g,v=[];if(c===!0)f=Object.entries(o.columns).map(([e,t])=>({dbKey:t.name,tsKey:e,field:D(t,l),relationTableTsKey:void 0,isJson:!1,selection:[]}));else{let a=Object.fromEntries(Object.entries(o.columns).map(([e,t])=>[e,D(t,l)]));if(c.where){let e=typeof c.where==`function`?c.where(a,ye()):c.where;g=e&&Te(e,l)}let s=[],u=[];if(c.columns){let e=!1;for(let[t,n]of Object.entries(c.columns))n!==void 0&&t in o.columns&&(!e&&n===!0&&(e=!0),u.push(t));u.length>0&&(u=e?u.filter(e=>c.columns?.[e]===!0):Object.keys(o.columns).filter(e=>!u.includes(e)))}else u=Object.keys(o.columns);for(let e of u){let t=o.columns[e];s.push({tsKey:e,value:t})}let d=[];c.with&&(d=Object.entries(c.with).filter(e=>!!e[1]).map(([e,t])=>({tsKey:e,queryConfig:t,relation:o.relations[e]})));let y;if(c.extras){y=typeof c.extras==`function`?c.extras(a,{sql:k}):c.extras;for(let[e,t]of Object.entries(y))s.push({tsKey:e,value:ge(t,l)})}for(let{tsKey:e,value:t}of s)f.push({dbKey:_(t,O.Aliased)?t.fieldAlias:o.columns[e].name,tsKey:e,field:_(t,n)?D(t,l):t,relationTableTsKey:void 0,isJson:!1,selection:[]});let b=typeof c.orderBy==`function`?c.orderBy(a,Ce()):c.orderBy??[];Array.isArray(b)||(b=[b]),h=b.map(e=>_(e,n)?D(e,l):Te(e,l)),p=c.limit,m=c.offset;for(let{tsKey:n,queryConfig:a,relation:o}of d){let s=he(t,r,o),c=r[oe(o.referencedTable)],u=`${l}_${n}`,d=le(...s.fields.map((e,t)=>xe(D(s.references[t],u),D(e,l)))),p=this.buildRelationalQueryWithoutPK({fullSchema:e,schema:t,tableNamesMap:r,table:e[c],tableConfig:t[c],queryConfig:_(o,Se)?a===!0?{limit:1}:{...a,limit:1}:a,tableAlias:u,joinOn:d,nestedQueryRelation:o}),m=k`${k.identifier(u)}.${k.identifier(`data`)}`.as(n);v.push({on:k`true`,table:new i(p.sql,{},u),alias:u,joinType:`left`,lateral:!0}),f.push({dbKey:n,tsKey:n,field:m,relationTableTsKey:c,isJson:!0,selection:p.selection})}}if(f.length===0)throw new ve({message:`No fields selected for table "${o.tsName}" ("${l}")`});let y;if(g=le(d,g),u){let e=k`json_build_array(${k.join(f.map(({field:e,tsKey:t,isJson:n})=>n?k`${k.identifier(`${l}_${t}`)}.${k.identifier(`data`)}`:_(e,O.Aliased)?e.sql:e),k`, `)})`;_(u,_e)&&(e=k`coalesce(json_agg(${e}${h.length>0?k` order by ${k.join(h,k`, `)}`:void 0}), '[]'::json)`);let t=[{dbKey:`data`,tsKey:`data`,field:e.as(`data`),isJson:!0,relationTableTsKey:o.tsName,selection:f}];p!==void 0||m!==void 0||h.length>0?(y=this.buildSelectQuery({table:we(a,l),fields:{},fieldsFlat:[{path:[],field:k.raw(`*`)}],where:g,limit:p,offset:m,orderBy:h,setOperators:[]}),g=void 0,p=void 0,m=void 0,h=[]):y=we(a,l),y=this.buildSelectQuery({table:_(y,s)?y:new i(y,{},l),fields:{},fieldsFlat:t.map(({field:e})=>({path:[],field:_(e,n)?D(e,l):e})),joins:v,where:g,limit:p,offset:m,orderBy:h,setOperators:[]})}else y=this.buildSelectQuery({table:we(a,l),fields:{},fieldsFlat:f.map(({field:e})=>({path:[],field:_(e,n)?D(e,l):e})),joins:v,where:g,limit:p,offset:m,orderBy:h,setOperators:[]});return{tableTsKey:o.tsName,sql:y,selection:f}}},Ie=class{static[A]=`TypedQueryBuilder`;getSelectedFields(){return this._.selectedFields}},U=class{static[A]=`PgSelectBuilder`;fields;session;dialect;withList=[];distinct;constructor(e){this.fields=e.fields,this.session=e.session,this.dialect=e.dialect,e.withList&&(this.withList=e.withList),this.distinct=e.distinct}authToken;setToken(e){return this.authToken=e,this}from(e){let t=!!this.fields,n=e,r;return r=this.fields?this.fields:_(n,i)?Object.fromEntries(Object.keys(n._.selectedFields).map(e=>[e,n[e]])):_(n,V)?n[F].selectedFields:_(n,O)?{}:m(n),new Re({table:n,fields:r,isPartialSelect:t,session:this.session,dialect:this.dialect,withList:this.withList,distinct:this.distinct}).setToken(this.authToken)}},Le=class extends Ie{static[A]=`PgSelectQueryBuilder`;_;config;joinsNotNullableMap;tableName;isPartialSelect;session;dialect;cacheConfig=void 0;usedTables=new Set;constructor({table:e,fields:t,isPartialSelect:n,session:r,dialect:i,withList:a,distinct:o}){super(),this.config={withList:a,table:e,fields:{...t},distinct:o,setOperators:[]},this.isPartialSelect=n,this.session=r,this.dialect=i,this._={selectedFields:t,config:this.config},this.tableName=M(e),this.joinsNotNullableMap=typeof this.tableName==`string`?{[this.tableName]:!0}:{};for(let t of K(e))this.usedTables.add(t)}getUsedTables(){return[...this.usedTables]}createJoin(e,t){return(n,r)=>{let a=this.tableName,o=M(n);for(let e of K(n))this.usedTables.add(e);if(typeof o==`string`&&this.config.joins?.some(e=>e.alias===o))throw Error(`Alias "${o}" is already used in this query`);if(!this.isPartialSelect&&(Object.keys(this.joinsNotNullableMap).length===1&&typeof a==`string`&&(this.config.fields={[a]:this.config.fields}),typeof o==`string`&&!_(n,O))){let e=_(n,i)?n._.selectedFields:_(n,j)?n[F].selectedFields:n[P.Symbol.Columns];this.config.fields[o]=e}if(typeof r==`function`&&(r=r(new Proxy(this.config.fields,new R({sqlAliasedBehavior:`sql`,sqlBehavior:`sql`})))),this.config.joins||(this.config.joins=[]),this.config.joins.push({on:r,table:n,joinType:e,alias:o,lateral:t}),typeof o==`string`)switch(e){case`left`:this.joinsNotNullableMap[o]=!1;break;case`right`:this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([e])=>[e,!1])),this.joinsNotNullableMap[o]=!0;break;case`cross`:case`inner`:this.joinsNotNullableMap[o]=!0;break;case`full`:this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([e])=>[e,!1])),this.joinsNotNullableMap[o]=!1}return this}}leftJoin=this.createJoin(`left`,!1);leftJoinLateral=this.createJoin(`left`,!0);rightJoin=this.createJoin(`right`,!1);innerJoin=this.createJoin(`inner`,!1);innerJoinLateral=this.createJoin(`inner`,!0);fullJoin=this.createJoin(`full`,!1);crossJoin=this.createJoin(`cross`,!1);crossJoinLateral=this.createJoin(`cross`,!0);createSetOperator(e,t){return n=>{let r=typeof n==`function`?n(ze()):n;if(!p(this.getSelectedFields(),r.getSelectedFields()))throw Error(`Set operator error (union / intersect / except): selected fields are not the same or are in a different order`);return this.config.setOperators.push({type:e,isAll:t,rightSelect:r}),this}}union=this.createSetOperator(`union`,!1);unionAll=this.createSetOperator(`union`,!0);intersect=this.createSetOperator(`intersect`,!1);intersectAll=this.createSetOperator(`intersect`,!0);except=this.createSetOperator(`except`,!1);exceptAll=this.createSetOperator(`except`,!0);addSetOperators(e){return this.config.setOperators.push(...e),this}where(e){return typeof e==`function`&&(e=e(new Proxy(this.config.fields,new R({sqlAliasedBehavior:`sql`,sqlBehavior:`sql`})))),this.config.where=e,this}having(e){return typeof e==`function`&&(e=e(new Proxy(this.config.fields,new R({sqlAliasedBehavior:`sql`,sqlBehavior:`sql`})))),this.config.having=e,this}groupBy(...e){if(typeof e[0]==`function`){let t=e[0](new Proxy(this.config.fields,new R({sqlAliasedBehavior:`alias`,sqlBehavior:`sql`})));this.config.groupBy=Array.isArray(t)?t:[t]}else this.config.groupBy=e;return this}orderBy(...e){if(typeof e[0]==`function`){let t=e[0](new Proxy(this.config.fields,new R({sqlAliasedBehavior:`alias`,sqlBehavior:`sql`}))),n=Array.isArray(t)?t:[t];this.config.setOperators.length>0?this.config.setOperators.at(-1).orderBy=n:this.config.orderBy=n}else{let t=e;this.config.setOperators.length>0?this.config.setOperators.at(-1).orderBy=t:this.config.orderBy=t}return this}limit(e){return this.config.setOperators.length>0?this.config.setOperators.at(-1).limit=e:this.config.limit=e,this}offset(e){return this.config.setOperators.length>0?this.config.setOperators.at(-1).offset=e:this.config.offset=e,this}for(e,t={}){return this.config.lockingClause={strength:e,config:t},this}getSQL(){return this.dialect.buildSelectQuery(this.config)}toSQL(){let{typings:e,...t}=this.dialect.sqlToQuery(this.getSQL());return t}as(e){let t=[];if(t.push(...K(this.config.table)),this.config.joins)for(let e of this.config.joins)t.push(...K(e.table));return new Proxy(new i(this.getSQL(),this.config.fields,e,!1,[...new Set(t)]),new R({alias:e,sqlAliasedBehavior:`alias`,sqlBehavior:`error`}))}getSelectedFields(){return new Proxy(this.config.fields,new R({alias:this.tableName,sqlAliasedBehavior:`alias`,sqlBehavior:`error`}))}$dynamic(){return this}$withCache(e){return this.cacheConfig=e===void 0?{config:{},enable:!0,autoInvalidate:!0}:e===!1?{enable:!1}:{enable:!0,autoInvalidate:!0,...e},this}},Re=class extends Le{static[A]=`PgSelect`;_prepare(e){let{session:t,config:n,dialect:r,joinsNotNullableMap:i,authToken:a,cacheConfig:o,usedTables:s}=this;if(!t)throw Error(`Cannot execute a query on a query builder. Please use a database instance instead.`);let{fields:c}=n;return C.startActiveSpan(`drizzle.prepareQuery`,()=>{let n=S(c),l=t.prepareQuery(r.sqlToQuery(this.getSQL()),n,e,!0,void 0,{type:`select`,tables:[...s]},o);return l.joinsNotNullableMap=i,l.setToken(a)})}prepare(e){return this._prepare(e)}authToken;setToken(e){return this.authToken=e,this}execute=e=>C.startActiveSpan(`drizzle.operation`,()=>this._prepare().execute(e,this.authToken))};u(Re,[e]);function W(e,t){return(n,r,...i)=>{let a=[r,...i].map(n=>({type:e,isAll:t,rightSelect:n}));for(let e of a)if(!p(n.getSelectedFields(),e.rightSelect.getSelectedFields()))throw Error(`Set operator error (union / intersect / except): selected fields are not the same or are in a different order`);return n.addSetOperators(a)}}const ze=()=>({union:Be,unionAll:Ve,intersect:He,intersectAll:Ue,except:We,exceptAll:Ge}),Be=W(`union`,!1),Ve=W(`union`,!0),He=W(`intersect`,!1),Ue=W(`intersect`,!0),We=W(`except`,!1),Ge=W(`except`,!0);var G=class{static[A]=`PgQueryBuilder`;dialect;dialectConfig;constructor(e){this.dialect=_(e,H)?e:void 0,this.dialectConfig=_(e,H)?void 0:e}$with=(e,t)=>{let n=this;return{as:r=>(typeof r==`function`&&(r=r(n)),new Proxy(new Ee(r.getSQL(),t??(`getSelectedFields`in r?r.getSelectedFields()??{}:{}),e,!0),new R({alias:e,sqlAliasedBehavior:`alias`,sqlBehavior:`error`})))}};with(...e){let t=this;function n(n){return new U({fields:n??void 0,session:void 0,dialect:t.getDialect(),withList:e})}function r(e){return new U({fields:e??void 0,session:void 0,dialect:t.getDialect(),distinct:!0})}function i(e,n){return new U({fields:n??void 0,session:void 0,dialect:t.getDialect(),distinct:{on:e}})}return{select:n,selectDistinct:r,selectDistinctOn:i}}select(e){return new U({fields:e??void 0,session:void 0,dialect:this.getDialect()})}selectDistinct(e){return new U({fields:e??void 0,session:void 0,dialect:this.getDialect(),distinct:!0})}selectDistinctOn(e,t){return new U({fields:t??void 0,session:void 0,dialect:this.getDialect(),distinct:{on:e}})}getDialect(){return this.dialect||=new H(this.dialectConfig),this.dialect}},Ke=class{constructor(e,t){this.name=e,this.schema=t}static[A]=`PgDefaultViewBuilderCore`;config={};with(e){return this.config.with=e,this}},qe=class extends Ke{static[A]=`PgViewBuilder`;as(e){typeof e==`function`&&(e=e(new G));let t=new R({alias:this.name,sqlBehavior:`error`,sqlAliasedBehavior:`alias`,replaceOriginalName:!0}),n=new Proxy(e.getSelectedFields(),t);return new Proxy(new Qe({pgConfig:this.config,config:{name:this.name,schema:this.schema,selectedFields:n,query:e.getSQL().inlineParams()}}),t)}},Je=class extends Ke{static[A]=`PgManualViewBuilder`;columns;constructor(e,t,n){super(e,n),this.columns=m(a(e,t))}existing(){return new Proxy(new Qe({pgConfig:void 0,config:{name:this.name,schema:this.schema,selectedFields:this.columns,query:void 0}}),new R({alias:this.name,sqlBehavior:`error`,sqlAliasedBehavior:`alias`,replaceOriginalName:!0}))}as(e){return new Proxy(new Qe({pgConfig:this.config,config:{name:this.name,schema:this.schema,selectedFields:this.columns,query:e.inlineParams()}}),new R({alias:this.name,sqlBehavior:`error`,sqlAliasedBehavior:`alias`,replaceOriginalName:!0}))}},Ye=class{constructor(e,t){this.name=e,this.schema=t}static[A]=`PgMaterializedViewBuilderCore`;config={};using(e){return this.config.using=e,this}with(e){return this.config.with=e,this}tablespace(e){return this.config.tablespace=e,this}withNoData(){return this.config.withNoData=!0,this}},Xe=class extends Ye{static[A]=`PgMaterializedViewBuilder`;as(e){typeof e==`function`&&(e=e(new G));let t=new R({alias:this.name,sqlBehavior:`error`,sqlAliasedBehavior:`alias`,replaceOriginalName:!0}),n=new Proxy(e.getSelectedFields(),t);return new Proxy(new et({pgConfig:{with:this.config.with,using:this.config.using,tablespace:this.config.tablespace,withNoData:this.config.withNoData},config:{name:this.name,schema:this.schema,selectedFields:n,query:e.getSQL().inlineParams()}}),t)}},Ze=class extends Ye{static[A]=`PgManualMaterializedViewBuilder`;columns;constructor(e,t,n){super(e,n),this.columns=m(a(e,t))}existing(){return new Proxy(new et({pgConfig:{tablespace:this.config.tablespace,using:this.config.using,with:this.config.with,withNoData:this.config.withNoData},config:{name:this.name,schema:this.schema,selectedFields:this.columns,query:void 0}}),new R({alias:this.name,sqlBehavior:`error`,sqlAliasedBehavior:`alias`,replaceOriginalName:!0}))}as(e){return new Proxy(new et({pgConfig:{tablespace:this.config.tablespace,using:this.config.using,with:this.config.with,withNoData:this.config.withNoData},config:{name:this.name,schema:this.schema,selectedFields:this.columns,query:e.inlineParams()}}),new R({alias:this.name,sqlBehavior:`error`,sqlAliasedBehavior:`alias`,replaceOriginalName:!0}))}},Qe=class extends V{static[A]=`PgView`;[je];constructor({pgConfig:e,config:t}){super(t),e&&(this[je]={with:e.with})}};const $e=Symbol.for(`drizzle:PgMaterializedViewConfig`);var et=class extends V{static[A]=`PgMaterializedView`;[$e];constructor({pgConfig:e,config:t}){super(t),this[$e]={with:e?.with,using:e?.using,tablespace:e?.tablespace,withNoData:e?.withNoData}}};function tt(e,t,n){return t?new Je(e,t,n):new qe(e,n)}function nt(e,t,n){return t?new Ze(e,t,n):new Xe(e,n)}function K(e){return _(e,s)?[e[E]?`${e[E]}.${e[P.Symbol.BaseName]}`:e[P.Symbol.BaseName]]:_(e,i)?e._.usedTables??[]:_(e,O)?e.usedTables??[]:[]}var rt=class extends e{constructor(e,t,n,r){super(),this.session=t,this.dialect=n,this.config={table:e,withList:r}}static[A]=`PgDelete`;config;cacheConfig;where(e){return this.config.where=e,this}returning(e=this.config.table[P.Symbol.Columns]){return this.config.returningFields=e,this.config.returning=S(e),this}getSQL(){return this.dialect.buildDeleteQuery(this.config)}toSQL(){let{typings:e,...t}=this.dialect.sqlToQuery(this.getSQL());return t}_prepare(e){return C.startActiveSpan(`drizzle.prepareQuery`,()=>this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()),this.config.returning,e,!0,void 0,{type:`delete`,tables:K(this.config.table)},this.cacheConfig))}prepare(e){return this._prepare(e)}authToken;setToken(e){return this.authToken=e,this}execute=e=>C.startActiveSpan(`drizzle.operation`,()=>this._prepare().execute(e,this.authToken));getSelectedFields(){return this.config.returningFields?new Proxy(this.config.returningFields,new R({alias:I(this.config.table),sqlAliasedBehavior:`alias`,sqlBehavior:`error`})):void 0}$dynamic(){return this}},it=class{constructor(e,t,n,r,i){this.table=e,this.session=t,this.dialect=n,this.withList=r,this.overridingSystemValue_=i}static[A]=`PgInsertBuilder`;authToken;setToken(e){return this.authToken=e,this}overridingSystemValue(){return this.overridingSystemValue_=!0,this}values(e){if(e=Array.isArray(e)?e:[e],e.length===0)throw Error(`values() must be called with at least one value`);let t=e.map(e=>{let t={},n=this.table[P.Symbol.Columns];for(let r of Object.keys(e)){let i=e[r];t[r]=_(i,O)?i:new ce(i,n[r])}return t});return new at(this.table,t,this.session,this.dialect,this.withList,!1,this.overridingSystemValue_).setToken(this.authToken)}select(e){let t=typeof e==`function`?e(new G):e;if(!_(t,O)&&!p(this.table[ue],t._.selectedFields))throw Error(`Insert select error: selected fields are not the same or are in a different order compared to the table definition`);return new at(this.table,t,this.session,this.dialect,this.withList,!0)}},at=class extends e{constructor(e,t,n,r,i,a,o){super(),this.session=n,this.dialect=r,this.config={table:e,values:t,withList:i,select:a,overridingSystemValue_:o}}static[A]=`PgInsert`;config;cacheConfig;returning(e=this.config.table[P.Symbol.Columns]){return this.config.returningFields=e,this.config.returning=S(e),this}onConflictDoNothing(e={}){if(e.target===void 0)this.config.onConflict=k`do nothing`;else{let t=``;t=Array.isArray(e.target)?e.target.map(e=>this.dialect.escapeName(this.dialect.casing.getColumnCasing(e))).join(`,`):this.dialect.escapeName(this.dialect.casing.getColumnCasing(e.target));let n=e.where?k` where ${e.where}`:void 0;this.config.onConflict=k`(${k.raw(t)})${n} do nothing`}return this}onConflictDoUpdate(e){if(e.where&&(e.targetWhere||e.setWhere))throw Error(`You cannot use both "where" and "targetWhere"/"setWhere" at the same time - "where" is deprecated, use "targetWhere" or "setWhere" instead.`);let t=e.where?k` where ${e.where}`:void 0,n=e.targetWhere?k` where ${e.targetWhere}`:void 0,r=e.setWhere?k` where ${e.setWhere}`:void 0,i=this.dialect.buildUpdateSet(this.config.table,ie(this.config.table,e.set)),a=``;return a=Array.isArray(e.target)?e.target.map(e=>this.dialect.escapeName(this.dialect.casing.getColumnCasing(e))).join(`,`):this.dialect.escapeName(this.dialect.casing.getColumnCasing(e.target)),this.config.onConflict=k`(${k.raw(a)})${n} do update set ${i}${t}${r}`,this}getSQL(){return this.dialect.buildInsertQuery(this.config)}toSQL(){let{typings:e,...t}=this.dialect.sqlToQuery(this.getSQL());return t}_prepare(e){return C.startActiveSpan(`drizzle.prepareQuery`,()=>this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()),this.config.returning,e,!0,void 0,{type:`insert`,tables:K(this.config.table)},this.cacheConfig))}prepare(e){return this._prepare(e)}authToken;setToken(e){return this.authToken=e,this}execute=e=>C.startActiveSpan(`drizzle.operation`,()=>this._prepare().execute(e,this.authToken));getSelectedFields(){return this.config.returningFields?new Proxy(this.config.returningFields,new R({alias:I(this.config.table),sqlAliasedBehavior:`alias`,sqlBehavior:`error`})):void 0}$dynamic(){return this}},ot=class extends e{constructor(e,t,n){super(),this.session=t,this.dialect=n,this.config={view:e}}static[A]=`PgRefreshMaterializedView`;config;concurrently(){if(this.config.withNoData!==void 0)throw Error(`Cannot use concurrently and withNoData together`);return this.config.concurrently=!0,this}withNoData(){if(this.config.concurrently!==void 0)throw Error(`Cannot use concurrently and withNoData together`);return this.config.withNoData=!0,this}getSQL(){return this.dialect.buildRefreshMaterializedViewQuery(this.config)}toSQL(){let{typings:e,...t}=this.dialect.sqlToQuery(this.getSQL());return t}_prepare(e){return C.startActiveSpan(`drizzle.prepareQuery`,()=>this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()),void 0,e,!0))}prepare(e){return this._prepare(e)}authToken;setToken(e){return this.authToken=e,this}execute=e=>C.startActiveSpan(`drizzle.operation`,()=>this._prepare().execute(e,this.authToken))},st=class{constructor(e,t,n,r){this.table=e,this.session=t,this.dialect=n,this.withList=r}static[A]=`PgUpdateBuilder`;authToken;setToken(e){return this.authToken=e,this}set(e){return new ct(this.table,ie(this.table,e),this.session,this.dialect,this.withList).setToken(this.authToken)}},ct=class extends e{constructor(e,t,n,r,i){super(),this.session=n,this.dialect=r,this.config={set:t,table:e,withList:i,joins:[]},this.tableName=M(e),this.joinsNotNullableMap=typeof this.tableName==`string`?{[this.tableName]:!0}:{}}static[A]=`PgUpdate`;config;tableName;joinsNotNullableMap;cacheConfig;from(e){let t=e,n=M(t);return typeof n==`string`&&(this.joinsNotNullableMap[n]=!0),this.config.from=t,this}getTableLikeFields(e){return _(e,s)?e[P.Symbol.Columns]:_(e,i)?e._.selectedFields:e[F].selectedFields}createJoin(e){return(t,n)=>{let r=M(t);if(typeof r==`string`&&this.config.joins.some(e=>e.alias===r))throw Error(`Alias "${r}" is already used in this query`);if(typeof n==`function`){let e=this.config.from&&!_(this.config.from,O)?this.getTableLikeFields(this.config.from):void 0;n=n(new Proxy(this.config.table[P.Symbol.Columns],new R({sqlAliasedBehavior:`sql`,sqlBehavior:`sql`})),e&&new Proxy(e,new R({sqlAliasedBehavior:`sql`,sqlBehavior:`sql`})))}if(this.config.joins.push({on:n,table:t,joinType:e,alias:r}),typeof r==`string`)switch(e){case`left`:this.joinsNotNullableMap[r]=!1;break;case`right`:this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([e])=>[e,!1])),this.joinsNotNullableMap[r]=!0;break;case`inner`:this.joinsNotNullableMap[r]=!0;break;case`full`:this.joinsNotNullableMap=Object.fromEntries(Object.entries(this.joinsNotNullableMap).map(([e])=>[e,!1])),this.joinsNotNullableMap[r]=!1}return this}}leftJoin=this.createJoin(`left`);rightJoin=this.createJoin(`right`);innerJoin=this.createJoin(`inner`);fullJoin=this.createJoin(`full`);where(e){return this.config.where=e,this}returning(e){if(!e&&(e=Object.assign({},this.config.table[P.Symbol.Columns]),this.config.from)){let t=M(this.config.from);if(typeof t==`string`&&this.config.from&&!_(this.config.from,O)){let n=this.getTableLikeFields(this.config.from);e[t]=n}for(let t of this.config.joins){let n=M(t.table);if(typeof n==`string`&&!_(t.table,O)){let r=this.getTableLikeFields(t.table);e[n]=r}}}return this.config.returningFields=e,this.config.returning=S(e),this}getSQL(){return this.dialect.buildUpdateQuery(this.config)}toSQL(){let{typings:e,...t}=this.dialect.sqlToQuery(this.getSQL());return t}_prepare(e){let t=this.session.prepareQuery(this.dialect.sqlToQuery(this.getSQL()),this.config.returning,e,!0,void 0,{type:`insert`,tables:K(this.config.table)},this.cacheConfig);return t.joinsNotNullableMap=this.joinsNotNullableMap,t}prepare(e){return this._prepare(e)}authToken;setToken(e){return this.authToken=e,this}execute=e=>this._prepare().execute(e,this.authToken);getSelectedFields(){return this.config.returningFields?new Proxy(this.config.returningFields,new R({alias:I(this.config.table),sqlAliasedBehavior:`alias`,sqlBehavior:`error`})):void 0}$dynamic(){return this}},lt=class e extends O{constructor(t){super(e.buildEmbeddedCount(t.source,t.filters).queryChunks),this.params=t,this.mapWith(Number),this.session=t.session,this.sql=e.buildCount(t.source,t.filters)}sql;token;static[A]=`PgCountBuilder`;[Symbol.toStringTag]=`PgCountBuilder`;session;static buildEmbeddedCount(e,t){return k`(select count(*) from ${e}${k.raw(` where `).if(t)}${t})`}static buildCount(e,t){return k`select count(*) as count from ${e}${k.raw(` where `).if(t)}${t};`}setToken(e){return this.token=e,this}then(e,t){return Promise.resolve(this.session.count(this.sql,this.token)).then(e,t)}catch(e){return this.then(void 0,e)}finally(e){return this.then(t=>(e?.(),t),t=>{throw e?.(),t})}},ut=class{constructor(e,t,n,r,i,a,o){this.fullSchema=e,this.schema=t,this.tableNamesMap=n,this.table=r,this.tableConfig=i,this.dialect=a,this.session=o}static[A]=`PgRelationalQueryBuilder`;findMany(e){return new dt(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,e||{},`many`)}findFirst(e){return new dt(this.fullSchema,this.schema,this.tableNamesMap,this.table,this.tableConfig,this.dialect,this.session,e?{...e,limit:1}:{limit:1},`first`)}},dt=class extends e{constructor(e,t,n,r,i,a,o,s,c){super(),this.fullSchema=e,this.schema=t,this.tableNamesMap=n,this.table=r,this.tableConfig=i,this.dialect=a,this.session=o,this.config=s,this.mode=c}static[A]=`PgRelationalQuery`;_prepare(e){return C.startActiveSpan(`drizzle.prepareQuery`,()=>{let{query:t,builtQuery:n}=this._toSQL();return this.session.prepareQuery(n,void 0,e,!0,(e,n)=>{let r=e.map(e=>se(this.schema,this.tableConfig,e,t.selection,n));return this.mode===`first`?r[0]:r})})}prepare(e){return this._prepare(e)}_getQuery(){return this.dialect.buildRelationalQueryWithoutPK({fullSchema:this.fullSchema,schema:this.schema,tableNamesMap:this.tableNamesMap,table:this.table,tableConfig:this.tableConfig,queryConfig:this.config,tableAlias:this.tableConfig.tsName})}getSQL(){return this._getQuery().sql}_toSQL(){let e=this._getQuery();return{query:e,builtQuery:this.dialect.sqlToQuery(e.sql)}}toSQL(){return this._toSQL().builtQuery}authToken;setToken(e){return this.authToken=e,this}execute(){return C.startActiveSpan(`drizzle.operation`,()=>this._prepare().execute(void 0,this.authToken))}},ft=class extends e{constructor(e,t,n,r){super(),this.execute=e,this.sql=t,this.query=n,this.mapBatchResult=r}static[A]=`PgRaw`;getSQL(){return this.sql}getQuery(){return this.query}mapResult(e,t){return t?this.mapBatchResult(e):e}_prepare(){return this}isResponseInArrayMode(){return!1}},pt=class{constructor(e,t,n){if(this.dialect=e,this.session=t,this._=n?{schema:n.schema,fullSchema:n.fullSchema,tableNamesMap:n.tableNamesMap,session:t}:{schema:void 0,fullSchema:{},tableNamesMap:{},session:t},this.query={},this._.schema)for(let[r,i]of Object.entries(this._.schema))this.query[r]=new ut(n.fullSchema,this._.schema,this._.tableNamesMap,n.fullSchema[r],i,e,t);this.$cache={invalidate:async e=>{}}}static[A]=`PgDatabase`;query;$with=(e,t)=>{let n=this;return{as:r=>(typeof r==`function`&&(r=r(new G(n.dialect))),new Proxy(new Ee(r.getSQL(),t??(`getSelectedFields`in r?r.getSelectedFields()??{}:{}),e,!0),new R({alias:e,sqlAliasedBehavior:`alias`,sqlBehavior:`error`})))}};$count(e,t){return new lt({source:e,filters:t,session:this.session})}$cache;with(...e){let t=this;function n(n){return new U({fields:n??void 0,session:t.session,dialect:t.dialect,withList:e})}function r(n){return new U({fields:n??void 0,session:t.session,dialect:t.dialect,withList:e,distinct:!0})}function i(n,r){return new U({fields:r??void 0,session:t.session,dialect:t.dialect,withList:e,distinct:{on:n}})}function a(n){return new st(n,t.session,t.dialect,e)}function o(n){return new it(n,t.session,t.dialect,e)}function s(n){return new rt(n,t.session,t.dialect,e)}return{select:n,selectDistinct:r,selectDistinctOn:i,update:a,insert:o,delete:s}}select(e){return new U({fields:e??void 0,session:this.session,dialect:this.dialect})}selectDistinct(e){return new U({fields:e??void 0,session:this.session,dialect:this.dialect,distinct:!0})}selectDistinctOn(e,t){return new U({fields:t??void 0,session:this.session,dialect:this.dialect,distinct:{on:e}})}update(e){return new st(e,this.session,this.dialect)}insert(e){return new it(e,this.session,this.dialect)}delete(e){return new rt(e,this.session,this.dialect)}refreshMaterializedView(e){return new ot(e,this.session,this.dialect)}authToken;execute(e){let t=typeof e==`string`?k.raw(e):e.getSQL(),n=this.dialect.sqlToQuery(t),r=this.session.prepareQuery(n,void 0,void 0,!1);return new ft(()=>r.execute(void 0,this.authToken),t,n,e=>r.mapResult(e,!0))}transaction(e,t){return this.session.transaction(e,t)}},mt=class{constructor(e,t,n){this.seqName=e,this.seqOptions=t,this.schema=n}static[A]=`PgSequence`};function ht(e,t,n){return new mt(e,t,n)}var gt=class{constructor(e){this.schemaName=e}static[A]=`PgSchema`;table=(e,t,n)=>y(e,t,n,this.schemaName);view=(e,t)=>tt(e,t,this.schemaName);materializedView=(e,t)=>nt(e,t,this.schemaName);enum(e,t){return Array.isArray(t)?c(e,[...t],this.schemaName):ne(e,t,this.schemaName)}sequence=(e,t)=>ht(e,t,this.schemaName);getSQL(){return new O([k.identifier(this.schemaName)])}shouldOmitSQLParens(){return!0}};function _t(e){if(e===`public`)throw Error(`You can't specify 'public' as schema name. Postgres is using public schema by default. If you want to use 'public' schema, just use pgTable() instead of creating a schema`);return new gt(e)}var vt=class{static[A]=`Cache`},yt=class extends vt{strategy(){return`all`}static[A]=`NoopCache`;async get(e){}async put(e,t,n,r){}async onMutate(e){}};async function bt(e,t){let n=`${e}-${JSON.stringify(t)}`,r=new TextEncoder().encode(n),i=await crypto.subtle.digest(`SHA-256`,r);return[...new Uint8Array(i)].map(e=>e.toString(16).padStart(2,`0`)).join(``)}var xt=class{constructor(e,t,n,r){this.query=e,this.cache=t,this.queryMetadata=n,this.cacheConfig=r,t&&t.strategy()===`all`&&r===void 0&&(this.cacheConfig={enable:!0,autoInvalidate:!0}),this.cacheConfig?.enable||(this.cacheConfig=void 0)}authToken;getQuery(){return this.query}mapResult(e,t){return e}setToken(e){return this.authToken=e,this}static[A]=`PgPreparedQuery`;joinsNotNullableMap;async queryWithCache(e,t,n){if(this.cache===void 0||_(this.cache,yt)||this.queryMetadata===void 0)try{return await n()}catch(n){throw new N(e,t,n)}if(this.cacheConfig&&!this.cacheConfig.enable)try{return await n()}catch(n){throw new N(e,t,n)}if((this.queryMetadata.type===`insert`||this.queryMetadata.type===`update`||this.queryMetadata.type===`delete`)&&this.queryMetadata.tables.length>0)try{let[e]=await Promise.all([n(),this.cache.onMutate({tables:this.queryMetadata.tables})]);return e}catch(n){throw new N(e,t,n)}if(!this.cacheConfig)try{return await n()}catch(n){throw new N(e,t,n)}if(this.queryMetadata.type===`select`){let r=await this.cache.get(this.cacheConfig.tag??await bt(e,t),this.queryMetadata.tables,this.cacheConfig.tag!==void 0,this.cacheConfig.autoInvalidate);if(r===void 0){let r;try{r=await n()}catch(n){throw new N(e,t,n)}return await this.cache.put(this.cacheConfig.tag??await bt(e,t),r,this.cacheConfig.autoInvalidate?this.queryMetadata.tables:[],this.cacheConfig.tag!==void 0,this.cacheConfig.config),r}return r}try{return await n()}catch(n){throw new N(e,t,n)}}},St=class{constructor(e){this.dialect=e}static[A]=`PgSession`;execute(e,t){return C.startActiveSpan(`drizzle.operation`,()=>C.startActiveSpan(`drizzle.prepareQuery`,()=>this.prepareQuery(this.dialect.sqlToQuery(e),void 0,void 0,!1)).setToken(t).execute(void 0,t))}all(e){return this.prepareQuery(this.dialect.sqlToQuery(e),void 0,void 0,!1).all()}async count(e,t){let n=await this.execute(e,t);return Number(n[0].count)}},Ct=class extends pt{constructor(e,t,n,r=0){super(e,t,n),this.schema=n,this.nestedIndex=r}static[A]=`PgTransaction`;rollback(){throw new de}getTransactionConfigSQL(e){let t=[];return e.isolationLevel&&t.push(`isolation level ${e.isolationLevel}`),e.accessMode&&t.push(e.accessMode),typeof e.deferrable==`boolean`&&t.push(e.deferrable?`deferrable`:`not deferrable`),k.raw(t.join(` `))}setTransaction(e){return this.session.execute(k`set transaction ${this.getTransactionConfigSQL(e)}`)}};const wt=_t(`coder`),q=wt.table,J=()=>g({withTimezone:!0}),Y={createdAt:J().notNull().defaultNow(),updatedAt:J().notNull().defaultNow()},X={id:w({mode:`number`}).primaryKey(),organizationId:x().notNull()},Tt=q(`secret`,{id:w({mode:`number`}).primaryKey(),value:x().notNull()}),Z=()=>T({mode:`number`}).references(()=>Tt.id),Et=q(`platform_link`,{id:w({mode:`number`}).primaryKey(),platform:x().notNull(),platformUserId:x().notNull(),login:x(),userId:x().notNull(),name:x().notNull(),email:x().notNull(),organizations:h().$type(),roles:h().$type(),organizationId:x(),tokenSecretId:Z(),refusedAt:J(),createdAt:J().notNull().defaultNow()},e=>[B(`platform_link_platform_platformUserId_unique`).on(e.platform,e.platformUserId),z().on(e.userId)]),Dt=q(`workspace`,{organizationId:x().primaryKey(),slug:x(),name:x(),config:h().$type()}),Ot=q(`agent`,{...X,slug:x().notNull(),name:x().notNull(),description:x(),problems:h().$type(),source:x().$type().notNull(),repo:x(),path:x(),currentVersion:L().notNull(),engineSettings:h().$type(),...Y},e=>[B(`agent_organizationId_slug_unique`).on(e.organizationId,e.slug)]),kt=q(`agent_version`,{id:w({mode:`number`}).primaryKey(),agentId:T({mode:`number`}).notNull().references(()=>Ot.id,{onDelete:`cascade`}),version:L().notNull(),definition:h().$type().notNull(),systemPrompt:x().notNull(),files:h().$type(),commit:x(),importedFrom:x().notNull(),createdAt:J().notNull().defaultNow()},e=>[B(`agent_version_agentId_version_unique`).on(e.agentId,e.version)]),Q=q(`integration_app`,{...X,key:x().notNull(),integration:x().notNull(),agent:x().notNull(),name:x().notNull(),agentsRepo:x(),branch:x(),credentialsSecretId:Z().notNull(),sharedAppId:T({mode:`number`}).references(()=>Q.id),...Y},e=>[B(`integration_app_organizationId_key_unique`).on(e.organizationId,e.key),B(`integration_app_key_unique`).on(e.key)]),At=q(`integration_app_installation`,{...X,key:x().notNull(),appId:T({mode:`number`}).references(()=>Q.id,{onDelete:`set null`}),platformInstallId:x().notNull(),account:h().$type().notNull(),tokenSecretId:Z(),installer:x(),self:x(),covers:h().$type(),repos:h().$type(),...Y,deletedAt:J(),uninstalled:d()},e=>[me().on(e.key),z().on(e.organizationId,e.appId)]),jt=q(`engine_credential`,{...X,owner:x(),label:x().notNull(),secretId:Z().notNull(),account:h().$type(),...Y},e=>[B(`engine_credential_workspace_label_unique`).on(e.organizationId,e.label).where(k`${e.owner} is null`),B(`engine_credential_owner_label_unique`).on(e.organizationId,e.owner,e.label).where(k`${e.owner} is not null`)]),Mt=q(`runner`,{...X,publicId:x().notNull(),owner:x(),name:x().notNull(),kind:x().$type().notNull(),config:h().$type().notNull(),secretId:Z().notNull(),createdBy:x(),isDefault:d().notNull().default(!1),lastSeen:g({withTimezone:!0}),...Y},e=>[B(`runner_organizationId_publicId_unique`).on(e.organizationId,e.publicId)]),Nt=q(`connection`,{...X,key:x().notNull(),owner:x(),record:h().$type().notNull(),secretId:Z()},e=>[B(`connection_organizationId_key_unique`).on(e.organizationId,e.key),z().on(e.organizationId,e.owner)]),$=q(`task`,{...X,publicId:x().notNull(),source:x().$type().notNull(),status:x().$type().notNull(),agent:x().notNull(),flow:x().notNull(),runnerKind:x().notNull(),access:x().$type(),installationId:T({mode:`number`}).references(()=>At.id),event:h().$type(),audience:x(),space:x(),parent:x(),connections:h().$type(),models:h().$type(),name:x(),cwd:x(),prompt:x(),args:h().$type(),mcp:h().$type(),appendSystem:x(),addDirs:h().$type(),author:x(),definition:h().$type().notNull(),requestedBy:x(),runnerId:x(),engineSettings:h().$type(),tools:h().$type().notNull(),context:h().$type(),files:h().$type(),failureReply:x(),notice:x(),taskUrl:x(),settingsUrl:x(),result:h().$type(),error:x(),fallbacks:h().$type(),tokens:h(),engine:x(),model:x(),credential:x(),runnerMs:L(),tokenCount:T({mode:`number`}),usageTokens:h(),handle:x(),tokenHash:x(),lastSeenAt:J(),logCursor:L(),logSeq:L(),logBytes:L(),logsComplete:d(),typingEnded:d(),archivedAt:J(),approval:h().$type(),answer:h(),attempts:L().notNull().default(0),inboxSeq:L().notNull().default(k`'-1'`),inboxAck:L().notNull().default(k`'-1'`),generation:L().notNull().default(0),startedAt:J(),finishedAt:J(),cancelRequestedAt:J(),...Y},e=>[B(`task_organizationId_publicId_unique`).on(e.organizationId,e.publicId),z().on(e.publicId),z().on(e.organizationId,e.createdAt.desc(),e.publicId.desc()),z(`task_organizationId_unarchived_index`).on(e.organizationId,e.createdAt.desc(),e.publicId.desc()).where(k`${e.archivedAt} is null`),z().on(e.organizationId,e.updatedAt),z().on(e.organizationId,e.finishedAt),z().on(e.organizationId,e.audience),z().on(e.organizationId,e.requestedBy),z().on(e.organizationId,e.parent),z().on(e.organizationId).where(k`${e.status} = 'queued'`),z(`task_organizationId_active_index`).on(e.organizationId).where(k`${e.status} in ('queued', 'running', 'waiting')`),z().on(e.status,e.createdAt)]),Pt=q(`task_inbox`,{id:w({mode:`number`}).primaryKey(),taskId:T({mode:`number`}).notNull().references(()=>$.id,{onDelete:`cascade`}),seq:L().notNull(),generation:L().notNull().default(0),kind:x().$type().notNull(),value:h(),at:J().notNull()},e=>[B(`task_inbox_taskId_seq_unique`).on(e.taskId,e.seq),z().on(e.taskId,e.generation,e.seq)]),Ft=q(`task_log`,{id:w({mode:`number`}).primaryKey(),taskId:T({mode:`number`}).notNull().references(()=>$.id,{onDelete:`cascade`}),seqFrom:L().notNull(),seqTo:L().notNull(),lines:h().$type().notNull()},e=>[B(`task_log_taskId_seqFrom_unique`).on(e.taskId,e.seqFrom)]),It=q(`task_history`,{id:w({mode:`number`}).primaryKey(),taskId:T({mode:`number`}).notNull().references(()=>$.id,{onDelete:`cascade`}),engine:x().$type().notNull(),conversation:x().notNull(),data:x().notNull(),state:x(),savedAt:J().notNull()},e=>[B(`task_history_taskId_conversation_unique`).on(e.taskId,e.conversation)]),Lt=q(`task_secret`,{id:w({mode:`number`}).primaryKey(),taskId:T({mode:`number`}).notNull().references(()=>$.id,{onDelete:`cascade`}),key:x().notNull(),secretId:Z().notNull(),expiresAt:J()},e=>[B(`task_secret_taskId_key_unique`).on(e.taskId,e.key),z().on(e.expiresAt).where(k`${e.expiresAt} is not null`)]),Rt=q(`task_tombstone`,{organizationId:x().notNull(),publicId:x().notNull(),audience:x(),requestedBy:x(),parent:x(),deletedAt:J().notNull()},e=>[te({name:`task_tombstone_pk`,columns:[e.organizationId,e.publicId]}),z().on(e.organizationId,e.deletedAt)]),zt=q(`approval_post`,{...X,key:x().notNull(),value:h().$type().notNull(),at:J().notNull(),shownAt:J(),retryAt:J(),expiresAt:J()},e=>[B(`approval_post_organizationId_key_unique`).on(e.organizationId,e.key),z().on(e.retryAt).where(k`${e.retryAt} is not null`),z(`approval_post_unshown_index`).on(e.at).where(k`${e.shownAt} is null`)]),Bt=q(`private_space`,{...X,integration:x().notNull(),app:x().notNull(),installation:x().notNull(),account:x().notNull(),kind:x().$type().notNull(),space:x().notNull(),syncedAt:J(),claimedAt:J()},e=>[B(`private_space_organizationId_integration_account_space_unique`).on(e.organizationId,e.integration,e.account,e.space)]),Vt=q(`space_member`,{spaceId:T({mode:`number`}).notNull().references(()=>Bt.id,{onDelete:`cascade`}),member:x().notNull()},e=>[B(`space_member_spaceId_member_unique`).on(e.spaceId,e.member)]),Ht=q(`chat_state`,{key:x().primaryKey(),value:h().notNull(),expiresAt:J()},e=>[z().on(e.expiresAt).where(k`${e.expiresAt} is not null`),z(`chat_state_key_prefix_index`).on(e.key.op(`text_pattern_ops`))]),Ut=q(`chat_item`,{key:x().notNull(),seq:T({mode:`number`}).generatedAlwaysAsIdentity(),value:h().notNull(),expiresAt:J()},e=>[te({name:`chat_item_key_seq_pk`,columns:[e.key,e.seq]}),z().on(e.expiresAt).where(k`${e.expiresAt} is not null`)]),Wt={secret:Tt,platformLink:Et,workspace:Dt,agent:Ot,agentVersion:kt,integrationApp:Q,integrationAppInstallation:At,engineCredential:jt,runner:Mt,connection:Nt,task:$,taskInbox:Pt,taskLog:Ft,taskHistory:It,taskSecret:Lt,taskTombstone:Rt,approvalPost:zt,privateSpace:Bt,spaceMember:Vt,chatState:Ht,chatItem:Ut};export{pt as a,Ot as agent,kt as agentVersion,zt as approvalPost,De as c,Ut as chatItem,Ht as chatState,wt as coder,Nt as connection,jt as engineCredential,yt as i,Q as integrationApp,At as integrationAppInstallation,St as n,H as o,Et as platformLink,Bt as privateSpace,Ct as r,Mt as runner,Fe as s,Tt as secret,Vt as spaceMember,xt as t,Wt as tables,$ as task,It as taskHistory,Pt as taskInbox,Ft as taskLog,Lt as taskSecret,Rt as taskTombstone,Dt as workspace};
|
package/dist/sdk.d.ts
CHANGED
|
@@ -8419,6 +8419,23 @@ declare const taskTombstone: PgTableWithColumns<{
|
|
|
8419
8419
|
identity: undefined;
|
|
8420
8420
|
generated: undefined;
|
|
8421
8421
|
}, {}, {}>;
|
|
8422
|
+
parent: PgColumn<{
|
|
8423
|
+
name: "parent";
|
|
8424
|
+
tableName: "task_tombstone";
|
|
8425
|
+
dataType: "string";
|
|
8426
|
+
columnType: "PgText";
|
|
8427
|
+
data: string;
|
|
8428
|
+
driverParam: string;
|
|
8429
|
+
notNull: false;
|
|
8430
|
+
hasDefault: false;
|
|
8431
|
+
isPrimaryKey: false;
|
|
8432
|
+
isAutoincrement: false;
|
|
8433
|
+
hasRuntimeDefault: false;
|
|
8434
|
+
enumValues: [string, ...string[]];
|
|
8435
|
+
baseColumn: never;
|
|
8436
|
+
identity: undefined;
|
|
8437
|
+
generated: undefined;
|
|
8438
|
+
}, {}, {}>;
|
|
8422
8439
|
deletedAt: PgColumn<{
|
|
8423
8440
|
name: "deletedAt";
|
|
8424
8441
|
tableName: "task_tombstone";
|
|
@@ -12417,6 +12434,23 @@ declare const tables: {
|
|
|
12417
12434
|
identity: undefined;
|
|
12418
12435
|
generated: undefined;
|
|
12419
12436
|
}, {}, {}>;
|
|
12437
|
+
parent: PgColumn<{
|
|
12438
|
+
name: "parent";
|
|
12439
|
+
tableName: "task_tombstone";
|
|
12440
|
+
dataType: "string";
|
|
12441
|
+
columnType: "PgText";
|
|
12442
|
+
data: string;
|
|
12443
|
+
driverParam: string;
|
|
12444
|
+
notNull: false;
|
|
12445
|
+
hasDefault: false;
|
|
12446
|
+
isPrimaryKey: false;
|
|
12447
|
+
isAutoincrement: false;
|
|
12448
|
+
hasRuntimeDefault: false;
|
|
12449
|
+
enumValues: [string, ...string[]];
|
|
12450
|
+
baseColumn: never;
|
|
12451
|
+
identity: undefined;
|
|
12452
|
+
generated: undefined;
|
|
12453
|
+
}, {}, {}>;
|
|
12420
12454
|
deletedAt: PgColumn<{
|
|
12421
12455
|
name: "deletedAt";
|
|
12422
12456
|
tableName: "task_tombstone";
|
package/dist/sdk.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./errors-DK_trCff.js";import{g as t}from"./config-_32PHl9g.js";import{n,r}from"./remote-
|
|
1
|
+
import{t as e}from"./errors-DK_trCff.js";import{g as t}from"./config-_32PHl9g.js";import{n,r}from"./remote-Cl-j8r3W.js";import{A as i,j as a}from"./dispatch-BkoIU4GU.js";import{a as o}from"./executor-Ds4wDCzV.js";import{n as s}from"./agent-BZR4Eqdc.js";import{t as c}from"./sign-in-Dv-rdYD4.js";import{t as l}from"./connection-DNzNYpha.js";import{n as u}from"./docs-CxklYa3P.js";import{n as d}from"./models-mKyePWrV.js";import{n as f}from"./task-BRHXn5y1.js";import p from"./flow/index.js";import{n as m}from"./runner-DK0jnzPr.js";import{r as h}from"./env-BwFCHakK.js";import{n as g}from"./github-actions-2RjyRseX.js";const _=f,v=l,y=a,b=u,x=c;function S(...e){h();let t=import(`./serve-Cqlkgdfd.js`).then(({serverHandler:t})=>t(...e));return Object.assign(async(e,n)=>(await t)(e,n),{scheduled:async()=>(await t).scheduled(),close:async()=>(await t).close()})}const C={serve:async(...e)=>(await import(`./serve-Cqlkgdfd.js`)).serve(...e),rotateKey:async(...e)=>(await import(`./maintenance-BuDKnfc7.js`)).rotateKey(...e),workflow:g,app:{create:async(...e)=>(await import(`./apps-CCqOsEZH.js`).then(e=>e.t)).serverAppLink(...e)},handler:S},w={list:(e={})=>n(e).folders.list(),check:(e,t={})=>n(t).folders.check(e)},T=s;var E={task:_,flow:p,model:d,config:t,connection:v,setupHost:i,upgrade:y,docs:b,review:o,auth:x,agent:T,credentials:r,folders:w,runner:m,server:C};export{e as CoderError,T as agent,x as auth,t as config,v as connection,r as credentials,E as default,b as docs,p as flow,w as folders,d as model,o as review,m as runner,C as server,i as setupHost,_ as task,y as upgrade};
|