decocms 2.317.0 → 2.318.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/client/assets/{AlertCircle-DBGfLjQw.js → AlertCircle-D7In04VZ.js} +1 -1
- package/dist/client/assets/{Archive-BKT9Dg_O.js → Archive-DaxWSUle.js} +1 -1
- package/dist/client/assets/{ArrowNarrowLeft-CukpweKs.js → ArrowNarrowLeft-I0Rr4fru.js} +1 -1
- package/dist/client/assets/{ArrowUpRight-D9dARFlG.js → ArrowUpRight-Cl4DoJ1w.js} +1 -1
- package/dist/client/assets/{Check-BXg4TGxE.js → Check-nv67ec3-.js} +1 -1
- package/dist/client/assets/{CheckCircle-Bo4QB9pu.js → CheckCircle-ByasFo1p.js} +1 -1
- package/dist/client/assets/{ChevronDown-DEP8rKZT.js → ChevronDown-Brvsr3Fl.js} +1 -1
- package/dist/client/assets/{ChevronRight-CXiW90Fz.js → ChevronRight-PLlU1t0W.js} +1 -1
- package/dist/client/assets/{ChevronUp-BhNdg10c.js → ChevronUp-VDqvRLBN.js} +1 -1
- package/dist/client/assets/{Container-CxQrLgnS.js → Container-DTioRpeZ.js} +1 -1
- package/dist/client/assets/{DotsVertical-Caoo-NuL.js → DotsVertical-DSgmYETN.js} +1 -1
- package/dist/client/assets/{LayoutLeft-Br6mPXCN.js → LayoutLeft-CG8cspKX.js} +1 -1
- package/dist/client/assets/{LinkExternal01-FDsQXojs.js → LinkExternal01-FKIQuNsM.js} +1 -1
- package/dist/client/assets/{Lock01-CjoGpFGs.js → Lock01-XwPtPsiy.js} +1 -1
- package/dist/client/assets/{Palette-C1Yvme6Z.js → Palette-DGf3gs0h.js} +1 -1
- package/dist/client/assets/{Play-BFNsKgtb.js → Play-BUgAN2i6.js} +1 -1
- package/dist/client/assets/{Plus-BPcc_-zf.js → Plus-Bk1OvOXE.js} +1 -1
- package/dist/client/assets/{RefreshCcw01-DebjkWfq.js → RefreshCcw01-CeTSzQsT.js} +1 -1
- package/dist/client/assets/{SearchMd-CePuFGwO.js → SearchMd-Bo6RzH5Q.js} +1 -1
- package/dist/client/assets/{Settings02-B5jIAnK4.js → Settings02-uL3uu5-7.js} +1 -1
- package/dist/client/assets/{Shield01-CKYDfpKE.js → Shield01-OH6-JWjw.js} +1 -1
- package/dist/client/assets/{Star01-CxJjtPnY.js → Star01-_us4XpQn.js} +1 -1
- package/dist/client/assets/{Sun-CBmGK6wu.js → Sun-Zv-PWUwn.js} +1 -1
- package/dist/client/assets/{Tool01-YKVy1yNP.js → Tool01-DUGZCBMz.js} +1 -1
- package/dist/client/assets/{Trash01--KbsY2dn.js → Trash01-AR9qKMZU.js} +1 -1
- package/dist/client/assets/{User01-BLvWkS9e.js → User01-3xBsy6wV.js} +1 -1
- package/dist/client/assets/{Users03-C4su_vOM.js → Users03-B0r4bSLn.js} +1 -1
- package/dist/client/assets/{X-CNAnrf0f.js → X-DDQYEU6o.js} +1 -1
- package/dist/client/assets/{XCircle-QSJN9xhv.js → XCircle-B14ynTvz.js} +1 -1
- package/dist/client/assets/{XClose-CPKu5cnb.js → XClose-DwaprZxL.js} +1 -1
- package/dist/client/assets/{Zap-B4MS-NKo.js → Zap-EburzyyI.js} +1 -1
- package/dist/client/assets/{ZapSquare-D07uWeTi.js → ZapSquare-DgAVTy7i.js} +1 -1
- package/dist/client/assets/{accordion-DK_H38Gy.js → accordion-CNGIXlRh.js} +1 -1
- package/dist/client/assets/{agent-icon-ChigV_SM.js → agent-icon-CDOpQPVP.js} +1 -1
- package/dist/client/assets/{agents-list-CQyCCUIN.js → agents-list-Bie-B6KO.js} +1 -1
- package/dist/client/assets/{ai-providers-D8YlgZiZ.js → ai-providers-sx9fCpX9.js} +1 -1
- package/dist/client/assets/{alert-dialog-B-CFL8EO.js → alert-dialog-DzUiFLm5.js} +1 -1
- package/dist/client/assets/{auth-catchall-CI1pA1WK.js → auth-catchall-Db6wnMxY.js} +1 -1
- package/dist/client/assets/{automation-list-row-exexu0fc.js → automation-list-row-DA67TUpG.js} +1 -1
- package/dist/client/assets/{automations-Ch8DHfAX.js → automations-D5gbOL8y.js} +1 -1
- package/dist/client/assets/{avatar-DLcW-A0B.js → avatar-JFkuXk7Y.js} +1 -1
- package/dist/client/assets/{badge-Bovdptse.js → badge-D0TDvkU5.js} +1 -1
- package/dist/client/assets/{brand-context-BEky_t3d.js → brand-context-VXYVmQXI.js} +1 -1
- package/dist/client/assets/{card-Bij24Dhu.js → card-NxdWcP2Y.js} +1 -1
- package/dist/client/assets/{chat-context-C_XiURbM.js → chat-context-BpeMEIll.js} +1 -1
- package/dist/client/assets/{checkbox-DepLdWR1.js → checkbox-q_vRqr9W.js} +1 -1
- package/dist/client/assets/{collection-detail-CWWkHJjz.js → collection-detail-C0n6W9bV.js} +1 -1
- package/dist/client/assets/{collection-display-button-U6oQljTt.js → collection-display-button-BDkguG0j.js} +1 -1
- package/dist/client/assets/{collection-search-BCf7pr5A.js → collection-search-B_PTLHi8.js} +1 -1
- package/dist/client/assets/{collection-search-oUHE77Ko.js → collection-search-CMNBGaQC.js} +1 -1
- package/dist/client/assets/{collection-table-wrapper-CIXt2Qna.js → collection-table-wrapper-CCajoTAy.js} +1 -1
- package/dist/client/assets/{collection-tabs-CHoGEXEE.js → collection-tabs-CAm-q3uz.js} +1 -1
- package/dist/client/assets/{collections-DbmVPIqC.js → collections-CreMYLs8.js} +1 -1
- package/dist/client/assets/{command-BJXJqdxz.js → command-B9OPYg11.js} +1 -1
- package/dist/client/assets/{connection-card-DvWQmocE.js → connection-card-C06IRcu3.js} +1 -1
- package/dist/client/assets/{connection-detail-DMePaT7A.js → connection-detail-z9x5FbvM.js} +1 -1
- package/dist/client/assets/{connection-form-helpers-z7ekyahw.js → connection-form-helpers-n0-EInK6.js} +1 -1
- package/dist/client/assets/{connections-C2W6I3Kx.js → connections-CH6W6L6i.js} +1 -1
- package/dist/client/assets/{constants-D2ruRIzu.js → constants-B0L3jJTH.js} +1 -1
- package/dist/client/assets/{constants-CrCZOO5F.js → constants-fVwC9Czh.js} +1 -1
- package/dist/client/assets/{dialog-zxbh5ng1.js → dialog-qtKrSwKA.js} +1 -1
- package/dist/client/assets/{domain-settings-CG6GaRrK.js → domain-settings-P92TIE-X.js} +1 -1
- package/dist/client/assets/{drawer-DNDd7AZJ.js → drawer-B0OHUPPF.js} +1 -1
- package/dist/client/assets/{dropdown-menu-BHUBCwIp.js → dropdown-menu-BnaZE7Qd.js} +1 -1
- package/dist/client/assets/{dynamic-plugin-layout-DuN_fdev.js → dynamic-plugin-layout-BLT1-t7U.js} +1 -1
- package/dist/client/assets/{empty-state-9cIH1OSj.js → empty-state-BCr9v4T1.js} +1 -1
- package/dist/client/assets/{empty-state-16qSOU0O.js → empty-state-Bd4cGUaH.js} +1 -1
- package/dist/client/assets/{extract-connection-data-CA-1nswb.js → extract-connection-data-D7Vkjtul.js} +1 -1
- package/dist/client/assets/{features-CemeaDAi.js → features-BMjb9wKO.js} +1 -1
- package/dist/client/assets/{form-DK_rcfC8.js → form-dz7U0CZK.js} +1 -1
- package/dist/client/assets/{general-C8mtE7AK.js → general-jiXD2EYY.js} +1 -1
- package/dist/client/assets/{index-D8oXDizB.js → index-B1sAFND8.js} +1 -1
- package/dist/client/assets/{index-By1GUFmc.js → index-BK7vZkwz.js} +1 -1
- package/dist/client/assets/{index-C-NbBgOF.js → index-BMBxMDI7.js} +1 -1
- package/dist/client/assets/{index-BSzZmTb_.js → index-BOaGE1aK.js} +1 -1
- package/dist/client/assets/{index-B19uc8uS.js → index-BTxYkYBr.js} +1 -1
- package/dist/client/assets/{index-nTgL534f.js → index-CB6J7z90.js} +1 -1
- package/dist/client/assets/{index-CMD-gSoU.js → index-CHYuwbgr.js} +1 -1
- package/dist/client/assets/{index-CCt7tyZ0.js → index-CtMy8ETw.js} +1 -1
- package/dist/client/assets/{index-CLwT6SqX.js → index-DTLkaJxe.js} +1 -1
- package/dist/client/assets/{index-77yxUsUU.js → index-DrMvBZMW.js} +1 -1
- package/dist/client/assets/{index-BOMQKZYe.js → index-KBbmKsy_.js} +1 -1
- package/dist/client/assets/{index-7mIMVlht.js → index-OK75u_aS.js} +3 -3
- package/dist/client/assets/{index-CzOMQ7ME.js → index-dmkCn37I.js} +2 -2
- package/dist/client/assets/{index-CVz9D9gf.js → index-jo98Roqy.js} +1 -1
- package/dist/client/assets/{index-DHNiGAXq.js → index-xstkyz4B.js} +1 -1
- package/dist/client/assets/{index-CEKdquZV.js → index-y8RdJ-mt.js} +1 -1
- package/dist/client/assets/{infiniteQueryObserver-C3rVl4tZ.js → infiniteQueryObserver-BGrXNOzy.js} +1 -1
- package/dist/client/assets/{input-B0c-2DIW.js → input-C0h7cNmt.js} +1 -1
- package/dist/client/assets/{integration-icon-BaScZvO6.js → integration-icon-PH7vkQ9v.js} +1 -1
- package/dist/client/assets/{label-gqBY6uyz.js → label-C5ENUwLS.js} +1 -1
- package/dist/client/assets/{layout-CYKmcI2j.js → layout-BamLP3Zj.js} +1 -1
- package/dist/client/assets/{lean-canvas-recruit-modal-CHTxHUjM.js → lean-canvas-recruit-modal-CZMvychF.js} +1 -1
- package/dist/client/assets/{login-DClTL_nN.js → login-uG1nFl44.js} +1 -1
- package/dist/client/assets/{members-DhsQ9190.js → members-fSWoT1uJ.js} +1 -1
- package/dist/client/assets/{monaco-editor-BBalufRy.js → monaco-editor-eJWlN-2G.js} +1 -1
- package/dist/client/assets/{monitoring-stats-row-Dv-X2RbZ.js → monitoring-stats-row-CYIwSwNt.js} +1 -1
- package/dist/client/assets/{oauth-callback-B-3DKhKg.js → oauth-callback-DIrOvKws.js} +1 -1
- package/dist/client/assets/{oauth-callback-ai-provider-Bkh9HG7z.js → oauth-callback-ai-provider-CNRYQgK6.js} +1 -1
- package/dist/client/assets/{onboarding-D7bymWNF.js → onboarding-BBHY-5YM.js} +1 -1
- package/dist/client/assets/{org-layout-CYfpIgy5.js → org-layout-D7UrUDGp.js} +1 -1
- package/dist/client/assets/{org-plugin-layout-C8RFioa3.js → org-plugin-layout-DqfPxjfL.js} +1 -1
- package/dist/client/assets/{pair-Bg3A59Mm.js → pair-BJSIhyuY.js} +1 -1
- package/dist/client/assets/{plugin-empty-state-BrALBpmq.js → plugin-empty-state-BP62tfBa.js} +1 -1
- package/dist/client/assets/{plugin-header-ClLf_cJL.js → plugin-header-BPz_4aBZ.js} +1 -1
- package/dist/client/assets/{plugin-layout-C1cPizmH.js → plugin-layout-BvUSBgIT.js} +1 -1
- package/dist/client/assets/{popover-DVDtU_6G.js → popover-9waMMdOC.js} +1 -1
- package/dist/client/assets/{profile-OTfGZyjY.js → profile-BW02PQou.js} +1 -1
- package/dist/client/assets/{project-app-view-C5TQg2cG.js → project-app-view-kQIX2VaC.js} +1 -1
- package/dist/client/assets/registry-BohcIySS.js +2 -0
- package/dist/client/assets/{registry-layout-CmjO7_QP.js → registry-layout-C0qSEWQT.js} +1 -1
- package/dist/client/assets/{required-auth-layout-BRR_6ANi.js → required-auth-layout-BVmXc_2r.js} +1 -1
- package/dist/client/assets/{reset-password-BIYV3F1f.js → reset-password-B1_rk5lV.js} +1 -1
- package/dist/client/assets/{roles-DjfHoeEL.js → roles-D5G81cT_.js} +1 -1
- package/dist/client/assets/{scroll-area-9lFTzWCb.js → scroll-area-xE7hc-8l.js} +1 -1
- package/dist/client/assets/{search-input-BWH3fQpv.js → search-input-C1skYPKA.js} +1 -1
- package/dist/client/assets/{select-Ilj6kxB7.js → select-BjC54T39.js} +1 -1
- package/dist/client/assets/{select-model-Ca5uLyFK.js → select-model-CLZn_-xL.js} +1 -1
- package/dist/client/assets/{settings-layout-DGVGgKqW.js → settings-layout-BhnclKCP.js} +1 -1
- package/dist/client/assets/{settings-section-DfJOrTB5.js → settings-section-CijJZPn7.js} +1 -1
- package/dist/client/assets/{shell-layout-DbyGG6Wz.js → shell-layout-DU81GX4X.js} +1 -1
- package/dist/client/assets/{sidebar-CHkSPfi1.js → sidebar-sY4KII-w.js} +1 -1
- package/dist/client/assets/{skeleton-BhYsT5bA.js → skeleton-De5l7OL1.js} +1 -1
- package/dist/client/assets/{spinner-DRDdaYJh.js → spinner-CsMegR0e.js} +1 -1
- package/dist/client/assets/{sso-BWvJitB4.js → sso-CrRO0aCM.js} +1 -1
- package/dist/client/assets/{store-CRnNdTmg.js → store-CJkx6fS3.js} +1 -1
- package/dist/client/assets/store-registry-DoOjurxP.js +2 -0
- package/dist/client/assets/{switch-MdXM9LTQ.js → switch-Dg8MplKB.js} +1 -1
- package/dist/client/assets/{table-DqMsTisq.js → table-CcD56_bf.js} +1 -1
- package/dist/client/assets/{tabs-BOCdrF2i.js → tabs-Bun7zdDt.js} +1 -1
- package/dist/client/assets/{task-status-BMDGQef8.js → task-status-n57TCkuM.js} +1 -1
- package/dist/client/assets/{textarea-BqfIjmtd.js → textarea-Da3AWsK6.js} +1 -1
- package/dist/client/assets/{toggle-group-i_HO-0bV.js → toggle-group-DDewxrST.js} +1 -1
- package/dist/client/assets/{tools-list-BdLDYsTK.js → tools-list-ufT0EENN.js} +1 -1
- package/dist/client/assets/{tooltip-Dk-x7ks3.js → tooltip-DHpEGVi8.js} +1 -1
- package/dist/client/assets/{types-G67jsjMK.js → types-BrFLFb5i.js} +1 -1
- package/dist/client/assets/{use-ai-providers-Bo9kqLtW.js → use-ai-providers-Cf9shvYI.js} +1 -1
- package/dist/client/assets/{use-collections-DaGR-TK3.js → use-collections-XDqst4E_.js} +1 -1
- package/dist/client/assets/{use-connection-Bw3IdOYX.js → use-connection-BCPpnVMX.js} +1 -1
- package/dist/client/assets/{use-copy-B-uFxHk6.js → use-copy-BNSIRmV_.js} +1 -1
- package/dist/client/assets/{use-create-virtual-mcp-CCKFB_a7.js → use-create-virtual-mcp-DdlYO5qT.js} +1 -1
- package/dist/client/assets/{use-debounced-autosave-T0GvbwUO.js → use-debounced-autosave-BnUZVD_o.js} +1 -1
- package/dist/client/assets/{use-decopilot-events-Co1GYuP2.js → use-decopilot-events-DTwuBO8M.js} +1 -1
- package/dist/client/assets/{use-delete-connection-kRigiWM3.js → use-delete-connection-B1f9N3vg.js} +1 -1
- package/dist/client/assets/{use-infinite-scroll-BNHelzzC.js → use-infinite-scroll-ByL07kWP.js} +1 -1
- package/dist/client/assets/{use-list-state-DUJmWeK2.js → use-list-state-D1Op5rZf.js} +1 -1
- package/dist/client/assets/{use-mcp-tools-DVY8KcMA.js → use-mcp-tools-a-ZvbrGo.js} +1 -1
- package/dist/client/assets/{use-members-BgQ7Ica2.js → use-members-BGu0mh45.js} +1 -1
- package/dist/client/assets/{use-navigate-to-agent-BQ5qza3f.js → use-navigate-to-agent-DjWaqrlh.js} +1 -1
- package/dist/client/assets/{use-org-auth-client-CJlh_N8L.js → use-org-auth-client-B7YA_80Y.js} +1 -1
- package/dist/client/assets/{use-org-sso-B3swYyz4.js → use-org-sso-CWD9kAdD.js} +1 -1
- package/dist/client/assets/{use-organization-roles-BIsWMlMh.js → use-organization-roles-BQMmdy5c.js} +1 -1
- package/dist/client/assets/{use-organization-settings-BMveAMB5.js → use-organization-settings-C2ni1vuh.js} +1 -1
- package/dist/client/assets/{use-registry-connections-Cld8pkRO.js → use-registry-connections-DeY5Qm5r.js} +1 -1
- package/dist/client/assets/{use-status-sounds-DsCr5ian.js → use-status-sounds-CBWZKYGa.js} +1 -1
- package/dist/client/assets/{use-tasks-ChwW8r_K.js → use-tasks-DZibCf5w.js} +1 -1
- package/dist/client/assets/{use-view-mode-MWDbD9TW.js → use-view-mode-C21WimLS.js} +1 -1
- package/dist/client/assets/{use-virtual-mcp-lxX8wI4d.js → use-virtual-mcp-BVVlTr3L.js} +1 -1
- package/dist/client/assets/useInfiniteQuery-B4rOzvqQ.js +1 -0
- package/dist/client/assets/useSuspenseInfiniteQuery-DVCwsKmm.js +1 -0
- package/dist/client/assets/{user-BesiartC.js → user-B1UpgZbT.js} +1 -1
- package/dist/client/assets/{view-mode-toggle-Dn0_DV4a.js → view-mode-toggle-CY3mqueQ.js} +1 -1
- package/dist/client/assets/{workflow-8tifDY_U.js → workflow-D4BXnu1J.js} +1 -1
- package/dist/client/assets/workflow-detail-CCg_qRjv.js +1 -0
- package/dist/client/index.html +1 -1
- package/dist/server/cli.js +1 -1
- package/dist/server/node_modules/{postgres-date/license → pg/LICENSE} +6 -6
- package/dist/server/node_modules/pg/README.md +95 -0
- package/dist/server/node_modules/pg/esm/index.mjs +20 -0
- package/dist/server/node_modules/pg/lib/client.js +743 -0
- package/dist/server/node_modules/pg/lib/connection-parameters.js +171 -0
- package/dist/server/node_modules/pg/lib/connection.js +221 -0
- package/dist/server/node_modules/pg/lib/crypto/cert-signatures.js +122 -0
- package/dist/server/node_modules/pg/lib/crypto/sasl.js +212 -0
- package/dist/server/node_modules/pg/lib/crypto/utils-legacy.js +43 -0
- package/dist/server/node_modules/pg/lib/crypto/utils-webcrypto.js +89 -0
- package/dist/server/node_modules/pg/lib/crypto/utils.js +9 -0
- package/dist/server/node_modules/pg/lib/defaults.js +91 -0
- package/dist/server/node_modules/pg/lib/index.js +73 -0
- package/dist/server/node_modules/pg/lib/native/client.js +323 -0
- package/dist/server/node_modules/pg/lib/native/index.js +2 -0
- package/dist/server/node_modules/pg/lib/native/query.js +165 -0
- package/dist/server/node_modules/pg/lib/query.js +252 -0
- package/dist/server/node_modules/pg/lib/result.js +109 -0
- package/dist/server/node_modules/pg/lib/stream.js +83 -0
- package/dist/server/node_modules/pg/lib/type-overrides.js +35 -0
- package/dist/server/node_modules/pg/lib/utils.js +217 -0
- package/dist/server/node_modules/pg/package.json +76 -0
- package/dist/server/node_modules/slice-ansi/index.d.ts +19 -0
- package/dist/server/node_modules/slice-ansi/index.js +260 -0
- package/dist/server/node_modules/{ansi-regex → slice-ansi}/license +1 -0
- package/dist/server/node_modules/slice-ansi/package.json +59 -0
- package/dist/server/node_modules/slice-ansi/readme.md +54 -0
- package/dist/server/node_modules/slice-ansi/tokenize-ansi.js +752 -0
- package/package.json +1 -1
- package/dist/client/assets/registry-CXDPGCG2.js +0 -2
- package/dist/client/assets/store-registry-6e--RkKu.js +0 -2
- package/dist/client/assets/useInfiniteQuery-ImrWnFFo.js +0 -1
- package/dist/client/assets/useSuspenseInfiniteQuery-CpJJnQ6p.js +0 -1
- package/dist/client/assets/workflow-detail-8AQCTpUe.js +0 -1
- package/dist/server/node_modules/ansi-regex/index.d.ts +0 -33
- package/dist/server/node_modules/ansi-regex/index.js +0 -14
- package/dist/server/node_modules/ansi-regex/package.json +0 -61
- package/dist/server/node_modules/ansi-regex/readme.md +0 -66
- package/dist/server/node_modules/emoji-regex/LICENSE-MIT.txt +0 -20
- package/dist/server/node_modules/emoji-regex/README.md +0 -107
- package/dist/server/node_modules/emoji-regex/index.d.ts +0 -3
- package/dist/server/node_modules/emoji-regex/index.js +0 -4
- package/dist/server/node_modules/emoji-regex/index.mjs +0 -4
- package/dist/server/node_modules/emoji-regex/package.json +0 -45
- package/dist/server/node_modules/environment/index.d.ts +0 -74
- package/dist/server/node_modules/environment/index.js +0 -47
- package/dist/server/node_modules/environment/license +0 -9
- package/dist/server/node_modules/environment/package.json +0 -74
- package/dist/server/node_modules/environment/readme.md +0 -94
- package/dist/server/node_modules/escape-string-regexp/index.d.ts +0 -18
- package/dist/server/node_modules/escape-string-regexp/index.js +0 -11
- package/dist/server/node_modules/escape-string-regexp/license +0 -9
- package/dist/server/node_modules/escape-string-regexp/package.json +0 -43
- package/dist/server/node_modules/escape-string-regexp/readme.md +0 -29
- package/dist/server/node_modules/is-unicode-supported/index.d.ts +0 -12
- package/dist/server/node_modules/is-unicode-supported/index.js +0 -21
- package/dist/server/node_modules/is-unicode-supported/license +0 -9
- package/dist/server/node_modules/is-unicode-supported/package.json +0 -47
- package/dist/server/node_modules/is-unicode-supported/readme.md +0 -35
- package/dist/server/node_modules/mimic-fn/index.d.ts +0 -54
- package/dist/server/node_modules/mimic-fn/index.js +0 -13
- package/dist/server/node_modules/mimic-fn/license +0 -9
- package/dist/server/node_modules/mimic-fn/package.json +0 -42
- package/dist/server/node_modules/mimic-fn/readme.md +0 -69
- package/dist/server/node_modules/pg-int8/LICENSE +0 -13
- package/dist/server/node_modules/pg-int8/README.md +0 -16
- package/dist/server/node_modules/pg-int8/index.js +0 -100
- package/dist/server/node_modules/pg-int8/package.json +0 -24
- package/dist/server/node_modules/postgres-array/index.d.ts +0 -4
- package/dist/server/node_modules/postgres-array/index.js +0 -97
- package/dist/server/node_modules/postgres-array/license +0 -21
- package/dist/server/node_modules/postgres-array/package.json +0 -35
- package/dist/server/node_modules/postgres-array/readme.md +0 -43
- package/dist/server/node_modules/postgres-bytea/index.js +0 -33
- package/dist/server/node_modules/postgres-bytea/license +0 -21
- package/dist/server/node_modules/postgres-bytea/package.json +0 -34
- package/dist/server/node_modules/postgres-bytea/readme.md +0 -34
- package/dist/server/node_modules/postgres-date/index.js +0 -116
- package/dist/server/node_modules/postgres-date/package.json +0 -33
- package/dist/server/node_modules/postgres-date/readme.md +0 -49
- package/dist/server/node_modules/postgres-interval/index.d.ts +0 -20
- package/dist/server/node_modules/postgres-interval/index.js +0 -125
- package/dist/server/node_modules/postgres-interval/license +0 -21
- package/dist/server/node_modules/postgres-interval/package.json +0 -36
- package/dist/server/node_modules/postgres-interval/readme.md +0 -48
- package/dist/server/node_modules/restore-cursor/index.d.ts +0 -11
- package/dist/server/node_modules/restore-cursor/index.js +0 -11
- package/dist/server/node_modules/restore-cursor/license +0 -9
- package/dist/server/node_modules/restore-cursor/package.json +0 -55
- package/dist/server/node_modules/restore-cursor/readme.md +0 -31
- package/dist/server/node_modules/split2/LICENSE +0 -13
- package/dist/server/node_modules/split2/README.md +0 -85
- package/dist/server/node_modules/split2/bench.js +0 -27
- package/dist/server/node_modules/split2/index.js +0 -141
- package/dist/server/node_modules/split2/package.json +0 -39
- package/dist/server/node_modules/split2/test.js +0 -409
- package/dist/server/node_modules/string-width/index.d.ts +0 -39
- package/dist/server/node_modules/string-width/index.js +0 -82
- package/dist/server/node_modules/string-width/license +0 -9
- package/dist/server/node_modules/string-width/package.json +0 -64
- package/dist/server/node_modules/string-width/readme.md +0 -66
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{I as s}from"./infiniteQueryObserver-BGrXNOzy.js";import{c1 as u,c2 as n}from"./index-dmkCn37I.js";function a(r,e){return u({...r,enabled:!0,suspense:!0,throwOnError:n},s,e)}export{a as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{e as S,s as b,n as C,K as k,c as y,j as t}from"./index-
|
|
1
|
+
import{e as S,s as b,n as C,K as k,c as y,j as t}from"./index-dmkCn37I.js";import{A as E}from"./avatar-JFkuXk7Y.js";import{S as A,u as _}from"./constants-fVwC9Czh.js";function K(m){const e=S.c(12),{org:u}=b();let x;e[0]!==u.id||e[1]!==u.slug?(x={connectionId:A,orgId:u.id,orgSlug:u.slug},e[0]=u.id,e[1]=u.slug,e[2]=x):x=e[2];const g=_(x);let d;e[3]!==m?(d=k.user(m),e[3]=m,e[4]=d):d=e[4];let s;e[5]!==g||e[6]!==m?(s=async()=>{const c=await g.callTool({name:"USER_GET",arguments:{id:m}});return(c.structuredContent??c).user},e[5]=g,e[6]=m,e[7]=s):s=e[7];const l=!!m;let o;return e[8]!==d||e[9]!==s||e[10]!==l?(o={queryKey:d,queryFn:s,staleTime:3e5,retry:1,enabled:l},e[8]=d,e[9]=s,e[10]=l,e[11]=o):o=e[11],C(o)}function T(m){const e=S.c(36),{id:u,size:x,showEmail:g,avatarOnly:d,className:s}=m,l=x===void 0?"xs":x,o=g===void 0?!1:g,c=d===void 0?!1:d,{data:r,isLoading:w,isError:U}=K(u);if(w){let a;e[0]!==s?(a=y("flex items-center gap-2",s),e[0]=s,e[1]=a):a=e[1];let i;e[2]!==l?(i=t.jsx(E.Skeleton,{shape:"circle",size:l}),e[2]=l,e[3]=i):i=e[3];let n;e[4]!==c||e[5]!==o?(n=!c&&t.jsxs("div",{className:"flex flex-col gap-1",children:[t.jsx("div",{className:"h-3 w-24 bg-muted animate-pulse rounded"}),o&&t.jsx("div",{className:"h-2 w-32 bg-muted animate-pulse rounded"})]}),e[4]=c,e[5]=o,e[6]=n):n=e[6];let f;return e[7]!==a||e[8]!==i||e[9]!==n?(f=t.jsxs("div",{className:a,children:[i,n]}),e[7]=a,e[8]=i,e[9]=n,e[10]=f):f=e[10],f}if(U||!r){let a;e[11]!==s?(a=y("flex items-center gap-2",s),e[11]=s,e[12]=a):a=e[12];let i;e[13]!==l?(i=t.jsx(E,{shape:"circle",size:l,fallback:"?",muted:!0}),e[13]=l,e[14]=i):i=e[14];let n;e[15]!==c?(n=!c&&t.jsx("div",{className:"flex flex-col",children:t.jsx("div",{className:"text-sm text-muted-foreground",children:"Unknown User"})}),e[15]=c,e[16]=n):n=e[16];let f;return e[17]!==a||e[18]!==i||e[19]!==n?(f=t.jsxs("div",{className:a,children:[i,n]}),e[17]=a,e[18]=i,e[19]=n,e[20]=f):f=e[20],f}let p;e[21]!==s?(p=y("flex items-center gap-2",s),e[21]=s,e[22]=p):p=e[22];const N=r.image??void 0;let v;e[23]!==l||e[24]!==N||e[25]!==r.name?(v=t.jsx(E,{shape:"circle",size:l,url:N,fallback:r.name}),e[23]=l,e[24]=N,e[25]=r.name,e[26]=v):v=e[26];let j;e[27]!==c||e[28]!==o||e[29]!==r.email||e[30]!==r.name?(j=!c&&t.jsxs("div",{className:"flex flex-col",children:[t.jsx("div",{className:"text-sm font-medium",children:r.name}),o&&t.jsx("div",{className:"text-xs text-muted-foreground",children:r.email})]}),e[27]=c,e[28]=o,e[29]=r.email,e[30]=r.name,e[31]=j):j=e[31];let h;return e[32]!==p||e[33]!==v||e[34]!==j?(h=t.jsxs("div",{className:p,children:[v,j]}),e[32]=p,e[33]=v,e[34]=j,e[35]=h):h=e[35],h}export{T as U};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{e as P,r as v,c as m,j as o}from"./index-
|
|
1
|
+
import{e as P,r as v,c as m,j as o}from"./index-dmkCn37I.js";import{b as L,T as M,a as q}from"./tooltip-DHpEGVi8.js";const A={sm:{button:"size-7",icon:"size-4"},md:{button:"size-9",icon:"size-5"},lg:{button:"size-12",icon:"size-6"}};function F(W){const e=P.c(29),{value:s,onValueChange:j,options:i,size:_,fullWidth:C,className:y}=W,$=_===void 0?"sm":_,u=C===void 0?!1:C,E=v.useRef(null),S=v.useRef(null);let x;e[0]===Symbol.for("react.memo_cache_sentinel")?(x={left:0,width:0,opacity:0},e[0]=x):x=e[0];const[f,k]=v.useState(x);let g;e[1]===Symbol.for("react.memo_cache_sentinel")?(g=t=>{if(!t.current)return;const{offsetLeft:R,offsetWidth:T}=t.current;k({left:R,width:T,opacity:1})},e[1]=g):g=e[1];const I=g;let b;e[2]!==i[0].value||e[3]!==s?(b=()=>{const t=s===i[0].value?E:S;I(t)},e[2]=i[0].value,e[3]=s,e[4]=b):b=e[4];let h;e[5]!==i||e[6]!==s?(h=[s,i],e[5]=i,e[6]=s,e[7]=h):h=e[7],v.useEffect(b,h);const d=A[$];let n;e[8]!==y?(n=m("relative flex gap-0 bg-muted rounded-lg",y),e[8]=y,e[9]=n):n=e[9];let l;e[10]!==d||e[11]!==u||e[12]!==j||e[13]!==i||e[14]!==s?(l=i.map((t,R)=>{const T=R===0?E:S,V=o.jsxs("button",{ref:T,type:"button",onClick:()=>j(t.value),className:m("relative z-10 flex items-center justify-center gap-2 rounded-lg transition-colors [transition-timing-function:var(--ease-out-cubic)] duration-200",u?"flex-1 h-12 px-4":d.button,!u&&t.label?"px-3":""),children:[o.jsx("span",{className:m("transition-colors ease-out duration-200 flex items-center justify-center [&>svg]:size-[1em]",d.icon,s===t.value?"text-foreground":"text-muted-foreground"),children:t.icon}),t.label&&o.jsx("span",{className:m("text-xs transition-colors ease-out duration-200 whitespace-nowrap",s===t.value?"text-foreground":"text-muted-foreground"),children:t.label})]},t.value);return t.tooltip?o.jsxs(L,{children:[o.jsx(M,{asChild:!0,children:V}),o.jsx(q,{side:"bottom",children:t.tooltip})]},t.value):V}),e[10]=d,e[11]=u,e[12]=j,e[13]=i,e[14]=s,e[15]=l):l=e[15];const z=u?"h-12":d.button;let a;e[16]!==z?(a=m("absolute z-0 bg-background rounded-lg border-shadow transition-all [transition-timing-function:var(--ease-out-cubic)] duration-200",z),e[16]=z,e[17]=a):a=e[17];const w=`${f.left}px`,N=`${f.width}px`;let r;e[18]!==f.opacity||e[19]!==w||e[20]!==N?(r={left:w,width:N,opacity:f.opacity},e[18]=f.opacity,e[19]=w,e[20]=N,e[21]=r):r=e[21];let c;e[22]!==a||e[23]!==r?(c=o.jsx("div",{className:a,style:r}),e[22]=a,e[23]=r,e[24]=c):c=e[24];let p;return e[25]!==c||e[26]!==n||e[27]!==l?(p=o.jsxs("div",{className:n,children:[l,c]}),e[25]=c,e[26]=n,e[27]=l,e[28]=p):p=e[28],p}export{F as V};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{e as oe,j as t,B as Ce,f as Be,b as ct,s as ze,r as dt,x as Le,o as ut,a as mt,K as Fe,Y as Ke,Z as pt}from"./index-CzOMQ7ME.js";import{u as Ve,S as qe}from"./constants-CrCZOO5F.js";import{B as ft,g as Me}from"./constants-D2ruRIzu.js";import{C as Ge}from"./collection-display-button-U6oQljTt.js";import{C as ht}from"./collection-search-oUHE77Ko.js";import{C as gt}from"./card-Bij24Dhu.js";import{I as Qe}from"./integration-icon-BaScZvO6.js";import{D as Ye,a as He,b as Je,c as O}from"./dropdown-menu-BHUBCwIp.js";import{c as Ze}from"./XCircle-QSJN9xhv.js";import{i as Xe}from"./DotsVertical-Caoo-NuL.js";import{i as et}from"./Tool01-YKVy1yNP.js";import{s as tt}from"./RefreshCcw01-DebjkWfq.js";import{s as st}from"./Trash01--KbsY2dn.js";import{C as xt}from"./collection-table-wrapper-CIXt2Qna.js";import{E as Ue}from"./empty-state-16qSOU0O.js";import{G as We}from"./agent-icon-ChigV_SM.js";import{U as jt}from"./user-BesiartC.js";import{E as it}from"./empty-state-9cIH1OSj.js";import{u as Ct}from"./use-list-state-DUJmWeK2.js";import{g as bt}from"./connection-slug-eyAPH6o3.js";import{f as vt,g as yt,c as Nt,b as wt,d as St,e as Pt,a as _t,A as Dt}from"./alert-dialog-B-CFL8EO.js";import{a as It,c as At}from"./use-collections-DaGR-TK3.js";import{a as Tt}from"./use-connection-Bw3IdOYX.js";import{s as Et}from"./Plus-BPcc_-zf.js";import{a as Ot}from"./layout-CYKmcI2j.js";import{P as je}from"./index-CMD-gSoU.js";import"./collections-DbmVPIqC.js";import"./XClose-CPKu5cnb.js";import"./Check-BXg4TGxE.js";import"./tooltip-Dk-x7ks3.js";import"./view-mode-toggle-Dn0_DV4a.js";import"./badge-Bovdptse.js";import"./SearchMd-CePuFGwO.js";import"./Container-CxQrLgnS.js";import"./ChevronRight-CXiW90Fz.js";import"./table-DqMsTisq.js";import"./AlertCircle-DBGfLjQw.js";import"./Archive-BKT9Dg_O.js";import"./ArrowNarrowLeft-CukpweKs.js";import"./ArrowUpRight-D9dARFlG.js";import"./ZapSquare-D07uWeTi.js";import"./Users03-C4su_vOM.js";import"./CheckCircle-Bo4QB9pu.js";import"./ChevronDown-DEP8rKZT.js";import"./ChevronUp-BhNdg10c.js";import"./Star01-CxJjtPnY.js";import"./Palette-C1Yvme6Z.js";import"./LayoutLeft-Br6mPXCN.js";import"./LinkExternal01-FDsQXojs.js";import"./Lock01-CjoGpFGs.js";import"./Sun-CBmGK6wu.js";import"./Play-BFNsKgtb.js";import"./Settings02-B5jIAnK4.js";import"./Shield01-CKYDfpKE.js";import"./User01-BLvWkS9e.js";import"./X-CNAnrf0f.js";import"./Zap-B4MS-NKo.js";import"./avatar-DLcW-A0B.js";import"./use-view-mode-MWDbD9TW.js";import"./sidebar-CHkSPfi1.js";function $t(i,e){const s=i.properties||{};for(const n in s){const c=s[n];if(c&&c.type==="string"&&(c.format==="url"||c.format==="uri")&&e&&typeof e=="object"&&n in e&&e[n])return e[n]}const l=["image","img","avatar","icon","logo","thumbnail","cover"];for(const n of l)if(e&&typeof e=="object"&&n in e&&typeof e[n]=="string")return e[n]}function kt(i){const e=oe.c(25),{item:s,schema:l,actions:n}=i;let c;e[0]!==s||e[1]!==l?(c=$t(l,s),e[0]=s,e[1]=l,e[2]=c):c=e[2];const r=c,p=s&&typeof s=="object"&&"description"in s&&typeof s.description=="string"?s.description:void 0;let d;e[3]!==n?(d=n&&Object.keys(n).length>0,e[3]=n,e[4]=d):d=e[4];const o=d;let m;e[5]!==r||e[6]!==s.title?(m=t.jsx(Qe,{icon:r,name:s.title,size:"md",className:"shrink-0 shadow-sm"}),e[5]=r,e[6]=s.title,e[7]=m):m=e[7];let u;e[8]!==s.title?(u=t.jsx("h3",{className:"text-base font-medium text-foreground truncate",children:s.title}),e[8]=s.title,e[9]=u):u=e[9];const f=p||"No description";let a;e[10]!==f?(a=t.jsx("p",{className:"text-base text-muted-foreground line-clamp-2",children:f}),e[10]=f,e[11]=a):a=e[11];let v;e[12]!==u||e[13]!==a?(v=t.jsxs("div",{className:"flex flex-col gap-0 flex-1",children:[u,a]}),e[12]=u,e[13]=a,e[14]=v):v=e[14];let y;e[15]!==m||e[16]!==v?(y=t.jsxs("div",{className:"flex flex-col gap-4 p-6 flex-1",children:[m,v]}),e[15]=m,e[16]=v,e[17]=y):y=e[17];let b;e[18]!==n||e[19]!==o||e[20]!==s?(b=o&&t.jsx("div",{className:"absolute top-6 right-6 sm:opacity-0 sm:group-hover:opacity-100 transition-opacity",onClick:Kt,onMouseDown:Ft,children:t.jsxs(Ye,{children:[t.jsx(He,{asChild:!0,children:t.jsx(Ce,{variant:"ghost",size:"icon",className:"h-8 w-8",onClick:Lt,children:t.jsx(Xe,{size:20})})}),t.jsxs(Je,{align:"end",onClick:zt,children:[n.open&&t.jsxs(O,{onClick:g=>{g.stopPropagation(),n.open?.(s)},children:[t.jsx(tt,{size:16}),"Open"]}),n.edit&&t.jsxs(O,{onClick:g=>{g.stopPropagation(),n.edit?.(s)},children:[t.jsx(et,{size:16}),"Edit"]}),n.duplicate&&t.jsxs(O,{onClick:g=>{g.stopPropagation(),n.duplicate?.(s)},children:[t.jsx(Ze,{size:16}),"Duplicate"]}),n.delete&&t.jsxs(O,{variant:"destructive",onClick:g=>{g.stopPropagation(),n.delete?.(s)},children:[t.jsx(st,{size:16}),"Delete"]})]})]})}),e[18]=n,e[19]=o,e[20]=s,e[21]=b):b=e[21];let x;return e[22]!==y||e[23]!==b?(x=t.jsxs(gt,{className:"cursor-pointer transition-colors hover:bg-accent/50 h-full flex flex-col group relative",children:[y,b]}),e[22]=y,e[23]=b,e[24]=x):x=e[24],x}function zt(i){return i.stopPropagation()}function Lt(i){return i.stopPropagation()}function Ft(i){return i.stopPropagation()}function Kt(i){return i.stopPropagation()}const Mt=["icon","avatar","logo"],Re=["created_at","created_by","id"];function Ut(i){return Object.keys(i).find(e=>Mt.includes(e.toLowerCase()))}function ot(i,e){return Object.keys(i.properties||{}).filter(s=>["id","created_at","updated_at","created_by","updated_by"].includes(s)?!1:e?e.includes(s):!0).map(s=>({id:s,label:s.charAt(0).toUpperCase()+s.slice(1).replace(/_/g," ")}))}function Wt(i){const e=oe.c(30),{data:s,schema:l,viewMode:n,search:c,sortKey:r,sortDirection:p,onSort:d,actions:o,onItemClick:m,headerActions:u,emptyState:f,readOnly:a,columns:v,hideToolbar:y,sortableFields:b}=i,x=p===void 0?"asc":p,g=d===void 0?qt:d;let $;e[0]!==o?($=o===void 0?{}:o,e[0]=o,e[1]=$):$=e[1];const h=$,T=m===void 0?Vt:m,E=u===void 0?null:u,N=f===void 0?null:f,k=a===void 0?!1:a,j=v===void 0?void 0:v,z=y===void 0?!1:y,P=b===void 0?void 0:b;let D;e[2]!==j||e[3]!==l||e[4]!==P?(D=j?j.filter(Bt).filter(A=>!P||P.includes(A.id)).map(Rt):ot(l,P),e[2]=j,e[3]=l,e[4]=P,e[5]=D):D=e[5];const w=D;let S;e[6]!==E||e[7]!==z||e[8]!==g||e[9]!==x||e[10]!==r||e[11]!==w?(S=!z&&t.jsx("div",{className:"shrink-0 w-full border-b border-border h-12",children:t.jsxs("div",{className:"flex items-center gap-3 h-12 px-4",children:[t.jsx("div",{className:"flex items-center gap-2 flex-1",children:E}),t.jsx("div",{className:"flex items-center gap-2 shrink-0",children:t.jsx(Ge,{sortKey:r,sortDirection:x,onSort:g,sortOptions:w})})]})}),e[6]=E,e[7]=z,e[8]=g,e[9]=x,e[10]=r,e[11]=w,e[12]=S):S=e[12];let _;e[13]!==h||e[14]!==j||e[15]!==s||e[16]!==N||e[17]!==T||e[18]!==g||e[19]!==k||e[20]!==l||e[21]!==c||e[22]!==x||e[23]!==r||e[24]!==P||e[25]!==n?(_=n==="cards"?t.jsx("div",{className:"flex-1 overflow-auto p-5",children:s.length===0?t.jsx("div",{className:"flex items-center justify-center h-full",children:N||t.jsx(Ue,{icon:t.jsx(We,{size:36,className:"text-muted-foreground"}),title:"No items found",description:c?"Try adjusting your search":"No items to display"})}):t.jsx("div",{className:"grid grid-cols-[repeat(auto-fill,minmax(280px,1fr))] gap-4",children:s.map(A=>t.jsx("div",{onClick:()=>T?.(A),className:"cursor-pointer h-full",children:t.jsx(kt,{item:A,schema:l,readOnly:k,actions:h})},A.id))})}):t.jsx(xt,{columns:Yt(j,l,P,h),data:s,sortKey:r,sortDirection:x,onSort:g,onRowClick:T,emptyState:N||t.jsx(Ue,{icon:t.jsx(We,{size:36,className:"text-muted-foreground"}),title:"No items found",description:c?"Try adjusting your search":"No items to display"})}),e[13]=h,e[14]=j,e[15]=s,e[16]=N,e[17]=T,e[18]=g,e[19]=k,e[20]=l,e[21]=c,e[22]=x,e[23]=r,e[24]=P,e[25]=n,e[26]=_):_=e[26];let I;return e[27]!==S||e[28]!==_?(I=t.jsxs("div",{className:"h-full flex flex-col overflow-hidden",children:[S,_]}),e[27]=S,e[28]=_,e[29]=I):I=e[29],I}function Rt(i){return{id:i.id,label:typeof i.header=="string"?i.header:i.id}}function Bt(i){return i.sortable!==!1}function Vt(){}function qt(){}function Gt(i){return{id:"actions",header:"",render:e=>t.jsxs(Ye,{children:[t.jsx(He,{asChild:!0,children:t.jsx(Ce,{variant:"ghost",size:"sm",className:"h-8 w-8 p-0",onClick:s=>s.stopPropagation(),children:t.jsx(Xe,{size:20})})}),t.jsxs(Je,{align:"end",onClick:s=>s.stopPropagation(),children:[i.open&&t.jsxs(O,{onClick:s=>{s.stopPropagation(),i.open?.(e)},children:[t.jsx(tt,{size:16}),"Open"]}),i.edit&&t.jsxs(O,{onClick:s=>{s.stopPropagation(),i.edit?.(e)},children:[t.jsx(et,{size:16}),"Edit"]}),i.duplicate&&t.jsxs(O,{onClick:s=>{s.stopPropagation(),i.duplicate?.(e)},children:[t.jsx(Ze,{size:16}),"Duplicate"]}),i.delete&&t.jsxs(O,{variant:"destructive",onClick:s=>{s.stopPropagation(),i.delete?.(e)},children:[t.jsx(st,{size:16}),"Delete"]})]})]}),cellClassName:"w-[60px]",sortable:!1}}function nt(i){const e=i.type;return Array.isArray(e)?e.every(s=>nt({type:s})):e==="string"||e==="number"||e==="integer"||e==="boolean"||e==="null"}function Qt(i,e){const s=i.properties||{},l=Object.keys(s).filter(o=>{const m=s[o];return m&&nt(m)}),n=Ut(s),c=[],r=new Set;n&&l.includes(n)&&(c.push(n),r.add(n));const p=["title","description","updated_at","updated_by"];for(const o of p)l.includes(o)&&!r.has(o)&&(c.push(o),r.add(o));const d=l.filter(o=>!r.has(o)&&!Re.includes(o)).sort((o,m)=>o.localeCompare(m));for(const o of d)c.push(o),r.add(o);for(const o of Re)l.includes(o)&&!r.has(o)&&(c.push(o),r.add(o));return c.map(o=>{const m=s[o],u=e?e.includes(o):!["id"].includes(o);return o===n?{id:o,header:"",render:f=>{const a=f[o];return t.jsx(Qe,{icon:a,name:f.title,size:"sm",className:"shrink-0 shadow-sm"})},sortable:!1,cellClassName:"w-16 shrink-0",wrap:!0}:o==="description"?{id:o,header:"Description",render:f=>{const a=f[o];return a==null?"—":t.jsx("span",{className:"block truncate max-w-[50ch]",children:String(a)})},sortable:u,cellClassName:"max-w-[50ch]"}:o==="created_by"||o==="updated_by"?{id:o,header:o.charAt(0).toUpperCase()+o.slice(1).replace(/_/g," "),render:f=>{const a=f[o];return a?t.jsx(jt,{id:String(a),size:"xs"}):"—"},sortable:u,cellClassName:"max-w-[250px]"}:m?.format==="date-time"||o.endsWith("_at")?{id:o,header:o.charAt(0).toUpperCase()+o.slice(1).replace(/_/g," "),render:f=>{const a=f[o];return a?t.jsx("span",{className:"block truncate max-w-full",children:new Date(a).toLocaleDateString()}):"—"},sortable:u,cellClassName:"max-w-[200px]"}:{id:o,header:o.charAt(0).toUpperCase()+o.slice(1).replace(/_/g," "),render:f=>{const a=f[o];return a==null?"—":t.jsx("span",{className:"block truncate max-w-full",children:String(a)})},sortable:u,cellClassName:"max-w-[200px]"}})}function Yt(i,e,s,l){const n=i||Qt(e,s);return n.some(p=>p.id==="actions")?n:Object.keys(l).length>0?[...n,Gt(l)]:n}function Ht(i){const e=oe.c(119),{connectionId:s,org:l,activeCollection:n,onItemClick:c}=i,r=n.name,p=n.schema??ft,d=n.hasCreateTool,o=n.hasUpdateTool,m=n.hasDeleteTool,u=Be(),{data:f}=ct.useSession(),a=f?.user?.id||"unknown",v=Tt(s);let y;e[0]!==v||e[1]!==s?(y=v?bt(v):s,e[0]=v,e[1]=s,e[2]=y):y=e[2];const b=y,{org:x}=ze();let g;e[3]!==s||e[4]!==x.id||e[5]!==x.slug?(g={connectionId:s,orgId:x.id,orgSlug:x.slug},e[3]=s,e[4]=x.id,e[5]=x.slug,e[6]=g):g=e[6];const $=Ve(g),h=It(s,r,$),T=`${s}-${r}`;let E;e[7]!==l||e[8]!==T?(E={namespace:l,resource:T,defaultSortKey:"updated_at"},e[7]=l,e[8]=T,e[9]=E):E=e[9];const{search:N,searchTerm:k,setSearch:j,viewMode:z,setViewMode:P,sortKey:D,sortDirection:w,handleSort:S}=Ct(E);let _;e[10]!==k||e[11]!==w||e[12]!==D?(_={searchTerm:k,sortKey:D,sortDirection:w},e[10]=k,e[11]=w,e[12]=D,e[13]=_):_=e[13];const I=At(s,r,$,_),A=!d&&!o&&!m;let ne;e[14]!==b||e[15]!==r||e[16]!==u||e[17]!==c||e[18]!==l?(ne=C=>{if(c){c(C);return}u({to:"/$org/settings/connections/$appSlug/$collectionName/$itemId",params:{org:l,appSlug:b,collectionName:r,itemId:C.id}})},e[14]=b,e[15]=r,e[16]=u,e[17]=c,e[18]=l,e[19]=ne):ne=e[19];const L=ne;let re;e[20]!==h.create||e[21]!==a?(re=async C=>{const xe=new Date().toISOString();await h.create.mutateAsync({...C,id:Me("conn"),title:`${C.title} (Copy)`,created_at:xe,updated_at:xe,created_by:a,updated_by:a})},e[20]=h.create,e[21]=a,e[22]=re):re=e[22];const be=re,[F,ve]=dt.useState(null);let le;e[23]===Symbol.for("react.memo_cache_sentinel")?(le=C=>{ve(C)},e[23]=le):le=e[23];const rt=le;let K;e[24]!==L||e[25]!==o?(K=o&&{edit:L},e[24]=L,e[25]=o,e[26]=K):K=e[26];let M;e[27]!==be||e[28]!==d?(M=d&&{duplicate:be},e[27]=be,e[28]=d,e[29]=M):M=e[29];let U;e[30]!==m?(U=m&&{delete:rt},e[30]=m,e[31]=U):U=e[31];let ae;e[32]!==M||e[33]!==U||e[34]!==K?(ae={...K,...M,...U},e[32]=M,e[33]=U,e[34]=K,e[35]=ae):ae=e[35];const ye=ae;let ce;e[36]!==h.delete||e[37]!==F?(ce=async()=>{F&&(await h.delete.mutateAsync(F.id),ve(null))},e[36]=h.delete,e[37]=F,e[38]=ce):ce=e[38];const Ne=ce;let de;e[39]!==h.create||e[40]!==b||e[41]!==r||e[42]!==d||e[43]!==u||e[44]!==l||e[45]!==a?(de=async()=>{if(!d){Le.error("Create operation is not available for this collection");return}const C=new Date().toISOString(),xe={id:Me("conn"),title:"New Item",description:"A brief description of the item",created_at:C,updated_at:C,created_by:a,updated_by:a};try{const ke=await h.create.mutateAsync(xe);u({to:"/$org/settings/connections/$appSlug/$collectionName/$itemId",params:{org:l,appSlug:b,collectionName:r,itemId:ke.id}})}catch(ke){console.error("Failed to create item:",ke)}},e[39]=h.create,e[40]=b,e[41]=r,e[42]=d,e[43]=u,e[44]=l,e[45]=a,e[46]=de):de=e[46];const we=de;let ue;e[47]!==p?(ue=ot(p),e[47]=p,e[48]=ue):ue=e[48];const Se=ue,lt=(I?.length??0)>0,at=d&&!lt&&!N;let me;e[49]!==h.create||e[50]!==we||e[51]!==d?(me=d?t.jsxs(Ce,{onClick:we,size:"sm",disabled:h.create.isPending,className:"h-7",children:[t.jsx(Et,{className:"mr-2 h-4 w-4"}),h.create.isPending?"Creating...":"Create"]}):null,e[49]=h.create,e[50]=we,e[51]=d,e[52]=me):me=e[52];const pe=me,Pe=D;let W;e[53]!==S||e[54]!==w||e[55]!==Se||e[56]!==Pe?(W=t.jsx(Ot,{children:t.jsx(Ge,{sortKey:Pe,sortDirection:w,onSort:S,sortOptions:Se})}),e[53]=S,e[54]=w,e[55]=Se,e[56]=Pe,e[57]=W):W=e[57];const _e=`Search ${r}...`;let R;e[58]!==j?(R=C=>{C.key==="Escape"&&(j(""),C.target.blur())},e[58]=j,e[59]=R):R=e[59];let B;e[60]!==N||e[61]!==j||e[62]!==_e||e[63]!==R?(B=t.jsx("div",{className:"flex-1",children:t.jsx(ht,{value:N,onChange:j,placeholder:_e,onKeyDown:R})}),e[60]=N,e[61]=j,e[62]=_e,e[63]=R,e[64]=B):B=e[64];let V;e[65]!==pe||e[66]!==d?(V=d&&t.jsx("div",{className:"pr-3",children:pe}),e[65]=pe,e[66]=d,e[67]=V):V=e[67];let q;e[68]!==B||e[69]!==V?(q=t.jsxs("div",{className:"flex items-center gap-2",children:[B,V]}),e[68]=B,e[69]=V,e[70]=q):q=e[70];let G;e[71]!==I?(G=I??[],e[71]=I,e[72]=G):G=e[72];const De=D;let Q;e[73]!==L?(Q=C=>L(C),e[73]=L,e[74]=Q):Q=e[74];const Ie="No items found",Ae=N?"Try adjusting your search terms":"This collection doesn't have any items yet.",Te=at?pe:void 0;let Y;e[75]!==Ie||e[76]!==Ae||e[77]!==Te?(Y=t.jsx(it,{image:null,title:Ie,description:Ae,actions:Te}),e[75]=Ie,e[76]=Ae,e[77]=Te,e[78]=Y):Y=e[78];let H;e[79]!==S||e[80]!==A||e[81]!==ye||e[82]!==p||e[83]!==N||e[84]!==j||e[85]!==P||e[86]!==w||e[87]!==G||e[88]!==De||e[89]!==Q||e[90]!==Y||e[91]!==z?(H=t.jsx("div",{className:"flex-1 overflow-auto",children:t.jsx(Wt,{hideToolbar:!0,data:G,schema:p,viewMode:z,onViewModeChange:P,search:N,onSearchChange:j,sortKey:De,sortDirection:w,onSort:S,actions:ye,onItemClick:Q,readOnly:A,emptyState:Y})}),e[79]=S,e[80]=A,e[81]=ye,e[82]=p,e[83]=N,e[84]=j,e[85]=P,e[86]=w,e[87]=G,e[88]=De,e[89]=Q,e[90]=Y,e[91]=z,e[92]=H):H=e[92];let J;e[93]!==q||e[94]!==H?(J=t.jsxs("div",{className:"flex flex-col h-full overflow-hidden",children:[q,H]}),e[93]=q,e[94]=H,e[95]=J):J=e[95];const Ee=!!F;let fe;e[96]===Symbol.for("react.memo_cache_sentinel")?(fe=C=>{C||ve(null)},e[96]=fe):fe=e[96];let he;e[97]===Symbol.for("react.memo_cache_sentinel")?(he=t.jsx(Nt,{children:"Delete item?"}),e[97]=he):he=e[97];const Oe=F?.title;let Z;e[98]!==Oe?(Z=t.jsxs(wt,{children:[he,t.jsxs(St,{children:['Are you sure you want to delete "',Oe,'"? This action cannot be undone.']})]}),e[98]=Oe,e[99]=Z):Z=e[99];let X;e[100]!==h.delete.isPending?(X=t.jsx(vt,{disabled:h.delete.isPending,children:"Cancel"}),e[100]=h.delete.isPending,e[101]=X):X=e[101];const $e=h.delete.isPending?"Deleting...":"Delete";let ee;e[102]!==h.delete.isPending||e[103]!==Ne||e[104]!==$e?(ee=t.jsx(yt,{onClick:Ne,disabled:h.delete.isPending,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:$e}),e[102]=h.delete.isPending,e[103]=Ne,e[104]=$e,e[105]=ee):ee=e[105];let te;e[106]!==X||e[107]!==ee?(te=t.jsxs(Pt,{children:[X,ee]}),e[106]=X,e[107]=ee,e[108]=te):te=e[108];let se;e[109]!==Z||e[110]!==te?(se=t.jsxs(_t,{children:[Z,te]}),e[109]=Z,e[110]=te,e[111]=se):se=e[111];let ie;e[112]!==Ee||e[113]!==se?(ie=t.jsx(Dt,{open:Ee,onOpenChange:fe,children:se}),e[112]=Ee,e[113]=se,e[114]=ie):ie=e[114];let ge;return e[115]!==W||e[116]!==J||e[117]!==ie?(ge=t.jsxs(t.Fragment,{children:[W,J,ie]}),e[115]=W,e[116]=J,e[117]=ie,e[118]=ge):ge=e[118],ge}function Jt(){const i=oe.c(13),{org:e,project:s}=ze(),l=ut();let n;i[0]!==e.id||i[1]!==e.slug?(n={connectionId:qe,orgId:e.id,orgSlug:e.slug},i[0]=e.id,i[1]=e.slug,i[2]=n):n=i[2];const c=Ve(n);let r;i[3]!==c||i[4]!==s?(r=async m=>{const u=s.enabledPlugins??[];if(u.includes(m))return;const f=[...u,m],a=await c.callTool({name:"COLLECTION_VIRTUAL_MCP_UPDATE",arguments:{id:s.id,data:{metadata:{enabled_plugins:f}}}});return a.structuredContent??a},i[3]=c,i[4]=s,i[5]=r):r=i[5];let p;i[6]!==e.id||i[7]!==s||i[8]!==l?(p=()=>{l.invalidateQueries({queryKey:Fe.project(e.id,s.slug)}),l.invalidateQueries({queryKey:Fe.projects(e.id)})},i[6]=e.id,i[7]=s,i[8]=l,i[9]=p):p=i[9];let d;return i[10]!==r||i[11]!==p?(d={mutationFn:r,onSuccess:p,onError:Zt},i[10]=r,i[11]=p,i[12]=d):d=i[12],mt(d)}function Zt(i){Le.error("Failed to enable plugin: "+(i instanceof Error?i.message:"Unknown error"))}function Xt(i){const e=oe.c(12),{pluginId:s,title:l,description:n,icon:c}=i,r=Jt();let p;e[0]!==r||e[1]!==s?(p=async()=>{try{await r.mutateAsync(s),Le.success("Plugin enabled!")}catch{}},e[0]=r,e[1]=s,e[2]=p):p=e[2];const d=p,o=c??null,m=r.isPending?"Enabling…":"Enable plugin";let u;e[3]!==r.isPending||e[4]!==d||e[5]!==m?(u=t.jsx(Ce,{onClick:d,disabled:r.isPending,children:m}),e[3]=r.isPending,e[4]=d,e[5]=m,e[6]=u):u=e[6];let f;return e[7]!==n||e[8]!==o||e[9]!==u||e[10]!==l?(f=t.jsx(it,{image:o,title:l,description:n,actions:u}),e[7]=n,e[8]=o,e[9]=u,e[10]=l,e[11]=f):f=e[11],f}const es={name:"WORKFLOW",displayName:"Workflow",hasCreateTool:!0,hasUpdateTool:!0,hasDeleteTool:!0};function ai(){const{project:i,org:e}=ze();if(!(i.enabledPlugins??[]).includes(Ke))return t.jsx(je,{children:t.jsx(je.Content,{children:t.jsx("div",{className:"flex flex-col items-center justify-center h-full",children:t.jsx(Xt,{pluginId:Ke,title:"Enable Workflows",description:"Automate multi-step processes by enabling the Workflows plugin. Once enabled you can create, run, and monitor workflows.",icon:t.jsx("div",{className:"bg-muted p-4 rounded-full",children:t.jsx(pt,{className:"size-8 text-muted-foreground"})})})})})});const n=Be();return t.jsx(je,{children:t.jsx(je.Content,{children:t.jsx(Ht,{connectionId:qe,org:e.slug,activeCollection:es,onItemClick:c=>n({to:"/$org/settings/workflows/$itemId",params:{org:e.slug,itemId:c.id}})})})})}export{ai as default};
|
|
1
|
+
import{e as oe,j as t,B as Ce,f as Be,b as ct,s as ze,r as dt,x as Le,o as ut,a as mt,K as Fe,Y as Ke,Z as pt}from"./index-dmkCn37I.js";import{u as Ve,S as qe}from"./constants-fVwC9Czh.js";import{B as ft,g as Me}from"./constants-B0L3jJTH.js";import{C as Ge}from"./collection-display-button-BDkguG0j.js";import{C as ht}from"./collection-search-CMNBGaQC.js";import{C as gt}from"./card-NxdWcP2Y.js";import{I as Qe}from"./integration-icon-PH7vkQ9v.js";import{D as Ye,a as He,b as Je,c as O}from"./dropdown-menu-BnaZE7Qd.js";import{c as Ze}from"./XCircle-B14ynTvz.js";import{i as Xe}from"./DotsVertical-DSgmYETN.js";import{i as et}from"./Tool01-DUGZCBMz.js";import{s as tt}from"./RefreshCcw01-CeTSzQsT.js";import{s as st}from"./Trash01-AR9qKMZU.js";import{C as xt}from"./collection-table-wrapper-CCajoTAy.js";import{E as Ue}from"./empty-state-Bd4cGUaH.js";import{G as We}from"./agent-icon-CDOpQPVP.js";import{U as jt}from"./user-B1UpgZbT.js";import{E as it}from"./empty-state-BCr9v4T1.js";import{u as Ct}from"./use-list-state-D1Op5rZf.js";import{g as bt}from"./connection-slug-eyAPH6o3.js";import{f as vt,g as yt,c as Nt,b as wt,d as St,e as Pt,a as _t,A as Dt}from"./alert-dialog-DzUiFLm5.js";import{a as It,c as At}from"./use-collections-XDqst4E_.js";import{a as Tt}from"./use-connection-BCPpnVMX.js";import{s as Et}from"./Plus-Bk1OvOXE.js";import{a as Ot}from"./layout-BamLP3Zj.js";import{P as je}from"./index-CHYuwbgr.js";import"./collections-CreMYLs8.js";import"./XClose-DwaprZxL.js";import"./Check-nv67ec3-.js";import"./tooltip-DHpEGVi8.js";import"./view-mode-toggle-CY3mqueQ.js";import"./badge-D0TDvkU5.js";import"./SearchMd-Bo6RzH5Q.js";import"./Container-DTioRpeZ.js";import"./ChevronRight-PLlU1t0W.js";import"./table-CcD56_bf.js";import"./AlertCircle-D7In04VZ.js";import"./Archive-DaxWSUle.js";import"./ArrowNarrowLeft-I0Rr4fru.js";import"./ArrowUpRight-Cl4DoJ1w.js";import"./ZapSquare-DgAVTy7i.js";import"./Users03-B0r4bSLn.js";import"./CheckCircle-ByasFo1p.js";import"./ChevronDown-Brvsr3Fl.js";import"./ChevronUp-VDqvRLBN.js";import"./Star01-_us4XpQn.js";import"./Palette-DGf3gs0h.js";import"./LayoutLeft-CG8cspKX.js";import"./LinkExternal01-FKIQuNsM.js";import"./Lock01-XwPtPsiy.js";import"./Sun-Zv-PWUwn.js";import"./Play-BUgAN2i6.js";import"./Settings02-uL3uu5-7.js";import"./Shield01-OH6-JWjw.js";import"./User01-3xBsy6wV.js";import"./X-DDQYEU6o.js";import"./Zap-EburzyyI.js";import"./avatar-JFkuXk7Y.js";import"./use-view-mode-C21WimLS.js";import"./sidebar-sY4KII-w.js";function $t(i,e){const s=i.properties||{};for(const n in s){const c=s[n];if(c&&c.type==="string"&&(c.format==="url"||c.format==="uri")&&e&&typeof e=="object"&&n in e&&e[n])return e[n]}const l=["image","img","avatar","icon","logo","thumbnail","cover"];for(const n of l)if(e&&typeof e=="object"&&n in e&&typeof e[n]=="string")return e[n]}function kt(i){const e=oe.c(25),{item:s,schema:l,actions:n}=i;let c;e[0]!==s||e[1]!==l?(c=$t(l,s),e[0]=s,e[1]=l,e[2]=c):c=e[2];const r=c,p=s&&typeof s=="object"&&"description"in s&&typeof s.description=="string"?s.description:void 0;let d;e[3]!==n?(d=n&&Object.keys(n).length>0,e[3]=n,e[4]=d):d=e[4];const o=d;let m;e[5]!==r||e[6]!==s.title?(m=t.jsx(Qe,{icon:r,name:s.title,size:"md",className:"shrink-0 shadow-sm"}),e[5]=r,e[6]=s.title,e[7]=m):m=e[7];let u;e[8]!==s.title?(u=t.jsx("h3",{className:"text-base font-medium text-foreground truncate",children:s.title}),e[8]=s.title,e[9]=u):u=e[9];const f=p||"No description";let a;e[10]!==f?(a=t.jsx("p",{className:"text-base text-muted-foreground line-clamp-2",children:f}),e[10]=f,e[11]=a):a=e[11];let v;e[12]!==u||e[13]!==a?(v=t.jsxs("div",{className:"flex flex-col gap-0 flex-1",children:[u,a]}),e[12]=u,e[13]=a,e[14]=v):v=e[14];let y;e[15]!==m||e[16]!==v?(y=t.jsxs("div",{className:"flex flex-col gap-4 p-6 flex-1",children:[m,v]}),e[15]=m,e[16]=v,e[17]=y):y=e[17];let b;e[18]!==n||e[19]!==o||e[20]!==s?(b=o&&t.jsx("div",{className:"absolute top-6 right-6 sm:opacity-0 sm:group-hover:opacity-100 transition-opacity",onClick:Kt,onMouseDown:Ft,children:t.jsxs(Ye,{children:[t.jsx(He,{asChild:!0,children:t.jsx(Ce,{variant:"ghost",size:"icon",className:"h-8 w-8",onClick:Lt,children:t.jsx(Xe,{size:20})})}),t.jsxs(Je,{align:"end",onClick:zt,children:[n.open&&t.jsxs(O,{onClick:g=>{g.stopPropagation(),n.open?.(s)},children:[t.jsx(tt,{size:16}),"Open"]}),n.edit&&t.jsxs(O,{onClick:g=>{g.stopPropagation(),n.edit?.(s)},children:[t.jsx(et,{size:16}),"Edit"]}),n.duplicate&&t.jsxs(O,{onClick:g=>{g.stopPropagation(),n.duplicate?.(s)},children:[t.jsx(Ze,{size:16}),"Duplicate"]}),n.delete&&t.jsxs(O,{variant:"destructive",onClick:g=>{g.stopPropagation(),n.delete?.(s)},children:[t.jsx(st,{size:16}),"Delete"]})]})]})}),e[18]=n,e[19]=o,e[20]=s,e[21]=b):b=e[21];let x;return e[22]!==y||e[23]!==b?(x=t.jsxs(gt,{className:"cursor-pointer transition-colors hover:bg-accent/50 h-full flex flex-col group relative",children:[y,b]}),e[22]=y,e[23]=b,e[24]=x):x=e[24],x}function zt(i){return i.stopPropagation()}function Lt(i){return i.stopPropagation()}function Ft(i){return i.stopPropagation()}function Kt(i){return i.stopPropagation()}const Mt=["icon","avatar","logo"],Re=["created_at","created_by","id"];function Ut(i){return Object.keys(i).find(e=>Mt.includes(e.toLowerCase()))}function ot(i,e){return Object.keys(i.properties||{}).filter(s=>["id","created_at","updated_at","created_by","updated_by"].includes(s)?!1:e?e.includes(s):!0).map(s=>({id:s,label:s.charAt(0).toUpperCase()+s.slice(1).replace(/_/g," ")}))}function Wt(i){const e=oe.c(30),{data:s,schema:l,viewMode:n,search:c,sortKey:r,sortDirection:p,onSort:d,actions:o,onItemClick:m,headerActions:u,emptyState:f,readOnly:a,columns:v,hideToolbar:y,sortableFields:b}=i,x=p===void 0?"asc":p,g=d===void 0?qt:d;let $;e[0]!==o?($=o===void 0?{}:o,e[0]=o,e[1]=$):$=e[1];const h=$,T=m===void 0?Vt:m,E=u===void 0?null:u,N=f===void 0?null:f,k=a===void 0?!1:a,j=v===void 0?void 0:v,z=y===void 0?!1:y,P=b===void 0?void 0:b;let D;e[2]!==j||e[3]!==l||e[4]!==P?(D=j?j.filter(Bt).filter(A=>!P||P.includes(A.id)).map(Rt):ot(l,P),e[2]=j,e[3]=l,e[4]=P,e[5]=D):D=e[5];const w=D;let S;e[6]!==E||e[7]!==z||e[8]!==g||e[9]!==x||e[10]!==r||e[11]!==w?(S=!z&&t.jsx("div",{className:"shrink-0 w-full border-b border-border h-12",children:t.jsxs("div",{className:"flex items-center gap-3 h-12 px-4",children:[t.jsx("div",{className:"flex items-center gap-2 flex-1",children:E}),t.jsx("div",{className:"flex items-center gap-2 shrink-0",children:t.jsx(Ge,{sortKey:r,sortDirection:x,onSort:g,sortOptions:w})})]})}),e[6]=E,e[7]=z,e[8]=g,e[9]=x,e[10]=r,e[11]=w,e[12]=S):S=e[12];let _;e[13]!==h||e[14]!==j||e[15]!==s||e[16]!==N||e[17]!==T||e[18]!==g||e[19]!==k||e[20]!==l||e[21]!==c||e[22]!==x||e[23]!==r||e[24]!==P||e[25]!==n?(_=n==="cards"?t.jsx("div",{className:"flex-1 overflow-auto p-5",children:s.length===0?t.jsx("div",{className:"flex items-center justify-center h-full",children:N||t.jsx(Ue,{icon:t.jsx(We,{size:36,className:"text-muted-foreground"}),title:"No items found",description:c?"Try adjusting your search":"No items to display"})}):t.jsx("div",{className:"grid grid-cols-[repeat(auto-fill,minmax(280px,1fr))] gap-4",children:s.map(A=>t.jsx("div",{onClick:()=>T?.(A),className:"cursor-pointer h-full",children:t.jsx(kt,{item:A,schema:l,readOnly:k,actions:h})},A.id))})}):t.jsx(xt,{columns:Yt(j,l,P,h),data:s,sortKey:r,sortDirection:x,onSort:g,onRowClick:T,emptyState:N||t.jsx(Ue,{icon:t.jsx(We,{size:36,className:"text-muted-foreground"}),title:"No items found",description:c?"Try adjusting your search":"No items to display"})}),e[13]=h,e[14]=j,e[15]=s,e[16]=N,e[17]=T,e[18]=g,e[19]=k,e[20]=l,e[21]=c,e[22]=x,e[23]=r,e[24]=P,e[25]=n,e[26]=_):_=e[26];let I;return e[27]!==S||e[28]!==_?(I=t.jsxs("div",{className:"h-full flex flex-col overflow-hidden",children:[S,_]}),e[27]=S,e[28]=_,e[29]=I):I=e[29],I}function Rt(i){return{id:i.id,label:typeof i.header=="string"?i.header:i.id}}function Bt(i){return i.sortable!==!1}function Vt(){}function qt(){}function Gt(i){return{id:"actions",header:"",render:e=>t.jsxs(Ye,{children:[t.jsx(He,{asChild:!0,children:t.jsx(Ce,{variant:"ghost",size:"sm",className:"h-8 w-8 p-0",onClick:s=>s.stopPropagation(),children:t.jsx(Xe,{size:20})})}),t.jsxs(Je,{align:"end",onClick:s=>s.stopPropagation(),children:[i.open&&t.jsxs(O,{onClick:s=>{s.stopPropagation(),i.open?.(e)},children:[t.jsx(tt,{size:16}),"Open"]}),i.edit&&t.jsxs(O,{onClick:s=>{s.stopPropagation(),i.edit?.(e)},children:[t.jsx(et,{size:16}),"Edit"]}),i.duplicate&&t.jsxs(O,{onClick:s=>{s.stopPropagation(),i.duplicate?.(e)},children:[t.jsx(Ze,{size:16}),"Duplicate"]}),i.delete&&t.jsxs(O,{variant:"destructive",onClick:s=>{s.stopPropagation(),i.delete?.(e)},children:[t.jsx(st,{size:16}),"Delete"]})]})]}),cellClassName:"w-[60px]",sortable:!1}}function nt(i){const e=i.type;return Array.isArray(e)?e.every(s=>nt({type:s})):e==="string"||e==="number"||e==="integer"||e==="boolean"||e==="null"}function Qt(i,e){const s=i.properties||{},l=Object.keys(s).filter(o=>{const m=s[o];return m&&nt(m)}),n=Ut(s),c=[],r=new Set;n&&l.includes(n)&&(c.push(n),r.add(n));const p=["title","description","updated_at","updated_by"];for(const o of p)l.includes(o)&&!r.has(o)&&(c.push(o),r.add(o));const d=l.filter(o=>!r.has(o)&&!Re.includes(o)).sort((o,m)=>o.localeCompare(m));for(const o of d)c.push(o),r.add(o);for(const o of Re)l.includes(o)&&!r.has(o)&&(c.push(o),r.add(o));return c.map(o=>{const m=s[o],u=e?e.includes(o):!["id"].includes(o);return o===n?{id:o,header:"",render:f=>{const a=f[o];return t.jsx(Qe,{icon:a,name:f.title,size:"sm",className:"shrink-0 shadow-sm"})},sortable:!1,cellClassName:"w-16 shrink-0",wrap:!0}:o==="description"?{id:o,header:"Description",render:f=>{const a=f[o];return a==null?"—":t.jsx("span",{className:"block truncate max-w-[50ch]",children:String(a)})},sortable:u,cellClassName:"max-w-[50ch]"}:o==="created_by"||o==="updated_by"?{id:o,header:o.charAt(0).toUpperCase()+o.slice(1).replace(/_/g," "),render:f=>{const a=f[o];return a?t.jsx(jt,{id:String(a),size:"xs"}):"—"},sortable:u,cellClassName:"max-w-[250px]"}:m?.format==="date-time"||o.endsWith("_at")?{id:o,header:o.charAt(0).toUpperCase()+o.slice(1).replace(/_/g," "),render:f=>{const a=f[o];return a?t.jsx("span",{className:"block truncate max-w-full",children:new Date(a).toLocaleDateString()}):"—"},sortable:u,cellClassName:"max-w-[200px]"}:{id:o,header:o.charAt(0).toUpperCase()+o.slice(1).replace(/_/g," "),render:f=>{const a=f[o];return a==null?"—":t.jsx("span",{className:"block truncate max-w-full",children:String(a)})},sortable:u,cellClassName:"max-w-[200px]"}})}function Yt(i,e,s,l){const n=i||Qt(e,s);return n.some(p=>p.id==="actions")?n:Object.keys(l).length>0?[...n,Gt(l)]:n}function Ht(i){const e=oe.c(119),{connectionId:s,org:l,activeCollection:n,onItemClick:c}=i,r=n.name,p=n.schema??ft,d=n.hasCreateTool,o=n.hasUpdateTool,m=n.hasDeleteTool,u=Be(),{data:f}=ct.useSession(),a=f?.user?.id||"unknown",v=Tt(s);let y;e[0]!==v||e[1]!==s?(y=v?bt(v):s,e[0]=v,e[1]=s,e[2]=y):y=e[2];const b=y,{org:x}=ze();let g;e[3]!==s||e[4]!==x.id||e[5]!==x.slug?(g={connectionId:s,orgId:x.id,orgSlug:x.slug},e[3]=s,e[4]=x.id,e[5]=x.slug,e[6]=g):g=e[6];const $=Ve(g),h=It(s,r,$),T=`${s}-${r}`;let E;e[7]!==l||e[8]!==T?(E={namespace:l,resource:T,defaultSortKey:"updated_at"},e[7]=l,e[8]=T,e[9]=E):E=e[9];const{search:N,searchTerm:k,setSearch:j,viewMode:z,setViewMode:P,sortKey:D,sortDirection:w,handleSort:S}=Ct(E);let _;e[10]!==k||e[11]!==w||e[12]!==D?(_={searchTerm:k,sortKey:D,sortDirection:w},e[10]=k,e[11]=w,e[12]=D,e[13]=_):_=e[13];const I=At(s,r,$,_),A=!d&&!o&&!m;let ne;e[14]!==b||e[15]!==r||e[16]!==u||e[17]!==c||e[18]!==l?(ne=C=>{if(c){c(C);return}u({to:"/$org/settings/connections/$appSlug/$collectionName/$itemId",params:{org:l,appSlug:b,collectionName:r,itemId:C.id}})},e[14]=b,e[15]=r,e[16]=u,e[17]=c,e[18]=l,e[19]=ne):ne=e[19];const L=ne;let re;e[20]!==h.create||e[21]!==a?(re=async C=>{const xe=new Date().toISOString();await h.create.mutateAsync({...C,id:Me("conn"),title:`${C.title} (Copy)`,created_at:xe,updated_at:xe,created_by:a,updated_by:a})},e[20]=h.create,e[21]=a,e[22]=re):re=e[22];const be=re,[F,ve]=dt.useState(null);let le;e[23]===Symbol.for("react.memo_cache_sentinel")?(le=C=>{ve(C)},e[23]=le):le=e[23];const rt=le;let K;e[24]!==L||e[25]!==o?(K=o&&{edit:L},e[24]=L,e[25]=o,e[26]=K):K=e[26];let M;e[27]!==be||e[28]!==d?(M=d&&{duplicate:be},e[27]=be,e[28]=d,e[29]=M):M=e[29];let U;e[30]!==m?(U=m&&{delete:rt},e[30]=m,e[31]=U):U=e[31];let ae;e[32]!==M||e[33]!==U||e[34]!==K?(ae={...K,...M,...U},e[32]=M,e[33]=U,e[34]=K,e[35]=ae):ae=e[35];const ye=ae;let ce;e[36]!==h.delete||e[37]!==F?(ce=async()=>{F&&(await h.delete.mutateAsync(F.id),ve(null))},e[36]=h.delete,e[37]=F,e[38]=ce):ce=e[38];const Ne=ce;let de;e[39]!==h.create||e[40]!==b||e[41]!==r||e[42]!==d||e[43]!==u||e[44]!==l||e[45]!==a?(de=async()=>{if(!d){Le.error("Create operation is not available for this collection");return}const C=new Date().toISOString(),xe={id:Me("conn"),title:"New Item",description:"A brief description of the item",created_at:C,updated_at:C,created_by:a,updated_by:a};try{const ke=await h.create.mutateAsync(xe);u({to:"/$org/settings/connections/$appSlug/$collectionName/$itemId",params:{org:l,appSlug:b,collectionName:r,itemId:ke.id}})}catch(ke){console.error("Failed to create item:",ke)}},e[39]=h.create,e[40]=b,e[41]=r,e[42]=d,e[43]=u,e[44]=l,e[45]=a,e[46]=de):de=e[46];const we=de;let ue;e[47]!==p?(ue=ot(p),e[47]=p,e[48]=ue):ue=e[48];const Se=ue,lt=(I?.length??0)>0,at=d&&!lt&&!N;let me;e[49]!==h.create||e[50]!==we||e[51]!==d?(me=d?t.jsxs(Ce,{onClick:we,size:"sm",disabled:h.create.isPending,className:"h-7",children:[t.jsx(Et,{className:"mr-2 h-4 w-4"}),h.create.isPending?"Creating...":"Create"]}):null,e[49]=h.create,e[50]=we,e[51]=d,e[52]=me):me=e[52];const pe=me,Pe=D;let W;e[53]!==S||e[54]!==w||e[55]!==Se||e[56]!==Pe?(W=t.jsx(Ot,{children:t.jsx(Ge,{sortKey:Pe,sortDirection:w,onSort:S,sortOptions:Se})}),e[53]=S,e[54]=w,e[55]=Se,e[56]=Pe,e[57]=W):W=e[57];const _e=`Search ${r}...`;let R;e[58]!==j?(R=C=>{C.key==="Escape"&&(j(""),C.target.blur())},e[58]=j,e[59]=R):R=e[59];let B;e[60]!==N||e[61]!==j||e[62]!==_e||e[63]!==R?(B=t.jsx("div",{className:"flex-1",children:t.jsx(ht,{value:N,onChange:j,placeholder:_e,onKeyDown:R})}),e[60]=N,e[61]=j,e[62]=_e,e[63]=R,e[64]=B):B=e[64];let V;e[65]!==pe||e[66]!==d?(V=d&&t.jsx("div",{className:"pr-3",children:pe}),e[65]=pe,e[66]=d,e[67]=V):V=e[67];let q;e[68]!==B||e[69]!==V?(q=t.jsxs("div",{className:"flex items-center gap-2",children:[B,V]}),e[68]=B,e[69]=V,e[70]=q):q=e[70];let G;e[71]!==I?(G=I??[],e[71]=I,e[72]=G):G=e[72];const De=D;let Q;e[73]!==L?(Q=C=>L(C),e[73]=L,e[74]=Q):Q=e[74];const Ie="No items found",Ae=N?"Try adjusting your search terms":"This collection doesn't have any items yet.",Te=at?pe:void 0;let Y;e[75]!==Ie||e[76]!==Ae||e[77]!==Te?(Y=t.jsx(it,{image:null,title:Ie,description:Ae,actions:Te}),e[75]=Ie,e[76]=Ae,e[77]=Te,e[78]=Y):Y=e[78];let H;e[79]!==S||e[80]!==A||e[81]!==ye||e[82]!==p||e[83]!==N||e[84]!==j||e[85]!==P||e[86]!==w||e[87]!==G||e[88]!==De||e[89]!==Q||e[90]!==Y||e[91]!==z?(H=t.jsx("div",{className:"flex-1 overflow-auto",children:t.jsx(Wt,{hideToolbar:!0,data:G,schema:p,viewMode:z,onViewModeChange:P,search:N,onSearchChange:j,sortKey:De,sortDirection:w,onSort:S,actions:ye,onItemClick:Q,readOnly:A,emptyState:Y})}),e[79]=S,e[80]=A,e[81]=ye,e[82]=p,e[83]=N,e[84]=j,e[85]=P,e[86]=w,e[87]=G,e[88]=De,e[89]=Q,e[90]=Y,e[91]=z,e[92]=H):H=e[92];let J;e[93]!==q||e[94]!==H?(J=t.jsxs("div",{className:"flex flex-col h-full overflow-hidden",children:[q,H]}),e[93]=q,e[94]=H,e[95]=J):J=e[95];const Ee=!!F;let fe;e[96]===Symbol.for("react.memo_cache_sentinel")?(fe=C=>{C||ve(null)},e[96]=fe):fe=e[96];let he;e[97]===Symbol.for("react.memo_cache_sentinel")?(he=t.jsx(Nt,{children:"Delete item?"}),e[97]=he):he=e[97];const Oe=F?.title;let Z;e[98]!==Oe?(Z=t.jsxs(wt,{children:[he,t.jsxs(St,{children:['Are you sure you want to delete "',Oe,'"? This action cannot be undone.']})]}),e[98]=Oe,e[99]=Z):Z=e[99];let X;e[100]!==h.delete.isPending?(X=t.jsx(vt,{disabled:h.delete.isPending,children:"Cancel"}),e[100]=h.delete.isPending,e[101]=X):X=e[101];const $e=h.delete.isPending?"Deleting...":"Delete";let ee;e[102]!==h.delete.isPending||e[103]!==Ne||e[104]!==$e?(ee=t.jsx(yt,{onClick:Ne,disabled:h.delete.isPending,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:$e}),e[102]=h.delete.isPending,e[103]=Ne,e[104]=$e,e[105]=ee):ee=e[105];let te;e[106]!==X||e[107]!==ee?(te=t.jsxs(Pt,{children:[X,ee]}),e[106]=X,e[107]=ee,e[108]=te):te=e[108];let se;e[109]!==Z||e[110]!==te?(se=t.jsxs(_t,{children:[Z,te]}),e[109]=Z,e[110]=te,e[111]=se):se=e[111];let ie;e[112]!==Ee||e[113]!==se?(ie=t.jsx(Dt,{open:Ee,onOpenChange:fe,children:se}),e[112]=Ee,e[113]=se,e[114]=ie):ie=e[114];let ge;return e[115]!==W||e[116]!==J||e[117]!==ie?(ge=t.jsxs(t.Fragment,{children:[W,J,ie]}),e[115]=W,e[116]=J,e[117]=ie,e[118]=ge):ge=e[118],ge}function Jt(){const i=oe.c(13),{org:e,project:s}=ze(),l=ut();let n;i[0]!==e.id||i[1]!==e.slug?(n={connectionId:qe,orgId:e.id,orgSlug:e.slug},i[0]=e.id,i[1]=e.slug,i[2]=n):n=i[2];const c=Ve(n);let r;i[3]!==c||i[4]!==s?(r=async m=>{const u=s.enabledPlugins??[];if(u.includes(m))return;const f=[...u,m],a=await c.callTool({name:"COLLECTION_VIRTUAL_MCP_UPDATE",arguments:{id:s.id,data:{metadata:{enabled_plugins:f}}}});return a.structuredContent??a},i[3]=c,i[4]=s,i[5]=r):r=i[5];let p;i[6]!==e.id||i[7]!==s||i[8]!==l?(p=()=>{l.invalidateQueries({queryKey:Fe.project(e.id,s.slug)}),l.invalidateQueries({queryKey:Fe.projects(e.id)})},i[6]=e.id,i[7]=s,i[8]=l,i[9]=p):p=i[9];let d;return i[10]!==r||i[11]!==p?(d={mutationFn:r,onSuccess:p,onError:Zt},i[10]=r,i[11]=p,i[12]=d):d=i[12],mt(d)}function Zt(i){Le.error("Failed to enable plugin: "+(i instanceof Error?i.message:"Unknown error"))}function Xt(i){const e=oe.c(12),{pluginId:s,title:l,description:n,icon:c}=i,r=Jt();let p;e[0]!==r||e[1]!==s?(p=async()=>{try{await r.mutateAsync(s),Le.success("Plugin enabled!")}catch{}},e[0]=r,e[1]=s,e[2]=p):p=e[2];const d=p,o=c??null,m=r.isPending?"Enabling…":"Enable plugin";let u;e[3]!==r.isPending||e[4]!==d||e[5]!==m?(u=t.jsx(Ce,{onClick:d,disabled:r.isPending,children:m}),e[3]=r.isPending,e[4]=d,e[5]=m,e[6]=u):u=e[6];let f;return e[7]!==n||e[8]!==o||e[9]!==u||e[10]!==l?(f=t.jsx(it,{image:o,title:l,description:n,actions:u}),e[7]=n,e[8]=o,e[9]=u,e[10]=l,e[11]=f):f=e[11],f}const es={name:"WORKFLOW",displayName:"Workflow",hasCreateTool:!0,hasUpdateTool:!0,hasDeleteTool:!0};function ai(){const{project:i,org:e}=ze();if(!(i.enabledPlugins??[]).includes(Ke))return t.jsx(je,{children:t.jsx(je.Content,{children:t.jsx("div",{className:"flex flex-col items-center justify-center h-full",children:t.jsx(Xt,{pluginId:Ke,title:"Enable Workflows",description:"Automate multi-step processes by enabling the Workflows plugin. Once enabled you can create, run, and monitor workflows.",icon:t.jsx("div",{className:"bg-muted p-4 rounded-full",children:t.jsx(pt,{className:"size-8 text-muted-foreground"})})})})})});const n=Be();return t.jsx(je,{children:t.jsx(je.Content,{children:t.jsx(Ht,{connectionId:qe,org:e.slug,activeCollection:es,onItemClick:c=>n({to:"/$org/settings/workflows/$itemId",params:{org:e.slug,itemId:c.id}})})})})}export{ai as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{e as s,g as l,j as o,l as a,E as n,r as c}from"./index-dmkCn37I.js";import{a as f}from"./index-BTxYkYBr.js";import"./index-BK7vZkwz.js";import"./constants-fVwC9Czh.js";import"./collections-CreMYLs8.js";import"./index-DTLkaJxe.js";import"./use-virtual-mcp-BVVlTr3L.js";import"./use-collections-XDqst4E_.js";import"./monaco-editor-eJWlN-2G.js";import"./spinner-CsMegR0e.js";import"./accordion-CNGIXlRh.js";import"./agent-icon-CDOpQPVP.js";import"./AlertCircle-D7In04VZ.js";import"./Tool01-DUGZCBMz.js";import"./Archive-DaxWSUle.js";import"./XClose-DwaprZxL.js";import"./RefreshCcw01-CeTSzQsT.js";import"./ArrowNarrowLeft-I0Rr4fru.js";import"./XCircle-B14ynTvz.js";import"./ArrowUpRight-Cl4DoJ1w.js";import"./ZapSquare-DgAVTy7i.js";import"./Users03-B0r4bSLn.js";import"./CheckCircle-ByasFo1p.js";import"./Check-nv67ec3-.js";import"./ChevronDown-Brvsr3Fl.js";import"./ChevronRight-PLlU1t0W.js";import"./ChevronUp-VDqvRLBN.js";import"./DotsVertical-DSgmYETN.js";import"./Container-DTioRpeZ.js";import"./Star01-_us4XpQn.js";import"./Palette-DGf3gs0h.js";import"./SearchMd-Bo6RzH5Q.js";import"./LayoutLeft-CG8cspKX.js";import"./LinkExternal01-FKIQuNsM.js";import"./Lock01-XwPtPsiy.js";import"./Sun-Zv-PWUwn.js";import"./Play-BUgAN2i6.js";import"./Plus-Bk1OvOXE.js";import"./Settings02-uL3uu5-7.js";import"./Shield01-OH6-JWjw.js";import"./Trash01-AR9qKMZU.js";import"./User01-3xBsy6wV.js";import"./X-DDQYEU6o.js";import"./Zap-EburzyyI.js";import"./index-CB6J7z90.js";import"./badge-D0TDvkU5.js";import"./select-BjC54T39.js";import"./tooltip-DHpEGVi8.js";import"./view-mode-toggle-CY3mqueQ.js";import"./layout-BamLP3Zj.js";import"./index-CHYuwbgr.js";import"./sidebar-sY4KII-w.js";import"./use-connection-BCPpnVMX.js";import"./use-mcp-tools-a-ZvbrGo.js";import"./dialog-qtKrSwKA.js";import"./index-KBbmKsy_.js";import"./dropdown-menu-BnaZE7Qd.js";import"./integration-icon-PH7vkQ9v.js";import"./scroll-area-xE7hc-8l.js";import"./index-jo98Roqy.js";import"./empty-state-Bd4cGUaH.js";import"./create-sse-subscription-CxkOgzKf.js";import"./input-C0h7cNmt.js";function yt(){const t=s.c(4);let r;t[0]===Symbol.for("react.memo_cache_sentinel")?(r={from:"/shell/$org/settings/workflows/$itemId"},t[0]=r):r=t[0];const{itemId:e}=l(r);let i;t[1]===Symbol.for("react.memo_cache_sentinel")?(i=o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(a,{size:32,className:"animate-spin text-muted-foreground"})}),t[1]=i):i=t[1];const p=decodeURIComponent(e);let m;return t[2]!==p?(m=o.jsx(n,{children:o.jsx(c.Suspense,{fallback:i,children:o.jsx(f,{itemId:p})})}),t[2]=p,t[3]=m):m=t[3],m}export{yt as default};
|
package/dist/client/index.html
CHANGED
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
|
|
28
28
|
<link rel="manifest" href="/manifest.webmanifest" />
|
|
29
29
|
<meta name="theme-color" content="#D0EC1A" />
|
|
30
|
-
<script type="module" crossorigin src="/assets/index-
|
|
30
|
+
<script type="module" crossorigin src="/assets/index-dmkCn37I.js"></script>
|
|
31
31
|
<link rel="stylesheet" crossorigin href="/assets/index-DtJ8d1aI.css">
|
|
32
32
|
</head>
|
|
33
33
|
<body>
|
package/dist/server/cli.js
CHANGED
|
@@ -1643,7 +1643,7 @@ AS SELECT
|
|
|
1643
1643
|
FROM monitoring_metrics
|
|
1644
1644
|
GROUP BY organization_id, name, bucket, connection_id, tool_name, status
|
|
1645
1645
|
`}),console.log("[clickhouse-schema] monitoring_metrics_rollup_1m_mv view ready")}finally{await G.close()}}catch(Y){console.error("[clickhouse-schema] Failed to create rollup DDL (queries will fall back to raw table):",Y)}}async function tA1(X){let Y={...process.env},G=GK1(X,Y),Q=G.settings.encryptionKey;console.log(`[settings] ENCRYPTION_KEY = ${JSON.stringify(Q)} (${Q.length} chars)`);let{ensureServices:J}=await Promise.resolve().then(() => (c$1(),d$1)),{outputs:W,services:Z}=await J({home:G.settings.dataDir,externalDatabaseUrl:G.externalDatabaseUrl,externalNatsUrl:G.externalNatsUrl});if(!G.skipMigrations){let{migrateBetterAuth:K}=await Promise.resolve().then(() => (HW0(),Tg4));await K(W.databaseUrl);let{createDatabase:H}=await Promise.resolve().then(() => (ZU(),Ag4)),{migrateToLatest:U}=await Promise.resolve().then(() => (gs4(),hs4)),B=H(W.databaseUrl);await U({keepOpen:!0,database:B,skipBetterAuth:!0})}if(G.settings.clickhouseUrl){let{ensureClickHouseRollup:K}=await Promise.resolve().then(() => u16);await K(G.settings.clickhouseUrl)}let $={...G.settings,databaseUrl:W.databaseUrl,natsUrls:W.natsUrls};return it1($),{settings:$,services:Z.map((K)=>({name:K.name==="PostgreSQL"?"Postgres":K.name,port:K.port})),managedServiceNames:Z.filter((K)=>K.owner==="managed").map((K)=>K.name)}}var mz0=w(()=>{ct1();m9()});var oA1={};A0(oA1,{updateService:()=>Wa,toggleViewMode:()=>cz0,toggleVibeState:()=>pz0,toggleLogFlow:()=>iz0,subscribeCliState:()=>hX1,setVibe:()=>ta5,setTuiConsoleIntercepted:()=>aA1,setServerUrl:()=>uX1,setMigrationsDone:()=>gX1,setEnv:()=>lX1,setDevMode:()=>pa5,setDataDir:()=>na5,isTuiConsoleIntercepted:()=>rA1,getCliState:()=>xX1,addLogEntry:()=>$N});function TU(){for(let X of dz0)X()}function xX1(){return Y7}function hX1(X){return dz0.add(X),()=>dz0.delete(X)}function Wa(X){Y7={...Y7,services:Y7.services.map((Y)=>Y.name===X.name?X:Y)},TU()}function gX1(){Y7={...Y7,migrationsStatus:"done"},TU()}function uX1(X){Y7={...Y7,serverUrl:X},TU()}function lX1(X){Y7={...Y7,env:X},TU()}function $N(X){let Y=[...Y7.logs,X];Y7={...Y7,logs:Y.length>500?Y.slice(-500):Y},TU()}function pa5(){Y7={...Y7,services:[...Y7.services,{name:"Vite",status:"pending",port:0}]},TU()}function cz0(){Y7={...Y7,viewMode:Y7.viewMode==="requests"?"config":"requests"},TU()}function iz0(){Y7={...Y7,logFlow:!Y7.logFlow},TU()}function na5(X){Y7={...Y7,dataDir:X},TU()}function ta5(X){Y7={...Y7,vibe:X},TU()}function pz0(){Y7={...Y7,vibe:!Y7.vibe},TU()}function aA1(X){l16=X}function rA1(){return l16}var Y7,dz0,l16=!1;var KN=w(()=>{Y7={services:[{name:"Postgres",status:"pending",port:0},{name:"NATS",status:"pending",port:0}],migrationsStatus:"pending",serverUrl:null,env:null,logs:[],viewMode:"requests",logFlow:!1,vibe:!1,dataDir:null},dz0=new Set});import{createServer as m16}from"net";function aa5(X){return new Promise((Y)=>{let G=m16();G.once("error",()=>Y(!1)),G.listen(X,"0.0.0.0",()=>{G.close(()=>Y(!0))})})}async function sA1(X){if(await aa5(X))return X;let Y=await new Promise((G,Q)=>{let J=m16();J.once("error",Q),J.listen(0,"0.0.0.0",()=>{let W=J.address(),Z=typeof W==="object"&&W?W.port:0;J.close(()=>G(Z))})});return console.warn(`Port ${X} is in use, using port ${Y} instead.`),Y}var nz0=()=>{};var tz0={};A0(tz0,{startDevServer:()=>oa5});import{join as ra5}from"path";function d16(X){return X.replace(/\x1b\[[0-9;]*m/g,"")}function c16(X){let Y=X.getReader(),G=new TextDecoder,Q="";function J(){let W=Q.split(`
|
|
1646
|
-
`);Q=W.pop()??"";for(let Z of W){let $=d16(Z).replace(/^\[\d+\]\s*/,"").trim();if(!$)continue;$N({method:"",path:"",status:0,duration:0,timestamp:new Date,rawLine:$})}}(async()=>{for(;;){let{done:W,value:Z}=await Y.read();if(W)break;Q+=G.decode(Z,{stream:!0}),J()}if(Q.trim()){let W=d16(Q).replace(/^\[\d+\]\s*/,"").trim();if(W)$N({method:"",path:"",status:0,duration:0,timestamp:new Date,rawLine:W})}})()}async function oa5(X){let{vitePort:Y,baseUrl:G,noTui:Q}=X,J=await sA1(Number(X.port)),{settings:W,services:Z,managedServiceNames:$}=await tA1({port:String(J),home:X.home,baseUrl:X.baseUrl,localMode:X.localMode,skipMigrations:X.skipMigrations,noTui:X.noTui,vitePort:X.vitePort});for(let N of Z)Wa({name:N.name,status:"ready",port:N.port});lX1(W),gX1();let K=ra5(import.meta.dir,"..","..","..","..",".."),H=Q===!0,U=Bun.spawn(["bun","run","--cwd=apps/mesh","dev:servers"],{cwd:K,env:{...process.env,PORT:String(W.port),VITE_PORT:String(Y),DATABASE_URL:W.databaseUrl,NATS_URL:W.natsUrls.join(","),NODE_ENV:W.nodeEnv,DECOCMS_LOCAL_MODE:String(W.localMode),DECOCMS_HOME:W.dataDir,DATA_DIR:W.dataDir,DECO_CLI:"1",...W.baseUrl?{BASE_URL:W.baseUrl}:{}},stdio:["inherit",H?"inherit":"pipe",H?"inherit":"pipe"]});if(!H)c16(U.stdout),c16(U.stderr);let B=G||`http://localhost:${W.port}`;uX1(B),Wa({name:"Vite",status:"ready",port:Number(Y)});let z=async(N)=>{if(U.kill(N),$.length>0){let{stopServices:O}=await Promise.resolve().then(() => (c$1(),d$1));await O(W.dataDir)}};return process.on("SIGINT",()=>z("SIGINT")),process.on("SIGTERM",()=>z("SIGTERM")),{port:Number(W.port),process:U}}var az0=w(()=>{mz0();KN();nz0()});import{Box as rz0,Text as oz0}from"ink";import{jsx as p16,jsxs as eA1}from"react/jsx-runtime";function i16(X){if(!X)return"not set";try{let Y=new URL(X);if(Y.password)Y.password="***";if(Y.username&&Y.username.length>3)Y.username=Y.username.slice(0,3)+"***";return Y.pathname="/",Y.search="",Y.hash="",Y.toString()}catch{if(X.length<=10)return X;return X.slice(0,6)+"***"+X.slice(-4)}}function Xr5(X,Y){if(sa5.has(X))return Y?{text:"\u25CF\u25CF\u25CF\u25CF\u25CF\u25CF",dimColor:!0}:{text:"not set",dimColor:!0};if(ea5.has(X)){if(Array.isArray(Y)){if(Y.length===0)return{text:"not set",dimColor:!0};return{text:Y.map((W)=>i16(W)).join(", "),color:"cyan"}}let Q=i16(Y);return Q==="not set"?{text:Q,dimColor:!0}:{text:Q,color:"cyan"}}if(Y===void 0||Y===null||Y==="")return{text:"not set",dimColor:!0};let G=String(Y);if(G==="true")return{text:G,color:"green"};if(G==="false")return{text:G,color:"yellow"};try{return new URL(G),{text:G,color:"cyan"}}catch{return{text:G}}}function Yr5(X){return[{title:"Core",entries:[{key:"NODE_ENV",value:X.nodeEnv},{key:"PORT",value:X.port},{key:"BASE_URL",value:X.baseUrl??`http://localhost:${X.port}`},{key:"DATA_DIR",value:X.dataDir}]},{title:"Database",entries:[{key:"DATABASE_URL",value:X.databaseUrl},{key:"DATABASE_PG_SSL",value:X.databasePgSsl}]},{title:"Auth & Secrets",entries:[{key:"BETTER_AUTH_SECRET",value:X.betterAuthSecret},{key:"ENCRYPTION_KEY",value:X.encryptionKey},{key:"MESH_JWT_SECRET",value:X.meshJwtSecret},{key:"STUDIO_PROVISION_SECRET_KEY",value:X.studioProvisionSecretKey},{key:"DISABLE_RATE_LIMIT",value:X.disableRateLimit}]},{title:"Auth Providers",entries:[{key:"AUTH_EMAIL_PASSWORD_ENABLED",value:process.env.AUTH_EMAIL_PASSWORD_ENABLED??"true"},{key:"AUTH_GOOGLE_CLIENT_ID",value:!!process.env.AUTH_GOOGLE_CLIENT_ID},{key:"AUTH_GITHUB_CLIENT_ID",value:!!process.env.AUTH_GITHUB_CLIENT_ID},{key:"AUTH_RESEND_API_KEY",value:!!process.env.AUTH_RESEND_API_KEY},{key:"AUTH_SENDGRID_API_KEY",value:!!process.env.AUTH_SENDGRID_API_KEY},{key:"AUTH_SSO_MS_CLIENT_ID",value:!!process.env.AUTH_SSO_MS_CLIENT_ID},{key:"AUTH_SSO_GOOGLE_CLIENT_ID",value:!!process.env.AUTH_SSO_GOOGLE_CLIENT_ID},{key:"AUTH_MAGIC_LINK_ENABLED",value:process.env.AUTH_MAGIC_LINK_ENABLED==="true"},{key:"AUTH_EMAIL_OTP_ENABLED",value:process.env.AUTH_EMAIL_OTP_ENABLED==="true"}]},{title:"Observability",entries:[{key:"CLICKHOUSE_URL",value:X.clickhouseUrl},{key:"OTEL_SERVICE_NAME",value:X.otelServiceName}]},{title:"Event Bus & Networking",entries:[{key:"NATS_URL",value:X.natsUrls}]},{title:"Config Files",entries:[{key:"CONFIG_PATH",value:X.configPath}]},{title:"AI Gateway",entries:[{key:"DECO_AI_GATEWAY_ENABLED",value:X.aiGatewayEnabled},{key:"DECO_AI_GATEWAY_URL",value:X.aiGatewayUrl}]}]}function n16({env:X}){let Y=Yr5(X);return p16(rz0,{flexDirection:"column",children:Y.map((G)=>eA1(rz0,{flexDirection:"column",marginTop:1,children:[eA1(oz0,{dimColor:!0,children:[" ","\u2500\u2500 ",G.title," ","\u2500".repeat(Math.max(0,38-G.title.length))]}),G.entries.map(({key:Q,value:J})=>{let W=Xr5(Q,J);return eA1(rz0,{children:[eA1(oz0,{dimColor:!0,children:[" ",Q.padEnd(36)]}),p16(oz0,{color:W.color,dimColor:W.dimColor,children:W.text})]},Q)})]},G.title))})}var sa5,ea5;var t16=w(()=>{sa5=new Set(["BETTER_AUTH_SECRET","ENCRYPTION_KEY","MESH_JWT_SECRET","STUDIO_PROVISION_SECRET_KEY"]),ea5=new Set(["DATABASE_URL","CLICKHOUSE_URL","NATS_URL"])});var sz0;var a16=w(()=>{sz0={name:"decocms",version:"2.317.0",description:"Deco CMS \u2014 Self-hostable MCP Gateway for managing AI connections and tools",author:"Deco team",repository:{type:"git",url:"git+https://github.com/decocms/studio.git",directory:"apps/mesh"},bugs:{url:"https://github.com/decocms/studio/issues"},type:"module",bin:{deco:"./dist/server/cli.js"},files:["dist/**/*"],scripts:{dev:'bun run migrate && concurrently "bun run dev:client" "bun run dev:server"',"dev:servers":'concurrently "bun run dev:client" "bun run dev:server"',"dev:client":"bun --bun vite dev","dev:server":"bun run --cwd=../../packages/sandbox build && NODE_ENV=development bun --env-file=.env --hot run src/index.ts","build:client":"bun --bun vite build","build:server":"bun run scripts/bundle-server-script.ts --dist ./dist/server","db:migrate":"bun run ./dist/server/migrate.js",check:"tsc --noEmit",start:"bun run ./dist/server/server.js",migrate:"bun run src/database/migrate.ts",test:"bun test","test:e2e":"playwright test","test:e2e:ui":"playwright test --ui","better-auth:migrate":"bunx --bun @better-auth/cli migrate -y --config src/auth/index.ts",prepublishOnly:"bun run build:client && bun run build:server"},optionalDependencies:{"@duckdb/node-api":"^1.5.0-r.1","@freestyle-sh/with-bun":"^0.2.12","@freestyle-sh/with-deno":"^0.0.4","@freestyle-sh/with-nodejs":"^0.2.9","freestyle-sandboxes":"^0.1.46"},dependencies:{"@ai-sdk/anthropic":"^3.0.58","@ai-sdk/google":"^3.0.60","@ai-sdk/openai":"^3.0.50","@anthropic-ai/sdk":"^0.79.0","@aws-sdk/client-s3":"^3.1013.0","@aws-sdk/s3-request-presigner":"^3.1013.0","@clickhouse/client":"^1.8.1","@deco-cx/warp-node":"^0.3.20","@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","@dnd-kit/utilities":"^3.2.2","@inkjs/ui":"^2.0.0","@modelcontextprotocol/ext-apps":"^1.2.2","@openrouter/ai-sdk-provider":"^2.2.5","@opentelemetry/core":"^2.6.0","@tanstack/react-virtual":"^3.13.21","@xterm/addon-fit":"^0.11.0","@xterm/xterm":"^6.0.0","ai-sdk-provider-claude-code":"^3.4.4","ai-sdk-provider-codex-cli":"^1.1.0","embedded-postgres":"^18.3.0-beta.16",ink:"^6.8.0",kysely:"^0.28.12",nats:"^2.29.3","node-pty":"^1.0.0","posthog-js":"^1.371.1","posthog-node":"^5.0.0",react:"^19.2.0","react-dom":"^19.2.0"},devDependencies:{"@ai-sdk/provider":"^3.0.8","@ai-sdk/react":"^3.0.118","@anthropic-ai/claude-agent-sdk":"^0.2.80","@better-auth/sso":"1.4.1","@daveyplate/better-auth-ui":"^3.2.7","@deco/ui":"workspace:*","@decocms/better-auth":"1.5.17","@decocms/bindings":"workspace:*","@decocms/mcp-utils":"workspace:*","@decocms/mesh-sdk":"workspace:*","@decocms/runtime":"workspace:*","@decocms/vite-plugin":"workspace:*","@electric-sql/pglite":"^0.3.15","@floating-ui/react":"^0.27.16","@hookform/resolvers":"^5.2.2","@jitl/quickjs-wasmfile-release-sync":"0.31.0","@modelcontextprotocol/sdk":"1.27.1","@monaco-editor/react":"^4.7.0","@opentelemetry/api":"^1.9.0","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/exporter-logs-otlp-proto":"^0.211.0","@opentelemetry/exporter-prometheus":"^0.208.0","@opentelemetry/exporter-trace-otlp-proto":"^0.207.0","@opentelemetry/instrumentation-runtime-node":"^0.24.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-metrics":"^2.2.0","@opentelemetry/sdk-node":"^0.207.0","@opentelemetry/sdk-trace-base":"^2.5.0","@playwright/test":"^1.58.2","@radix-ui/react-avatar":"^1.1.10","@radix-ui/react-checkbox":"^1.3.3","@radix-ui/react-dialog":"^1.1.15","@radix-ui/react-dropdown-menu":"^2.1.16","@radix-ui/react-label":"^2.1.7","@radix-ui/react-select":"^2.2.6","@radix-ui/react-separator":"^1.1.7","@radix-ui/react-slot":"^1.2.3","@radix-ui/react-tabs":"^1.1.13","@rjsf/core":"^6.1.2","@rjsf/shadcn":"^6.1.2","@rjsf/utils":"^6.1.2","@rjsf/validator-ajv8":"^6.1.2","@tailwindcss/vite":"^4.1.17","@tanstack/react-query":"5.90.11","@tanstack/react-router":"^1.139.7","@tiptap/core":"3.20.2","@tiptap/extension-mention":"3.20.2","@tiptap/extension-placeholder":"3.20.2","@tiptap/pm":"3.20.2","@tiptap/react":"3.20.2","@tiptap/starter-kit":"3.20.2","@tiptap/suggestion":"3.20.2","@types/bun":"^1.3.1","@types/pg":"^8.15.6","@types/react-syntax-highlighter":"^15.5.13","@untitledui/icons":"^0.0.19","@vercel/nft":"^1.1.1","@vitejs/plugin-react":"^5.1.0",ai:"^6.0.116","babel-plugin-react-compiler":"^1.0.0","better-auth":"1.4.5","class-variance-authority":"^0.7.1",clsx:"^2.1.1",concurrently:"^9.2.1",croner:"^9.1.0","date-fns":"^4.1.0",degit:"^2.8.4",hono:"^4.10.7","input-otp":"^1.4.2",jose:"^6.0.11","kysely-pglite":"^0.6.1","lucide-react":"^0.468.0",marked:"^15.0.6","@decocms/sandbox":"workspace:*","mesh-plugin-workflows":"workspace:*",nanoid:"^5.1.6",pg:"^8.16.3",prettier:"^3.4.2","react-hook-form":"^7.66.0","react-markdown":"^10.1.0","react-resizable-panels":"^2.1.7","react-syntax-highlighter":"^15.6.1",recharts:"^3.6.0","rehype-raw":"^7.0.0","remark-gfm":"^4.0.0","sass-embedded":"^1.97.2",sonner:"^2.0.7","tailwind-merge":"^3.3.1",tailwindcss:"^4.1.17",typescript:"^5.9.3",vite:"^7.2.1","vite-tsconfig-paths":"^5.1.4",zod:"^4.0.0",zustand:"^5.0.9"},homepage:"https://github.com/decocms/studio",keywords:["mcp","model-context-protocol","ai","gateway","self-hosted","mesh","tools"],license:"MIT",publishConfig:{access:"public"}}});import{Box as IU,Text as RX}from"ink";import{Spinner as Qr5}from"@inkjs/ui";import{useSyncExternalStore as r16}from"react";import{jsx as TY,jsxs as oQ}from"react/jsx-runtime";function Kr5(X,Y){if(!X||!$r5.has(X))return X;let G=ez0[Y]??ez0[ez0.length-1];return X==="#875f00"?G[0]:G[1]}function o16({status:X}){if(X==="pending")return TY(Qr5,{label:""});return TY(RX,{color:"green",children:"\u2713"})}function s16({services:X,migrationsStatus:Y,home:G,serverUrl:Q,vibe:J}){let W=r16($d0,Wd0),Z=r16(zd0,Bd0);return oQ(IU,{flexDirection:"column",paddingBottom:1,children:[J?oQ(IU,{flexDirection:"column",children:[W.map(($,K)=>{let H=Z[K],U=$.reduce((z,N)=>z+N.text.length,0),B=Math.max(0,Wr5-U);return oQ(IU,{flexDirection:"row",children:[$.map((z,N)=>{let O=Kr5(z.color,K);return O?TY(RX,{color:O,children:z.text},N):TY(RX,{children:z.text},N)}),TY(RX,{children:" ".repeat(B+2)}),H?.map((z,N)=>z.color?TY(RX,{color:z.color,children:z.char},N):TY(RX,{children:z.char},N))]},K)}),oQ(RX,{dimColor:!0,children:[" v",sz0.version]})]}):oQ(IU,{flexDirection:"column",marginTop:1,children:[Jr5.map(($,K)=>TY(RX,{color:Zr5[K],children:$},K)),oQ(RX,{dimColor:!0,children:[" v",sz0.version]})]}),TY(IU,{marginBottom:1,children:TY(RX,{dimColor:!0,children:"\u2500".repeat(80)})}),TY(IU,{children:oQ(RX,{dimColor:!0,children:["Home: ",G]})}),oQ(IU,{gap:2,children:[X.map(($)=>oQ(IU,{gap:1,children:[oQ(RX,{children:[$.name," :",$.port||"...."]}),TY(o16,{status:$.status})]},$.name)),oQ(IU,{gap:1,children:[TY(RX,{children:"Migrations"}),TY(o16,{status:Y})]})]}),TY(IU,{children:Q?oQ(RX,{children:["Open in browser: ",TY(RX,{color:"cyan",children:Q})]}):TY(RX,{dimColor:!0,children:"Starting..."})}),oQ(IU,{gap:2,children:[oQ(RX,{dimColor:!0,children:[TY(RX,{bold:!0,dimColor:!0,children:"K"})," ","toggle config"]}),oQ(RX,{dimColor:!0,children:[TY(RX,{bold:!0,dimColor:!0,children:"L"})," ","toggle log flow"]}),oQ(RX,{dimColor:!0,children:[TY(RX,{bold:!0,dimColor:!0,children:"V"})," ","toggle vibe ",J?"\u266A Nihilore \xB7 CC BY 4.0":""]}),J&&oQ(RX,{dimColor:!0,children:[TY(RX,{bold:!0,dimColor:!0,children:"N"})," ","skip song"]})]})]})}var Jr5,Zr5,ez0,Wr5=30,$r5;var e16=w(()=>{a16();_t1();gt1();Jr5=[" \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588 ","\u2591\u2591\u2588\u2588\u2588\u2591\u2591\u2591\u2591\u2588\u2588\u2588 \u2591\u2591\u2588\u2588\u2588\u2591\u2591\u2591\u2591\u2591\u2588 \u2588\u2588\u2588\u2591\u2591\u2591\u2591\u2591\u2588\u2588\u2588 \u2588\u2588\u2588\u2591\u2591\u2591\u2591\u2591\u2588\u2588\u2588 "," \u2591\u2588\u2588\u2588 \u2591\u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2588 \u2591 \u2588\u2588\u2588 \u2591\u2591\u2591 \u2588\u2588\u2588 \u2591\u2591\u2588\u2588\u2588"," \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588"," \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588\u2591\u2591\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588"," \u2591\u2588\u2588\u2588 \u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591 \u2588\u2591\u2591\u2588\u2588\u2588 \u2588\u2588\u2588\u2591\u2591\u2588\u2588\u2588 \u2588\u2588\u2588 "," \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2591\u2591\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2591\u2591\u2591\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2591 ","\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591 \u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591 \u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591 \u2591\u2591\u2591\u2591\u2591\u2591\u2591 "],Zr5=["#00ff64","#00ee5e","#00dc56","#00c84e","#00b444","#00a03c","#008832","#006e28"],ez0=[["#00ff64","#00cc50"],["#00f060","#00c04c"],["#00e05c","#00b448"],["#00d058","#00a844"],["#00c054","#009c40"],["#00b050","#00903c"],["#00a04c","#008438"],["#009048","#007834"],["#008044","#006c30"],["#007040","#00602c"],["#00603c","#005428"]],$r5=new Set(["#875f00","#5f3800"])});import{useSyncExternalStore as Hr5}from"react";function Fr5(){let X=process.stdout.rows||24,Y=process.stdout.columns||80;if(X!==XT1.rows||Y!==XT1.columns)XT1={rows:X,columns:Y};return XT1}function Ur5(X){return process.stdout.on("resize",X),()=>{process.stdout.off("resize",X)}}function X06(){return Hr5(Ur5,Fr5)}var XT1;var Y06=w(()=>{XT1={rows:process.stdout.rows||24,columns:process.stdout.columns||80}});import{Box as Br5,Text as mX1}from"ink";import{useSyncExternalStore as zr5}from"react";import{jsx as XN0,jsxs as YN0}from"react/jsx-runtime";function Nr5(X){if(X>=500)return"red";if(X>=400)return"yellow";if(X>=300)return"cyan";return"green"}function G06({logs:X,headerHeight:Y}){let{rows:G}=X06(),{logFlow:Q}=zr5(hX1,xX1),J=Math.max(1,G-Y-1),W=Q?X:X.slice(-J);return XN0(Br5,{flexDirection:"column",children:W.map((Z,$)=>{if(Z.rawLine)return XN0(mX1,{dimColor:!0,children:Z.rawLine},$);let K=Z.duration<1000?`${Z.duration}ms`:`${(Z.duration/1000).toFixed(1)}s`;return YN0(mX1,{children:[YN0(mX1,{dimColor:!0,children:[Z.method.padEnd(6)," ",Z.path.padEnd(30)," "]}),XN0(mX1,{color:Nr5(Z.status),children:Z.status}),YN0(mX1,{dimColor:!0,children:[" ",K.padStart(8)]})]},$)})})}var Q06=w(()=>{KN();Y06()});var GN0={};A0(GN0,{App:()=>qr5});import{Box as Or5,Text as Dr5,useInput as wr5}from"ink";import{useSyncExternalStore as Lr5}from"react";import{jsx as YT1,jsxs as Ar5}from"react/jsx-runtime";function qr5({home:X}){let Y=Lr5(hX1,xX1);return wr5((G)=>{if(G==="k"||G==="K")cz0();if(G==="l"||G==="L")iz0();if((G==="v"||G==="V")&&Y.dataDir)dt1(Y.dataDir),pz0();if((G==="n"||G==="N")&&Y.vibe)mt1()}),Ar5(Or5,{flexDirection:"column",children:[YT1(s16,{services:Y.services,migrationsStatus:Y.migrationsStatus,home:X,serverUrl:Y.serverUrl,vibe:Y.vibe}),Y.viewMode==="config"?Y.env?YT1(n16,{env:Y.env}):YT1(Dr5,{dimColor:!0,children:"Loading configuration..."}):YT1(G06,{logs:Y.logs,headerHeight:Y.vibe?Pr5:Er5})]})}var Er5=15,Pr5=19;var QN0=w(()=>{t16();e16();Q06();KN();hd()});function J06(X,Y={}){return{PORT:String(X.port),NODE_ENV:X.nodeEnv,BASE_URL:X.baseUrl,DATA_DIR:X.dataDir,DECOCMS_HOME:X.dataDir,DATABASE_URL:X.databaseUrl,DATABASE_PG_SSL:String(X.databasePgSsl),DATABASE_POOL_MAX:String(X.databasePoolMax),NATS_URL:X.natsUrls.join(","),BETTER_AUTH_SECRET:X.betterAuthSecret,ENCRYPTION_KEY:X.encryptionKey,MESH_JWT_SECRET:X.meshJwtSecret,DECOCMS_LOCAL_MODE:String(X.localMode),DISABLE_RATE_LIMIT:String(X.disableRateLimit),STUDIO_PROVISION_SECRET_KEY:X.studioProvisionSecretKey,CONFIG_PATH:X.configPath,...Object.fromEntries(Object.entries(process.env).filter(([G])=>G.startsWith("AUTH_"))),DECO_AI_GATEWAY_ENABLED:String(X.aiGatewayEnabled),DECO_AI_GATEWAY_URL:X.aiGatewayUrl,ENABLE_DECO_IMPORT:String(X.enableDecoImport),S3_ENDPOINT:X.s3Endpoint,S3_BUCKET:X.s3Bucket,S3_REGION:X.s3Region,S3_ACCESS_KEY_ID:X.s3AccessKeyId,S3_SECRET_ACCESS_KEY:X.s3SecretAccessKey,S3_FORCE_PATH_STYLE:String(X.s3ForcePathStyle),OTEL_SERVICE_NAME:X.otelServiceName,CLICKHOUSE_URL:X.clickhouseUrl,OTEL_EXPORTER_OTLP_ENDPOINT:process.env.OTEL_EXPORTER_OTLP_ENDPOINT,OTEL_EXPORTER_OTLP_PROTOCOL:process.env.OTEL_EXPORTER_OTLP_PROTOCOL,OTEL_RESOURCE_ATTRIBUTES:process.env.OTEL_RESOURCE_ATTRIBUTES,DECO_SUPABASE_URL:X.decoSupabaseUrl,DECO_SUPABASE_SERVICE_KEY:X.decoSupabaseServiceKey,FIRECRAWL_API_KEY:X.firecrawlApiKey,STUDIO_SANDBOX_RUNNER:process.env.STUDIO_SANDBOX_RUNNER,STUDIO_SANDBOX_TEMPLATE_NAME:process.env.STUDIO_SANDBOX_TEMPLATE_NAME,STUDIO_ENV:process.env.STUDIO_ENV,STUDIO_SANDBOX_PREVIEW_URL_PATTERN:process.env.STUDIO_SANDBOX_PREVIEW_URL_PATTERN,STUDIO_SANDBOX_PREVIEW_GATEWAY_NAME:process.env.STUDIO_SANDBOX_PREVIEW_GATEWAY_NAME,STUDIO_SANDBOX_PREVIEW_GATEWAY_NAMESPACE:process.env.STUDIO_SANDBOX_PREVIEW_GATEWAY_NAMESPACE,STUDIO_SANDBOX_SENTINEL_TOKEN:process.env.STUDIO_SANDBOX_SENTINEL_TOKEN,KUBERNETES_SERVICE_HOST:process.env.KUBERNETES_SERVICE_HOST,KUBERNETES_SERVICE_PORT:process.env.KUBERNETES_SERVICE_PORT,FREESTYLE_API_KEY:process.env.FREESTYLE_API_KEY,BROWSERLESS_TOKEN:process.env.BROWSERLESS_TOKEN,NODE_EXTRA_CA_CERTS:process.env.NODE_EXTRA_CA_CERTS,DECO_CLI:"1",DECO_NO_TUI:"true",...Y}}var hV=k((Rr5)=>{Rr5.HttpAuthLocation=void 0;(function(X){X.HEADER="header",X.QUERY="query"})(Rr5.HttpAuthLocation||(Rr5.HttpAuthLocation={}));Rr5.HttpApiKeyAuthLocation=void 0;(function(X){X.HEADER="header",X.QUERY="query"})(Rr5.HttpApiKeyAuthLocation||(Rr5.HttpApiKeyAuthLocation={}));Rr5.EndpointURLScheme=void 0;(function(X){X.HTTP="http",X.HTTPS="https"})(Rr5.EndpointURLScheme||(Rr5.EndpointURLScheme={}));Rr5.AlgorithmId=void 0;(function(X){X.MD5="md5",X.CRC32="crc32",X.CRC32C="crc32c",X.SHA1="sha1",X.SHA256="sha256"})(Rr5.AlgorithmId||(Rr5.AlgorithmId={}));var Tr5=(X)=>{let Y=[];if(X.sha256!==void 0)Y.push({algorithmId:()=>Rr5.AlgorithmId.SHA256,checksumConstructor:()=>X.sha256});if(X.md5!=null)Y.push({algorithmId:()=>Rr5.AlgorithmId.MD5,checksumConstructor:()=>X.md5});return{addChecksumAlgorithm(G){Y.push(G)},checksumAlgorithms(){return Y}}},Ir5=(X)=>{let Y={};return X.checksumAlgorithms().forEach((G)=>{Y[G.algorithmId()]=G.checksumConstructor()}),Y},jr5=(X)=>{return Tr5(X)},Vr5=(X)=>{return Ir5(X)};Rr5.FieldPosition=void 0;(function(X){X[X.HEADER=0]="HEADER",X[X.TRAILER=1]="TRAILER"})(Rr5.FieldPosition||(Rr5.FieldPosition={}));var Mr5="__smithy_context";Rr5.IniSectionType=void 0;(function(X){X.PROFILE="profile",X.SSO_SESSION="sso-session",X.SERVICES="services"})(Rr5.IniSectionType||(Rr5.IniSectionType={}));Rr5.RequestHandlerProtocol=void 0;(function(X){X.HTTP_0_9="http/0.9",X.HTTP_1_0="http/1.0",X.TDS_8_0="tds/8.0"})(Rr5.RequestHandlerProtocol||(Rr5.RequestHandlerProtocol={}));Rr5.SMITHY_CONTEXT_KEY=Mr5;Rr5.getDefaultClientConfiguration=jr5;Rr5.resolveDefaultRuntimeConfig=Vr5});var u7=k((xr5)=>{var vr5=hV(),_r5=(X)=>{return{setHttpHandler(Y){X.httpHandler=Y},httpHandler(){return X.httpHandler},updateHttpClientConfig(Y,G){X.httpHandler?.updateHttpClientConfig(Y,G)},httpHandlerConfigs(){return X.httpHandler.httpHandlerConfigs()}}},fr5=(X)=>{return{httpHandler:X.httpHandler()}};class Z06{name;kind;values;constructor({name:X,kind:Y=vr5.FieldPosition.HEADER,values:G=[]}){this.name=X,this.kind=Y,this.values=G}add(X){this.values.push(X)}set(X){this.values=X}remove(X){this.values=this.values.filter((Y)=>Y!==X)}toString(){return this.values.map((X)=>X.includes(",")||X.includes(" ")?`"${X}"`:X).join(", ")}get(){return this.values}}class W06{entries={};encoding;constructor({fields:X=[],encoding:Y="utf-8"}){X.forEach(this.setField.bind(this)),this.encoding=Y}setField(X){this.entries[X.name.toLowerCase()]=X}getField(X){return this.entries[X.toLowerCase()]}removeField(X){delete this.entries[X.toLowerCase()]}getByType(X){return Object.values(this.entries).filter((Y)=>Y.kind===X)}}class GT1{method;protocol;hostname;port;path;query;headers;username;password;fragment;body;constructor(X){this.method=X.method||"GET",this.hostname=X.hostname||"localhost",this.port=X.port,this.query=X.query||{},this.headers=X.headers||{},this.body=X.body,this.protocol=X.protocol?X.protocol.slice(-1)!==":"?`${X.protocol}:`:X.protocol:"https:",this.path=X.path?X.path.charAt(0)!=="/"?`/${X.path}`:X.path:"/",this.username=X.username,this.password=X.password,this.fragment=X.fragment}static clone(X){let Y=new GT1({...X,headers:{...X.headers}});if(Y.query)Y.query=br5(Y.query);return Y}static isInstance(X){if(!X)return!1;let Y=X;return"method"in Y&&"protocol"in Y&&"hostname"in Y&&"path"in Y&&typeof Y.query==="object"&&typeof Y.headers==="object"}clone(){return GT1.clone(this)}}function br5(X){return Object.keys(X).reduce((Y,G)=>{let Q=X[G];return{...Y,[G]:Array.isArray(Q)?[...Q]:Q}},{})}class $06{statusCode;reason;headers;body;constructor(X){this.statusCode=X.statusCode,this.reason=X.reason,this.headers=X.headers||{},this.body=X.body}static isInstance(X){if(!X)return!1;let Y=X;return typeof Y.statusCode==="number"&&typeof Y.headers==="object"}}function yr5(X){return/^[a-z0-9][a-z0-9\.\-]*[a-z0-9]$/.test(X)}xr5.Field=Z06;xr5.Fields=W06;xr5.HttpRequest=GT1;xr5.HttpResponse=$06;xr5.getHttpHandlerExtensionConfiguration=_r5;xr5.isValidHostname=yr5;xr5.resolveHttpHandlerRuntimeConfig=fr5});function ir5(X){return(Y)=>async(G)=>{let{request:Q}=G;if(X.expectContinueHeader!==!1&&K06.HttpRequest.isInstance(Q)&&Q.body&&X.runtime==="node"&&X.requestHandler?.constructor?.name!=="FetchHttpHandler"){let J=!0;if(typeof X.expectContinueHeader==="number")try{J=(Number(Q.headers?.["content-length"])??X.bodyLengthChecker?.(Q.body)??1/0)>=X.expectContinueHeader}catch(W){}else J=!!X.expectContinueHeader;if(J)Q.headers.Expect="100-continue"}return Y({...G,request:Q})}}var K06,pr5,H06=(X)=>({applyToStack:(Y)=>{Y.add(ir5(X),pr5)}});var F06=w(()=>{K06=Y1(u7(),1);pr5={step:"build",tags:["SET_EXPECT_HEADER","EXPECT_HEADER"],name:"addExpectContinueMiddleware",override:!0}});var LH,QT1,gV,JT1,E9,U06,cX1;var EH=w(()=>{LH={WHEN_SUPPORTED:"WHEN_SUPPORTED",WHEN_REQUIRED:"WHEN_REQUIRED"},QT1=LH.WHEN_SUPPORTED,gV={WHEN_SUPPORTED:"WHEN_SUPPORTED",WHEN_REQUIRED:"WHEN_REQUIRED"},JT1=LH.WHEN_SUPPORTED;(function(X){X.MD5="MD5",X.CRC32="CRC32",X.CRC32C="CRC32C",X.CRC64NVME="CRC64NVME",X.SHA1="SHA1",X.SHA256="SHA256"})(E9||(E9={}));(function(X){X.HEADER="header",X.TRAILER="trailer"})(U06||(U06={}));cX1=E9.CRC32});var Cq,$a=(X,Y,G,Q)=>{if(!(Y in X))return;let J=X[Y].toUpperCase();if(!Object.values(G).includes(J))throw TypeError(`Cannot load ${Q} '${Y}'. Expected one of ${Object.values(G)}, got '${X[Y]}'.`);return J};var FN0=w(()=>{(function(X){X.ENV="env",X.CONFIG="shared config entry"})(Cq||(Cq={}))});var nr5="AWS_REQUEST_CHECKSUM_CALCULATION",tr5="request_checksum_calculation",B06;var z06=w(()=>{EH();FN0();B06={environmentVariableSelector:(X)=>$a(X,nr5,LH,Cq.ENV),configFileSelector:(X)=>$a(X,tr5,LH,Cq.CONFIG),default:QT1}});var ar5="AWS_RESPONSE_CHECKSUM_VALIDATION",rr5="response_checksum_validation",N06;var O06=w(()=>{EH();FN0();N06={environmentVariableSelector:(X)=>$a(X,ar5,gV,Cq.ENV),configFileSelector:(X)=>$a(X,rr5,gV,Cq.CONFIG),default:JT1}});var BN0=k((Wo5)=>{var or5=["AuthFailure","InvalidSignatureException","RequestExpired","RequestInTheFuture","RequestTimeTooSkewed","SignatureDoesNotMatch"],sr5=["BandwidthLimitExceeded","EC2ThrottledException","LimitExceededException","PriorRequestNotComplete","ProvisionedThroughputExceededException","RequestLimitExceeded","RequestThrottled","RequestThrottledException","SlowDown","ThrottledException","Throttling","ThrottlingException","TooManyRequestsException","TransactionInProgressException"],er5=["TimeoutError","RequestTimeout","RequestTimeoutException"],Xo5=[500,502,503,504],Yo5=["ECONNRESET","ECONNREFUSED","EPIPE","ETIMEDOUT"],Go5=["EHOSTUNREACH","ENETUNREACH","ENOTFOUND"],D06=(X)=>X?.$retryable!==void 0,Qo5=(X)=>or5.includes(X.name),w06=(X)=>X.$metadata?.clockSkewCorrected,L06=(X)=>{let Y=new Set(["Failed to fetch","NetworkError when attempting to fetch resource","The Internet connection appears to be offline","Load failed","Network request failed"]);if(!(X&&X instanceof TypeError))return!1;return Y.has(X.message)},Jo5=(X)=>X.$metadata?.httpStatusCode===429||sr5.includes(X.name)||X.$retryable?.throttling==!0,UN0=(X,Y=0)=>D06(X)||w06(X)||X.name==="InvalidSignatureException"&&X.message?.includes("Signature expired")||er5.includes(X.name)||Yo5.includes(X?.code||"")||Go5.includes(X?.code||"")||Xo5.includes(X.$metadata?.httpStatusCode||0)||L06(X)||E06(X)||X.cause!==void 0&&Y<=10&&UN0(X.cause,Y+1),Zo5=(X)=>{if(X.$metadata?.httpStatusCode!==void 0){let Y=X.$metadata.httpStatusCode;if(500<=Y&&Y<=599&&!UN0(X))return!0;return!1}return!1};function E06(X){return X.code==="ERR_HTTP2_STREAM_ERROR"&&X.message.includes("NGHTTP2_REFUSED_STREAM")}Wo5.isBrowserNetworkError=L06;Wo5.isClockSkewCorrectedError=w06;Wo5.isClockSkewError=Qo5;Wo5.isNodeJsHttp2TransientError=E06;Wo5.isRetryableByTrait=D06;Wo5.isServerError=Zo5;Wo5.isThrottlingError=Jo5;Wo5.isTransientError=UN0});var ww=k((To5)=>{var Oo5=BN0();To5.RETRY_MODES=void 0;(function(X){X.STANDARD="standard",X.ADAPTIVE="adaptive"})(To5.RETRY_MODES||(To5.RETRY_MODES={}));var WT1=3,Do5=To5.RETRY_MODES.STANDARD;class $T1{static setTimeoutFn=setTimeout;beta;minCapacity;minFillRate;scaleConstant;smooth;enabled=!1;availableTokens=0;lastMaxRate=0;measuredTxRate=0;requestCount=0;fillRate;lastThrottleTime;lastTimestamp=0;lastTxRateBucket;maxCapacity;timeWindow=0;constructor(X){this.beta=X?.beta??0.7,this.minCapacity=X?.minCapacity??1,this.minFillRate=X?.minFillRate??0.5,this.scaleConstant=X?.scaleConstant??0.4,this.smooth=X?.smooth??0.8,this.lastThrottleTime=this.getCurrentTimeInSeconds(),this.lastTxRateBucket=Math.floor(this.getCurrentTimeInSeconds()),this.fillRate=this.minFillRate,this.maxCapacity=this.minCapacity}async getSendToken(){return this.acquireTokenBucket(1)}updateClientSendingRate(X){let Y;this.updateMeasuredRate();let G=X;if(G?.errorType==="THROTTLING"||Oo5.isThrottlingError(G?.error??X)){let W=!this.enabled?this.measuredTxRate:Math.min(this.measuredTxRate,this.fillRate);this.lastMaxRate=W,this.calculateTimeWindow(),this.lastThrottleTime=this.getCurrentTimeInSeconds(),Y=this.cubicThrottle(W),this.enableTokenBucket()}else this.calculateTimeWindow(),Y=this.cubicSuccess(this.getCurrentTimeInSeconds());let J=Math.min(Y,2*this.measuredTxRate);this.updateTokenBucketRate(J)}getCurrentTimeInSeconds(){return Date.now()/1000}async acquireTokenBucket(X){if(!this.enabled)return;if(this.refillTokenBucket(),X>this.availableTokens){let Y=(X-this.availableTokens)/this.fillRate*1000;await new Promise((G)=>$T1.setTimeoutFn(G,Y))}this.availableTokens=this.availableTokens-X}refillTokenBucket(){let X=this.getCurrentTimeInSeconds();if(!this.lastTimestamp){this.lastTimestamp=X;return}let Y=(X-this.lastTimestamp)*this.fillRate;this.availableTokens=Math.min(this.maxCapacity,this.availableTokens+Y),this.lastTimestamp=X}calculateTimeWindow(){this.timeWindow=this.getPrecise(Math.pow(this.lastMaxRate*(1-this.beta)/this.scaleConstant,0.3333333333333333))}cubicThrottle(X){return this.getPrecise(X*this.beta)}cubicSuccess(X){return this.getPrecise(this.scaleConstant*Math.pow(X-this.lastThrottleTime-this.timeWindow,3)+this.lastMaxRate)}enableTokenBucket(){this.enabled=!0}updateTokenBucketRate(X){this.refillTokenBucket(),this.fillRate=Math.max(X,this.minFillRate),this.maxCapacity=Math.max(X,this.minCapacity),this.availableTokens=Math.min(this.availableTokens,this.maxCapacity)}updateMeasuredRate(){let X=this.getCurrentTimeInSeconds(),Y=Math.floor(X*2)/2;if(this.requestCount++,Y>this.lastTxRateBucket){let G=this.requestCount/(Y-this.lastTxRateBucket);this.measuredTxRate=this.getPrecise(G*this.smooth+this.measuredTxRate*(1-this.smooth)),this.requestCount=0,this.lastTxRateBucket=Y}}getPrecise(X){return parseFloat(X.toFixed(8))}}var wo5=100,ON0=20000,Lo5=500,zN0=500,Eo5=5,Po5=10,P06=1,qo5="amz-sdk-invocation-id",Ao5="amz-sdk-request";class sQ{static v2026=typeof process<"u"&&process.env?.SMITHY_NEW_RETRIES_2026==="true";static delay(){return sQ.v2026?50:100}static throttlingDelay(){return sQ.v2026?1000:500}static cost(){return sQ.v2026?14:5}static throttlingCost(){return sQ.v2026?5:10}static modifiedCostType(){return sQ.v2026?"THROTTLING":"TRANSIENT"}}class q06{x=sQ.delay();computeNextBackoffDelay(X){let Y=Math.random(),G=2,Q=Y*Math.min(this.x*2**X,ON0);return Math.floor(Q)}setDelayBase(X){this.x=X}}class NN0{delay;count;cost;longPoll;constructor(X,Y,G,Q){this.delay=X,this.count=Y,this.cost=G,this.longPoll=Q}getRetryCount(){return this.count}getRetryDelay(){return Math.min(ON0,this.delay)}getRetryCost(){return this.cost}isLongPoll(){return this.longPoll}}var ZT1={incompatible:1,attempts:2,capacity:3};class iX1{mode=To5.RETRY_MODES.STANDARD;capacity=zN0;retryBackoffStrategy;maxAttemptsProvider;baseDelay;constructor(X){if(typeof X==="number")this.maxAttemptsProvider=async()=>X;else if(typeof X==="function")this.maxAttemptsProvider=X;else if(X&&typeof X==="object")this.maxAttemptsProvider=async()=>X.maxAttempts,this.baseDelay=X.baseDelay,this.retryBackoffStrategy=X.backoff;this.maxAttemptsProvider??=async()=>WT1,this.baseDelay??=sQ.delay(),this.retryBackoffStrategy??=new q06}async acquireInitialRetryToken(X){return new NN0(sQ.delay(),0,void 0,sQ.v2026&&X.includes(":longpoll"))}async refreshRetryTokenForRetry(X,Y){let G=await this.getMaxAttempts(),Q=this.retryCode(X,Y,G),J=Q===0,W=X.isLongPoll?.();if(J||W){let Z=Y.errorType;this.retryBackoffStrategy.setDelayBase(Z==="THROTTLING"?sQ.throttlingDelay():this.baseDelay);let $=this.retryBackoffStrategy.computeNextBackoffDelay(X.getRetryCount()),K=$;if(Y.retryAfterHint instanceof Date)K=Math.max($,Math.min(Y.retryAfterHint.getTime()-Date.now(),$+5000));if(!J)throw Object.assign(Error("No retry token available"),{$backoff:sQ.v2026&&Q===ZT1.capacity&&W?K:0});else{let H=this.getCapacityCost(Z);return this.capacity-=H,new NN0(K,X.getRetryCount()+1,H,X.isLongPoll?.()??!1)}}throw Error("No retry token available")}recordSuccess(X){this.capacity=Math.min(zN0,this.capacity+(X.getRetryCost()??P06))}getCapacity(){return this.capacity}async maxAttempts(){return this.maxAttemptsProvider()}async getMaxAttempts(){try{return await this.maxAttemptsProvider()}catch(X){return console.warn(`Max attempts provider could not resolve. Using default of ${WT1}`),WT1}}retryCode(X,Y,G){let Q=X.getRetryCount()+1,J=this.isRetryableError(Y.errorType)?0:ZT1.incompatible,W=Q<G?0:ZT1.attempts,Z=this.capacity>=this.getCapacityCost(Y.errorType)?0:ZT1.capacity;return J||W||Z}getCapacityCost(X){return X===sQ.modifiedCostType()?sQ.throttlingCost():sQ.cost()}isRetryableError(X){return X==="THROTTLING"||X==="TRANSIENT"}}class A06{mode=To5.RETRY_MODES.ADAPTIVE;rateLimiter;standardRetryStrategy;constructor(X,Y){let{rateLimiter:G}=Y??{};this.rateLimiter=G??new $T1,this.standardRetryStrategy=Y?new iX1({maxAttempts:typeof X==="number"?X:3,...Y}):new iX1(X)}async acquireInitialRetryToken(X){return await this.rateLimiter.getSendToken(),this.standardRetryStrategy.acquireInitialRetryToken(X)}async refreshRetryTokenForRetry(X,Y){return this.rateLimiter.updateClientSendingRate(Y),this.standardRetryStrategy.refreshRetryTokenForRetry(X,Y)}recordSuccess(X){this.rateLimiter.updateClientSendingRate({}),this.standardRetryStrategy.recordSuccess(X)}async maxAttemptsProvider(){return this.standardRetryStrategy.maxAttempts()}}class T06 extends iX1{computeNextBackoffDelay;constructor(X,Y=sQ.delay()){super(typeof X==="function"?X:async()=>X);if(typeof Y==="number")this.computeNextBackoffDelay=()=>Y;else this.computeNextBackoffDelay=Y}async refreshRetryTokenForRetry(X,Y){let G=await super.refreshRetryTokenForRetry(X,Y);return G.getRetryDelay=()=>this.computeNextBackoffDelay(G.getRetryCount()),G}}To5.AdaptiveRetryStrategy=A06;To5.ConfiguredRetryStrategy=T06;To5.DEFAULT_MAX_ATTEMPTS=WT1;To5.DEFAULT_RETRY_DELAY_BASE=wo5;To5.DEFAULT_RETRY_MODE=Do5;To5.DefaultRateLimiter=$T1;To5.INITIAL_RETRY_TOKENS=zN0;To5.INVOCATION_ID_HEADER=qo5;To5.MAXIMUM_RETRY_DELAY=ON0;To5.NO_RETRY_INCREMENT=P06;To5.REQUEST_HEADER=Ao5;To5.RETRY_COST=Eo5;To5.Retry=sQ;To5.StandardRetryStrategy=iX1;To5.THROTTLING_RETRY_DELAY_BASE=Lo5;To5.TIMEOUT_RETRY_COST=Po5});var WX=k((to5)=>{var uo5=ww(),DN0={warningEmitted:!1},lo5=(X)=>{if(X&&!DN0.warningEmitted&&parseInt(X.substring(1,X.indexOf(".")))<20)DN0.warningEmitted=!0,process.emitWarning(`NodeDeprecationWarning: The AWS SDK for JavaScript (v3) will
|
|
1646
|
+
`);Q=W.pop()??"";for(let Z of W){let $=d16(Z).replace(/^\[\d+\]\s*/,"").trim();if(!$)continue;$N({method:"",path:"",status:0,duration:0,timestamp:new Date,rawLine:$})}}(async()=>{for(;;){let{done:W,value:Z}=await Y.read();if(W)break;Q+=G.decode(Z,{stream:!0}),J()}if(Q.trim()){let W=d16(Q).replace(/^\[\d+\]\s*/,"").trim();if(W)$N({method:"",path:"",status:0,duration:0,timestamp:new Date,rawLine:W})}})()}async function oa5(X){let{vitePort:Y,baseUrl:G,noTui:Q}=X,J=await sA1(Number(X.port)),{settings:W,services:Z,managedServiceNames:$}=await tA1({port:String(J),home:X.home,baseUrl:X.baseUrl,localMode:X.localMode,skipMigrations:X.skipMigrations,noTui:X.noTui,vitePort:X.vitePort});for(let N of Z)Wa({name:N.name,status:"ready",port:N.port});lX1(W),gX1();let K=ra5(import.meta.dir,"..","..","..","..",".."),H=Q===!0,U=Bun.spawn(["bun","run","--cwd=apps/mesh","dev:servers"],{cwd:K,env:{...process.env,PORT:String(W.port),VITE_PORT:String(Y),DATABASE_URL:W.databaseUrl,NATS_URL:W.natsUrls.join(","),NODE_ENV:W.nodeEnv,DECOCMS_LOCAL_MODE:String(W.localMode),DECOCMS_HOME:W.dataDir,DATA_DIR:W.dataDir,DECO_CLI:"1",...W.baseUrl?{BASE_URL:W.baseUrl}:{}},stdio:["inherit",H?"inherit":"pipe",H?"inherit":"pipe"]});if(!H)c16(U.stdout),c16(U.stderr);let B=G||`http://localhost:${W.port}`;uX1(B),Wa({name:"Vite",status:"ready",port:Number(Y)});let z=async(N)=>{if(U.kill(N),$.length>0){let{stopServices:O}=await Promise.resolve().then(() => (c$1(),d$1));await O(W.dataDir)}};return process.on("SIGINT",()=>z("SIGINT")),process.on("SIGTERM",()=>z("SIGTERM")),{port:Number(W.port),process:U}}var az0=w(()=>{mz0();KN();nz0()});import{Box as rz0,Text as oz0}from"ink";import{jsx as p16,jsxs as eA1}from"react/jsx-runtime";function i16(X){if(!X)return"not set";try{let Y=new URL(X);if(Y.password)Y.password="***";if(Y.username&&Y.username.length>3)Y.username=Y.username.slice(0,3)+"***";return Y.pathname="/",Y.search="",Y.hash="",Y.toString()}catch{if(X.length<=10)return X;return X.slice(0,6)+"***"+X.slice(-4)}}function Xr5(X,Y){if(sa5.has(X))return Y?{text:"\u25CF\u25CF\u25CF\u25CF\u25CF\u25CF",dimColor:!0}:{text:"not set",dimColor:!0};if(ea5.has(X)){if(Array.isArray(Y)){if(Y.length===0)return{text:"not set",dimColor:!0};return{text:Y.map((W)=>i16(W)).join(", "),color:"cyan"}}let Q=i16(Y);return Q==="not set"?{text:Q,dimColor:!0}:{text:Q,color:"cyan"}}if(Y===void 0||Y===null||Y==="")return{text:"not set",dimColor:!0};let G=String(Y);if(G==="true")return{text:G,color:"green"};if(G==="false")return{text:G,color:"yellow"};try{return new URL(G),{text:G,color:"cyan"}}catch{return{text:G}}}function Yr5(X){return[{title:"Core",entries:[{key:"NODE_ENV",value:X.nodeEnv},{key:"PORT",value:X.port},{key:"BASE_URL",value:X.baseUrl??`http://localhost:${X.port}`},{key:"DATA_DIR",value:X.dataDir}]},{title:"Database",entries:[{key:"DATABASE_URL",value:X.databaseUrl},{key:"DATABASE_PG_SSL",value:X.databasePgSsl}]},{title:"Auth & Secrets",entries:[{key:"BETTER_AUTH_SECRET",value:X.betterAuthSecret},{key:"ENCRYPTION_KEY",value:X.encryptionKey},{key:"MESH_JWT_SECRET",value:X.meshJwtSecret},{key:"STUDIO_PROVISION_SECRET_KEY",value:X.studioProvisionSecretKey},{key:"DISABLE_RATE_LIMIT",value:X.disableRateLimit}]},{title:"Auth Providers",entries:[{key:"AUTH_EMAIL_PASSWORD_ENABLED",value:process.env.AUTH_EMAIL_PASSWORD_ENABLED??"true"},{key:"AUTH_GOOGLE_CLIENT_ID",value:!!process.env.AUTH_GOOGLE_CLIENT_ID},{key:"AUTH_GITHUB_CLIENT_ID",value:!!process.env.AUTH_GITHUB_CLIENT_ID},{key:"AUTH_RESEND_API_KEY",value:!!process.env.AUTH_RESEND_API_KEY},{key:"AUTH_SENDGRID_API_KEY",value:!!process.env.AUTH_SENDGRID_API_KEY},{key:"AUTH_SSO_MS_CLIENT_ID",value:!!process.env.AUTH_SSO_MS_CLIENT_ID},{key:"AUTH_SSO_GOOGLE_CLIENT_ID",value:!!process.env.AUTH_SSO_GOOGLE_CLIENT_ID},{key:"AUTH_MAGIC_LINK_ENABLED",value:process.env.AUTH_MAGIC_LINK_ENABLED==="true"},{key:"AUTH_EMAIL_OTP_ENABLED",value:process.env.AUTH_EMAIL_OTP_ENABLED==="true"}]},{title:"Observability",entries:[{key:"CLICKHOUSE_URL",value:X.clickhouseUrl},{key:"OTEL_SERVICE_NAME",value:X.otelServiceName}]},{title:"Event Bus & Networking",entries:[{key:"NATS_URL",value:X.natsUrls}]},{title:"Config Files",entries:[{key:"CONFIG_PATH",value:X.configPath}]},{title:"AI Gateway",entries:[{key:"DECO_AI_GATEWAY_ENABLED",value:X.aiGatewayEnabled},{key:"DECO_AI_GATEWAY_URL",value:X.aiGatewayUrl}]}]}function n16({env:X}){let Y=Yr5(X);return p16(rz0,{flexDirection:"column",children:Y.map((G)=>eA1(rz0,{flexDirection:"column",marginTop:1,children:[eA1(oz0,{dimColor:!0,children:[" ","\u2500\u2500 ",G.title," ","\u2500".repeat(Math.max(0,38-G.title.length))]}),G.entries.map(({key:Q,value:J})=>{let W=Xr5(Q,J);return eA1(rz0,{children:[eA1(oz0,{dimColor:!0,children:[" ",Q.padEnd(36)]}),p16(oz0,{color:W.color,dimColor:W.dimColor,children:W.text})]},Q)})]},G.title))})}var sa5,ea5;var t16=w(()=>{sa5=new Set(["BETTER_AUTH_SECRET","ENCRYPTION_KEY","MESH_JWT_SECRET","STUDIO_PROVISION_SECRET_KEY"]),ea5=new Set(["DATABASE_URL","CLICKHOUSE_URL","NATS_URL"])});var sz0;var a16=w(()=>{sz0={name:"decocms",version:"2.318.0",description:"Deco CMS \u2014 Self-hostable MCP Gateway for managing AI connections and tools",author:"Deco team",repository:{type:"git",url:"git+https://github.com/decocms/studio.git",directory:"apps/mesh"},bugs:{url:"https://github.com/decocms/studio/issues"},type:"module",bin:{deco:"./dist/server/cli.js"},files:["dist/**/*"],scripts:{dev:'bun run migrate && concurrently "bun run dev:client" "bun run dev:server"',"dev:servers":'concurrently "bun run dev:client" "bun run dev:server"',"dev:client":"bun --bun vite dev","dev:server":"bun run --cwd=../../packages/sandbox build && NODE_ENV=development bun --env-file=.env --hot run src/index.ts","build:client":"bun --bun vite build","build:server":"bun run scripts/bundle-server-script.ts --dist ./dist/server","db:migrate":"bun run ./dist/server/migrate.js",check:"tsc --noEmit",start:"bun run ./dist/server/server.js",migrate:"bun run src/database/migrate.ts",test:"bun test","test:e2e":"playwright test","test:e2e:ui":"playwright test --ui","better-auth:migrate":"bunx --bun @better-auth/cli migrate -y --config src/auth/index.ts",prepublishOnly:"bun run build:client && bun run build:server"},optionalDependencies:{"@duckdb/node-api":"^1.5.0-r.1","@freestyle-sh/with-bun":"^0.2.12","@freestyle-sh/with-deno":"^0.0.4","@freestyle-sh/with-nodejs":"^0.2.9","freestyle-sandboxes":"^0.1.46"},dependencies:{"@ai-sdk/anthropic":"^3.0.58","@ai-sdk/google":"^3.0.60","@ai-sdk/openai":"^3.0.50","@anthropic-ai/sdk":"^0.79.0","@aws-sdk/client-s3":"^3.1013.0","@aws-sdk/s3-request-presigner":"^3.1013.0","@clickhouse/client":"^1.8.1","@deco-cx/warp-node":"^0.3.20","@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","@dnd-kit/utilities":"^3.2.2","@inkjs/ui":"^2.0.0","@modelcontextprotocol/ext-apps":"^1.2.2","@openrouter/ai-sdk-provider":"^2.2.5","@opentelemetry/core":"^2.6.0","@tanstack/react-virtual":"^3.13.21","@xterm/addon-fit":"^0.11.0","@xterm/xterm":"^6.0.0","ai-sdk-provider-claude-code":"^3.4.4","ai-sdk-provider-codex-cli":"^1.1.0","embedded-postgres":"^18.3.0-beta.16",ink:"^6.8.0",kysely:"^0.28.12",nats:"^2.29.3","node-pty":"^1.0.0","posthog-js":"^1.371.1","posthog-node":"^5.0.0",react:"^19.2.0","react-dom":"^19.2.0"},devDependencies:{"@ai-sdk/provider":"^3.0.8","@ai-sdk/react":"^3.0.118","@anthropic-ai/claude-agent-sdk":"^0.2.80","@better-auth/sso":"1.4.1","@daveyplate/better-auth-ui":"^3.2.7","@deco/ui":"workspace:*","@decocms/better-auth":"1.5.17","@decocms/bindings":"workspace:*","@decocms/mcp-utils":"workspace:*","@decocms/mesh-sdk":"workspace:*","@decocms/runtime":"workspace:*","@decocms/vite-plugin":"workspace:*","@electric-sql/pglite":"^0.3.15","@floating-ui/react":"^0.27.16","@hookform/resolvers":"^5.2.2","@jitl/quickjs-wasmfile-release-sync":"0.31.0","@modelcontextprotocol/sdk":"1.27.1","@monaco-editor/react":"^4.7.0","@opentelemetry/api":"^1.9.0","@opentelemetry/api-logs":"^0.211.0","@opentelemetry/exporter-logs-otlp-proto":"^0.211.0","@opentelemetry/exporter-prometheus":"^0.208.0","@opentelemetry/exporter-trace-otlp-proto":"^0.207.0","@opentelemetry/instrumentation-runtime-node":"^0.24.0","@opentelemetry/sdk-logs":"^0.211.0","@opentelemetry/sdk-metrics":"^2.2.0","@opentelemetry/sdk-node":"^0.207.0","@opentelemetry/sdk-trace-base":"^2.5.0","@playwright/test":"^1.58.2","@radix-ui/react-avatar":"^1.1.10","@radix-ui/react-checkbox":"^1.3.3","@radix-ui/react-dialog":"^1.1.15","@radix-ui/react-dropdown-menu":"^2.1.16","@radix-ui/react-label":"^2.1.7","@radix-ui/react-select":"^2.2.6","@radix-ui/react-separator":"^1.1.7","@radix-ui/react-slot":"^1.2.3","@radix-ui/react-tabs":"^1.1.13","@rjsf/core":"^6.1.2","@rjsf/shadcn":"^6.1.2","@rjsf/utils":"^6.1.2","@rjsf/validator-ajv8":"^6.1.2","@tailwindcss/vite":"^4.1.17","@tanstack/react-query":"5.90.11","@tanstack/react-router":"^1.139.7","@tiptap/core":"3.20.2","@tiptap/extension-mention":"3.20.2","@tiptap/extension-placeholder":"3.20.2","@tiptap/pm":"3.20.2","@tiptap/react":"3.20.2","@tiptap/starter-kit":"3.20.2","@tiptap/suggestion":"3.20.2","@types/bun":"^1.3.1","@types/pg":"^8.15.6","@types/react-syntax-highlighter":"^15.5.13","@untitledui/icons":"^0.0.19","@vercel/nft":"^1.1.1","@vitejs/plugin-react":"^5.1.0",ai:"^6.0.116","babel-plugin-react-compiler":"^1.0.0","better-auth":"1.4.5","class-variance-authority":"^0.7.1",clsx:"^2.1.1",concurrently:"^9.2.1",croner:"^9.1.0","date-fns":"^4.1.0",degit:"^2.8.4",hono:"^4.10.7","input-otp":"^1.4.2",jose:"^6.0.11","kysely-pglite":"^0.6.1","lucide-react":"^0.468.0",marked:"^15.0.6","@decocms/sandbox":"workspace:*","mesh-plugin-workflows":"workspace:*",nanoid:"^5.1.6",pg:"^8.16.3",prettier:"^3.4.2","react-hook-form":"^7.66.0","react-markdown":"^10.1.0","react-resizable-panels":"^2.1.7","react-syntax-highlighter":"^15.6.1",recharts:"^3.6.0","rehype-raw":"^7.0.0","remark-gfm":"^4.0.0","sass-embedded":"^1.97.2",sonner:"^2.0.7","tailwind-merge":"^3.3.1",tailwindcss:"^4.1.17",typescript:"^5.9.3",vite:"^7.2.1","vite-tsconfig-paths":"^5.1.4",zod:"^4.0.0",zustand:"^5.0.9"},homepage:"https://github.com/decocms/studio",keywords:["mcp","model-context-protocol","ai","gateway","self-hosted","mesh","tools"],license:"MIT",publishConfig:{access:"public"}}});import{Box as IU,Text as RX}from"ink";import{Spinner as Qr5}from"@inkjs/ui";import{useSyncExternalStore as r16}from"react";import{jsx as TY,jsxs as oQ}from"react/jsx-runtime";function Kr5(X,Y){if(!X||!$r5.has(X))return X;let G=ez0[Y]??ez0[ez0.length-1];return X==="#875f00"?G[0]:G[1]}function o16({status:X}){if(X==="pending")return TY(Qr5,{label:""});return TY(RX,{color:"green",children:"\u2713"})}function s16({services:X,migrationsStatus:Y,home:G,serverUrl:Q,vibe:J}){let W=r16($d0,Wd0),Z=r16(zd0,Bd0);return oQ(IU,{flexDirection:"column",paddingBottom:1,children:[J?oQ(IU,{flexDirection:"column",children:[W.map(($,K)=>{let H=Z[K],U=$.reduce((z,N)=>z+N.text.length,0),B=Math.max(0,Wr5-U);return oQ(IU,{flexDirection:"row",children:[$.map((z,N)=>{let O=Kr5(z.color,K);return O?TY(RX,{color:O,children:z.text},N):TY(RX,{children:z.text},N)}),TY(RX,{children:" ".repeat(B+2)}),H?.map((z,N)=>z.color?TY(RX,{color:z.color,children:z.char},N):TY(RX,{children:z.char},N))]},K)}),oQ(RX,{dimColor:!0,children:[" v",sz0.version]})]}):oQ(IU,{flexDirection:"column",marginTop:1,children:[Jr5.map(($,K)=>TY(RX,{color:Zr5[K],children:$},K)),oQ(RX,{dimColor:!0,children:[" v",sz0.version]})]}),TY(IU,{marginBottom:1,children:TY(RX,{dimColor:!0,children:"\u2500".repeat(80)})}),TY(IU,{children:oQ(RX,{dimColor:!0,children:["Home: ",G]})}),oQ(IU,{gap:2,children:[X.map(($)=>oQ(IU,{gap:1,children:[oQ(RX,{children:[$.name," :",$.port||"...."]}),TY(o16,{status:$.status})]},$.name)),oQ(IU,{gap:1,children:[TY(RX,{children:"Migrations"}),TY(o16,{status:Y})]})]}),TY(IU,{children:Q?oQ(RX,{children:["Open in browser: ",TY(RX,{color:"cyan",children:Q})]}):TY(RX,{dimColor:!0,children:"Starting..."})}),oQ(IU,{gap:2,children:[oQ(RX,{dimColor:!0,children:[TY(RX,{bold:!0,dimColor:!0,children:"K"})," ","toggle config"]}),oQ(RX,{dimColor:!0,children:[TY(RX,{bold:!0,dimColor:!0,children:"L"})," ","toggle log flow"]}),oQ(RX,{dimColor:!0,children:[TY(RX,{bold:!0,dimColor:!0,children:"V"})," ","toggle vibe ",J?"\u266A Nihilore \xB7 CC BY 4.0":""]}),J&&oQ(RX,{dimColor:!0,children:[TY(RX,{bold:!0,dimColor:!0,children:"N"})," ","skip song"]})]})]})}var Jr5,Zr5,ez0,Wr5=30,$r5;var e16=w(()=>{a16();_t1();gt1();Jr5=[" \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588 ","\u2591\u2591\u2588\u2588\u2588\u2591\u2591\u2591\u2591\u2588\u2588\u2588 \u2591\u2591\u2588\u2588\u2588\u2591\u2591\u2591\u2591\u2591\u2588 \u2588\u2588\u2588\u2591\u2591\u2591\u2591\u2591\u2588\u2588\u2588 \u2588\u2588\u2588\u2591\u2591\u2591\u2591\u2591\u2588\u2588\u2588 "," \u2591\u2588\u2588\u2588 \u2591\u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2588 \u2591 \u2588\u2588\u2588 \u2591\u2591\u2591 \u2588\u2588\u2588 \u2591\u2591\u2588\u2588\u2588"," \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588"," \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588\u2591\u2591\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591\u2588\u2588\u2588"," \u2591\u2588\u2588\u2588 \u2588\u2588\u2588 \u2591\u2588\u2588\u2588 \u2591 \u2588\u2591\u2591\u2588\u2588\u2588 \u2588\u2588\u2588\u2591\u2591\u2588\u2588\u2588 \u2588\u2588\u2588 "," \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2591\u2591\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588 \u2591\u2591\u2591\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2591 ","\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591 \u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591 \u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591 \u2591\u2591\u2591\u2591\u2591\u2591\u2591 "],Zr5=["#00ff64","#00ee5e","#00dc56","#00c84e","#00b444","#00a03c","#008832","#006e28"],ez0=[["#00ff64","#00cc50"],["#00f060","#00c04c"],["#00e05c","#00b448"],["#00d058","#00a844"],["#00c054","#009c40"],["#00b050","#00903c"],["#00a04c","#008438"],["#009048","#007834"],["#008044","#006c30"],["#007040","#00602c"],["#00603c","#005428"]],$r5=new Set(["#875f00","#5f3800"])});import{useSyncExternalStore as Hr5}from"react";function Fr5(){let X=process.stdout.rows||24,Y=process.stdout.columns||80;if(X!==XT1.rows||Y!==XT1.columns)XT1={rows:X,columns:Y};return XT1}function Ur5(X){return process.stdout.on("resize",X),()=>{process.stdout.off("resize",X)}}function X06(){return Hr5(Ur5,Fr5)}var XT1;var Y06=w(()=>{XT1={rows:process.stdout.rows||24,columns:process.stdout.columns||80}});import{Box as Br5,Text as mX1}from"ink";import{useSyncExternalStore as zr5}from"react";import{jsx as XN0,jsxs as YN0}from"react/jsx-runtime";function Nr5(X){if(X>=500)return"red";if(X>=400)return"yellow";if(X>=300)return"cyan";return"green"}function G06({logs:X,headerHeight:Y}){let{rows:G}=X06(),{logFlow:Q}=zr5(hX1,xX1),J=Math.max(1,G-Y-1),W=Q?X:X.slice(-J);return XN0(Br5,{flexDirection:"column",children:W.map((Z,$)=>{if(Z.rawLine)return XN0(mX1,{dimColor:!0,children:Z.rawLine},$);let K=Z.duration<1000?`${Z.duration}ms`:`${(Z.duration/1000).toFixed(1)}s`;return YN0(mX1,{children:[YN0(mX1,{dimColor:!0,children:[Z.method.padEnd(6)," ",Z.path.padEnd(30)," "]}),XN0(mX1,{color:Nr5(Z.status),children:Z.status}),YN0(mX1,{dimColor:!0,children:[" ",K.padStart(8)]})]},$)})})}var Q06=w(()=>{KN();Y06()});var GN0={};A0(GN0,{App:()=>qr5});import{Box as Or5,Text as Dr5,useInput as wr5}from"ink";import{useSyncExternalStore as Lr5}from"react";import{jsx as YT1,jsxs as Ar5}from"react/jsx-runtime";function qr5({home:X}){let Y=Lr5(hX1,xX1);return wr5((G)=>{if(G==="k"||G==="K")cz0();if(G==="l"||G==="L")iz0();if((G==="v"||G==="V")&&Y.dataDir)dt1(Y.dataDir),pz0();if((G==="n"||G==="N")&&Y.vibe)mt1()}),Ar5(Or5,{flexDirection:"column",children:[YT1(s16,{services:Y.services,migrationsStatus:Y.migrationsStatus,home:X,serverUrl:Y.serverUrl,vibe:Y.vibe}),Y.viewMode==="config"?Y.env?YT1(n16,{env:Y.env}):YT1(Dr5,{dimColor:!0,children:"Loading configuration..."}):YT1(G06,{logs:Y.logs,headerHeight:Y.vibe?Pr5:Er5})]})}var Er5=15,Pr5=19;var QN0=w(()=>{t16();e16();Q06();KN();hd()});function J06(X,Y={}){return{PORT:String(X.port),NODE_ENV:X.nodeEnv,BASE_URL:X.baseUrl,DATA_DIR:X.dataDir,DECOCMS_HOME:X.dataDir,DATABASE_URL:X.databaseUrl,DATABASE_PG_SSL:String(X.databasePgSsl),DATABASE_POOL_MAX:String(X.databasePoolMax),NATS_URL:X.natsUrls.join(","),BETTER_AUTH_SECRET:X.betterAuthSecret,ENCRYPTION_KEY:X.encryptionKey,MESH_JWT_SECRET:X.meshJwtSecret,DECOCMS_LOCAL_MODE:String(X.localMode),DISABLE_RATE_LIMIT:String(X.disableRateLimit),STUDIO_PROVISION_SECRET_KEY:X.studioProvisionSecretKey,CONFIG_PATH:X.configPath,...Object.fromEntries(Object.entries(process.env).filter(([G])=>G.startsWith("AUTH_"))),DECO_AI_GATEWAY_ENABLED:String(X.aiGatewayEnabled),DECO_AI_GATEWAY_URL:X.aiGatewayUrl,ENABLE_DECO_IMPORT:String(X.enableDecoImport),S3_ENDPOINT:X.s3Endpoint,S3_BUCKET:X.s3Bucket,S3_REGION:X.s3Region,S3_ACCESS_KEY_ID:X.s3AccessKeyId,S3_SECRET_ACCESS_KEY:X.s3SecretAccessKey,S3_FORCE_PATH_STYLE:String(X.s3ForcePathStyle),OTEL_SERVICE_NAME:X.otelServiceName,CLICKHOUSE_URL:X.clickhouseUrl,OTEL_EXPORTER_OTLP_ENDPOINT:process.env.OTEL_EXPORTER_OTLP_ENDPOINT,OTEL_EXPORTER_OTLP_PROTOCOL:process.env.OTEL_EXPORTER_OTLP_PROTOCOL,OTEL_RESOURCE_ATTRIBUTES:process.env.OTEL_RESOURCE_ATTRIBUTES,DECO_SUPABASE_URL:X.decoSupabaseUrl,DECO_SUPABASE_SERVICE_KEY:X.decoSupabaseServiceKey,FIRECRAWL_API_KEY:X.firecrawlApiKey,STUDIO_SANDBOX_RUNNER:process.env.STUDIO_SANDBOX_RUNNER,STUDIO_SANDBOX_TEMPLATE_NAME:process.env.STUDIO_SANDBOX_TEMPLATE_NAME,STUDIO_ENV:process.env.STUDIO_ENV,STUDIO_SANDBOX_PREVIEW_URL_PATTERN:process.env.STUDIO_SANDBOX_PREVIEW_URL_PATTERN,STUDIO_SANDBOX_PREVIEW_GATEWAY_NAME:process.env.STUDIO_SANDBOX_PREVIEW_GATEWAY_NAME,STUDIO_SANDBOX_PREVIEW_GATEWAY_NAMESPACE:process.env.STUDIO_SANDBOX_PREVIEW_GATEWAY_NAMESPACE,STUDIO_SANDBOX_SENTINEL_TOKEN:process.env.STUDIO_SANDBOX_SENTINEL_TOKEN,KUBERNETES_SERVICE_HOST:process.env.KUBERNETES_SERVICE_HOST,KUBERNETES_SERVICE_PORT:process.env.KUBERNETES_SERVICE_PORT,FREESTYLE_API_KEY:process.env.FREESTYLE_API_KEY,BROWSERLESS_TOKEN:process.env.BROWSERLESS_TOKEN,NODE_EXTRA_CA_CERTS:process.env.NODE_EXTRA_CA_CERTS,DECO_CLI:"1",DECO_NO_TUI:"true",...Y}}var hV=k((Rr5)=>{Rr5.HttpAuthLocation=void 0;(function(X){X.HEADER="header",X.QUERY="query"})(Rr5.HttpAuthLocation||(Rr5.HttpAuthLocation={}));Rr5.HttpApiKeyAuthLocation=void 0;(function(X){X.HEADER="header",X.QUERY="query"})(Rr5.HttpApiKeyAuthLocation||(Rr5.HttpApiKeyAuthLocation={}));Rr5.EndpointURLScheme=void 0;(function(X){X.HTTP="http",X.HTTPS="https"})(Rr5.EndpointURLScheme||(Rr5.EndpointURLScheme={}));Rr5.AlgorithmId=void 0;(function(X){X.MD5="md5",X.CRC32="crc32",X.CRC32C="crc32c",X.SHA1="sha1",X.SHA256="sha256"})(Rr5.AlgorithmId||(Rr5.AlgorithmId={}));var Tr5=(X)=>{let Y=[];if(X.sha256!==void 0)Y.push({algorithmId:()=>Rr5.AlgorithmId.SHA256,checksumConstructor:()=>X.sha256});if(X.md5!=null)Y.push({algorithmId:()=>Rr5.AlgorithmId.MD5,checksumConstructor:()=>X.md5});return{addChecksumAlgorithm(G){Y.push(G)},checksumAlgorithms(){return Y}}},Ir5=(X)=>{let Y={};return X.checksumAlgorithms().forEach((G)=>{Y[G.algorithmId()]=G.checksumConstructor()}),Y},jr5=(X)=>{return Tr5(X)},Vr5=(X)=>{return Ir5(X)};Rr5.FieldPosition=void 0;(function(X){X[X.HEADER=0]="HEADER",X[X.TRAILER=1]="TRAILER"})(Rr5.FieldPosition||(Rr5.FieldPosition={}));var Mr5="__smithy_context";Rr5.IniSectionType=void 0;(function(X){X.PROFILE="profile",X.SSO_SESSION="sso-session",X.SERVICES="services"})(Rr5.IniSectionType||(Rr5.IniSectionType={}));Rr5.RequestHandlerProtocol=void 0;(function(X){X.HTTP_0_9="http/0.9",X.HTTP_1_0="http/1.0",X.TDS_8_0="tds/8.0"})(Rr5.RequestHandlerProtocol||(Rr5.RequestHandlerProtocol={}));Rr5.SMITHY_CONTEXT_KEY=Mr5;Rr5.getDefaultClientConfiguration=jr5;Rr5.resolveDefaultRuntimeConfig=Vr5});var u7=k((xr5)=>{var vr5=hV(),_r5=(X)=>{return{setHttpHandler(Y){X.httpHandler=Y},httpHandler(){return X.httpHandler},updateHttpClientConfig(Y,G){X.httpHandler?.updateHttpClientConfig(Y,G)},httpHandlerConfigs(){return X.httpHandler.httpHandlerConfigs()}}},fr5=(X)=>{return{httpHandler:X.httpHandler()}};class Z06{name;kind;values;constructor({name:X,kind:Y=vr5.FieldPosition.HEADER,values:G=[]}){this.name=X,this.kind=Y,this.values=G}add(X){this.values.push(X)}set(X){this.values=X}remove(X){this.values=this.values.filter((Y)=>Y!==X)}toString(){return this.values.map((X)=>X.includes(",")||X.includes(" ")?`"${X}"`:X).join(", ")}get(){return this.values}}class W06{entries={};encoding;constructor({fields:X=[],encoding:Y="utf-8"}){X.forEach(this.setField.bind(this)),this.encoding=Y}setField(X){this.entries[X.name.toLowerCase()]=X}getField(X){return this.entries[X.toLowerCase()]}removeField(X){delete this.entries[X.toLowerCase()]}getByType(X){return Object.values(this.entries).filter((Y)=>Y.kind===X)}}class GT1{method;protocol;hostname;port;path;query;headers;username;password;fragment;body;constructor(X){this.method=X.method||"GET",this.hostname=X.hostname||"localhost",this.port=X.port,this.query=X.query||{},this.headers=X.headers||{},this.body=X.body,this.protocol=X.protocol?X.protocol.slice(-1)!==":"?`${X.protocol}:`:X.protocol:"https:",this.path=X.path?X.path.charAt(0)!=="/"?`/${X.path}`:X.path:"/",this.username=X.username,this.password=X.password,this.fragment=X.fragment}static clone(X){let Y=new GT1({...X,headers:{...X.headers}});if(Y.query)Y.query=br5(Y.query);return Y}static isInstance(X){if(!X)return!1;let Y=X;return"method"in Y&&"protocol"in Y&&"hostname"in Y&&"path"in Y&&typeof Y.query==="object"&&typeof Y.headers==="object"}clone(){return GT1.clone(this)}}function br5(X){return Object.keys(X).reduce((Y,G)=>{let Q=X[G];return{...Y,[G]:Array.isArray(Q)?[...Q]:Q}},{})}class $06{statusCode;reason;headers;body;constructor(X){this.statusCode=X.statusCode,this.reason=X.reason,this.headers=X.headers||{},this.body=X.body}static isInstance(X){if(!X)return!1;let Y=X;return typeof Y.statusCode==="number"&&typeof Y.headers==="object"}}function yr5(X){return/^[a-z0-9][a-z0-9\.\-]*[a-z0-9]$/.test(X)}xr5.Field=Z06;xr5.Fields=W06;xr5.HttpRequest=GT1;xr5.HttpResponse=$06;xr5.getHttpHandlerExtensionConfiguration=_r5;xr5.isValidHostname=yr5;xr5.resolveHttpHandlerRuntimeConfig=fr5});function ir5(X){return(Y)=>async(G)=>{let{request:Q}=G;if(X.expectContinueHeader!==!1&&K06.HttpRequest.isInstance(Q)&&Q.body&&X.runtime==="node"&&X.requestHandler?.constructor?.name!=="FetchHttpHandler"){let J=!0;if(typeof X.expectContinueHeader==="number")try{J=(Number(Q.headers?.["content-length"])??X.bodyLengthChecker?.(Q.body)??1/0)>=X.expectContinueHeader}catch(W){}else J=!!X.expectContinueHeader;if(J)Q.headers.Expect="100-continue"}return Y({...G,request:Q})}}var K06,pr5,H06=(X)=>({applyToStack:(Y)=>{Y.add(ir5(X),pr5)}});var F06=w(()=>{K06=Y1(u7(),1);pr5={step:"build",tags:["SET_EXPECT_HEADER","EXPECT_HEADER"],name:"addExpectContinueMiddleware",override:!0}});var LH,QT1,gV,JT1,E9,U06,cX1;var EH=w(()=>{LH={WHEN_SUPPORTED:"WHEN_SUPPORTED",WHEN_REQUIRED:"WHEN_REQUIRED"},QT1=LH.WHEN_SUPPORTED,gV={WHEN_SUPPORTED:"WHEN_SUPPORTED",WHEN_REQUIRED:"WHEN_REQUIRED"},JT1=LH.WHEN_SUPPORTED;(function(X){X.MD5="MD5",X.CRC32="CRC32",X.CRC32C="CRC32C",X.CRC64NVME="CRC64NVME",X.SHA1="SHA1",X.SHA256="SHA256"})(E9||(E9={}));(function(X){X.HEADER="header",X.TRAILER="trailer"})(U06||(U06={}));cX1=E9.CRC32});var Cq,$a=(X,Y,G,Q)=>{if(!(Y in X))return;let J=X[Y].toUpperCase();if(!Object.values(G).includes(J))throw TypeError(`Cannot load ${Q} '${Y}'. Expected one of ${Object.values(G)}, got '${X[Y]}'.`);return J};var FN0=w(()=>{(function(X){X.ENV="env",X.CONFIG="shared config entry"})(Cq||(Cq={}))});var nr5="AWS_REQUEST_CHECKSUM_CALCULATION",tr5="request_checksum_calculation",B06;var z06=w(()=>{EH();FN0();B06={environmentVariableSelector:(X)=>$a(X,nr5,LH,Cq.ENV),configFileSelector:(X)=>$a(X,tr5,LH,Cq.CONFIG),default:QT1}});var ar5="AWS_RESPONSE_CHECKSUM_VALIDATION",rr5="response_checksum_validation",N06;var O06=w(()=>{EH();FN0();N06={environmentVariableSelector:(X)=>$a(X,ar5,gV,Cq.ENV),configFileSelector:(X)=>$a(X,rr5,gV,Cq.CONFIG),default:JT1}});var BN0=k((Wo5)=>{var or5=["AuthFailure","InvalidSignatureException","RequestExpired","RequestInTheFuture","RequestTimeTooSkewed","SignatureDoesNotMatch"],sr5=["BandwidthLimitExceeded","EC2ThrottledException","LimitExceededException","PriorRequestNotComplete","ProvisionedThroughputExceededException","RequestLimitExceeded","RequestThrottled","RequestThrottledException","SlowDown","ThrottledException","Throttling","ThrottlingException","TooManyRequestsException","TransactionInProgressException"],er5=["TimeoutError","RequestTimeout","RequestTimeoutException"],Xo5=[500,502,503,504],Yo5=["ECONNRESET","ECONNREFUSED","EPIPE","ETIMEDOUT"],Go5=["EHOSTUNREACH","ENETUNREACH","ENOTFOUND"],D06=(X)=>X?.$retryable!==void 0,Qo5=(X)=>or5.includes(X.name),w06=(X)=>X.$metadata?.clockSkewCorrected,L06=(X)=>{let Y=new Set(["Failed to fetch","NetworkError when attempting to fetch resource","The Internet connection appears to be offline","Load failed","Network request failed"]);if(!(X&&X instanceof TypeError))return!1;return Y.has(X.message)},Jo5=(X)=>X.$metadata?.httpStatusCode===429||sr5.includes(X.name)||X.$retryable?.throttling==!0,UN0=(X,Y=0)=>D06(X)||w06(X)||X.name==="InvalidSignatureException"&&X.message?.includes("Signature expired")||er5.includes(X.name)||Yo5.includes(X?.code||"")||Go5.includes(X?.code||"")||Xo5.includes(X.$metadata?.httpStatusCode||0)||L06(X)||E06(X)||X.cause!==void 0&&Y<=10&&UN0(X.cause,Y+1),Zo5=(X)=>{if(X.$metadata?.httpStatusCode!==void 0){let Y=X.$metadata.httpStatusCode;if(500<=Y&&Y<=599&&!UN0(X))return!0;return!1}return!1};function E06(X){return X.code==="ERR_HTTP2_STREAM_ERROR"&&X.message.includes("NGHTTP2_REFUSED_STREAM")}Wo5.isBrowserNetworkError=L06;Wo5.isClockSkewCorrectedError=w06;Wo5.isClockSkewError=Qo5;Wo5.isNodeJsHttp2TransientError=E06;Wo5.isRetryableByTrait=D06;Wo5.isServerError=Zo5;Wo5.isThrottlingError=Jo5;Wo5.isTransientError=UN0});var ww=k((To5)=>{var Oo5=BN0();To5.RETRY_MODES=void 0;(function(X){X.STANDARD="standard",X.ADAPTIVE="adaptive"})(To5.RETRY_MODES||(To5.RETRY_MODES={}));var WT1=3,Do5=To5.RETRY_MODES.STANDARD;class $T1{static setTimeoutFn=setTimeout;beta;minCapacity;minFillRate;scaleConstant;smooth;enabled=!1;availableTokens=0;lastMaxRate=0;measuredTxRate=0;requestCount=0;fillRate;lastThrottleTime;lastTimestamp=0;lastTxRateBucket;maxCapacity;timeWindow=0;constructor(X){this.beta=X?.beta??0.7,this.minCapacity=X?.minCapacity??1,this.minFillRate=X?.minFillRate??0.5,this.scaleConstant=X?.scaleConstant??0.4,this.smooth=X?.smooth??0.8,this.lastThrottleTime=this.getCurrentTimeInSeconds(),this.lastTxRateBucket=Math.floor(this.getCurrentTimeInSeconds()),this.fillRate=this.minFillRate,this.maxCapacity=this.minCapacity}async getSendToken(){return this.acquireTokenBucket(1)}updateClientSendingRate(X){let Y;this.updateMeasuredRate();let G=X;if(G?.errorType==="THROTTLING"||Oo5.isThrottlingError(G?.error??X)){let W=!this.enabled?this.measuredTxRate:Math.min(this.measuredTxRate,this.fillRate);this.lastMaxRate=W,this.calculateTimeWindow(),this.lastThrottleTime=this.getCurrentTimeInSeconds(),Y=this.cubicThrottle(W),this.enableTokenBucket()}else this.calculateTimeWindow(),Y=this.cubicSuccess(this.getCurrentTimeInSeconds());let J=Math.min(Y,2*this.measuredTxRate);this.updateTokenBucketRate(J)}getCurrentTimeInSeconds(){return Date.now()/1000}async acquireTokenBucket(X){if(!this.enabled)return;if(this.refillTokenBucket(),X>this.availableTokens){let Y=(X-this.availableTokens)/this.fillRate*1000;await new Promise((G)=>$T1.setTimeoutFn(G,Y))}this.availableTokens=this.availableTokens-X}refillTokenBucket(){let X=this.getCurrentTimeInSeconds();if(!this.lastTimestamp){this.lastTimestamp=X;return}let Y=(X-this.lastTimestamp)*this.fillRate;this.availableTokens=Math.min(this.maxCapacity,this.availableTokens+Y),this.lastTimestamp=X}calculateTimeWindow(){this.timeWindow=this.getPrecise(Math.pow(this.lastMaxRate*(1-this.beta)/this.scaleConstant,0.3333333333333333))}cubicThrottle(X){return this.getPrecise(X*this.beta)}cubicSuccess(X){return this.getPrecise(this.scaleConstant*Math.pow(X-this.lastThrottleTime-this.timeWindow,3)+this.lastMaxRate)}enableTokenBucket(){this.enabled=!0}updateTokenBucketRate(X){this.refillTokenBucket(),this.fillRate=Math.max(X,this.minFillRate),this.maxCapacity=Math.max(X,this.minCapacity),this.availableTokens=Math.min(this.availableTokens,this.maxCapacity)}updateMeasuredRate(){let X=this.getCurrentTimeInSeconds(),Y=Math.floor(X*2)/2;if(this.requestCount++,Y>this.lastTxRateBucket){let G=this.requestCount/(Y-this.lastTxRateBucket);this.measuredTxRate=this.getPrecise(G*this.smooth+this.measuredTxRate*(1-this.smooth)),this.requestCount=0,this.lastTxRateBucket=Y}}getPrecise(X){return parseFloat(X.toFixed(8))}}var wo5=100,ON0=20000,Lo5=500,zN0=500,Eo5=5,Po5=10,P06=1,qo5="amz-sdk-invocation-id",Ao5="amz-sdk-request";class sQ{static v2026=typeof process<"u"&&process.env?.SMITHY_NEW_RETRIES_2026==="true";static delay(){return sQ.v2026?50:100}static throttlingDelay(){return sQ.v2026?1000:500}static cost(){return sQ.v2026?14:5}static throttlingCost(){return sQ.v2026?5:10}static modifiedCostType(){return sQ.v2026?"THROTTLING":"TRANSIENT"}}class q06{x=sQ.delay();computeNextBackoffDelay(X){let Y=Math.random(),G=2,Q=Y*Math.min(this.x*2**X,ON0);return Math.floor(Q)}setDelayBase(X){this.x=X}}class NN0{delay;count;cost;longPoll;constructor(X,Y,G,Q){this.delay=X,this.count=Y,this.cost=G,this.longPoll=Q}getRetryCount(){return this.count}getRetryDelay(){return Math.min(ON0,this.delay)}getRetryCost(){return this.cost}isLongPoll(){return this.longPoll}}var ZT1={incompatible:1,attempts:2,capacity:3};class iX1{mode=To5.RETRY_MODES.STANDARD;capacity=zN0;retryBackoffStrategy;maxAttemptsProvider;baseDelay;constructor(X){if(typeof X==="number")this.maxAttemptsProvider=async()=>X;else if(typeof X==="function")this.maxAttemptsProvider=X;else if(X&&typeof X==="object")this.maxAttemptsProvider=async()=>X.maxAttempts,this.baseDelay=X.baseDelay,this.retryBackoffStrategy=X.backoff;this.maxAttemptsProvider??=async()=>WT1,this.baseDelay??=sQ.delay(),this.retryBackoffStrategy??=new q06}async acquireInitialRetryToken(X){return new NN0(sQ.delay(),0,void 0,sQ.v2026&&X.includes(":longpoll"))}async refreshRetryTokenForRetry(X,Y){let G=await this.getMaxAttempts(),Q=this.retryCode(X,Y,G),J=Q===0,W=X.isLongPoll?.();if(J||W){let Z=Y.errorType;this.retryBackoffStrategy.setDelayBase(Z==="THROTTLING"?sQ.throttlingDelay():this.baseDelay);let $=this.retryBackoffStrategy.computeNextBackoffDelay(X.getRetryCount()),K=$;if(Y.retryAfterHint instanceof Date)K=Math.max($,Math.min(Y.retryAfterHint.getTime()-Date.now(),$+5000));if(!J)throw Object.assign(Error("No retry token available"),{$backoff:sQ.v2026&&Q===ZT1.capacity&&W?K:0});else{let H=this.getCapacityCost(Z);return this.capacity-=H,new NN0(K,X.getRetryCount()+1,H,X.isLongPoll?.()??!1)}}throw Error("No retry token available")}recordSuccess(X){this.capacity=Math.min(zN0,this.capacity+(X.getRetryCost()??P06))}getCapacity(){return this.capacity}async maxAttempts(){return this.maxAttemptsProvider()}async getMaxAttempts(){try{return await this.maxAttemptsProvider()}catch(X){return console.warn(`Max attempts provider could not resolve. Using default of ${WT1}`),WT1}}retryCode(X,Y,G){let Q=X.getRetryCount()+1,J=this.isRetryableError(Y.errorType)?0:ZT1.incompatible,W=Q<G?0:ZT1.attempts,Z=this.capacity>=this.getCapacityCost(Y.errorType)?0:ZT1.capacity;return J||W||Z}getCapacityCost(X){return X===sQ.modifiedCostType()?sQ.throttlingCost():sQ.cost()}isRetryableError(X){return X==="THROTTLING"||X==="TRANSIENT"}}class A06{mode=To5.RETRY_MODES.ADAPTIVE;rateLimiter;standardRetryStrategy;constructor(X,Y){let{rateLimiter:G}=Y??{};this.rateLimiter=G??new $T1,this.standardRetryStrategy=Y?new iX1({maxAttempts:typeof X==="number"?X:3,...Y}):new iX1(X)}async acquireInitialRetryToken(X){return await this.rateLimiter.getSendToken(),this.standardRetryStrategy.acquireInitialRetryToken(X)}async refreshRetryTokenForRetry(X,Y){return this.rateLimiter.updateClientSendingRate(Y),this.standardRetryStrategy.refreshRetryTokenForRetry(X,Y)}recordSuccess(X){this.rateLimiter.updateClientSendingRate({}),this.standardRetryStrategy.recordSuccess(X)}async maxAttemptsProvider(){return this.standardRetryStrategy.maxAttempts()}}class T06 extends iX1{computeNextBackoffDelay;constructor(X,Y=sQ.delay()){super(typeof X==="function"?X:async()=>X);if(typeof Y==="number")this.computeNextBackoffDelay=()=>Y;else this.computeNextBackoffDelay=Y}async refreshRetryTokenForRetry(X,Y){let G=await super.refreshRetryTokenForRetry(X,Y);return G.getRetryDelay=()=>this.computeNextBackoffDelay(G.getRetryCount()),G}}To5.AdaptiveRetryStrategy=A06;To5.ConfiguredRetryStrategy=T06;To5.DEFAULT_MAX_ATTEMPTS=WT1;To5.DEFAULT_RETRY_DELAY_BASE=wo5;To5.DEFAULT_RETRY_MODE=Do5;To5.DefaultRateLimiter=$T1;To5.INITIAL_RETRY_TOKENS=zN0;To5.INVOCATION_ID_HEADER=qo5;To5.MAXIMUM_RETRY_DELAY=ON0;To5.NO_RETRY_INCREMENT=P06;To5.REQUEST_HEADER=Ao5;To5.RETRY_COST=Eo5;To5.Retry=sQ;To5.StandardRetryStrategy=iX1;To5.THROTTLING_RETRY_DELAY_BASE=Lo5;To5.TIMEOUT_RETRY_COST=Po5});var WX=k((to5)=>{var uo5=ww(),DN0={warningEmitted:!1},lo5=(X)=>{if(X&&!DN0.warningEmitted&&parseInt(X.substring(1,X.indexOf(".")))<20)DN0.warningEmitted=!0,process.emitWarning(`NodeDeprecationWarning: The AWS SDK for JavaScript (v3) will
|
|
1647
1647
|
no longer support Node.js ${X} in January 2026.
|
|
1648
1648
|
|
|
1649
1649
|
To continue receiving updates to AWS services, bug fixes, and security
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
MIT License
|
|
2
2
|
|
|
3
|
-
Copyright (c)
|
|
3
|
+
Copyright (c) 2010 - 2021 Brian Carlson
|
|
4
4
|
|
|
5
5
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
6
|
of this software and associated documentation files (the "Software"), to deal
|
|
@@ -9,13 +9,13 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
|
9
9
|
copies of the Software, and to permit persons to whom the Software is
|
|
10
10
|
furnished to do so, subject to the following conditions:
|
|
11
11
|
|
|
12
|
-
The above copyright notice and this permission notice shall be included in
|
|
13
|
-
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
14
|
|
|
15
15
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
16
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
17
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
18
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
19
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
21
|
-
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
# node-postgres
|
|
2
|
+
|
|
3
|
+
[](http://travis-ci.org/brianc/node-postgres)
|
|
4
|
+
<span class="badge-npmversion"><a href="https://npmjs.org/package/pg" title="View this project on NPM"><img src="https://img.shields.io/npm/v/pg.svg" alt="NPM version" /></a></span>
|
|
5
|
+
<span class="badge-npmdownloads"><a href="https://npmjs.org/package/pg" title="View this project on NPM"><img src="https://img.shields.io/npm/dm/pg.svg" alt="NPM downloads" /></a></span>
|
|
6
|
+
|
|
7
|
+
Non-blocking PostgreSQL client for Node.js. Pure JavaScript and optional native libpq bindings.
|
|
8
|
+
|
|
9
|
+
## Install
|
|
10
|
+
|
|
11
|
+
```sh
|
|
12
|
+
$ npm install pg
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## :star: [Documentation](https://node-postgres.com) :star:
|
|
18
|
+
|
|
19
|
+
### Features
|
|
20
|
+
|
|
21
|
+
- Pure JavaScript client and native libpq bindings share _the same API_
|
|
22
|
+
- Connection pooling
|
|
23
|
+
- Extensible JS ↔ PostgreSQL data-type coercion
|
|
24
|
+
- Supported PostgreSQL features
|
|
25
|
+
- Parameterized queries
|
|
26
|
+
- Named statements with query plan caching
|
|
27
|
+
- Async notifications with `LISTEN/NOTIFY`
|
|
28
|
+
- Bulk import & export with `COPY TO/COPY FROM`
|
|
29
|
+
|
|
30
|
+
### Extras
|
|
31
|
+
|
|
32
|
+
node-postgres is by design pretty light on abstractions. These are some handy modules we've been using over the years to complete the picture.
|
|
33
|
+
The entire list can be found on our [wiki](https://github.com/brianc/node-postgres/wiki/Extras).
|
|
34
|
+
|
|
35
|
+
## Support
|
|
36
|
+
|
|
37
|
+
node-postgres is free software. If you encounter a bug with the library please open an issue on the [GitHub repo](https://github.com/brianc/node-postgres). If you have questions unanswered by the documentation please open an issue pointing out how the documentation was unclear & I will do my best to make it better!
|
|
38
|
+
|
|
39
|
+
When you open an issue please provide:
|
|
40
|
+
|
|
41
|
+
- version of Node
|
|
42
|
+
- version of Postgres
|
|
43
|
+
- smallest possible snippet of code to reproduce the problem
|
|
44
|
+
|
|
45
|
+
You can also follow me [@briancarlson](https://twitter.com/briancarlson) if that's your thing. I try to always announce noteworthy changes & developments with node-postgres on Twitter.
|
|
46
|
+
|
|
47
|
+
## Sponsorship :two_hearts:
|
|
48
|
+
|
|
49
|
+
node-postgres's continued development has been made possible in part by generous financial support from [the community](https://github.com/brianc/node-postgres/blob/master/SPONSORS.md).
|
|
50
|
+
|
|
51
|
+
If you or your company are benefiting from node-postgres and would like to help keep the project financially sustainable [please consider supporting](https://github.com/sponsors/brianc) its development.
|
|
52
|
+
|
|
53
|
+
### Featured sponsor
|
|
54
|
+
|
|
55
|
+
Special thanks to [medplum](https://medplum.com) for their generous and thoughtful support of node-postgres!
|
|
56
|
+
|
|
57
|
+

|
|
58
|
+
|
|
59
|
+
## Contributing
|
|
60
|
+
|
|
61
|
+
**:heart: contributions!**
|
|
62
|
+
|
|
63
|
+
I will **happily** accept your pull request if it:
|
|
64
|
+
|
|
65
|
+
- **has tests**
|
|
66
|
+
- looks reasonable
|
|
67
|
+
- does not break backwards compatibility
|
|
68
|
+
|
|
69
|
+
If your change involves breaking backwards compatibility please please point that out in the pull request & we can discuss & plan when and how to release it and what type of documentation or communicate it will require.
|
|
70
|
+
|
|
71
|
+
## Troubleshooting and FAQ
|
|
72
|
+
|
|
73
|
+
The causes and solutions to common errors can be found among the [Frequently Asked Questions (FAQ)](https://github.com/brianc/node-postgres/wiki/FAQ)
|
|
74
|
+
|
|
75
|
+
## License
|
|
76
|
+
|
|
77
|
+
Copyright (c) 2010-2020 Brian Carlson (brian.m.carlson@gmail.com)
|
|
78
|
+
|
|
79
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
80
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
81
|
+
in the Software without restriction, including without limitation the rights
|
|
82
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
83
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
84
|
+
furnished to do so, subject to the following conditions:
|
|
85
|
+
|
|
86
|
+
The above copyright notice and this permission notice shall be included in
|
|
87
|
+
all copies or substantial portions of the Software.
|
|
88
|
+
|
|
89
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
90
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
91
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
92
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
93
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
94
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
95
|
+
THE SOFTWARE.
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
// ESM wrapper for pg
|
|
2
|
+
import pg from '../lib/index.js'
|
|
3
|
+
|
|
4
|
+
// Re-export all the properties
|
|
5
|
+
export const Client = pg.Client
|
|
6
|
+
export const Pool = pg.Pool
|
|
7
|
+
export const Connection = pg.Connection
|
|
8
|
+
export const types = pg.types
|
|
9
|
+
export const Query = pg.Query
|
|
10
|
+
export const DatabaseError = pg.DatabaseError
|
|
11
|
+
export const escapeIdentifier = pg.escapeIdentifier
|
|
12
|
+
export const escapeLiteral = pg.escapeLiteral
|
|
13
|
+
export const Result = pg.Result
|
|
14
|
+
export const TypeOverrides = pg.TypeOverrides
|
|
15
|
+
|
|
16
|
+
// Also export the defaults
|
|
17
|
+
export const defaults = pg.defaults
|
|
18
|
+
|
|
19
|
+
// Re-export the default
|
|
20
|
+
export default pg
|