decocms 4.29.1 → 4.30.1
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-D90xu5-8.js → AlertCircle-DQZIoZK3.js} +1 -1
- package/dist/client/assets/{ArrowUpRight-B1XPsNPZ.js → ArrowUpRight-BXPXISIu.js} +1 -1
- package/dist/client/assets/{Check-BqH5cjqe.js → Check-s3en6K6a.js} +1 -1
- package/dist/client/assets/{CheckCircle-CebfgxLq.js → CheckCircle-6oFE8RZY.js} +1 -1
- package/dist/client/assets/{ChevronDown-DhzhS3K5.js → ChevronDown-DfbvlHGm.js} +1 -1
- package/dist/client/assets/{ChevronRight-DntNgeBz.js → ChevronRight-BbMxA_we.js} +1 -1
- package/dist/client/assets/{ChevronUp-DPJfOoQR.js → ChevronUp-CSojtzH5.js} +1 -1
- package/dist/client/assets/{Circle-umqkxNwx.js → Circle-4U8mdxgJ.js} +1 -1
- package/dist/client/assets/{Copy01-YBIj7O7M.js → Copy01-CIuFqZaz.js} +1 -1
- package/dist/client/assets/{DotsVertical-DoxN78H8.js → DotsVertical-CcXsbxkI.js} +1 -1
- package/dist/client/assets/{Eye-o8ajkfvt.js → Eye-C-Ii0MmZ.js} +1 -1
- package/dist/client/assets/{FilterLines-CEBhmChB.js → FilterLines-CRqtZMw9.js} +1 -1
- package/dist/client/assets/{Globe01-D3NrpjPq.js → Globe01-CdJefkBr.js} +1 -1
- package/dist/client/assets/{Globe04-6xG6GU2e.js → Globe04-BrDmMJuA.js} +1 -1
- package/dist/client/assets/{HardDrive-CDBenwE2.js → HardDrive-C1TfsRRw.js} +1 -1
- package/dist/client/assets/{Key01-CwgjH_um.js → Key01-BuAYoLgF.js} +1 -1
- package/dist/client/assets/{LayoutLeft-CKcHwaHf.js → LayoutLeft-BuFW-ud0.js} +1 -1
- package/dist/client/assets/{LinkExternal01-DBFEHO3t.js → LinkExternal01-DMcxPOk0.js} +1 -1
- package/dist/client/assets/{List-s8AZWxpk.js → List-Dg43Ye3O.js} +1 -1
- package/dist/client/assets/{Loading02-DaLVACu2.js → Loading02-CLjf_mWB.js} +1 -1
- package/dist/client/assets/{Monitor01-lxPxQ2fk.js → Monitor01-DP1X3LaS.js} +1 -1
- package/dist/client/assets/{Palette-DHyTdFqR.js → Palette-6OTpcgOT.js} +1 -1
- package/dist/client/assets/{Play-TOCBGzP9.js → Play-C-6p0BcA.js} +1 -1
- package/dist/client/assets/{Plus-DkGwhdIW.js → Plus-DI8G3hjD.js} +1 -1
- package/dist/client/assets/{SearchLg-C9MBYrXH.js → SearchLg-CeBJHSxD.js} +1 -1
- package/dist/client/assets/{SearchMd-Dhz0UROc.js → SearchMd-BK3G07RD.js} +1 -1
- package/dist/client/assets/{Settings02-COfrOHpp.js → Settings02-Cc5NwEaN.js} +1 -1
- package/dist/client/assets/{Shield01-BrK-9cDf.js → Shield01-CSmFJ1RP.js} +1 -1
- package/dist/client/assets/{Star01-twQgP5oO.js → Star01-CWyyx_CI.js} +1 -1
- package/dist/client/assets/{Stars01-C27kMlCK.js → Stars01-CNNiBNAJ.js} +1 -1
- package/dist/client/assets/{Stars02-sR281nUk.js → Stars02-zuQltjIB.js} +1 -1
- package/dist/client/assets/{Sun-DTFx5jn8.js → Sun-Cm9IedwX.js} +1 -1
- package/dist/client/assets/{SwitchHorizontal01-Bu9ipsE_.js → SwitchHorizontal01-Cw76bjm8.js} +1 -1
- package/dist/client/assets/{Tool01-DJgxsN47.js → Tool01-CTeGQUqF.js} +1 -1
- package/dist/client/assets/{Trash01-myAGgKHr.js → Trash01-CeLlU9Hr.js} +1 -1
- package/dist/client/assets/{Upload01-m0ny4YmQ.js → Upload01-DeL5atjC.js} +1 -1
- package/dist/client/assets/{User01-DuGAbO5F.js → User01-CVy-WVkE.js} +1 -1
- package/dist/client/assets/{Users01-e9Wb8IJU.js → Users01-gmVxoI-k.js} +1 -1
- package/dist/client/assets/{Users03-JTfAuK6m.js → Users03-Ba1rCL5_.js} +1 -1
- package/dist/client/assets/{X-DRR7RtBP.js → X-B4fK1PSH.js} +1 -1
- package/dist/client/assets/{XCircle-Cz7czjsw.js → XCircle-D680rHaa.js} +1 -1
- package/dist/client/assets/{XClose-eEYHZsPT.js → XClose-DZ-fbd9x.js} +1 -1
- package/dist/client/assets/{Zap-CMZ9cCJz.js → Zap-CHM8jc7i.js} +1 -1
- package/dist/client/assets/{ZapSquare-Ch518nCD.js → ZapSquare-BjByOqyA.js} +1 -1
- package/dist/client/assets/{ZoomOut-Chl8lvun.js → ZoomOut-Dt1IXaRq.js} +1 -1
- package/dist/client/assets/{access-gate-Cf-kJrg7.js → access-gate-w4EKvoEv.js} +1 -1
- package/dist/client/assets/{add-section-modal-COVSQJFG.js → add-section-modal-DogHlV9_.js} +1 -1
- package/dist/client/assets/agent-capabilities-giK3bRW-.js +1 -0
- package/dist/client/assets/agent-icon-N5U1HeY1.js +1 -0
- package/dist/client/assets/agents-list-CqlyAaPn.js +1 -0
- package/dist/client/assets/ai-providers--EA2lMFo.js +1 -0
- package/dist/client/assets/{alert-C-n1SZ0O.js → alert-Bdmkn5IA.js} +1 -1
- package/dist/client/assets/{alert-dialog-wgrcUQ0O.js → alert-dialog-DQf3rZVT.js} +3 -3
- package/dist/client/assets/app-editor-k0YPL4X-.js +1 -0
- package/dist/client/assets/{auth-B8jeHTDK.js → auth-DLezYwI7.js} +1 -1
- package/dist/client/assets/{auth-catchall-f5qF8zoS.js → auth-catchall-v82GytbP.js} +1 -1
- package/dist/client/assets/{auth-entry-BwlcwCMz.js → auth-entry-verdsuvy.js} +1 -1
- package/dist/client/assets/{auth-split-layout-DiG8voFB.js → auth-split-layout-D3EcXAD7.js} +1 -1
- package/dist/client/assets/{authenticate-and-persist-oauth-ezeRyKPp.js → authenticate-and-persist-oauth-B89lyITx.js} +1 -1
- package/dist/client/assets/{automation-list-row-CeLhtWjA.js → automation-list-row-o2_pLOr4.js} +1 -1
- package/dist/client/assets/automation-runs-Dmwa3j9k.js +188 -0
- package/dist/client/assets/automations-3TEWqXty.js +1 -0
- package/dist/client/assets/autosend-e3cesngm.js +1 -0
- package/dist/client/assets/{avatar-BrhzNA4d.js → avatar-0pAXOhlp.js} +1 -1
- package/dist/client/assets/{badge-B5li3mFX.js → badge-DdUP-taI.js} +1 -1
- package/dist/client/assets/{block-document-BKVlkRQG.js → block-document-B5oKLw65.js} +3 -3
- package/dist/client/assets/brand-context-DYt7cXJ_.js +1 -0
- package/dist/client/assets/{breadcrumb-BPYlrjmj.js → breadcrumb-Dx2G4VO9.js} +1 -1
- package/dist/client/assets/buckets-BDVtaRLE.js +1 -0
- package/dist/client/assets/bulk-category-panel-DJTbN1Qa.js +1 -0
- package/dist/client/assets/{calendar-C0u4vRHU.js → calendar-CcJoOwrC.js} +1 -1
- package/dist/client/assets/capability-load-error-kAN6hK8J.js +1 -0
- package/dist/client/assets/{card-CCFrbS6S.js → card-CLNI5vTb.js} +1 -1
- package/dist/client/assets/category-editor-C-c4TOvs.js +1 -0
- package/dist/client/assets/{chat-context-XoGdeFE9.js → chat-context-CDLyvKdU.js} +5 -5
- package/dist/client/assets/{checkbox-D2NBps_s.js → checkbox-BCSDUgIe.js} +1 -1
- package/dist/client/assets/{cli-auth-success-DG3-YXKw.js → cli-auth-success-BMRSWJHK.js} +1 -1
- package/dist/client/assets/collection-detail-BxQm_7ex.js +1 -0
- package/dist/client/assets/{collection-display-button-Bvtt9j_H.js → collection-display-button-DgkDwQx3.js} +1 -1
- package/dist/client/assets/{collection-search-BHb176G9.js → collection-search-EDEWD1X9.js} +1 -1
- package/dist/client/assets/{collection-table-wrapper-BBBMMDK4.js → collection-table-wrapper-tJUZOEkF.js} +1 -1
- package/dist/client/assets/{collection-tabs-CCdUJRcj.js → collection-tabs-Cq6azV_u.js} +1 -1
- package/dist/client/assets/{command-CGbsZOaN.js → command-DHmaE9JT.js} +1 -1
- package/dist/client/assets/commerce-onboarding-DNPVnUn4.js +1 -0
- package/dist/client/assets/{connect-desktop-dialog-CRhRTOUc.js → connect-desktop-dialog-DGh-1tLq.js} +1 -1
- package/dist/client/assets/{connection-card-DGNqtPoP.js → connection-card-DT-riPtN.js} +1 -1
- package/dist/client/assets/connection-detail-DfM_VWgx.js +1 -0
- package/dist/client/assets/{connection-form-helpers-Bs8LNNlp.js → connection-form-helpers-DioUFOWc.js} +1 -1
- package/dist/client/assets/connections-bwhbNn_9.js +1 -0
- package/dist/client/assets/constants-B72Xmt_K.js +1 -0
- package/dist/client/assets/{decopilot-sse-pool-B7Qe588m.js → decopilot-sse-pool-BOi7-S8l.js} +1 -1
- package/dist/client/assets/{dialog-C2MVTIBt.js → dialog-C1_sXCgH.js} +1 -1
- package/dist/client/assets/{domain-settings-Dk68eaoE.js → domain-settings-BZ3H97uq.js} +1 -1
- package/dist/client/assets/{drawer-BGO4iAk0.js → drawer-BstQPSyC.js} +1 -1
- package/dist/client/assets/{dropdown-menu-BPps0Iqr.js → dropdown-menu-BXGfrSiX.js} +1 -1
- package/dist/client/assets/{empty-state-BUKBmmAV.js → empty-state-CSs6-Bdi.js} +1 -1
- package/dist/client/assets/{extract-connection-data-Dq7vx8cX.js → extract-connection-data-mdwVf3Kr.js} +1 -1
- package/dist/client/assets/file-explorer-BCjGBw7c.js +2 -0
- package/dist/client/assets/{file-type-icon-DIgcp2MN.js → file-type-icon-C_PHmk0C.js} +1 -1
- package/dist/client/assets/{files-CIXCBIkO.js → files-DJf6oJKs.js} +1 -1
- package/dist/client/assets/{form-TSiFK-dI.js → form-BB8De_xV.js} +1 -1
- package/dist/client/assets/general-BgbMP2m7.js +1 -0
- package/dist/client/assets/github-repo-picker-aJftKcC0.js +1 -0
- package/dist/client/assets/{hooks-BKW8thdS.js → hooks-CksaF-ej.js} +6 -6
- package/dist/client/assets/{index-Btxmdruq.js → index-BTvzEEE4.js} +3 -3
- package/dist/client/assets/index-BYSbf1og.css +1 -0
- package/dist/client/assets/{index-BZQALusN.js → index-B_a3RFg9.js} +1 -1
- package/dist/client/assets/{index-9kwnfSCp.js → index-BgeQc437.js} +3 -3
- package/dist/client/assets/{index-DNvozpHG.js → index-BlHRIOF6.js} +1 -1
- package/dist/client/assets/{index-d52A49fX.js → index-ByOvX_ve.js} +4 -4
- package/dist/client/assets/{index-CIZOVv5V.js → index-C0ZQYTpQ.js} +1 -1
- package/dist/client/assets/{index-BibhmEoM.js → index-C0ZnJYy-.js} +1 -1
- package/dist/client/assets/{index-Bsex2T4n.js → index-C34RmICP.js} +3 -3
- package/dist/client/assets/index-CQvqUcGM.js +1 -0
- package/dist/client/assets/index-DDp5gOuw.js +1 -0
- package/dist/client/assets/index-PwHmdceA.js +519 -0
- package/dist/client/assets/{index-BlJ4j0DM.js → index-SAeZ5DI1.js} +1 -1
- package/dist/client/assets/{index-CKKQLGcV.js → index-_3KKuOg4.js} +1 -1
- package/dist/client/assets/{index-B09DUV7c.js → index-eWA8xKaL.js} +1 -1
- package/dist/client/assets/{index-redirect-BsNOVzi9.js → index-redirect-uNIA84_Q.js} +1 -1
- package/dist/client/assets/{input-B_5YyJ8y.js → input-Bt7D33rg.js} +1 -1
- package/dist/client/assets/{integration-icon-DXGEOTjP.js → integration-icon-C5KirdUg.js} +1 -1
- package/dist/client/assets/{invite-member-dialog-YIBgjb89.js → invite-member-dialog-BuARwphh.js} +2 -2
- package/dist/client/assets/{label-CWqrShVu.js → label-BxgEeCbJ.js} +1 -1
- package/dist/client/assets/{login-Da99hiOC.js → login-CaG_4y_B.js} +1 -1
- package/dist/client/assets/{mcp-oauth-CSUfdVCn.js → mcp-oauth-CL0sljW9.js} +1 -1
- package/dist/client/assets/members--hV2Q0Ot.js +1 -0
- package/dist/client/assets/monaco-editor-CbUVJEKg.js +9 -0
- package/dist/client/assets/{monitoring-stats-row-DixOHH_R.js → monitoring-stats-row-DFi_Kdkh.js} +1 -1
- package/dist/client/assets/{oauth-callback-BaDQ-n27.js → oauth-callback-DAhYaKj8.js} +1 -1
- package/dist/client/assets/{oauth-callback-ai-provider-I3h8vdSk.js → oauth-callback-ai-provider-CR0F-hQD.js} +1 -1
- package/dist/client/assets/{onboarding-B1EOLElh.js → onboarding-BUFWneNv.js} +1 -1
- package/dist/client/assets/org-install-Bb2jIZ-L.js +1 -0
- package/dist/client/assets/{org-layout-NnaVwU9k.js → org-layout-D_gYV_Zs.js} +1 -1
- package/dist/client/assets/{organization-choice-C-TyyEjY.js → organization-choice-BvtQGOSW.js} +1 -1
- package/dist/client/assets/page-seo-form-BWWbOuxt.js +1 -0
- package/dist/client/assets/page-seo-sheet-98Jl6iTy.js +1 -0
- package/dist/client/assets/{popover-DlszYF1R.js → popover-DzPhoKNT.js} +1 -1
- package/dist/client/assets/post-editor-Dl6eFOA9.js +1 -0
- package/dist/client/assets/primitives-CHpgu7zx.js +1 -0
- package/dist/client/assets/profile-CuDAW9Ii.js +1 -0
- package/dist/client/assets/project-app-view-BkSNyja3.js +1 -0
- package/dist/client/assets/record-editor-D5qjtt77.js +1 -0
- package/dist/client/assets/registry-Dw9uBZ7-.js +2 -0
- package/dist/client/assets/{registry-layout-zFAhrTof.js → registry-layout-BkbFqKCh.js} +1 -1
- package/dist/client/assets/{require-capability-C135EIMf.js → require-capability-DGTSD8vx.js} +1 -1
- package/dist/client/assets/{required-auth-layout-CEAeU4UY.js → required-auth-layout-BjrbsMWm.js} +1 -1
- package/dist/client/assets/{reset-password-D_zECCKz.js → reset-password-BiKRZoQ2.js} +1 -1
- package/dist/client/assets/reusable-new-chat-qqWu133U.js +1 -0
- package/dist/client/assets/roles-zCiQqsuK.js +1 -0
- package/dist/client/assets/{search-input-DccF25qw.js → search-input-kWxNIRnl.js} +1 -1
- package/dist/client/assets/secrets-viO9Xl5S.js +1 -0
- package/dist/client/assets/sections-editor-W7VOMkOG.js +2 -0
- package/dist/client/assets/{select-DdHVdWXn.js → select-8JaYnS6d.js} +1 -1
- package/dist/client/assets/select-model-B-2xubIJ.js +4 -0
- package/dist/client/assets/seo-editor-CFGBoPWr.js +1 -0
- package/dist/client/assets/settings-layout-DNdkL202.js +1 -0
- package/dist/client/assets/{settings-section-eWkjB3kv.js → settings-section-CAqTmyhS.js} +1 -1
- package/dist/client/assets/shell-controls-Yg88zbSN.js +1 -0
- package/dist/client/assets/shell-layout-k2JSKYlm.js +1 -0
- package/dist/client/assets/sidebar-C761eQb1.js +1 -0
- package/dist/client/assets/{skeleton-Bl9k4gft.js → skeleton-DSJYqmzp.js} +1 -1
- package/dist/client/assets/sso-CWcGb61Y.js +1 -0
- package/dist/client/assets/store-DxbT2BKV.js +1 -0
- package/dist/client/assets/store-registry-B_vQy0r8.js +2 -0
- package/dist/client/assets/{studio-tools-nA7ZTnFV.js → studio-tools-CgfSo7j_.js} +1 -1
- package/dist/client/assets/{switch-CuT_exNr.js → switch-DhJhR8Ba.js} +1 -1
- package/dist/client/assets/tab-id-yjGvxWDL.js +1 -0
- package/dist/client/assets/{table-CWyE2zgw.js → table-CDz46PoK.js} +1 -1
- package/dist/client/assets/{tabs-DRqPX6Mz.js → tabs-BUhcO-L3.js} +1 -1
- package/dist/client/assets/{textarea-B3Rf9sP3.js → textarea-BYx7whqS.js} +1 -1
- package/dist/client/assets/{toggle-group-BuLxG5r3.js → toggle-group-BZ189fjx.js} +1 -1
- package/dist/client/assets/toolbar-C5VXYU-N.js +1 -0
- package/dist/client/assets/{toolbar-icon-button-CwCDO4L5.js → toolbar-icon-button-DrS8O_Iq.js} +1 -1
- package/dist/client/assets/tools-list-DlkGTda2.js +1 -0
- package/dist/client/assets/tooltip-B3P4mjnJ.js +1 -0
- package/dist/client/assets/{types-B2Xs3OM7.js → types-CcSVLYhO.js} +1 -1
- package/dist/client/assets/{use-ai-providers-CW0jtnuO.js → use-ai-providers-CprIzBUo.js} +1 -1
- package/dist/client/assets/{use-automations-CuWiOTtv.js → use-automations-2Be9XmPq.js} +1 -1
- package/dist/client/assets/{use-capability-C9whYnsG.js → use-capability-BPxQX6Oj.js} +1 -1
- package/dist/client/assets/use-clock-tick-BjAPnH4G.js +1 -0
- package/dist/client/assets/use-collections-b46PF-FB.js +1 -0
- package/dist/client/assets/{use-connection-BLVjIktc.js → use-connection-DeGbigio.js} +1 -1
- package/dist/client/assets/{use-copy-_bA4U2MU.js → use-copy-D_xDaGph.js} +1 -1
- package/dist/client/assets/{use-create-virtual-mcp-DAOEgAsA.js → use-create-virtual-mcp-B-FWLpM6.js} +1 -1
- package/dist/client/assets/{use-debounced-autosave-D34fr9f_.js → use-debounced-autosave-BuGW5-NP.js} +1 -1
- package/dist/client/assets/{use-debounced-value-DxBLMeqg.js → use-debounced-value-CFIePpm0.js} +1 -1
- package/dist/client/assets/{use-decopilot-events-Dk3_PQZu.js → use-decopilot-events-BLTRVndf.js} +1 -1
- package/dist/client/assets/{use-delete-connection-CkaRxWAn.js → use-delete-connection-Dl2mZ81L.js} +1 -1
- package/dist/client/assets/{use-file-configs-Td4k8wTj.js → use-file-configs-BTnwV_7n.js} +1 -1
- package/dist/client/assets/use-infinite-scroll-ChaGSzFC.js +1 -0
- package/dist/client/assets/{use-join-requests-DoInaUWb.js → use-join-requests-BMDS7ZyH.js} +1 -1
- package/dist/client/assets/{use-mcp-client-QTh-uqf4.js → use-mcp-client-u24P-s4P.js} +2 -2
- package/dist/client/assets/{use-mcp-prompts-5W77PpYc.js → use-mcp-prompts-BDBVNTlN.js} +1 -1
- package/dist/client/assets/use-mcp-tools-CocIQ7qB.js +1 -0
- package/dist/client/assets/{use-members-Cc48Xacn.js → use-members-Bus4og0A.js} +1 -1
- package/dist/client/assets/{use-mobile-Cqur1PpI.js → use-mobile-C93OYfHB.js} +1 -1
- package/dist/client/assets/use-navigate-to-agent-DjAWkSGL.js +1 -0
- package/dist/client/assets/{use-org-auth-client-C5lRdd5o.js → use-org-auth-client-CA5gjmgW.js} +1 -1
- package/dist/client/assets/{use-org-sso-DGL7haeQ.js → use-org-sso-CFBLq8qg.js} +1 -1
- package/dist/client/assets/{use-organization-roles-UeKRVQhu.js → use-organization-roles-h9scR-Kp.js} +1 -1
- package/dist/client/assets/{use-organization-settings-CnPdR5CP.js → use-organization-settings-EwmFXWWf.js} +1 -1
- package/dist/client/assets/{use-registry-connections-HQM1hA3o.js → use-registry-connections-D8Q8D5kz.js} +1 -1
- package/dist/client/assets/{use-secrets-D-GN3cJh.js → use-secrets-W7_VRgqz.js} +1 -1
- package/dist/client/assets/use-status-sounds-DJJd7nCb.js +1 -0
- package/dist/client/assets/{use-view-mode-BMlb6QOX.js → use-view-mode-B0A1elcL.js} +1 -1
- package/dist/client/assets/use-virtual-mcp-Bc6ku1ke.js +1 -0
- package/dist/client/assets/useInfiniteQuery-CwXupu4y.js +1 -0
- package/dist/client/assets/useSuspenseInfiniteQuery-ahqYuudo.js +1 -0
- package/dist/client/assets/variant-calendar-DdJwieRy.js +1 -0
- package/dist/client/assets/{view-mode-toggle-D0e_xb-Q.js → view-mode-toggle-BDMYTtyJ.js} +1 -1
- package/dist/client/index.html +2 -2
- package/dist/server/cli.js +3 -3
- package/dist/server/server.js +3 -3
- package/package.json +1 -1
- package/dist/client/assets/agent-capabilities-Cpju5Yfe.js +0 -1
- package/dist/client/assets/agent-icon-BvZm1osM.js +0 -1
- package/dist/client/assets/agents-list-BzkaDxFg.js +0 -1
- package/dist/client/assets/ai-providers-DadR3aQt.js +0 -1
- package/dist/client/assets/app-editor-CAH73t0u.js +0 -1
- package/dist/client/assets/automation-runs-CmgFzJTt.js +0 -1
- package/dist/client/assets/automations-D21tUX_h.js +0 -1
- package/dist/client/assets/brand-context-DHuctVxS.js +0 -1
- package/dist/client/assets/buckets-CZdkIll2.js +0 -1
- package/dist/client/assets/bulk-category-panel-DBxbY94B.js +0 -1
- package/dist/client/assets/capability-load-error-D7uMbvO0.js +0 -1
- package/dist/client/assets/category-editor-DJYxfrMo.js +0 -1
- package/dist/client/assets/collection-detail-uY6XXgWz.js +0 -1
- package/dist/client/assets/commerce-onboarding-DtUMhwdU.js +0 -1
- package/dist/client/assets/connection-detail-DlI7-vLh.js +0 -1
- package/dist/client/assets/connections-Ci34jtNe.js +0 -1
- package/dist/client/assets/constants-nH3qQ_1f.js +0 -1
- package/dist/client/assets/content-blocks-o63cs2vh.js +0 -1
- package/dist/client/assets/decopilot--vqccpDb.js +0 -4
- package/dist/client/assets/file-explorer-BGhwIot0.js +0 -2
- package/dist/client/assets/general-D5as9e6z.js +0 -1
- package/dist/client/assets/github-repo-picker-B3tomRAJ.js +0 -1
- package/dist/client/assets/index-5uzKO7q6.css +0 -1
- package/dist/client/assets/index-C7DWYqRh.js +0 -1
- package/dist/client/assets/index-CEE6U8OI.js +0 -1
- package/dist/client/assets/index-ELtqDe0g.js +0 -513
- package/dist/client/assets/library-tab-BBr_dx-g.js +0 -7
- package/dist/client/assets/members-BboKmC5r.js +0 -1
- package/dist/client/assets/monaco-editor-xlUuBDU4.js +0 -9
- package/dist/client/assets/org-install-CDUCFQCm.js +0 -1
- package/dist/client/assets/page-seo-form-Cfv9ng9q.js +0 -1
- package/dist/client/assets/page-seo-sheet-CIF4tqJJ.js +0 -1
- package/dist/client/assets/post-editor-BiHws1oe.js +0 -1
- package/dist/client/assets/primitives-0HgpGbC7.js +0 -1
- package/dist/client/assets/profile-ZMZrPNFW.js +0 -1
- package/dist/client/assets/project-app-view-O-o90Cxo.js +0 -1
- package/dist/client/assets/record-editor-BZ3V6i3V.js +0 -1
- package/dist/client/assets/registry-DzfT-ESq.js +0 -2
- package/dist/client/assets/roles-DYzEztRG.js +0 -1
- package/dist/client/assets/scroll-area-Bsik7Uif.js +0 -188
- package/dist/client/assets/secrets-DJrAzRmE.js +0 -1
- package/dist/client/assets/sections-editor-i5xgzCTq.js +0 -2
- package/dist/client/assets/select-model-C49KT9p5.js +0 -1
- package/dist/client/assets/seo-editor-C38OT2eM.js +0 -1
- package/dist/client/assets/settings-layout-DePsodvD.js +0 -1
- package/dist/client/assets/sheet-DSSfro03.js +0 -1
- package/dist/client/assets/shell-controls-DMbQmeKU.js +0 -1
- package/dist/client/assets/shell-layout-DdmjIlR4.js +0 -1
- package/dist/client/assets/sidebar-BJwboMe2.js +0 -1
- package/dist/client/assets/sso-xj4rMylh.js +0 -1
- package/dist/client/assets/store-DlhSxr4k.js +0 -1
- package/dist/client/assets/store-registry-BayPiGW-.js +0 -2
- package/dist/client/assets/tab-id-Bgchl1bv.js +0 -1
- package/dist/client/assets/task-row-DzSs63v5.js +0 -1
- package/dist/client/assets/task-status-CNEAWeje.js +0 -1
- package/dist/client/assets/toolbar-CVjg3TEd.js +0 -1
- package/dist/client/assets/tools-list-Dzc5vr-A.js +0 -1
- package/dist/client/assets/tooltip-Bzas0fb8.js +0 -1
- package/dist/client/assets/use-clock-tick-B6ygxook.js +0 -1
- package/dist/client/assets/use-collections-BP4R8sI-.js +0 -1
- package/dist/client/assets/use-infinite-scroll-1VhU5Q3H.js +0 -1
- package/dist/client/assets/use-mcp-tools-BTYjbm6L.js +0 -1
- package/dist/client/assets/use-navigate-to-agent-CaUSC1CF.js +0 -1
- package/dist/client/assets/use-status-sounds-DEhedUWx.js +0 -1
- package/dist/client/assets/use-virtual-mcp-n0IfHFn6.js +0 -1
- package/dist/client/assets/useInfiniteQuery-DEG0qlSd.js +0 -1
- package/dist/client/assets/useSuspenseInfiniteQuery-DzP8_asj.js +0 -1
- package/dist/client/assets/useSuspenseQueries-CI8oYgcQ.js +0 -1
- package/dist/client/assets/variant-calendar-CIBbpgAR.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{c as H,j as t,Z as J,a as ie,p as Y,r as $,a4 as q,i as U,d as ee,t as L,dV as ae,K as F,k as le,B as ce,l as V,L as ue,ak as de}from"./index-ByOvX_ve.js";import{c as me,a as fe,d as pe,e as ge}from"./dialog-C1_sXCgH.js";import{C as W}from"./checkbox-BCSDUgIe.js";import{C as xe}from"./collection-search-EDEWD1X9.js";import{u as he}from"./use-debounced-value-CFIePpm0.js";import{b as te,u as ye}from"./use-connection-DeGbigio.js";import{u as D}from"./use-mcp-client-u24P-s4P.js";import{W as be,S as ne}from"./constants-B72Xmt_K.js";import{a as se}from"./authenticate-and-persist-oauth-B89lyITx.js";import{b as oe}from"./Settings02-Cc5NwEaN.js";import{K as we}from"./agent-icon-N5U1HeY1.js";import{u as Ne}from"./use-mcp-tools-CocIQ7qB.js";import{e as Ce}from"./extract-connection-data-mdwVf3Kr.js";import{u as je}from"./use-navigate-to-agent-DjAWkSGL.js";import{f as Ie}from"./github-installations-DzN1UQ4x.js";const K={contents:"write",metadata:"read",pull_requests:"write",issues:"write"};function Se(s){if(!s||typeof s!="object"||Array.isArray(s))return K;const e=s;return Object.values(e).some(n=>typeof n!="string")?K:e}function ve(s){if(!(typeof s!="number"||!Number.isFinite(s)||!Number.isInteger(s)||s<=0))return s}function Ee(s){const e=s.metadata?.repoScope;if(!e||typeof e.installationId!="number"||!Number.isFinite(e.installationId)||!Number.isInteger(e.installationId)||e.installationId<=0||typeof e.owner!="string"||typeof e.repo!="string"||e.owner.length===0||e.repo.length===0)return null;const n=ve(e.repositoryId);return{sourceConnectionId:typeof e.sourceConnectionId=="string"?e.sourceConnectionId:void 0,installationId:e.installationId,repositoryId:n,owner:e.owner,repo:e.repo,permissions:Se(e.permissions),grantProvider:e.grantProvider==="github-mcp"?"github-mcp":void 0}}function Te(s){return(s??[]).filter(e=>Ee(e)===null)}function rt(s){return s.metadata?.orgShared===!0}function z(s){const e=H.c(4),{size:n,className:o}=s;let l;e[0]===Symbol.for("react.memo_cache_sentinel")?(l=t.jsx("path",{d:"M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27s1.36.09 2 .27c1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.01 8.01 0 0016 8c0-4.42-3.58-8-8-8z"}),e[0]=l):l=e[0];let d;return e[1]!==o||e[2]!==n?(d=t.jsx("svg",{width:n,height:n,viewBox:"0 0 16 16",fill:"currentColor","aria-hidden":"true",className:o,children:l}),e[1]=o,e[2]=n,e[3]=d):d=e[3],d}function ke(s,e){const n=H.c(12),{org:o}=J();let l;n[0]!==o.id?(l=be.REGISTRY(o.id),n[0]=o.id,n[1]=l):l=n[1];const d=l;let f;n[2]!==o.id||n[3]!==o.slug||n[4]!==d?(f={connectionId:d,orgId:o.id,orgSlug:o.slug},n[2]=o.id,n[3]=o.slug,n[4]=d,n[5]=f):f=n[5];const m=D(f);let p;n[6]!==s?(p={name:s},n[6]=s,n[7]=p):p=n[7];const b=e?.enabled??!0;let i;return n[8]!==m||n[9]!==p||n[10]!==b?(i={client:m,toolName:"COLLECTION_REGISTRY_APP_GET",toolArguments:p,enabled:b,staleTime:3e5,select:_e},n[8]=m,n[9]=p,n[10]=b,n[11]=i):i=n[11],Ne(i)}function _e(s){return s.structuredContent?.item??null}const Ae="deco/mcp-github";function Re(s){const{org:e}=J(),{data:n}=ie.useSession(),o=te(),l=Y(),[d,f]=$.useState("idle"),[m,p]=$.useState(null),[b,i]=$.useState(null),{data:h,isLoading:c}=ke(Ae,{enabled:s.enabled}),g=$.useRef(!1);s.enabled&&h&&!c&&!g.current&&n?.user?.id&&d==="idle"&&(g.current=!0,w());async function w(){if(!(!h||!n?.user?.id||!e))try{f("installing"),p(null);const N=Ce(h,e.id,n.user.id,{remoteIndex:0});if(!N.connection_url)throw new Error("Registry item is missing a remote URL for mcp-github");const{id:x}=await o.create.mutateAsync(N);f("authenticating");const u=await se({connectionId:x,orgId:e.id,orgSlug:e.slug,persistFallback:a=>o.update.mutateAsync({id:x,data:{connection_token:a}}).then(()=>{})});if(u.ran&&!u.ok){try{await o.delete.mutateAsync(x)}catch{}throw new Error(u.error&&u.error!=="no token received"?u.error:"No token received from GitHub")}q(l,e.id),i(N),f("ready")}catch(N){p(N instanceof Error?N.message:String(N)),f("error")}}function j(){f("idle"),p(null),i(null),g.current=!1}return s.enabled&&c&&d==="idle"?{status:"installing",error:null,connection:null,retry:j}:{status:d,error:m,connection:b,retry:j}}const B=[{key:"auto-respond-to-issues",triggerType:"github.issues.opened",nameSuffix:"auto-respond to issues",label:"Auto-respond to new issues",defaultEnabled:!0,instructions:({owner:s,name:e})=>`A new GitHub issue has been opened in ${s}/${e}. Read the issue, explore relevant code, create a branch, implement the fix, and open a PR referencing the issue number.`},{key:"review-incoming-prs",triggerType:"github.pull_request.opened",nameSuffix:"review incoming PRs",label:"Review incoming pull requests",defaultEnabled:!0,instructions:({owner:s,name:e})=>`A pull request was opened in ${s}/${e}. Read the diff, summarize what changed, flag risks (security, perf, breaking changes), and leave a review comment.`},{key:"note-merged-prs",triggerType:"github.pull_request.closed",nameSuffix:"note merged/closed PRs",label:"Note merged or closed PRs",defaultEnabled:!1,instructions:({owner:s,name:e})=>`A pull request was closed in ${s}/${e}. If it was merged, update changelog/release notes as appropriate.`}];function Oe(s,e){const n=new Set;if(s.paramsSchema)for(const l of Object.keys(s.paramsSchema))n.add(l);if(Array.isArray(s.params))for(const l of s.params)n.add(l.name);else if(s.params&&typeof s.params=="object")for(const l of Object.keys(s.params))n.add(l);if(n.has("repo"))return{repo:`${e.owner}/${e.name}`};const o={};return n.has("owner")&&(o.owner=e.owner),n.has("name")&&(o.name=e.name),n.has("repository")&&(o.repository=`${e.owner}/${e.name}`),o}async function Ge({githubCallTool:s,selfCallTool:e,virtualMcpId:n,repo:o,connectionId:l,selectedKeys:d}){const f=await s({name:"TRIGGER_LIST",arguments:{}}),m=f.structuredContent??f,p=new Map((m.triggers??[]).map(c=>[c.type,c])),b=B.filter(c=>d.has(c.key)),i=await Promise.allSettled(b.map(async c=>{const g=p.get(c.triggerType);if(!g)throw new Error(`Trigger ${c.triggerType} not exposed`);const w=await e({name:"AUTOMATION_CREATE",arguments:{name:`${o.name}: ${c.nameSuffix}`,virtual_mcp_id:n,messages:c.instructions(o),active:!0}}),j=(w.structuredContent??w).id;if(!j)throw new Error(`AUTOMATION_CREATE returned no id for ${c.key}`);await e({name:"AUTOMATION_TRIGGER_ADD",arguments:{automation_id:j,type:"event",connection_id:l,event_type:c.triggerType,params:Oe(g,o)}})})),h=i.filter(c=>c.status==="rejected").length;return h>0&&console.error("Some GitHub automations failed to set up:",i.filter(c=>c.status==="rejected")),{total:i.length,failed:h}}const Z="GitHub MCP did not return refreshable repo grant metadata";function M(s){if(typeof s!="string")return null;const e=s.trim();return e.length>0?e:null}function Pe(s){try{const e=new URL(s);return(e.protocol==="http:"||e.protocol==="https:")&&!e.username&&!e.password}catch{return!1}}function $e(s){return typeof s=="number"&&Number.isFinite(s)&&Number.isInteger(s)&&s>0?s:void 0}async function X(s){const{orgSlug:e,sourceConnection:n,installationId:o,owner:l,repo:d,githubCallTool:f,selfCallTool:m,orgShared:p}=s,b=await f({name:"MINT_REPO_TOKEN",arguments:{installationId:o,owner:l,repo:d,permissions:K}}),i=b.structuredContent;if(b.isError||!i?.token){const y=b.content?.find(T=>T.type==="text")?.text;throw new Error(y?`Failed to mint a repo-scoped GitHub token: ${y}`:"Failed to mint a repo-scoped GitHub token")}const h=M(i.refreshToken),c=M(i.tokenEndpoint),g=M(i.clientId);if(!h||!c||!g)throw new Error(Z);if(!Pe(c))throw new Error(Z);const w=M(i.repository?.owner),j=M(i.repository?.name),N="GitHub MCP returned refresh metadata for a different repository";if(i.repository?.owner!==void 0&&(!w||w.toLowerCase()!==l.toLowerCase()))throw new Error(N);if(i.repository?.name!==void 0&&(!j||j.toLowerCase()!==d.toLowerCase()))throw new Error(N);const C=$e(i.repository?.id),x=i.expiresAt?Date.parse(i.expiresAt):NaN,u=Number.isFinite(x)?Math.max(0,Math.floor((x-Date.now())/1e3)):null,I=(typeof i.expiresIn=="number"&&Number.isFinite(i.expiresIn)&&Number.isInteger(i.expiresIn)&&i.expiresIn>0?i.expiresIn:null)??u,v=await m({name:"COLLECTION_CONNECTIONS_CREATE",arguments:{data:{title:`GitHub: ${l}/${d}`,description:`Repo-scoped GitHub access for ${l}/${d}`,icon:n.icon,app_name:n.app_name,app_id:n.app_id,connection_type:n.connection_type,connection_url:n.connection_url,metadata:{...p?{orgShared:!0}:{},repoScope:{installationId:o,repositoryId:C,owner:l,repo:d,permissions:K,grantProvider:"github-mcp"}}}}}),S=v.structuredContent??v,E=S.item?.id??S.id;if(!E)throw new Error("Failed to create the repo-scoped GitHub connection");if(!(await fetch(`/api/${e}/connections/${E}/oauth-token`,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({accessToken:i.token,refreshToken:h,expiresIn:I,scope:i.scope??null,clientId:g,tokenEndpoint:c})})).ok)throw await m({name:"COLLECTION_CONNECTIONS_DELETE",arguments:{id:E,force:!0}}).catch(()=>{}),new Error("Failed to persist the repo-scoped token");return{childConnectionId:E}}function it(s){const e=H.c(23),{open:n,onOpenChange:o,title:l,hideAutoRespondCheckbox:d,onImportComplete:f,mode:m}=s,p=d===void 0?!1:d,b=m===void 0?"agent":m,i=l??(b==="connection"?"Add repo":"Import from GitHub"),[h,c]=$.useState(null);let g;e[0]!==i?(g=t.jsx(me,{className:"sr-only",children:t.jsx(fe,{children:i})}),e[0]=i,e[1]=g):g=e[1];let w;e[2]!==i||e[3]!==h?(w=t.jsx("div",{className:"flex items-center h-12 border-b border-border px-4 gap-3 shrink-0",children:h?t.jsxs(t.Fragment,{children:[t.jsx("button",{type:"button",onClick:()=>c(null),className:"flex items-center justify-center text-muted-foreground hover:text-foreground transition-colors shrink-0","aria-label":"Back to accounts",children:t.jsx(oe,{size:16})}),t.jsx("img",{src:h.avatarUrl,alt:h.login,className:"size-5 rounded-full ring-1 ring-border shrink-0"}),t.jsx("span",{className:"text-sm font-medium text-foreground",children:h.login})]}):t.jsxs(t.Fragment,{children:[t.jsx(z,{className:"size-4 text-foreground shrink-0"}),t.jsx("span",{className:"text-sm font-medium text-foreground",children:i})]})}),e[2]=i,e[3]=h,e[4]=w):w=e[4];let j;e[5]===Symbol.for("react.memo_cache_sentinel")?(j=t.jsx("div",{className:"flex-1 flex items-center justify-center",children:t.jsx(U,{size:18,className:"animate-spin text-muted-foreground"})}),e[5]=j):j=e[5];let N;e[6]!==o?(N=()=>o(!1),e[6]=o,e[7]=N):N=e[7];const C=p||b==="connection";let x;e[8]!==b||e[9]!==f||e[10]!==n||e[11]!==h||e[12]!==N||e[13]!==C?(x=t.jsx("div",{className:"flex-1 overflow-hidden flex flex-col min-w-0",children:t.jsx($.Suspense,{fallback:j,children:t.jsx(He,{open:n,onComplete:N,selectedInstallation:h,onSelectInstallation:c,hideAutoRespondCheckbox:C,onImportComplete:f,mode:b})})}),e[8]=b,e[9]=f,e[10]=n,e[11]=h,e[12]=N,e[13]=C,e[14]=x):x=e[14];let u;e[15]!==g||e[16]!==w||e[17]!==x?(u=t.jsxs(pe,{className:"sm:max-w-[560px] h-[85svh] sm:h-[520px] p-0 gap-0 overflow-hidden flex flex-col",children:[g,w,x]}),e[15]=g,e[16]=w,e[17]=x,e[18]=u):u=e[18];let a;return e[19]!==o||e[20]!==n||e[21]!==u?(a=t.jsx(ge,{open:n,onOpenChange:o,children:u}),e[19]=o,e[20]=n,e[21]=u,e[22]=a):a=e[22],a}function He({open:s,onComplete:e,selectedInstallation:n,onSelectInstallation:o,hideAutoRespondCheckbox:l,onImportComplete:d,mode:f="agent"}){const{org:m}=J(),p=Y(),b=je(),[i,h]=$.useState(null),[c,g]=$.useState(!0),[w,j]=$.useState(()=>new Set(B.filter(r=>r.defaultEnabled).map(r=>r.key))),N=B.filter(r=>r.defaultEnabled).map(r=>r.key),C=l?new Set(N):c?w:new Set,x=ye({slug:"mcp-github"}),u=Te(x),a=Re({enabled:s&&u.length===0}),I=u.length===1?u[0]??null:i,v=D({connectionId:I?.id??"",orgId:m.id,orgSlug:m.slug}),S=D({connectionId:ne,orgId:m.id,orgSlug:m.slug}),E=async(r,k)=>{try{const P=await v.callTool({name:"get_file_contents",arguments:{owner:r.owner,repo:r.name,path:k}});if(P.isError)return null;const O=P.content?.find(G=>G.type==="resource")?.resource?.text;if(!O)return null;try{const G=JSON.parse(O);return typeof G=="string"?G:JSON.stringify(G)}catch{return O}}catch{return null}},_=(r,k)=>{Promise.all([E(k,"AGENTS.md"),E(k,"CLAUDE.md")]).then(async([A,P])=>{const R=A??P??null;R&&(await S.callTool({name:"COLLECTION_VIRTUAL_MCP_UPDATE",arguments:{id:r,data:{metadata:{instructions:R}}}}),q(p,m.id))}).catch(A=>{console.error("GitHub instructions fetch failed:",A)})},y=async({virtualMcpId:r,repo:k,connectionId:A,selectedKeys:P})=>{const{total:R,failed:O}=await Ge({githubCallTool:G=>v.callTool(G),selfCallTool:G=>S.callTool(G),virtualMcpId:r,repo:k,connectionId:A,selectedKeys:P});O>0&&L.warning(`Set up ${R-O}/${R} GitHub automations. Add the rest from the automations view.`)},T=ee({mutationFn:async r=>{if(!I||!n)throw new Error("No GitHub connection or installation");const k=n.installationId;if(f==="connection"){const{childConnectionId:R}=await X({orgSlug:m.slug,sourceConnection:I,installationId:k,owner:r.owner,repo:r.name,githubCallTool:O=>v.callTool(O),selfCallTool:O=>S.callTool(O),orgShared:!0});return{virtualMcpId:null,repo:r,connectionId:R,item:null}}const{childConnectionId:A}=await X({orgSlug:m.slug,sourceConnection:I,installationId:k,owner:r.owner,repo:r.name,githubCallTool:R=>v.callTool(R),selfCallTool:R=>S.callTool(R)});let P=null;try{const R=await S.callTool({name:"COLLECTION_VIRTUAL_MCP_CREATE",arguments:{data:{title:r.name,description:r.description||"Imported from GitHub",pinned:!1,icon:null,metadata:{githubRepo:{owner:r.owner,name:r.name,url:r.url,installationId:k,connectionId:A},instructions:null,ui:{pinnedViews:null,layout:{defaultMainView:{type:"preview"},chatDefaultOpen:!0}}},connections:[{connection_id:A}]}}}),O=R.structuredContent??R,G=O.item?.id;if(!O.item||!G)throw new Error("Failed to create the imported agent");return P=G,C.size>0&&await y({virtualMcpId:G,repo:r,connectionId:A,selectedKeys:C}).catch(re=>{console.error("Failed to set up GitHub automations:",re),L.warning("Imported repo, but failed to set up GitHub automations. You can add triggers manually from the automations view.")}),{virtualMcpId:G,repo:r,connectionId:A,item:O.item}}catch(R){throw P&&await S.callTool({name:"COLLECTION_VIRTUAL_MCP_DELETE",arguments:{id:P}}).catch(()=>{}),await S.callTool({name:"COLLECTION_CONNECTIONS_DELETE",arguments:{id:A,force:!0}}).catch(()=>{}),R}},onSuccess:({virtualMcpId:r,repo:k,connectionId:A,item:P})=>{if(f==="connection"||!r||!P){q(p,m.id),ae(p,m.id),L.success(`Added ${k.name}`),e();return}if(p.setQueryData(F.collectionItem(S,m.id,"","VIRTUAL_MCP",r),{item:P}),q(p,m.id),_(r,k),d){d({virtualMcpId:r,repo:k,connectionId:A});return}L.success(`Imported ${k.name} from GitHub`),e(),localStorage.setItem("mesh:sidebar-open",JSON.stringify(!1)),b(r)},onError:r=>{L.error("Failed to import repo: "+(r instanceof Error?r.message:"Unknown error"))}});return a.status==="installing"||a.status==="authenticating"?t.jsx(Q,{status:a.status,error:null,retry:a.retry}):a.status==="error"?t.jsx(Q,{status:"error",error:a.error,retry:a.retry}):u.length===0&&a.status==="idle"?t.jsx(Q,{status:"installing",error:null,retry:a.retry}):u.length>1&&!I?t.jsxs("div",{className:"flex flex-col py-2",children:[t.jsx("div",{className:"px-4 py-2",children:t.jsx("p",{className:"text-xs font-medium text-muted-foreground",children:"Select a connection"})}),u.map(r=>t.jsxs("button",{type:"button",onClick:()=>h(r),className:"flex items-center gap-3 px-4 py-3 hover:bg-accent transition-colors text-left",children:[r.icon?t.jsx("img",{src:r.icon,alt:r.title,className:"size-7 rounded-full shrink-0"}):t.jsx("div",{className:"size-7 rounded-full bg-muted flex items-center justify-center shrink-0",children:t.jsx(z,{className:"size-3.5 text-muted-foreground"})}),t.jsx("span",{className:"text-sm font-medium",children:r.title})]},r.id))]}):I?n?t.jsx(Fe,{connectionId:I.id,orgId:m.id,orgSlug:m.slug,installation:n,onSelectRepo:r=>T.mutate(r),isSaving:T.isPending,autoRespondEnabled:c,onAutoRespondChange:g,selectedAutomationKeys:w,onAutomationKeysChange:j,hideAutoRespondCheckbox:l}):t.jsx(Le,{connectionId:I.id,orgId:m.id,orgSlug:m.slug,onSelect:o,showBackButton:u.length>1,onBack:()=>h(null)}):null}function Le(s){const e=H.c(47),{connectionId:n,orgId:o,orgSlug:l,onSelect:d,showBackButton:f,onBack:m}=s;let p;e[0]!==o||e[1]!==l?(p={connectionId:ne,orgId:o,orgSlug:l},e[0]=o,e[1]=l,e[2]=p):p=e[2];const b=D(p),i=Y(),h=te();let c;e[3]!==n||e[4]!==o?(c=F.githubUserOrgs(o,n),e[3]=n,e[4]=o,e[5]=c):c=e[5];let g;e[6]!==n||e[7]!==b?(g=()=>Ie(y=>b.callTool(y),n),e[6]=n,e[7]=b,e[8]=g):g=e[8];let w;e[9]!==c||e[10]!==g?(w={queryKey:c,queryFn:g},e[9]=c,e[10]=g,e[11]=w):w=e[11];const j=le(w);let N;e[12]!==h||e[13]!==n||e[14]!==j||e[15]!==o||e[16]!==l||e[17]!==i?(N={mutationFn:async()=>{const y=await se({connectionId:n,orgId:o,orgSlug:l,persistFallback:r=>h.update.mutateAsync({id:n,data:{connection_token:r}}).then(Me)});if(y.ran&&!y.ok)throw new Error(y.error??"no token received");const T=new URL(`/api/${l}/mcp/${n}`,window.location.origin);await i.invalidateQueries({queryKey:F.isMCPAuthenticated(T.href,null)}),await i.invalidateQueries({queryKey:F.mcpClientPrefix()}),await j.refetch()},onError:ze},e[12]=h,e[13]=n,e[14]=j,e[15]=o,e[16]=l,e[17]=i,e[18]=N):N=e[18];const C=ee(N);if(j.isLoading){let y;return e[19]===Symbol.for("react.memo_cache_sentinel")?(y=t.jsx("div",{className:"flex-1 flex items-center justify-center",children:t.jsx(U,{size:18,className:"animate-spin text-muted-foreground"})}),e[19]=y):y=e[19],y}if(j.isError){let y,T;e[20]===Symbol.for("react.memo_cache_sentinel")?(y=t.jsx("p",{className:"text-sm text-destructive",children:"Failed to load GitHub accounts"}),T=t.jsx("p",{className:"text-xs text-muted-foreground max-w-[280px] leading-relaxed",children:"Your GitHub connection may have expired. Reconnect to restore access."}),e[20]=y,e[21]=T):(y=e[20],T=e[21]);let r;e[22]!==C?(r=()=>C.mutate(),e[22]=C,e[23]=r):r=e[23];let k;e[24]!==C.isPending?(k=C.isPending?t.jsx(U,{size:14,className:"animate-spin"}):t.jsx(z,{className:"size-3.5"}),e[24]=C.isPending,e[25]=k):k=e[25];let A;return e[26]!==C.isPending||e[27]!==r||e[28]!==k?(A=t.jsxs("div",{className:"flex-1 flex flex-col items-center justify-center gap-3 px-6 text-center",children:[y,T,t.jsxs(ce,{type:"button",variant:"outline",size:"sm",onClick:r,disabled:C.isPending,children:[k,"Reconnect GitHub"]})]}),e[26]=C.isPending,e[27]=r,e[28]=k,e[29]=A):A=e[29],A}const x=j.data;if(!x)return null;let u;e[30]!==m||e[31]!==f?(u=f&&t.jsx("div",{className:"flex items-center gap-1 px-4 pt-3 pb-1 shrink-0",children:t.jsxs("button",{type:"button",onClick:m,className:"flex items-center gap-1 text-xs text-muted-foreground hover:text-foreground transition-colors",children:[t.jsx(oe,{size:12}),"Change connection"]})}),e[30]=m,e[31]=f,e[32]=u):u=e[32];let a;if(e[33]!==x.installations||e[34]!==d){let y;e[36]!==d?(y=T=>t.jsxs("button",{type:"button",onClick:()=>d(T),className:"w-full flex items-center gap-3 px-4 py-3 hover:bg-accent transition-colors text-left group",children:[t.jsx("img",{src:T.avatarUrl,alt:T.login,className:"size-7 rounded-full shrink-0 ring-1 ring-border"}),t.jsxs("div",{className:"flex flex-col min-w-0 flex-1",children:[t.jsx("span",{className:"text-sm font-medium leading-none",children:T.login}),T.type==="User"&&t.jsx("span",{className:"text-xs text-muted-foreground mt-1",children:"Personal account"})]}),t.jsx("span",{className:"text-xs text-muted-foreground opacity-0 group-hover:opacity-100 transition-opacity shrink-0",children:"Select →"})]},T.installationId),e[36]=d,e[37]=y):y=e[37],a=x.installations.map(y),e[33]=x.installations,e[34]=d,e[35]=a}else a=e[35];let I;e[38]!==a?(I=t.jsx("div",{className:"flex-1 overflow-y-auto overflow-x-hidden [scrollbar-gutter:stable]",children:a}),e[38]=a,e[39]=I):I=e[39];const v=x.appSlug?`https://github.com/apps/${x.appSlug}/installations/new`:"https://github.com/settings/installations";let S;e[40]===Symbol.for("react.memo_cache_sentinel")?(S=t.jsx("span",{className:"underline underline-offset-2",children:"Install the GitHub App"}),e[40]=S):S=e[40];let E;e[41]!==v?(E=t.jsx("div",{className:"px-4 py-3 border-t border-border shrink-0",children:t.jsxs("a",{href:v,target:"_blank",rel:"noopener noreferrer",className:"text-xs text-muted-foreground hover:text-foreground transition-colors",children:["Account not listed?"," ",S]})}),e[41]=v,e[42]=E):E=e[42];let _;return e[43]!==E||e[44]!==u||e[45]!==I?(_=t.jsxs("div",{className:"flex-1 flex flex-col overflow-hidden",children:[u,I,E]}),e[43]=E,e[44]=u,e[45]=I,e[46]=_):_=e[46],_}function ze(s){L.error("Failed to reconnect GitHub: "+(s instanceof Error?s.message:"Unknown error"))}function Me(){}function Fe(s){const e=H.c(27),{connectionId:n,orgId:o,orgSlug:l,installation:d,onSelectRepo:f,isSaving:m,autoRespondEnabled:p,onAutoRespondChange:b,selectedAutomationKeys:i,onAutomationKeysChange:h,hideAutoRespondCheckbox:c}=s,[g,w]=$.useState(""),j=he(g,300),N=$.useDeferredValue(j),C=g!==N;let x;e[0]!==C||e[1]!==g?(x=t.jsx(xe,{placeholder:"Search repositories...",value:g,onChange:w,isSearching:C}),e[0]=C,e[1]=g,e[2]=x):x=e[2];const u=C?"opacity-40":"opacity-100";let a;e[3]!==u?(a=V("flex-1 overflow-hidden flex flex-col transition-opacity duration-150",u),e[3]=u,e[4]=a):a=e[4];let I;e[5]===Symbol.for("react.memo_cache_sentinel")?(I=t.jsx("div",{className:"flex-1 flex items-center justify-center",children:t.jsx(U,{size:18,className:"animate-spin text-muted-foreground"})}),e[5]=I):I=e[5];let v;e[6]!==n||e[7]!==N||e[8]!==d||e[9]!==m||e[10]!==f||e[11]!==o||e[12]!==l?(v=t.jsx($.Suspense,{fallback:I,children:t.jsx(Ue,{connectionId:n,orgId:o,orgSlug:l,installation:d,query:N,onSelectRepo:f,isSaving:m})}),e[6]=n,e[7]=N,e[8]=d,e[9]=m,e[10]=f,e[11]=o,e[12]=l,e[13]=v):v=e[13];let S;e[14]!==a||e[15]!==v?(S=t.jsx("div",{className:a,children:v}),e[14]=a,e[15]=v,e[16]=S):S=e[16];let E;e[17]!==p||e[18]!==c||e[19]!==b||e[20]!==h||e[21]!==i?(E=!c&&t.jsxs("div",{className:"border-t border-border shrink-0",children:[t.jsxs("label",{className:"flex items-center gap-2 px-4 py-3 cursor-pointer select-none",children:[t.jsx(W,{checked:p,onCheckedChange:y=>b(y===!0)}),t.jsx("span",{className:"text-xs text-foreground",children:"Set up GitHub automations for this repo"})]}),p&&t.jsx("div",{className:"px-4 pb-3 pl-9 flex flex-col gap-1.5",children:B.map(y=>t.jsxs("label",{className:"flex items-center gap-2 cursor-pointer select-none",children:[t.jsx(W,{checked:i.has(y.key),onCheckedChange:T=>{const r=new Set(i);T===!0?r.add(y.key):r.delete(y.key),h(r)}}),t.jsx("span",{className:"text-xs text-muted-foreground",children:y.label})]},y.key))})]}),e[17]=p,e[18]=c,e[19]=b,e[20]=h,e[21]=i,e[22]=E):E=e[22];let _;return e[23]!==x||e[24]!==S||e[25]!==E?(_=t.jsxs("div",{className:"flex-1 flex flex-col overflow-hidden",children:[x,S,E]}),e[23]=x,e[24]=S,e[25]=E,e[26]=_):_=e[26],_}function Ue(s){const e=H.c(29),{connectionId:n,orgId:o,orgSlug:l,installation:d,query:f,onSelectRepo:m,isSaving:p}=s;let b;e[0]!==n||e[1]!==o||e[2]!==l?(b={connectionId:n,orgId:o,orgSlug:l},e[0]=n,e[1]=o,e[2]=l,e[3]=b):b=e[3];const i=D(b),h=d.type==="User"?"user":"org",c=f?`${h}:${d.login} ${f} in:name`:`${h}:${d.login}`;let g;e[4]!==n||e[5]!==d.login||e[6]!==o||e[7]!==f?(g=F.githubOrgRepos(o,n,d.login,f),e[4]=n,e[5]=d.login,e[6]=o,e[7]=f,e[8]=g):g=e[8];let w;e[9]!==i||e[10]!==c?(w=async u=>{const{signal:a}=u,v=(await i.callTool({name:"search_repositories",arguments:{query:c,page:1,perPage:30}},void 0,{signal:a})).content?.[0]?.text;if(!v)throw new Error("No response from search_repositories");return(JSON.parse(v).items??[]).map(De)},e[9]=i,e[10]=c,e[11]=w):w=e[11];let j;e[12]!==g||e[13]!==w?(j={queryKey:g,queryFn:w},e[12]=g,e[13]=w,e[14]=j):j=e[14];const{data:N}=ue(j);if(N.length===0){let u;e[15]===Symbol.for("react.memo_cache_sentinel")?(u=t.jsx("p",{className:"text-sm text-muted-foreground",children:"No repositories found"}),e[15]=u):u=e[15];let a;e[16]!==f?(a=f&&t.jsx("p",{className:"text-xs text-muted-foreground/60",children:"Try a different search term"}),e[16]=f,e[17]=a):a=e[17];let I;return e[18]!==a?(I=t.jsxs("div",{className:"flex-1 flex flex-col items-center justify-center gap-1",children:[u,a]}),e[18]=a,e[19]=I):I=e[19],I}let C;if(e[20]!==p||e[21]!==m||e[22]!==N){let u;e[24]!==p||e[25]!==m?(u=a=>t.jsxs("button",{type:"button",onClick:()=>m(a),disabled:p,className:"flex items-start gap-3 px-4 py-3 hover:bg-accent transition-colors text-left disabled:opacity-50 disabled:cursor-not-allowed",children:[t.jsx(z,{className:"size-4 text-muted-foreground mt-0.5 shrink-0"}),t.jsx("div",{className:"flex items-center gap-2 min-w-0 flex-1",children:t.jsx("span",{className:"text-sm font-medium truncate",children:a.name})}),t.jsxs("span",{className:"flex items-center gap-1 text-xs font-medium text-muted-foreground border border-border rounded px-1.5 py-0.5 shrink-0 leading-none",children:[a.private?t.jsx(de,{size:10}):t.jsx(we,{size:10}),a.private?"Private":"Public"]})]},a.fullName),e[24]=p,e[25]=m,e[26]=u):u=e[26],C=N.map(u),e[20]=p,e[21]=m,e[22]=N,e[23]=C}else C=e[23];let x;return e[27]!==C?(x=t.jsx("div",{className:"flex-1 overflow-y-auto overflow-x-hidden flex flex-col [scrollbar-gutter:stable]",children:C}),e[27]=C,e[28]=x):x=e[28],x}function De(s){return{name:s.name,fullName:s.full_name,owner:s.full_name.split("/")[0]??"",url:s.html_url,private:s.private,description:s.description,updatedAt:s.updated_at}}function Q(s){const e=H.c(33),{status:n,error:o,retry:l}=s;if(n==="error"){let v;e[0]===Symbol.for("react.memo_cache_sentinel")?(v=t.jsx("div",{className:"size-10 rounded-full bg-destructive/10 flex items-center justify-center",children:t.jsx(z,{className:"size-5 text-destructive"})}),e[0]=v):v=e[0];let S;e[1]===Symbol.for("react.memo_cache_sentinel")?(S=t.jsx("p",{className:"text-sm font-medium",children:"Connection failed"}),e[1]=S):S=e[1];const E=o??"Something went wrong while connecting to GitHub.";let _;e[2]!==E?(_=t.jsxs("div",{className:"flex flex-col items-center gap-1 text-center",children:[S,t.jsx("p",{className:"text-xs text-muted-foreground max-w-[260px] leading-relaxed",children:E})]}),e[2]=E,e[3]=_):_=e[3];let y;e[4]!==l?(y=t.jsx("button",{type:"button",onClick:l,className:"text-xs font-medium text-foreground border border-border rounded-md px-3 py-1.5 hover:bg-accent transition-colors",children:"Try again"}),e[4]=l,e[5]=y):y=e[5];let T;return e[6]!==_||e[7]!==y?(T=t.jsxs("div",{className:"flex flex-col items-center gap-4 px-6 py-10",children:[v,_,y]}),e[6]=_,e[7]=y,e[8]=T):T=e[8],T}const d=n==="authenticating";let f;e[9]===Symbol.for("react.memo_cache_sentinel")?(f=t.jsx("div",{className:"size-10 rounded-full bg-muted flex items-center justify-center",children:t.jsx(z,{className:"size-5 text-foreground"})}),e[9]=f):f=e[9];let m;e[10]===Symbol.for("react.memo_cache_sentinel")?(m=t.jsxs("div",{className:"relative size-10",children:[f,t.jsx("div",{className:"absolute -bottom-0.5 -right-0.5 size-4 rounded-full bg-background flex items-center justify-center",children:t.jsx(U,{size:12,className:"animate-spin text-muted-foreground"})})]}),e[10]=m):m=e[10];const p=d?"Authenticating with GitHub":"Setting up GitHub";let b;e[11]!==p?(b=t.jsx("p",{className:"text-sm font-medium",children:p}),e[11]=p,e[12]=b):b=e[12];const i=d?"Complete the OAuth flow in your browser":"Installing the GitHub connection...";let h;e[13]!==i?(h=t.jsx("p",{className:"text-xs text-muted-foreground",children:i}),e[13]=i,e[14]=h):h=e[14];let c;e[15]!==b||e[16]!==h?(c=t.jsxs("div",{className:"flex flex-col items-center gap-1 text-center",children:[b,h]}),e[15]=b,e[16]=h,e[17]=c):c=e[17];const g=d?"bg-muted-foreground/30":"bg-foreground animate-pulse";let w;e[18]!==g?(w=V("size-1.5 rounded-full",g),e[18]=g,e[19]=w):w=e[19];let j;e[20]!==w?(j=t.jsx("span",{className:w}),e[20]=w,e[21]=j):j=e[21];const N=d?"bg-foreground animate-pulse":"bg-muted-foreground/30";let C;e[22]!==N?(C=V("size-1.5 rounded-full",N),e[22]=N,e[23]=C):C=e[23];let x;e[24]!==C?(x=t.jsx("span",{className:C}),e[24]=C,e[25]=x):x=e[25];let u;e[26]===Symbol.for("react.memo_cache_sentinel")?(u=t.jsx("span",{className:"size-1.5 rounded-full bg-muted-foreground/30"}),e[26]=u):u=e[26];let a;e[27]!==j||e[28]!==x?(a=t.jsxs("div",{className:"flex items-center gap-1.5",children:[j,x,u]}),e[27]=j,e[28]=x,e[29]=a):a=e[29];let I;return e[30]!==a||e[31]!==c?(I=t.jsxs("div",{className:"flex flex-col items-center gap-4 px-6 py-10",children:[m,c,a]}),e[30]=a,e[31]=c,e[32]=I):I=e[32],I}export{it as G,z as a,Te as b,Ee as g,rt as i,X as p,Re as u};
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import{
|
|
2
|
-
Error message: ${
|
|
3
|
-
Error message: ${qe(a)}`,cause:a}),this[ke]=!0,this.value=e,this.context=r}static isInstance(e){return Z.hasMarker(e,Ke)}static wrap({value:e,cause:a,context:r}){var s,o,i;return ye.isInstance(a)&&a.value===e&&((s=a.context)==null?void 0:s.field)===r?.field&&((o=a.context)==null?void 0:o.entityName)===r?.entityName&&((i=a.context)==null?void 0:i.entityId)===r?.entityId?a:new ye({value:e,cause:a,context:r})}},ie=({prefix:t,size:e=16,alphabet:a="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",separator:r="-"}={})=>{const s=()=>{const o=a.length,i=new Array(e);for(let n=0;n<e;n++)i[n]=a[Math.random()*o|0];return i.join("")};if(t==null)return s;if(a.includes(r))throw new Vt({argument:"separator",message:`The separator "${r}" must not be part of the alphabet "${a}".`});return()=>`${t}${r}${s()}`};ie();var Yt=/"(?:_|\\u005[Ff])(?:_|\\u005[Ff])(?:p|\\u0070)(?:r|\\u0072)(?:o|\\u006[Ff])(?:t|\\u0074)(?:o|\\u006[Ff])(?:_|\\u005[Ff])(?:_|\\u005[Ff])"\s*:/,qt=/"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/;function Ze(t){const e=JSON.parse(t);return e===null||typeof e!="object"||Yt.test(t)===!1&&qt.test(t)===!1?e:Wt(e)}function Wt(t){let e=[t];for(;e.length;){const a=e;e=[];for(const r of a){if(Object.prototype.hasOwnProperty.call(r,"__proto__"))throw new SyntaxError("Object contains forbidden prototype property");if(Object.prototype.hasOwnProperty.call(r,"constructor")&&r.constructor!==null&&typeof r.constructor=="object"&&Object.prototype.hasOwnProperty.call(r.constructor,"prototype"))throw new SyntaxError("Object contains forbidden prototype property");for(const s in r){const o=r[s];o&&typeof o=="object"&&e.push(o)}}}return t}function Ht(t){const{stackTraceLimit:e}=Error;try{Error.stackTraceLimit=0}catch{return Ze(t)}try{return Ze(t)}finally{Error.stackTraceLimit=e}}function Te(t){if(t.type==="object"||Array.isArray(t.type)&&t.type.includes("object")){t.additionalProperties=!1;const{properties:a}=t;if(a!=null)for(const r of Object.keys(a))a[r]=z(a[r])}t.items!=null&&(t.items=Array.isArray(t.items)?t.items.map(z):z(t.items)),t.anyOf!=null&&(t.anyOf=t.anyOf.map(z)),t.allOf!=null&&(t.allOf=t.allOf.map(z)),t.oneOf!=null&&(t.oneOf=t.oneOf.map(z));const{definitions:e}=t;if(e!=null)for(const a of Object.keys(e))e[a]=z(e[a]);return t}function z(t){return typeof t=="boolean"?t:Te(t)}var Gt=Symbol("Let zodToJsonSchema decide on which parser to use"),$e={name:void 0,$refStrategy:"root",basePath:["#"],effectStrategy:"input",pipeStrategy:"all",dateStrategy:"format:date-time",mapStrategy:"entries",removeAdditionalStrategy:"passthrough",allowedAdditionalProperties:!0,rejectedAdditionalProperties:!1,definitionPath:"definitions",strictUnions:!1,definitions:{},errorMessages:!1,patternStrategy:"escape",applyRegexFlags:!1,emailStrategy:"format:email",base64Strategy:"contentEncoding:base64",nameStrategy:"ref"},Xt=t=>typeof t=="string"?{...$e,name:t}:{...$e,...t};function N(){return{}}function Qt(t,e){var a,r,s;const o={type:"array"};return(a=t.type)!=null&&a._def&&((s=(r=t.type)==null?void 0:r._def)==null?void 0:s.typeName)!==h.ZodAny&&(o.items=b(t.type._def,{...e,currentPath:[...e.currentPath,"items"]})),t.minLength&&(o.minItems=t.minLength.value),t.maxLength&&(o.maxItems=t.maxLength.value),t.exactLength&&(o.minItems=t.exactLength.value,o.maxItems=t.exactLength.value),o}function Kt(t){const e={type:"integer",format:"int64"};if(!t.checks)return e;for(const a of t.checks)switch(a.kind){case"min":a.inclusive?e.minimum=a.value:e.exclusiveMinimum=a.value;break;case"max":a.inclusive?e.maximum=a.value:e.exclusiveMaximum=a.value;break;case"multipleOf":e.multipleOf=a.value;break}return e}function ea(){return{type:"boolean"}}function et(t,e){return b(t.type._def,e)}var ta=(t,e)=>b(t.innerType._def,e);function tt(t,e,a){const r=a??e.dateStrategy;if(Array.isArray(r))return{anyOf:r.map((s,o)=>tt(t,e,s))};switch(r){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":return aa(t)}}var aa=t=>{const e={type:"integer",format:"unix-time"};for(const a of t.checks)switch(a.kind){case"min":e.minimum=a.value;break;case"max":e.maximum=a.value;break}return e};function ra(t,e){return{...b(t.innerType._def,e),default:t.defaultValue()}}function sa(t,e){return e.effectStrategy==="input"?b(t.schema._def,e):N()}function na(t){return{type:"string",enum:Array.from(t.values)}}var oa=t=>"type"in t&&t.type==="string"?!1:"allOf"in t;function ia(t,e){const a=[b(t.left._def,{...e,currentPath:[...e.currentPath,"allOf","0"]}),b(t.right._def,{...e,currentPath:[...e.currentPath,"allOf","1"]})].filter(s=>!!s),r=[];return a.forEach(s=>{if(oa(s))r.push(...s.allOf);else{let o=s;if("additionalProperties"in s&&s.additionalProperties===!1){const{additionalProperties:i,...n}=s;o=n}r.push(o)}}),r.length?{allOf:r}:void 0}function la(t){const e=typeof t.value;return e!=="bigint"&&e!=="number"&&e!=="boolean"&&e!=="string"?{type:Array.isArray(t.value)?"array":"object"}:{type:e==="bigint"?"integer":e,const:t.value}}var he=void 0,P={cuid:/^[cC][^\s-]{8,}$/,cuid2:/^[0-9a-z]+$/,ulid:/^[0-9A-HJKMNP-TV-Z]{26}$/,email:/^(?!\.)(?!.*\.\.)([a-zA-Z0-9_'+\-\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]{2,}$/,emoji:()=>(he===void 0&&(he=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),he),uuid:/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/,ipv4:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,ipv4Cidr:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,ipv6:/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,ipv6Cidr:/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,base64:/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,base64url:/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,nanoid:/^[a-zA-Z0-9_-]{21}$/,jwt:/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/};function at(t,e){const a={type:"string"};if(t.checks)for(const r of t.checks)switch(r.kind){case"min":a.minLength=typeof a.minLength=="number"?Math.max(a.minLength,r.value):r.value;break;case"max":a.maxLength=typeof a.maxLength=="number"?Math.min(a.maxLength,r.value):r.value;break;case"email":switch(e.emailStrategy){case"format:email":D(a,"email",r.message,e);break;case"format:idn-email":D(a,"idn-email",r.message,e);break;case"pattern:zod":M(a,P.email,r.message,e);break}break;case"url":D(a,"uri",r.message,e);break;case"uuid":D(a,"uuid",r.message,e);break;case"regex":M(a,r.regex,r.message,e);break;case"cuid":M(a,P.cuid,r.message,e);break;case"cuid2":M(a,P.cuid2,r.message,e);break;case"startsWith":M(a,RegExp(`^${ge(r.value,e)}`),r.message,e);break;case"endsWith":M(a,RegExp(`${ge(r.value,e)}$`),r.message,e);break;case"datetime":D(a,"date-time",r.message,e);break;case"date":D(a,"date",r.message,e);break;case"time":D(a,"time",r.message,e);break;case"duration":D(a,"duration",r.message,e);break;case"length":a.minLength=typeof a.minLength=="number"?Math.max(a.minLength,r.value):r.value,a.maxLength=typeof a.maxLength=="number"?Math.min(a.maxLength,r.value):r.value;break;case"includes":{M(a,RegExp(ge(r.value,e)),r.message,e);break}case"ip":{r.version!=="v6"&&D(a,"ipv4",r.message,e),r.version!=="v4"&&D(a,"ipv6",r.message,e);break}case"base64url":M(a,P.base64url,r.message,e);break;case"jwt":M(a,P.jwt,r.message,e);break;case"cidr":{r.version!=="v6"&&M(a,P.ipv4Cidr,r.message,e),r.version!=="v4"&&M(a,P.ipv6Cidr,r.message,e);break}case"emoji":M(a,P.emoji(),r.message,e);break;case"ulid":{M(a,P.ulid,r.message,e);break}case"base64":{switch(e.base64Strategy){case"format:binary":{D(a,"binary",r.message,e);break}case"contentEncoding:base64":{a.contentEncoding="base64";break}case"pattern:zod":{M(a,P.base64,r.message,e);break}}break}case"nanoid":M(a,P.nanoid,r.message,e)}return a}function ge(t,e){return e.patternStrategy==="escape"?da(t):t}var ua=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function da(t){let e="";for(let a=0;a<t.length;a++)ua.has(t[a])||(e+="\\"),e+=t[a];return e}function D(t,e,a,r){var s;t.format||(s=t.anyOf)!=null&&s.some(o=>o.format)?(t.anyOf||(t.anyOf=[]),t.format&&(t.anyOf.push({format:t.format}),delete t.format),t.anyOf.push({format:e,...a&&r.errorMessages&&{errorMessage:{format:a}}})):t.format=e}function M(t,e,a,r){var s;t.pattern||(s=t.allOf)!=null&&s.some(o=>o.pattern)?(t.allOf||(t.allOf=[]),t.pattern&&(t.allOf.push({pattern:t.pattern}),delete t.pattern),t.allOf.push({pattern:Ue(e,r),...a&&r.errorMessages&&{errorMessage:{pattern:a}}})):t.pattern=Ue(e,r)}function Ue(t,e){var a;if(!e.applyRegexFlags||!t.flags)return t.source;const r={i:t.flags.includes("i"),m:t.flags.includes("m"),s:t.flags.includes("s")},s=r.i?t.source.toLowerCase():t.source;let o="",i=!1,n=!1,p=!1;for(let u=0;u<s.length;u++){if(i){o+=s[u],i=!1;continue}if(r.i){if(n){if(s[u].match(/[a-z]/)){p?(o+=s[u],o+=`${s[u-2]}-${s[u]}`.toUpperCase(),p=!1):s[u+1]==="-"&&((a=s[u+2])!=null&&a.match(/[a-z]/))?(o+=s[u],p=!0):o+=`${s[u]}${s[u].toUpperCase()}`;continue}}else if(s[u].match(/[a-z]/)){o+=`[${s[u]}${s[u].toUpperCase()}]`;continue}}if(r.m){if(s[u]==="^"){o+=`(^|(?<=[\r
|
|
1
|
+
import{df as _t,dg as St,be as R,H as c,dh as de,bk as Ve,br as Et,bd as It,aT as Tt,ac as O,ab as W,a9 as oe,G as _,bf as f,a$ as F,di as wt,dj as E,aa as Mt,t as ge,c as Ee,r as Y,Z as At,j as Ot}from"./index-ByOvX_ve.js";import{u as Ct}from"./use-mcp-client-u24P-s4P.js";import{S as Rt}from"./constants-B72Xmt_K.js";import{d as Nt,D as xt}from"./decopilot-sse-pool-BOi7-S8l.js";import{d as Pt}from"./delay-CnY5UFtP.js";import{e as Dt}from"./backoff-CrEUbyZT.js";var re;(function(t){t.assertEqual=s=>{};function e(s){}t.assertIs=e;function a(s){throw new Error}t.assertNever=a,t.arrayToEnum=s=>{const o={};for(const i of s)o[i]=i;return o},t.getValidEnumValues=s=>{const o=t.objectKeys(s).filter(n=>typeof s[s[n]]!="number"),i={};for(const n of o)i[n]=s[n];return t.objectValues(i)},t.objectValues=s=>t.objectKeys(s).map(function(o){return s[o]}),t.objectKeys=typeof Object.keys=="function"?s=>Object.keys(s):s=>{const o=[];for(const i in s)Object.prototype.hasOwnProperty.call(s,i)&&o.push(i);return o},t.find=(s,o)=>{for(const i of s)if(o(i))return i},t.isInteger=typeof Number.isInteger=="function"?s=>Number.isInteger(s):s=>typeof s=="number"&&Number.isFinite(s)&&Math.floor(s)===s;function r(s,o=" | "){return s.map(i=>typeof i=="string"?`'${i}'`:i).join(o)}t.joinValues=r,t.jsonStringifyReplacer=(s,o)=>typeof o=="bigint"?o.toString():o})(re||(re={}));var Me;(function(t){t.mergeShapes=(e,a)=>({...e,...a})})(Me||(Me={}));re.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]);re.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]);class ce extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=r=>{this.issues=[...this.issues,r]},this.addIssues=(r=[])=>{this.issues=[...this.issues,...r]};const a=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,a):this.__proto__=a,this.name="ZodError",this.issues=e}format(e){const a=e||function(o){return o.message},r={_errors:[]},s=o=>{for(const i of o.issues)if(i.code==="invalid_union")i.unionErrors.map(s);else if(i.code==="invalid_return_type")s(i.returnTypeError);else if(i.code==="invalid_arguments")s(i.argumentsError);else if(i.path.length===0)r._errors.push(a(i));else{let n=r,p=0;for(;p<i.path.length;){const u=i.path[p];p===i.path.length-1?(n[u]=n[u]||{_errors:[]},n[u]._errors.push(a(i))):n[u]=n[u]||{_errors:[]},n=n[u],p++}}};return s(this),r}static assert(e){if(!(e instanceof ce))throw new Error(`Not a ZodError: ${e}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,re.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=a=>a.message){const a=Object.create(null),r=[];for(const s of this.issues)if(s.path.length>0){const o=s.path[0];a[o]=a[o]||[],a[o].push(e(s))}else r.push(e(s));return{formErrors:r,fieldErrors:a}}get formErrors(){return this.flatten()}}ce.create=t=>new ce(t);var Ae;(function(t){t.errToObj=e=>typeof e=="string"?{message:e}:e||{},t.toString=e=>typeof e=="string"?e:e?.message})(Ae||(Ae={}));var h;(function(t){t.ZodString="ZodString",t.ZodNumber="ZodNumber",t.ZodNaN="ZodNaN",t.ZodBigInt="ZodBigInt",t.ZodBoolean="ZodBoolean",t.ZodDate="ZodDate",t.ZodSymbol="ZodSymbol",t.ZodUndefined="ZodUndefined",t.ZodNull="ZodNull",t.ZodAny="ZodAny",t.ZodUnknown="ZodUnknown",t.ZodNever="ZodNever",t.ZodVoid="ZodVoid",t.ZodArray="ZodArray",t.ZodObject="ZodObject",t.ZodUnion="ZodUnion",t.ZodDiscriminatedUnion="ZodDiscriminatedUnion",t.ZodIntersection="ZodIntersection",t.ZodTuple="ZodTuple",t.ZodRecord="ZodRecord",t.ZodMap="ZodMap",t.ZodSet="ZodSet",t.ZodFunction="ZodFunction",t.ZodLazy="ZodLazy",t.ZodLiteral="ZodLiteral",t.ZodEnum="ZodEnum",t.ZodEffects="ZodEffects",t.ZodNativeEnum="ZodNativeEnum",t.ZodOptional="ZodOptional",t.ZodNullable="ZodNullable",t.ZodDefault="ZodDefault",t.ZodCatch="ZodCatch",t.ZodPromise="ZodPromise",t.ZodBranded="ZodBranded",t.ZodPipeline="ZodPipeline",t.ZodReadonly="ZodReadonly"})(h||(h={}));var ze="vercel.ai.error",kt=Symbol.for(ze),Oe,Ce,Z=class Je extends(Ce=Error,Oe=kt,Ce){constructor({name:e,message:a,cause:r}){super(a),this[Oe]=!0,this.name=e,this.cause=r}static isInstance(e){return Je.hasMarker(e,ze)}static hasMarker(e,a){const r=Symbol.for(a);return e!=null&&typeof e=="object"&&r in e&&typeof e[r]=="boolean"&&e[r]===!0}};function Ye(t){return t==null?"unknown error":typeof t=="string"?t:t instanceof Error?t.message:JSON.stringify(t)}var We="AI_InvalidArgumentError",qe=`vercel.ai.error.${We}`,Lt=Symbol.for(qe),Re,Ne,jt=class extends(Ne=Z,Re=Lt,Ne){constructor({message:t,cause:e,argument:a}){super({name:We,message:t,cause:e}),this[Re]=!0,this.argument=a}static isInstance(t){return Z.hasMarker(t,qe)}},He="AI_JSONParseError",Ge=`vercel.ai.error.${He}`,Zt=Symbol.for(Ge),xe,Pe,De=class extends(Pe=Z,xe=Zt,Pe){constructor({text:t,cause:e}){super({name:He,message:`JSON parsing failed: Text: ${t}.
|
|
2
|
+
Error message: ${Ye(e)}`,cause:e}),this[xe]=!0,this.text=t}static isInstance(t){return Z.hasMarker(t,Ge)}},Xe="AI_TypeValidationError",Qe=`vercel.ai.error.${Xe}`,$t=Symbol.for(Qe),ke,Le,X=class ve extends(Le=Z,ke=$t,Le){constructor({value:e,cause:a,context:r}){let s="Type validation failed";if(r?.field&&(s+=` for ${r.field}`),r?.entityName||r?.entityId){s+=" (";const o=[];r.entityName&&o.push(r.entityName),r.entityId&&o.push(`id: "${r.entityId}"`),s+=o.join(", "),s+=")"}super({name:Xe,message:`${s}: Value: ${JSON.stringify(e)}.
|
|
3
|
+
Error message: ${Ye(a)}`,cause:a}),this[ke]=!0,this.value=e,this.context=r}static isInstance(e){return Z.hasMarker(e,Qe)}static wrap({value:e,cause:a,context:r}){var s,o,i;return ve.isInstance(a)&&a.value===e&&((s=a.context)==null?void 0:s.field)===r?.field&&((o=a.context)==null?void 0:o.entityName)===r?.entityName&&((i=a.context)==null?void 0:i.entityId)===r?.entityId?a:new ve({value:e,cause:a,context:r})}},ie=({prefix:t,size:e=16,alphabet:a="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",separator:r="-"}={})=>{const s=()=>{const o=a.length,i=new Array(e);for(let n=0;n<e;n++)i[n]=a[Math.random()*o|0];return i.join("")};if(t==null)return s;if(a.includes(r))throw new jt({argument:"separator",message:`The separator "${r}" must not be part of the alphabet "${a}".`});return()=>`${t}${r}${s()}`};ie();var Ut=/"(?:_|\\u005[Ff])(?:_|\\u005[Ff])(?:p|\\u0070)(?:r|\\u0072)(?:o|\\u006[Ff])(?:t|\\u0074)(?:o|\\u006[Ff])(?:_|\\u005[Ff])(?:_|\\u005[Ff])"\s*:/,Ft=/"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/;function je(t){const e=JSON.parse(t);return e===null||typeof e!="object"||Ut.test(t)===!1&&Ft.test(t)===!1?e:Bt(e)}function Bt(t){let e=[t];for(;e.length;){const a=e;e=[];for(const r of a){if(Object.prototype.hasOwnProperty.call(r,"__proto__"))throw new SyntaxError("Object contains forbidden prototype property");if(Object.prototype.hasOwnProperty.call(r,"constructor")&&r.constructor!==null&&typeof r.constructor=="object"&&Object.prototype.hasOwnProperty.call(r.constructor,"prototype"))throw new SyntaxError("Object contains forbidden prototype property");for(const s in r){const o=r[s];o&&typeof o=="object"&&e.push(o)}}}return t}function Vt(t){const{stackTraceLimit:e}=Error;try{Error.stackTraceLimit=0}catch{return je(t)}try{return je(t)}finally{Error.stackTraceLimit=e}}function Ie(t){if(t.type==="object"||Array.isArray(t.type)&&t.type.includes("object")){t.additionalProperties=!1;const{properties:a}=t;if(a!=null)for(const r of Object.keys(a))a[r]=z(a[r])}t.items!=null&&(t.items=Array.isArray(t.items)?t.items.map(z):z(t.items)),t.anyOf!=null&&(t.anyOf=t.anyOf.map(z)),t.allOf!=null&&(t.allOf=t.allOf.map(z)),t.oneOf!=null&&(t.oneOf=t.oneOf.map(z));const{definitions:e}=t;if(e!=null)for(const a of Object.keys(e))e[a]=z(e[a]);return t}function z(t){return typeof t=="boolean"?t:Ie(t)}var zt=Symbol("Let zodToJsonSchema decide on which parser to use"),Ze={name:void 0,$refStrategy:"root",basePath:["#"],effectStrategy:"input",pipeStrategy:"all",dateStrategy:"format:date-time",mapStrategy:"entries",removeAdditionalStrategy:"passthrough",allowedAdditionalProperties:!0,rejectedAdditionalProperties:!1,definitionPath:"definitions",strictUnions:!1,definitions:{},errorMessages:!1,patternStrategy:"escape",applyRegexFlags:!1,emailStrategy:"format:email",base64Strategy:"contentEncoding:base64",nameStrategy:"ref"},Jt=t=>typeof t=="string"?{...Ze,name:t}:{...Ze,...t};function N(){return{}}function Yt(t,e){var a,r,s;const o={type:"array"};return(a=t.type)!=null&&a._def&&((s=(r=t.type)==null?void 0:r._def)==null?void 0:s.typeName)!==h.ZodAny&&(o.items=b(t.type._def,{...e,currentPath:[...e.currentPath,"items"]})),t.minLength&&(o.minItems=t.minLength.value),t.maxLength&&(o.maxItems=t.maxLength.value),t.exactLength&&(o.minItems=t.exactLength.value,o.maxItems=t.exactLength.value),o}function Wt(t){const e={type:"integer",format:"int64"};if(!t.checks)return e;for(const a of t.checks)switch(a.kind){case"min":a.inclusive?e.minimum=a.value:e.exclusiveMinimum=a.value;break;case"max":a.inclusive?e.maximum=a.value:e.exclusiveMaximum=a.value;break;case"multipleOf":e.multipleOf=a.value;break}return e}function qt(){return{type:"boolean"}}function Ke(t,e){return b(t.type._def,e)}var Ht=(t,e)=>b(t.innerType._def,e);function et(t,e,a){const r=a??e.dateStrategy;if(Array.isArray(r))return{anyOf:r.map((s,o)=>et(t,e,s))};switch(r){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":return Gt(t)}}var Gt=t=>{const e={type:"integer",format:"unix-time"};for(const a of t.checks)switch(a.kind){case"min":e.minimum=a.value;break;case"max":e.maximum=a.value;break}return e};function Xt(t,e){return{...b(t.innerType._def,e),default:t.defaultValue()}}function Qt(t,e){return e.effectStrategy==="input"?b(t.schema._def,e):N()}function Kt(t){return{type:"string",enum:Array.from(t.values)}}var ea=t=>"type"in t&&t.type==="string"?!1:"allOf"in t;function ta(t,e){const a=[b(t.left._def,{...e,currentPath:[...e.currentPath,"allOf","0"]}),b(t.right._def,{...e,currentPath:[...e.currentPath,"allOf","1"]})].filter(s=>!!s),r=[];return a.forEach(s=>{if(ea(s))r.push(...s.allOf);else{let o=s;if("additionalProperties"in s&&s.additionalProperties===!1){const{additionalProperties:i,...n}=s;o=n}r.push(o)}}),r.length?{allOf:r}:void 0}function aa(t){const e=typeof t.value;return e!=="bigint"&&e!=="number"&&e!=="boolean"&&e!=="string"?{type:Array.isArray(t.value)?"array":"object"}:{type:e==="bigint"?"integer":e,const:t.value}}var me=void 0,P={cuid:/^[cC][^\s-]{8,}$/,cuid2:/^[0-9a-z]+$/,ulid:/^[0-9A-HJKMNP-TV-Z]{26}$/,email:/^(?!\.)(?!.*\.\.)([a-zA-Z0-9_'+\-\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]{2,}$/,emoji:()=>(me===void 0&&(me=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),me),uuid:/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/,ipv4:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,ipv4Cidr:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,ipv6:/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,ipv6Cidr:/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,base64:/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,base64url:/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,nanoid:/^[a-zA-Z0-9_-]{21}$/,jwt:/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/};function tt(t,e){const a={type:"string"};if(t.checks)for(const r of t.checks)switch(r.kind){case"min":a.minLength=typeof a.minLength=="number"?Math.max(a.minLength,r.value):r.value;break;case"max":a.maxLength=typeof a.maxLength=="number"?Math.min(a.maxLength,r.value):r.value;break;case"email":switch(e.emailStrategy){case"format:email":D(a,"email",r.message,e);break;case"format:idn-email":D(a,"idn-email",r.message,e);break;case"pattern:zod":A(a,P.email,r.message,e);break}break;case"url":D(a,"uri",r.message,e);break;case"uuid":D(a,"uuid",r.message,e);break;case"regex":A(a,r.regex,r.message,e);break;case"cuid":A(a,P.cuid,r.message,e);break;case"cuid2":A(a,P.cuid2,r.message,e);break;case"startsWith":A(a,RegExp(`^${he(r.value,e)}`),r.message,e);break;case"endsWith":A(a,RegExp(`${he(r.value,e)}$`),r.message,e);break;case"datetime":D(a,"date-time",r.message,e);break;case"date":D(a,"date",r.message,e);break;case"time":D(a,"time",r.message,e);break;case"duration":D(a,"duration",r.message,e);break;case"length":a.minLength=typeof a.minLength=="number"?Math.max(a.minLength,r.value):r.value,a.maxLength=typeof a.maxLength=="number"?Math.min(a.maxLength,r.value):r.value;break;case"includes":{A(a,RegExp(he(r.value,e)),r.message,e);break}case"ip":{r.version!=="v6"&&D(a,"ipv4",r.message,e),r.version!=="v4"&&D(a,"ipv6",r.message,e);break}case"base64url":A(a,P.base64url,r.message,e);break;case"jwt":A(a,P.jwt,r.message,e);break;case"cidr":{r.version!=="v6"&&A(a,P.ipv4Cidr,r.message,e),r.version!=="v4"&&A(a,P.ipv6Cidr,r.message,e);break}case"emoji":A(a,P.emoji(),r.message,e);break;case"ulid":{A(a,P.ulid,r.message,e);break}case"base64":{switch(e.base64Strategy){case"format:binary":{D(a,"binary",r.message,e);break}case"contentEncoding:base64":{a.contentEncoding="base64";break}case"pattern:zod":{A(a,P.base64,r.message,e);break}}break}case"nanoid":A(a,P.nanoid,r.message,e)}return a}function he(t,e){return e.patternStrategy==="escape"?sa(t):t}var ra=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function sa(t){let e="";for(let a=0;a<t.length;a++)ra.has(t[a])||(e+="\\"),e+=t[a];return e}function D(t,e,a,r){var s;t.format||(s=t.anyOf)!=null&&s.some(o=>o.format)?(t.anyOf||(t.anyOf=[]),t.format&&(t.anyOf.push({format:t.format}),delete t.format),t.anyOf.push({format:e,...a&&r.errorMessages&&{errorMessage:{format:a}}})):t.format=e}function A(t,e,a,r){var s;t.pattern||(s=t.allOf)!=null&&s.some(o=>o.pattern)?(t.allOf||(t.allOf=[]),t.pattern&&(t.allOf.push({pattern:t.pattern}),delete t.pattern),t.allOf.push({pattern:$e(e,r),...a&&r.errorMessages&&{errorMessage:{pattern:a}}})):t.pattern=$e(e,r)}function $e(t,e){var a;if(!e.applyRegexFlags||!t.flags)return t.source;const r={i:t.flags.includes("i"),m:t.flags.includes("m"),s:t.flags.includes("s")},s=r.i?t.source.toLowerCase():t.source;let o="",i=!1,n=!1,p=!1;for(let u=0;u<s.length;u++){if(i){o+=s[u],i=!1;continue}if(r.i){if(n){if(s[u].match(/[a-z]/)){p?(o+=s[u],o+=`${s[u-2]}-${s[u]}`.toUpperCase(),p=!1):s[u+1]==="-"&&((a=s[u+2])!=null&&a.match(/[a-z]/))?(o+=s[u],p=!0):o+=`${s[u]}${s[u].toUpperCase()}`;continue}}else if(s[u].match(/[a-z]/)){o+=`[${s[u]}${s[u].toUpperCase()}]`;continue}}if(r.m){if(s[u]==="^"){o+=`(^|(?<=[\r
|
|
4
4
|
]))`;continue}else if(s[u]==="$"){o+=`($|(?=[\r
|
|
5
5
|
]))`;continue}}if(r.s&&s[u]==="."){o+=n?`${s[u]}\r
|
|
6
6
|
`:`[${s[u]}\r
|
|
7
|
-
]`;continue}o+=s[u],s[u]==="\\"?i=!0:n&&s[u]==="]"?n=!1:!n&&s[u]==="["&&(n=!0)}try{new RegExp(o)}catch{return console.warn(`Could not convert regex pattern at ${e.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),t.source}return o}function rt(t,e){var a,r,s,o,i,n;const p={type:"object",additionalProperties:(a=b(t.valueType._def,{...e,currentPath:[...e.currentPath,"additionalProperties"]}))!=null?a:e.allowedAdditionalProperties};if(((r=t.keyType)==null?void 0:r._def.typeName)===h.ZodString&&((s=t.keyType._def.checks)!=null&&s.length)){const{type:u,...d}=at(t.keyType._def,e);return{...p,propertyNames:d}}else{if(((o=t.keyType)==null?void 0:o._def.typeName)===h.ZodEnum)return{...p,propertyNames:{enum:t.keyType._def.values}};if(((i=t.keyType)==null?void 0:i._def.typeName)===h.ZodBranded&&t.keyType._def.type._def.typeName===h.ZodString&&((n=t.keyType._def.type._def.checks)!=null&&n.length)){const{type:u,...d}=et(t.keyType._def,e);return{...p,propertyNames:d}}}return p}function ca(t,e){if(e.mapStrategy==="record")return rt(t,e);const a=b(t.keyType._def,{...e,currentPath:[...e.currentPath,"items","items","0"]})||N(),r=b(t.valueType._def,{...e,currentPath:[...e.currentPath,"items","items","1"]})||N();return{type:"array",maxItems:125,items:{type:"array",items:[a,r],minItems:2,maxItems:2}}}function pa(t){const e=t.values,r=Object.keys(t.values).filter(o=>typeof e[e[o]]!="number").map(o=>e[o]),s=Array.from(new Set(r.map(o=>typeof o)));return{type:s.length===1?s[0]==="string"?"string":"number":["string","number"],enum:r}}function fa(){return{not:N()}}function ma(){return{type:"null"}}var be={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function ha(t,e){const a=t.options instanceof Map?Array.from(t.options.values()):t.options;if(a.every(r=>r._def.typeName in be&&(!r._def.checks||!r._def.checks.length))){const r=a.reduce((s,o)=>{const i=be[o._def.typeName];return i&&!s.includes(i)?[...s,i]:s},[]);return{type:r.length>1?r:r[0]}}else if(a.every(r=>r._def.typeName==="ZodLiteral"&&!r.description)){const r=a.reduce((s,o)=>{const i=typeof o._def.value;switch(i){case"string":case"number":case"boolean":return[...s,i];case"bigint":return[...s,"integer"];case"object":if(o._def.value===null)return[...s,"null"];default:return s}},[]);if(r.length===a.length){const s=r.filter((o,i,n)=>n.indexOf(o)===i);return{type:s.length>1?s:s[0],enum:a.reduce((o,i)=>o.includes(i._def.value)?o:[...o,i._def.value],[])}}}else if(a.every(r=>r._def.typeName==="ZodEnum"))return{type:"string",enum:a.reduce((r,s)=>[...r,...s._def.values.filter(o=>!r.includes(o))],[])};return ga(t,e)}var ga=(t,e)=>{const a=(t.options instanceof Map?Array.from(t.options.values()):t.options).map((r,s)=>b(r._def,{...e,currentPath:[...e.currentPath,"anyOf",`${s}`]})).filter(r=>!!r&&(!e.strictUnions||typeof r=="object"&&Object.keys(r).length>0));return a.length?{anyOf:a}:void 0};function va(t,e){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(t.innerType._def.typeName)&&(!t.innerType._def.checks||!t.innerType._def.checks.length))return{type:[be[t.innerType._def.typeName],"null"]};const a=b(t.innerType._def,{...e,currentPath:[...e.currentPath,"anyOf","0"]});return a&&{anyOf:[a,{type:"null"}]}}function ya(t){const e={type:"number"};if(!t.checks)return e;for(const a of t.checks)switch(a.kind){case"int":e.type="integer";break;case"min":a.inclusive?e.minimum=a.value:e.exclusiveMinimum=a.value;break;case"max":a.inclusive?e.maximum=a.value:e.exclusiveMaximum=a.value;break;case"multipleOf":e.multipleOf=a.value;break}return e}function ba(t,e){const a={type:"object",properties:{}},r=[],s=t.shape();for(const i in s){let n=s[i];if(n===void 0||n._def===void 0)continue;const p=Sa(n),u=b(n._def,{...e,currentPath:[...e.currentPath,"properties",i],propertyPath:[...e.currentPath,"properties",i]});u!==void 0&&(a.properties[i]=u,p||r.push(i))}r.length&&(a.required=r);const o=_a(t,e);return o!==void 0&&(a.additionalProperties=o),a}function _a(t,e){if(t.catchall._def.typeName!=="ZodNever")return b(t.catchall._def,{...e,currentPath:[...e.currentPath,"additionalProperties"]});switch(t.unknownKeys){case"passthrough":return e.allowedAdditionalProperties;case"strict":return e.rejectedAdditionalProperties;case"strip":return e.removeAdditionalStrategy==="strict"?e.allowedAdditionalProperties:e.rejectedAdditionalProperties}}function Sa(t){try{return t.isOptional()}catch{return!0}}var Ea=(t,e)=>{var a;if(e.currentPath.toString()===((a=e.propertyPath)==null?void 0:a.toString()))return b(t.innerType._def,e);const r=b(t.innerType._def,{...e,currentPath:[...e.currentPath,"anyOf","1"]});return r?{anyOf:[{not:N()},r]}:N()},Ia=(t,e)=>{if(e.pipeStrategy==="input")return b(t.in._def,e);if(e.pipeStrategy==="output")return b(t.out._def,e);const a=b(t.in._def,{...e,currentPath:[...e.currentPath,"allOf","0"]}),r=b(t.out._def,{...e,currentPath:[...e.currentPath,"allOf",a?"1":"0"]});return{allOf:[a,r].filter(s=>s!==void 0)}};function Ta(t,e){return b(t.type._def,e)}function wa(t,e){const r={type:"array",uniqueItems:!0,items:b(t.valueType._def,{...e,currentPath:[...e.currentPath,"items"]})};return t.minSize&&(r.minItems=t.minSize.value),t.maxSize&&(r.maxItems=t.maxSize.value),r}function Aa(t,e){return t.rest?{type:"array",minItems:t.items.length,items:t.items.map((a,r)=>b(a._def,{...e,currentPath:[...e.currentPath,"items",`${r}`]})).reduce((a,r)=>r===void 0?a:[...a,r],[]),additionalItems:b(t.rest._def,{...e,currentPath:[...e.currentPath,"additionalItems"]})}:{type:"array",minItems:t.items.length,maxItems:t.items.length,items:t.items.map((a,r)=>b(a._def,{...e,currentPath:[...e.currentPath,"items",`${r}`]})).reduce((a,r)=>r===void 0?a:[...a,r],[])}}function Ma(){return{not:N()}}function Oa(){return N()}var Ca=(t,e)=>b(t.innerType._def,e),Ra=(t,e,a)=>{switch(e){case h.ZodString:return at(t,a);case h.ZodNumber:return ya(t);case h.ZodObject:return ba(t,a);case h.ZodBigInt:return Kt(t);case h.ZodBoolean:return ea();case h.ZodDate:return tt(t,a);case h.ZodUndefined:return Ma();case h.ZodNull:return ma();case h.ZodArray:return Qt(t,a);case h.ZodUnion:case h.ZodDiscriminatedUnion:return ha(t,a);case h.ZodIntersection:return ia(t,a);case h.ZodTuple:return Aa(t,a);case h.ZodRecord:return rt(t,a);case h.ZodLiteral:return la(t);case h.ZodEnum:return na(t);case h.ZodNativeEnum:return pa(t);case h.ZodNullable:return va(t,a);case h.ZodOptional:return Ea(t,a);case h.ZodMap:return ca(t,a);case h.ZodSet:return wa(t,a);case h.ZodLazy:return()=>t.getter()._def;case h.ZodPromise:return Ta(t,a);case h.ZodNaN:case h.ZodNever:return fa();case h.ZodEffects:return sa(t,a);case h.ZodAny:return N();case h.ZodUnknown:return Oa();case h.ZodDefault:return ra(t,a);case h.ZodBranded:return et(t,a);case h.ZodReadonly:return Ca(t,a);case h.ZodCatch:return ta(t,a);case h.ZodPipeline:return Ia(t,a);case h.ZodFunction:case h.ZodVoid:case h.ZodSymbol:return;default:return(r=>{})()}},Na=(t,e)=>{let a=0;for(;a<t.length&&a<e.length&&t[a]===e[a];a++);return[(t.length-a).toString(),...e.slice(a)].join("/")};function b(t,e,a=!1){var r;const s=e.seen.get(t);if(e.override){const p=(r=e.override)==null?void 0:r.call(e,t,e,s,a);if(p!==Gt)return p}if(s&&!a){const p=xa(s,e);if(p!==void 0)return p}const o={def:t,path:e.currentPath,jsonSchema:void 0};e.seen.set(t,o);const i=Ra(t,t.typeName,e),n=typeof i=="function"?b(i(),e):i;if(n&&Pa(t,e,n),e.postProcess){const p=e.postProcess(n,t,e);return o.jsonSchema=n,p}return o.jsonSchema=n,n}var xa=(t,e)=>{switch(e.$refStrategy){case"root":return{$ref:t.path.join("/")};case"relative":return{$ref:Na(e.currentPath,t.path)};case"none":case"seen":return t.path.length<e.currentPath.length&&t.path.every((a,r)=>e.currentPath[r]===a)?(console.warn(`Recursive reference detected at ${e.currentPath.join("/")}! Defaulting to any`),N()):e.$refStrategy==="seen"?N():void 0}},Pa=(t,e,a)=>(t.description&&(a.description=t.description),a),Da=t=>{const e=Xt(t),a=e.name!==void 0?[...e.basePath,e.definitionPath,e.name]:e.basePath;return{...e,currentPath:a,propertyPath:void 0,seen:new Map(Object.entries(e.definitions).map(([r,s])=>[s._def,{def:s._def,path:[...e.basePath,e.definitionPath,r],jsonSchema:void 0}]))}},La=(t,e)=>{var a;const r=Da(e);let s=typeof e=="object"&&e.definitions?Object.entries(e.definitions).reduce((u,[d,m])=>{var S;return{...u,[d]:(S=b(m._def,{...r,currentPath:[...r.basePath,r.definitionPath,d]},!0))!=null?S:N()}},{}):void 0;const o=typeof e=="string"?e:e?.nameStrategy==="title"?void 0:e?.name,i=(a=b(t._def,o===void 0?r:{...r,currentPath:[...r.basePath,r.definitionPath,o]},!1))!=null?a:N(),n=typeof e=="object"&&e.name!==void 0&&e.nameStrategy==="title"?e.name:void 0;n!==void 0&&(i.title=n);const p=o===void 0?s?{...i,[r.definitionPath]:s}:i:{$ref:[...r.$refStrategy==="relative"?[]:r.basePath,r.definitionPath,o].join("/"),[r.definitionPath]:{...s,[o]:i}};return p.$schema="http://json-schema.org/draft-07/schema#",p},_e=Symbol.for("vercel.ai.schema");function ka(t){let e;return()=>(e==null&&(e=t()),e)}function me(t,{validate:e}={}){return{[_e]:!0,_type:void 0,get jsonSchema(){return typeof t=="function"&&(t=t()),t},validate:e}}function ja(t){return typeof t=="object"&&t!==null&&_e in t&&t[_e]===!0&&"jsonSchema"in t&&"validate"in t}function we(t){return t==null?me({properties:{},additionalProperties:!1}):ja(t)?t:"~standard"in t?t["~standard"].vendor==="zod"?st(t):Za(t):t()}function Za(t){return me(()=>Te(t["~standard"].jsonSchema.input({target:"draft-07"})),{validate:async e=>{const a=await t["~standard"].validate(e);return"value"in a?{success:!0,value:a.value}:{success:!1,error:new X({value:e,cause:a.issues})}}})}function $a(t,e){var a;const r=(a=void 0)!=null?a:!1;return me(()=>La(t,{$refStrategy:r?"root":"none"}),{validate:async s=>{const o=await t.safeParseAsync(s);return o.success?{success:!0,value:o.data}:{success:!1,error:o.error}}})}function Ua(t,e){var a;const r=(a=void 0)!=null?a:!1;return me(()=>Te(It(t,{target:"draft-7",io:"input",reused:r?"ref":"inline"})),{validate:async s=>{const o=await Et(t,s);return o.success?{success:!0,value:o.data}:{success:!1,error:o.error}}})}function Fa(t){return"_zod"in t}function st(t,e){return Fa(t)?Ua(t):$a(t)}async function Fe({value:t,schema:e,context:a}){const r=await se({value:t,schema:e,context:a});if(!r.success)throw X.wrap({value:t,cause:r.error,context:a});return r.value}async function se({value:t,schema:e,context:a}){const r=we(e);try{if(r.validate==null)return{success:!0,value:t,rawValue:t};const s=await r.validate(t);return s.success?{success:!0,value:s.value,rawValue:t}:{success:!1,error:X.wrap({value:t,cause:s.error,context:a}),rawValue:t}}catch(s){return{success:!1,error:X.wrap({value:t,cause:s,context:a}),rawValue:t}}}async function Q({text:t,schema:e}){try{const a=Ht(t);return e==null?{success:!0,value:a,rawValue:a}:await se({value:a,schema:e})}catch(a){return{success:!1,error:Le.isInstance(a)?a:new Le({text:t,cause:a}),rawValue:void 0}}}function Kr(t){return t}async function nt(t){return typeof t=="function"&&(t=t()),Promise.resolve(t)}var Ba=Object.defineProperty,Va=(t,e)=>{for(var a in e)Ba(t,a,{get:e[a],enumerable:!0})},ot="AI_NoObjectGeneratedError",it=`vercel.ai.error.${ot}`,za=Symbol.for(it),lt,B=class extends Z{constructor({message:t="No object generated.",cause:e,text:a,response:r,usage:s,finishReason:o}){super({name:ot,message:t,cause:e}),this[lt]=!0,this.text=a,this.response=r,this.usage=s,this.finishReason=o}static isInstance(t){return Z.hasMarker(t,it)}};lt=za;var ut="AI_UIMessageStreamError",dt=`vercel.ai.error.${ut}`,Ja=Symbol.for(dt),ct,H=class extends Z{constructor({chunkType:t,chunkId:e,message:a}){super({name:ut,message:a}),this[ct]=!0,this.chunkType=t,this.chunkId=e}static isInstance(t){return Z.hasMarker(t,dt)}};ct=Ja;var pt=R([c(),de(Uint8Array),de(ArrayBuffer),ze(t=>{var e,a;return(a=(e=globalThis.Buffer)==null?void 0:e.isBuffer(t))!=null?a:!1},{message:"Must be a Buffer"})]),W=Tt(()=>R([wt(),c(),At(),O(),q(c(),W.optional()),oe(W)])),g=q(c(),q(c(),W.optional())),ft=_({type:f("text"),text:c(),providerOptions:g.optional()}),Ya=_({type:f("image"),image:R([pt,de(URL)]),mediaType:c().optional(),providerOptions:g.optional()}),mt=_({type:f("file"),data:R([pt,de(URL)]),filename:c().optional(),mediaType:c(),providerOptions:g.optional()}),qa=_({type:f("reasoning"),text:c(),providerOptions:g.optional()}),Wa=_({type:f("tool-call"),toolCallId:c(),toolName:c(),input:F(),providerOptions:g.optional(),providerExecuted:O().optional()}),Ha=Mt("type",[_({type:f("text"),value:c(),providerOptions:g.optional()}),_({type:f("json"),value:W,providerOptions:g.optional()}),_({type:f("execution-denied"),reason:c().optional(),providerOptions:g.optional()}),_({type:f("error-text"),value:c(),providerOptions:g.optional()}),_({type:f("error-json"),value:W,providerOptions:g.optional()}),_({type:f("content"),value:oe(R([_({type:f("text"),text:c(),providerOptions:g.optional()}),_({type:f("media"),data:c(),mediaType:c()}),_({type:f("file-data"),data:c(),mediaType:c(),filename:c().optional(),providerOptions:g.optional()}),_({type:f("file-url"),url:c(),providerOptions:g.optional()}),_({type:f("file-id"),fileId:R([c(),q(c(),c())]),providerOptions:g.optional()}),_({type:f("image-data"),data:c(),mediaType:c(),providerOptions:g.optional()}),_({type:f("image-url"),url:c(),providerOptions:g.optional()}),_({type:f("image-file-id"),fileId:R([c(),q(c(),c())]),providerOptions:g.optional()}),_({type:f("custom"),providerOptions:g.optional()})]))})]),ht=_({type:f("tool-result"),toolCallId:c(),toolName:c(),output:Ha,providerOptions:g.optional()}),Ga=_({type:f("tool-approval-request"),approvalId:c(),toolCallId:c()}),Xa=_({type:f("tool-approval-response"),approvalId:c(),approved:O(),reason:c().optional()}),Qa=_({role:f("system"),content:c(),providerOptions:g.optional()}),Ka=_({role:f("user"),content:R([c(),oe(R([ft,Ya,mt]))]),providerOptions:g.optional()}),er=_({role:f("assistant"),content:R([c(),oe(R([ft,mt,qa,Wa,ht,Ga]))]),providerOptions:g.optional()}),tr=_({role:f("tool"),content:oe(R([ht,Xa])),providerOptions:g.optional()});R([Qa,Ka,er,tr]);function gt(t,e){if(t===void 0&&e===void 0)return;if(t===void 0)return e;if(e===void 0)return t;const a={...t};for(const r in e)if(!(r==="__proto__"||r==="constructor"||r==="prototype")&&Object.prototype.hasOwnProperty.call(e,r)){const s=e[r];if(s===void 0)continue;const o=r in t?t[r]:void 0,i=s!==null&&typeof s=="object"&&!Array.isArray(s)&&!(s instanceof Date)&&!(s instanceof RegExp),n=o!=null&&typeof o=="object"&&!Array.isArray(o)&&!(o instanceof Date)&&!(o instanceof RegExp);i&&n?a[r]=gt(o,s):a[r]=s}return a}new TextEncoder;var ar={};Va(ar,{array:()=>or,choice:()=>ir,json:()=>lr,object:()=>nr,text:()=>sr});function rr(t){const e=["ROOT"];let a=-1,r=null,s=0;function o(d){return d>="0"&&d<="9"||d>="A"&&d<="F"||d>="a"&&d<="f"}function i(d,m,S){switch(d){case'"':{a=m,e.pop(),e.push(S),e.push("INSIDE_STRING");break}case"f":case"t":case"n":{a=m,r=m,e.pop(),e.push(S),e.push("INSIDE_LITERAL");break}case"-":{e.pop(),e.push(S),e.push("INSIDE_NUMBER");break}case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":{a=m,e.pop(),e.push(S),e.push("INSIDE_NUMBER");break}case"{":{a=m,e.pop(),e.push(S),e.push("INSIDE_OBJECT_START");break}case"[":{a=m,e.pop(),e.push(S),e.push("INSIDE_ARRAY_START");break}}}function n(d,m){switch(d){case",":{e.pop(),e.push("INSIDE_OBJECT_AFTER_COMMA");break}case"}":{a=m,e.pop();break}}}function p(d,m){switch(d){case",":{e.pop(),e.push("INSIDE_ARRAY_AFTER_COMMA");break}case"]":{a=m,e.pop();break}}}for(let d=0;d<t.length;d++){const m=t[d];switch(e[e.length-1]){case"ROOT":i(m,d,"FINISH");break;case"INSIDE_OBJECT_START":{switch(m){case'"':{e.pop(),e.push("INSIDE_OBJECT_KEY");break}case"}":{a=d,e.pop();break}}break}case"INSIDE_OBJECT_AFTER_COMMA":{m==='"'&&(e.pop(),e.push("INSIDE_OBJECT_KEY"));break}case"INSIDE_OBJECT_KEY":{m==='"'&&(e.pop(),e.push("INSIDE_OBJECT_AFTER_KEY"));break}case"INSIDE_OBJECT_AFTER_KEY":{m===":"&&(e.pop(),e.push("INSIDE_OBJECT_BEFORE_VALUE"));break}case"INSIDE_OBJECT_BEFORE_VALUE":{i(m,d,"INSIDE_OBJECT_AFTER_VALUE");break}case"INSIDE_OBJECT_AFTER_VALUE":{n(m,d);break}case"INSIDE_STRING":{switch(m){case'"':{e.pop(),a=d;break}case"\\":{e.push("INSIDE_STRING_ESCAPE");break}default:a=d}break}case"INSIDE_ARRAY_START":{m==="]"?(a=d,e.pop()):(a=d,i(m,d,"INSIDE_ARRAY_AFTER_VALUE"));break}case"INSIDE_ARRAY_AFTER_VALUE":{switch(m){case",":{e.pop(),e.push("INSIDE_ARRAY_AFTER_COMMA");break}case"]":{a=d,e.pop();break}default:{a=d;break}}break}case"INSIDE_ARRAY_AFTER_COMMA":{i(m,d,"INSIDE_ARRAY_AFTER_VALUE");break}case"INSIDE_STRING_ESCAPE":{e.pop(),m==="u"?(s=0,e.push("INSIDE_STRING_UNICODE_ESCAPE")):a=d;break}case"INSIDE_STRING_UNICODE_ESCAPE":{o(m)&&(s++,s===4&&(e.pop(),a=d));break}case"INSIDE_NUMBER":{switch(m){case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":{a=d;break}case"e":case"E":case"-":case".":break;case",":{e.pop(),e[e.length-1]==="INSIDE_ARRAY_AFTER_VALUE"&&p(m,d),e[e.length-1]==="INSIDE_OBJECT_AFTER_VALUE"&&n(m,d);break}case"}":{e.pop(),e[e.length-1]==="INSIDE_OBJECT_AFTER_VALUE"&&n(m,d);break}case"]":{e.pop(),e[e.length-1]==="INSIDE_ARRAY_AFTER_VALUE"&&p(m,d);break}default:{e.pop();break}}break}case"INSIDE_LITERAL":{const C=t.substring(r,d+1);!"false".startsWith(C)&&!"true".startsWith(C)&&!"null".startsWith(C)?(e.pop(),e[e.length-1]==="INSIDE_OBJECT_AFTER_VALUE"?n(m,d):e[e.length-1]==="INSIDE_ARRAY_AFTER_VALUE"&&p(m,d)):a=d;break}}}let u=t.slice(0,a+1);for(let d=e.length-1;d>=0;d--)switch(e[d]){case"INSIDE_STRING":{u+='"';break}case"INSIDE_OBJECT_KEY":case"INSIDE_OBJECT_AFTER_KEY":case"INSIDE_OBJECT_AFTER_COMMA":case"INSIDE_OBJECT_START":case"INSIDE_OBJECT_BEFORE_VALUE":case"INSIDE_OBJECT_AFTER_VALUE":{u+="}";break}case"INSIDE_ARRAY_START":case"INSIDE_ARRAY_AFTER_COMMA":case"INSIDE_ARRAY_AFTER_VALUE":{u+="]";break}case"INSIDE_LITERAL":{const S=t.substring(r,t.length);"true".startsWith(S)?u+="true".slice(S.length):"false".startsWith(S)?u+="false".slice(S.length):"null".startsWith(S)&&(u+="null".slice(S.length))}}return u}async function le(t){if(t===void 0)return{value:void 0,state:"undefined-input"};let e=await Q({text:t});return e.success?{value:e.value,state:"successful-parse"}:(e=await Q({text:rr(t)}),e.success?{value:e.value,state:"repaired-parse"}:{value:void 0,state:"failed-parse"})}var sr=()=>({name:"text",responseFormat:Promise.resolve({type:"text"}),async parseCompleteOutput({text:t}){return t},async parsePartialOutput({text:t}){return{partial:t}},createElementStreamTransform(){}}),nr=({schema:t,name:e,description:a})=>{const r=we(t);return{name:"object",responseFormat:nt(r.jsonSchema).then(s=>({type:"json",schema:s,...e!=null&&{name:e},...a!=null&&{description:a}})),async parseCompleteOutput({text:s},o){const i=await Q({text:s});if(!i.success)throw new B({message:"No object generated: could not parse the response.",cause:i.error,text:s,response:o.response,usage:o.usage,finishReason:o.finishReason});const n=await se({value:i.value,schema:r});if(!n.success)throw new B({message:"No object generated: response did not match schema.",cause:n.error,text:s,response:o.response,usage:o.usage,finishReason:o.finishReason});return n.value},async parsePartialOutput({text:s}){const o=await le(s);switch(o.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":return{partial:o.value}}},createElementStreamTransform(){}}},or=({element:t,name:e,description:a})=>{const r=we(t);return{name:"array",responseFormat:nt(r.jsonSchema).then(s=>{const{$schema:o,...i}=s;return{type:"json",schema:{$schema:"http://json-schema.org/draft-07/schema#",type:"object",properties:{elements:{type:"array",items:i}},required:["elements"],additionalProperties:!1},...e!=null&&{name:e},...a!=null&&{description:a}}}),async parseCompleteOutput({text:s},o){const i=await Q({text:s});if(!i.success)throw new B({message:"No object generated: could not parse the response.",cause:i.error,text:s,response:o.response,usage:o.usage,finishReason:o.finishReason});const n=i.value;if(n==null||typeof n!="object"||!("elements"in n)||!Array.isArray(n.elements))throw new B({message:"No object generated: response did not match schema.",cause:new X({value:n,cause:"response must be an object with an elements array"}),text:s,response:o.response,usage:o.usage,finishReason:o.finishReason});for(const p of n.elements){const u=await se({value:p,schema:r});if(!u.success)throw new B({message:"No object generated: response did not match schema.",cause:u.error,text:s,response:o.response,usage:o.usage,finishReason:o.finishReason})}return n.elements},async parsePartialOutput({text:s}){const o=await le(s);switch(o.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":{const i=o.value;if(i==null||typeof i!="object"||!("elements"in i)||!Array.isArray(i.elements))return;const n=o.state==="repaired-parse"&&i.elements.length>0?i.elements.slice(0,-1):i.elements,p=[];for(const u of n){const d=await se({value:u,schema:r});d.success&&p.push(d.value)}return{partial:p}}}},createElementStreamTransform(){let s=0;return new TransformStream({transform({partialOutput:o},i){if(o!=null)for(;s<o.length;s++)i.enqueue(o[s])}})}}},ir=({options:t,name:e,description:a})=>({name:"choice",responseFormat:Promise.resolve({type:"json",schema:{$schema:"http://json-schema.org/draft-07/schema#",type:"object",properties:{result:{type:"string",enum:t}},required:["result"],additionalProperties:!1},...e!=null&&{name:e},...a!=null&&{description:a}}),async parseCompleteOutput({text:r},s){const o=await Q({text:r});if(!o.success)throw new B({message:"No object generated: could not parse the response.",cause:o.error,text:r,response:s.response,usage:s.usage,finishReason:s.finishReason});const i=o.value;if(i==null||typeof i!="object"||!("result"in i)||typeof i.result!="string"||!t.includes(i.result))throw new B({message:"No object generated: response did not match schema.",cause:new X({value:i,cause:"response must be an object that contains a choice value."}),text:r,response:s.response,usage:s.usage,finishReason:s.finishReason});return i.result},async parsePartialOutput({text:r}){const s=await le(r);switch(s.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":{const o=s.value;if(o==null||typeof o!="object"||!("result"in o)||typeof o.result!="string")return;const i=t.filter(n=>n.startsWith(o.result));return s.state==="successful-parse"?i.includes(o.result)?{partial:o.result}:void 0:i.length===1?{partial:i[0]}:void 0}}},createElementStreamTransform(){}}),lr=({name:t,description:e}={})=>({name:"json",responseFormat:Promise.resolve({type:"json",...t!=null&&{name:t},...e!=null&&{description:e}}),async parseCompleteOutput({text:a},r){const s=await Q({text:a});if(!s.success)throw new B({message:"No object generated: could not parse the response.",cause:s.error,text:a,response:r.response,usage:r.usage,finishReason:r.finishReason});return s.value},async parsePartialOutput({text:a}){const r=await le(a);switch(r.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":return r.value===void 0?void 0:{partial:r.value}}},createElementStreamTransform(){}});ie({prefix:"aitxt",size:24});(class extends TransformStream{constructor(){super({transform(t,e){e.enqueue(`data: ${JSON.stringify(t)}
|
|
7
|
+
]`;continue}o+=s[u],s[u]==="\\"?i=!0:n&&s[u]==="]"?n=!1:!n&&s[u]==="["&&(n=!0)}try{new RegExp(o)}catch{return console.warn(`Could not convert regex pattern at ${e.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),t.source}return o}function at(t,e){var a,r,s,o,i,n;const p={type:"object",additionalProperties:(a=b(t.valueType._def,{...e,currentPath:[...e.currentPath,"additionalProperties"]}))!=null?a:e.allowedAdditionalProperties};if(((r=t.keyType)==null?void 0:r._def.typeName)===h.ZodString&&((s=t.keyType._def.checks)!=null&&s.length)){const{type:u,...d}=tt(t.keyType._def,e);return{...p,propertyNames:d}}else{if(((o=t.keyType)==null?void 0:o._def.typeName)===h.ZodEnum)return{...p,propertyNames:{enum:t.keyType._def.values}};if(((i=t.keyType)==null?void 0:i._def.typeName)===h.ZodBranded&&t.keyType._def.type._def.typeName===h.ZodString&&((n=t.keyType._def.type._def.checks)!=null&&n.length)){const{type:u,...d}=Ke(t.keyType._def,e);return{...p,propertyNames:d}}}return p}function na(t,e){if(e.mapStrategy==="record")return at(t,e);const a=b(t.keyType._def,{...e,currentPath:[...e.currentPath,"items","items","0"]})||N(),r=b(t.valueType._def,{...e,currentPath:[...e.currentPath,"items","items","1"]})||N();return{type:"array",maxItems:125,items:{type:"array",items:[a,r],minItems:2,maxItems:2}}}function oa(t){const e=t.values,r=Object.keys(t.values).filter(o=>typeof e[e[o]]!="number").map(o=>e[o]),s=Array.from(new Set(r.map(o=>typeof o)));return{type:s.length===1?s[0]==="string"?"string":"number":["string","number"],enum:r}}function ia(){return{not:N()}}function la(){return{type:"null"}}var ye={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function ua(t,e){const a=t.options instanceof Map?Array.from(t.options.values()):t.options;if(a.every(r=>r._def.typeName in ye&&(!r._def.checks||!r._def.checks.length))){const r=a.reduce((s,o)=>{const i=ye[o._def.typeName];return i&&!s.includes(i)?[...s,i]:s},[]);return{type:r.length>1?r:r[0]}}else if(a.every(r=>r._def.typeName==="ZodLiteral"&&!r.description)){const r=a.reduce((s,o)=>{const i=typeof o._def.value;switch(i){case"string":case"number":case"boolean":return[...s,i];case"bigint":return[...s,"integer"];case"object":if(o._def.value===null)return[...s,"null"];default:return s}},[]);if(r.length===a.length){const s=r.filter((o,i,n)=>n.indexOf(o)===i);return{type:s.length>1?s:s[0],enum:a.reduce((o,i)=>o.includes(i._def.value)?o:[...o,i._def.value],[])}}}else if(a.every(r=>r._def.typeName==="ZodEnum"))return{type:"string",enum:a.reduce((r,s)=>[...r,...s._def.values.filter(o=>!r.includes(o))],[])};return da(t,e)}var da=(t,e)=>{const a=(t.options instanceof Map?Array.from(t.options.values()):t.options).map((r,s)=>b(r._def,{...e,currentPath:[...e.currentPath,"anyOf",`${s}`]})).filter(r=>!!r&&(!e.strictUnions||typeof r=="object"&&Object.keys(r).length>0));return a.length?{anyOf:a}:void 0};function ca(t,e){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(t.innerType._def.typeName)&&(!t.innerType._def.checks||!t.innerType._def.checks.length))return{type:[ye[t.innerType._def.typeName],"null"]};const a=b(t.innerType._def,{...e,currentPath:[...e.currentPath,"anyOf","0"]});return a&&{anyOf:[a,{type:"null"}]}}function pa(t){const e={type:"number"};if(!t.checks)return e;for(const a of t.checks)switch(a.kind){case"int":e.type="integer";break;case"min":a.inclusive?e.minimum=a.value:e.exclusiveMinimum=a.value;break;case"max":a.inclusive?e.maximum=a.value:e.exclusiveMaximum=a.value;break;case"multipleOf":e.multipleOf=a.value;break}return e}function fa(t,e){const a={type:"object",properties:{}},r=[],s=t.shape();for(const i in s){let n=s[i];if(n===void 0||n._def===void 0)continue;const p=ha(n),u=b(n._def,{...e,currentPath:[...e.currentPath,"properties",i],propertyPath:[...e.currentPath,"properties",i]});u!==void 0&&(a.properties[i]=u,p||r.push(i))}r.length&&(a.required=r);const o=ma(t,e);return o!==void 0&&(a.additionalProperties=o),a}function ma(t,e){if(t.catchall._def.typeName!=="ZodNever")return b(t.catchall._def,{...e,currentPath:[...e.currentPath,"additionalProperties"]});switch(t.unknownKeys){case"passthrough":return e.allowedAdditionalProperties;case"strict":return e.rejectedAdditionalProperties;case"strip":return e.removeAdditionalStrategy==="strict"?e.allowedAdditionalProperties:e.rejectedAdditionalProperties}}function ha(t){try{return t.isOptional()}catch{return!0}}var ga=(t,e)=>{var a;if(e.currentPath.toString()===((a=e.propertyPath)==null?void 0:a.toString()))return b(t.innerType._def,e);const r=b(t.innerType._def,{...e,currentPath:[...e.currentPath,"anyOf","1"]});return r?{anyOf:[{not:N()},r]}:N()},va=(t,e)=>{if(e.pipeStrategy==="input")return b(t.in._def,e);if(e.pipeStrategy==="output")return b(t.out._def,e);const a=b(t.in._def,{...e,currentPath:[...e.currentPath,"allOf","0"]}),r=b(t.out._def,{...e,currentPath:[...e.currentPath,"allOf",a?"1":"0"]});return{allOf:[a,r].filter(s=>s!==void 0)}};function ya(t,e){return b(t.type._def,e)}function ba(t,e){const r={type:"array",uniqueItems:!0,items:b(t.valueType._def,{...e,currentPath:[...e.currentPath,"items"]})};return t.minSize&&(r.minItems=t.minSize.value),t.maxSize&&(r.maxItems=t.maxSize.value),r}function _a(t,e){return t.rest?{type:"array",minItems:t.items.length,items:t.items.map((a,r)=>b(a._def,{...e,currentPath:[...e.currentPath,"items",`${r}`]})).reduce((a,r)=>r===void 0?a:[...a,r],[]),additionalItems:b(t.rest._def,{...e,currentPath:[...e.currentPath,"additionalItems"]})}:{type:"array",minItems:t.items.length,maxItems:t.items.length,items:t.items.map((a,r)=>b(a._def,{...e,currentPath:[...e.currentPath,"items",`${r}`]})).reduce((a,r)=>r===void 0?a:[...a,r],[])}}function Sa(){return{not:N()}}function Ea(){return N()}var Ia=(t,e)=>b(t.innerType._def,e),Ta=(t,e,a)=>{switch(e){case h.ZodString:return tt(t,a);case h.ZodNumber:return pa(t);case h.ZodObject:return fa(t,a);case h.ZodBigInt:return Wt(t);case h.ZodBoolean:return qt();case h.ZodDate:return et(t,a);case h.ZodUndefined:return Sa();case h.ZodNull:return la();case h.ZodArray:return Yt(t,a);case h.ZodUnion:case h.ZodDiscriminatedUnion:return ua(t,a);case h.ZodIntersection:return ta(t,a);case h.ZodTuple:return _a(t,a);case h.ZodRecord:return at(t,a);case h.ZodLiteral:return aa(t);case h.ZodEnum:return Kt(t);case h.ZodNativeEnum:return oa(t);case h.ZodNullable:return ca(t,a);case h.ZodOptional:return ga(t,a);case h.ZodMap:return na(t,a);case h.ZodSet:return ba(t,a);case h.ZodLazy:return()=>t.getter()._def;case h.ZodPromise:return ya(t,a);case h.ZodNaN:case h.ZodNever:return ia();case h.ZodEffects:return Qt(t,a);case h.ZodAny:return N();case h.ZodUnknown:return Ea();case h.ZodDefault:return Xt(t,a);case h.ZodBranded:return Ke(t,a);case h.ZodReadonly:return Ia(t,a);case h.ZodCatch:return Ht(t,a);case h.ZodPipeline:return va(t,a);case h.ZodFunction:case h.ZodVoid:case h.ZodSymbol:return;default:return(r=>{})()}},wa=(t,e)=>{let a=0;for(;a<t.length&&a<e.length&&t[a]===e[a];a++);return[(t.length-a).toString(),...e.slice(a)].join("/")};function b(t,e,a=!1){var r;const s=e.seen.get(t);if(e.override){const p=(r=e.override)==null?void 0:r.call(e,t,e,s,a);if(p!==zt)return p}if(s&&!a){const p=Ma(s,e);if(p!==void 0)return p}const o={def:t,path:e.currentPath,jsonSchema:void 0};e.seen.set(t,o);const i=Ta(t,t.typeName,e),n=typeof i=="function"?b(i(),e):i;if(n&&Aa(t,e,n),e.postProcess){const p=e.postProcess(n,t,e);return o.jsonSchema=n,p}return o.jsonSchema=n,n}var Ma=(t,e)=>{switch(e.$refStrategy){case"root":return{$ref:t.path.join("/")};case"relative":return{$ref:wa(e.currentPath,t.path)};case"none":case"seen":return t.path.length<e.currentPath.length&&t.path.every((a,r)=>e.currentPath[r]===a)?(console.warn(`Recursive reference detected at ${e.currentPath.join("/")}! Defaulting to any`),N()):e.$refStrategy==="seen"?N():void 0}},Aa=(t,e,a)=>(t.description&&(a.description=t.description),a),Oa=t=>{const e=Jt(t),a=e.name!==void 0?[...e.basePath,e.definitionPath,e.name]:e.basePath;return{...e,currentPath:a,propertyPath:void 0,seen:new Map(Object.entries(e.definitions).map(([r,s])=>[s._def,{def:s._def,path:[...e.basePath,e.definitionPath,r],jsonSchema:void 0}]))}},Ca=(t,e)=>{var a;const r=Oa(e);let s=typeof e=="object"&&e.definitions?Object.entries(e.definitions).reduce((u,[d,m])=>{var S;return{...u,[d]:(S=b(m._def,{...r,currentPath:[...r.basePath,r.definitionPath,d]},!0))!=null?S:N()}},{}):void 0;const o=typeof e=="string"?e:e?.nameStrategy==="title"?void 0:e?.name,i=(a=b(t._def,o===void 0?r:{...r,currentPath:[...r.basePath,r.definitionPath,o]},!1))!=null?a:N(),n=typeof e=="object"&&e.name!==void 0&&e.nameStrategy==="title"?e.name:void 0;n!==void 0&&(i.title=n);const p=o===void 0?s?{...i,[r.definitionPath]:s}:i:{$ref:[...r.$refStrategy==="relative"?[]:r.basePath,r.definitionPath,o].join("/"),[r.definitionPath]:{...s,[o]:i}};return p.$schema="http://json-schema.org/draft-07/schema#",p},be=Symbol.for("vercel.ai.schema");function Ra(t){let e;return()=>(e==null&&(e=t()),e)}function fe(t,{validate:e}={}){return{[be]:!0,_type:void 0,get jsonSchema(){return typeof t=="function"&&(t=t()),t},validate:e}}function Na(t){return typeof t=="object"&&t!==null&&be in t&&t[be]===!0&&"jsonSchema"in t&&"validate"in t}function Te(t){return t==null?fe({properties:{},additionalProperties:!1}):Na(t)?t:"~standard"in t?t["~standard"].vendor==="zod"?rt(t):xa(t):t()}function xa(t){return fe(()=>Ie(t["~standard"].jsonSchema.input({target:"draft-07"})),{validate:async e=>{const a=await t["~standard"].validate(e);return"value"in a?{success:!0,value:a.value}:{success:!1,error:new X({value:e,cause:a.issues})}}})}function Pa(t,e){var a;const r=(a=void 0)!=null?a:!1;return fe(()=>Ca(t,{$refStrategy:r?"root":"none"}),{validate:async s=>{const o=await t.safeParseAsync(s);return o.success?{success:!0,value:o.data}:{success:!1,error:o.error}}})}function Da(t,e){var a;const r=(a=void 0)!=null?a:!1;return fe(()=>Ie(St(t,{target:"draft-7",io:"input",reused:r?"ref":"inline"})),{validate:async s=>{const o=await _t(t,s);return o.success?{success:!0,value:o.data}:{success:!1,error:o.error}}})}function ka(t){return"_zod"in t}function rt(t,e){return ka(t)?Da(t):Pa(t)}async function Ue({value:t,schema:e,context:a}){const r=await se({value:t,schema:e,context:a});if(!r.success)throw X.wrap({value:t,cause:r.error,context:a});return r.value}async function se({value:t,schema:e,context:a}){const r=Te(e);try{if(r.validate==null)return{success:!0,value:t,rawValue:t};const s=await r.validate(t);return s.success?{success:!0,value:s.value,rawValue:t}:{success:!1,error:X.wrap({value:t,cause:s.error,context:a}),rawValue:t}}catch(s){return{success:!1,error:X.wrap({value:t,cause:s,context:a}),rawValue:t}}}async function Q({text:t,schema:e}){try{const a=Vt(t);return e==null?{success:!0,value:a,rawValue:a}:await se({value:a,schema:e})}catch(a){return{success:!1,error:De.isInstance(a)?a:new De({text:t,cause:a}),rawValue:void 0}}}function Vr(t){return t}async function st(t){return typeof t=="function"&&(t=t()),Promise.resolve(t)}var La=Object.defineProperty,ja=(t,e)=>{for(var a in e)La(t,a,{get:e[a],enumerable:!0})},nt="AI_NoObjectGeneratedError",ot=`vercel.ai.error.${nt}`,Za=Symbol.for(ot),it,B=class extends Z{constructor({message:t="No object generated.",cause:e,text:a,response:r,usage:s,finishReason:o}){super({name:nt,message:t,cause:e}),this[it]=!0,this.text=a,this.response=r,this.usage=s,this.finishReason=o}static isInstance(t){return Z.hasMarker(t,ot)}};it=Za;var lt="AI_UIMessageStreamError",ut=`vercel.ai.error.${lt}`,$a=Symbol.for(ut),dt,H=class extends Z{constructor({chunkType:t,chunkId:e,message:a}){super({name:lt,message:a}),this[dt]=!0,this.chunkType=t,this.chunkId=e}static isInstance(t){return Z.hasMarker(t,ut)}};dt=$a;var ct=R([c(),de(Uint8Array),de(ArrayBuffer),Ve(t=>{var e,a;return(a=(e=globalThis.Buffer)==null?void 0:e.isBuffer(t))!=null?a:!1},{message:"Must be a Buffer"})]),q=Et(()=>R([It(),c(),Tt(),O(),W(c(),q.optional()),oe(q)])),g=W(c(),W(c(),q.optional())),pt=_({type:f("text"),text:c(),providerOptions:g.optional()}),Ua=_({type:f("image"),image:R([ct,de(URL)]),mediaType:c().optional(),providerOptions:g.optional()}),ft=_({type:f("file"),data:R([ct,de(URL)]),filename:c().optional(),mediaType:c(),providerOptions:g.optional()}),Fa=_({type:f("reasoning"),text:c(),providerOptions:g.optional()}),Ba=_({type:f("tool-call"),toolCallId:c(),toolName:c(),input:F(),providerOptions:g.optional(),providerExecuted:O().optional()}),Va=wt("type",[_({type:f("text"),value:c(),providerOptions:g.optional()}),_({type:f("json"),value:q,providerOptions:g.optional()}),_({type:f("execution-denied"),reason:c().optional(),providerOptions:g.optional()}),_({type:f("error-text"),value:c(),providerOptions:g.optional()}),_({type:f("error-json"),value:q,providerOptions:g.optional()}),_({type:f("content"),value:oe(R([_({type:f("text"),text:c(),providerOptions:g.optional()}),_({type:f("media"),data:c(),mediaType:c()}),_({type:f("file-data"),data:c(),mediaType:c(),filename:c().optional(),providerOptions:g.optional()}),_({type:f("file-url"),url:c(),providerOptions:g.optional()}),_({type:f("file-id"),fileId:R([c(),W(c(),c())]),providerOptions:g.optional()}),_({type:f("image-data"),data:c(),mediaType:c(),providerOptions:g.optional()}),_({type:f("image-url"),url:c(),providerOptions:g.optional()}),_({type:f("image-file-id"),fileId:R([c(),W(c(),c())]),providerOptions:g.optional()}),_({type:f("custom"),providerOptions:g.optional()})]))})]),mt=_({type:f("tool-result"),toolCallId:c(),toolName:c(),output:Va,providerOptions:g.optional()}),za=_({type:f("tool-approval-request"),approvalId:c(),toolCallId:c()}),Ja=_({type:f("tool-approval-response"),approvalId:c(),approved:O(),reason:c().optional()}),Ya=_({role:f("system"),content:c(),providerOptions:g.optional()}),Wa=_({role:f("user"),content:R([c(),oe(R([pt,Ua,ft]))]),providerOptions:g.optional()}),qa=_({role:f("assistant"),content:R([c(),oe(R([pt,ft,Fa,Ba,mt,za]))]),providerOptions:g.optional()}),Ha=_({role:f("tool"),content:oe(R([mt,Ja])),providerOptions:g.optional()});R([Ya,Wa,qa,Ha]);function ht(t,e){if(t===void 0&&e===void 0)return;if(t===void 0)return e;if(e===void 0)return t;const a={...t};for(const r in e)if(!(r==="__proto__"||r==="constructor"||r==="prototype")&&Object.prototype.hasOwnProperty.call(e,r)){const s=e[r];if(s===void 0)continue;const o=r in t?t[r]:void 0,i=s!==null&&typeof s=="object"&&!Array.isArray(s)&&!(s instanceof Date)&&!(s instanceof RegExp),n=o!=null&&typeof o=="object"&&!Array.isArray(o)&&!(o instanceof Date)&&!(o instanceof RegExp);i&&n?a[r]=ht(o,s):a[r]=s}return a}new TextEncoder;var Ga={};ja(Ga,{array:()=>er,choice:()=>tr,json:()=>ar,object:()=>Ka,text:()=>Qa});function Xa(t){const e=["ROOT"];let a=-1,r=null,s=0;function o(d){return d>="0"&&d<="9"||d>="A"&&d<="F"||d>="a"&&d<="f"}function i(d,m,S){switch(d){case'"':{a=m,e.pop(),e.push(S),e.push("INSIDE_STRING");break}case"f":case"t":case"n":{a=m,r=m,e.pop(),e.push(S),e.push("INSIDE_LITERAL");break}case"-":{e.pop(),e.push(S),e.push("INSIDE_NUMBER");break}case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":{a=m,e.pop(),e.push(S),e.push("INSIDE_NUMBER");break}case"{":{a=m,e.pop(),e.push(S),e.push("INSIDE_OBJECT_START");break}case"[":{a=m,e.pop(),e.push(S),e.push("INSIDE_ARRAY_START");break}}}function n(d,m){switch(d){case",":{e.pop(),e.push("INSIDE_OBJECT_AFTER_COMMA");break}case"}":{a=m,e.pop();break}}}function p(d,m){switch(d){case",":{e.pop(),e.push("INSIDE_ARRAY_AFTER_COMMA");break}case"]":{a=m,e.pop();break}}}for(let d=0;d<t.length;d++){const m=t[d];switch(e[e.length-1]){case"ROOT":i(m,d,"FINISH");break;case"INSIDE_OBJECT_START":{switch(m){case'"':{e.pop(),e.push("INSIDE_OBJECT_KEY");break}case"}":{a=d,e.pop();break}}break}case"INSIDE_OBJECT_AFTER_COMMA":{m==='"'&&(e.pop(),e.push("INSIDE_OBJECT_KEY"));break}case"INSIDE_OBJECT_KEY":{m==='"'&&(e.pop(),e.push("INSIDE_OBJECT_AFTER_KEY"));break}case"INSIDE_OBJECT_AFTER_KEY":{m===":"&&(e.pop(),e.push("INSIDE_OBJECT_BEFORE_VALUE"));break}case"INSIDE_OBJECT_BEFORE_VALUE":{i(m,d,"INSIDE_OBJECT_AFTER_VALUE");break}case"INSIDE_OBJECT_AFTER_VALUE":{n(m,d);break}case"INSIDE_STRING":{switch(m){case'"':{e.pop(),a=d;break}case"\\":{e.push("INSIDE_STRING_ESCAPE");break}default:a=d}break}case"INSIDE_ARRAY_START":{m==="]"?(a=d,e.pop()):(a=d,i(m,d,"INSIDE_ARRAY_AFTER_VALUE"));break}case"INSIDE_ARRAY_AFTER_VALUE":{switch(m){case",":{e.pop(),e.push("INSIDE_ARRAY_AFTER_COMMA");break}case"]":{a=d,e.pop();break}default:{a=d;break}}break}case"INSIDE_ARRAY_AFTER_COMMA":{i(m,d,"INSIDE_ARRAY_AFTER_VALUE");break}case"INSIDE_STRING_ESCAPE":{e.pop(),m==="u"?(s=0,e.push("INSIDE_STRING_UNICODE_ESCAPE")):a=d;break}case"INSIDE_STRING_UNICODE_ESCAPE":{o(m)&&(s++,s===4&&(e.pop(),a=d));break}case"INSIDE_NUMBER":{switch(m){case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":{a=d;break}case"e":case"E":case"-":case".":break;case",":{e.pop(),e[e.length-1]==="INSIDE_ARRAY_AFTER_VALUE"&&p(m,d),e[e.length-1]==="INSIDE_OBJECT_AFTER_VALUE"&&n(m,d);break}case"}":{e.pop(),e[e.length-1]==="INSIDE_OBJECT_AFTER_VALUE"&&n(m,d);break}case"]":{e.pop(),e[e.length-1]==="INSIDE_ARRAY_AFTER_VALUE"&&p(m,d);break}default:{e.pop();break}}break}case"INSIDE_LITERAL":{const C=t.substring(r,d+1);!"false".startsWith(C)&&!"true".startsWith(C)&&!"null".startsWith(C)?(e.pop(),e[e.length-1]==="INSIDE_OBJECT_AFTER_VALUE"?n(m,d):e[e.length-1]==="INSIDE_ARRAY_AFTER_VALUE"&&p(m,d)):a=d;break}}}let u=t.slice(0,a+1);for(let d=e.length-1;d>=0;d--)switch(e[d]){case"INSIDE_STRING":{u+='"';break}case"INSIDE_OBJECT_KEY":case"INSIDE_OBJECT_AFTER_KEY":case"INSIDE_OBJECT_AFTER_COMMA":case"INSIDE_OBJECT_START":case"INSIDE_OBJECT_BEFORE_VALUE":case"INSIDE_OBJECT_AFTER_VALUE":{u+="}";break}case"INSIDE_ARRAY_START":case"INSIDE_ARRAY_AFTER_COMMA":case"INSIDE_ARRAY_AFTER_VALUE":{u+="]";break}case"INSIDE_LITERAL":{const S=t.substring(r,t.length);"true".startsWith(S)?u+="true".slice(S.length):"false".startsWith(S)?u+="false".slice(S.length):"null".startsWith(S)&&(u+="null".slice(S.length))}}return u}async function le(t){if(t===void 0)return{value:void 0,state:"undefined-input"};let e=await Q({text:t});return e.success?{value:e.value,state:"successful-parse"}:(e=await Q({text:Xa(t)}),e.success?{value:e.value,state:"repaired-parse"}:{value:void 0,state:"failed-parse"})}var Qa=()=>({name:"text",responseFormat:Promise.resolve({type:"text"}),async parseCompleteOutput({text:t}){return t},async parsePartialOutput({text:t}){return{partial:t}},createElementStreamTransform(){}}),Ka=({schema:t,name:e,description:a})=>{const r=Te(t);return{name:"object",responseFormat:st(r.jsonSchema).then(s=>({type:"json",schema:s,...e!=null&&{name:e},...a!=null&&{description:a}})),async parseCompleteOutput({text:s},o){const i=await Q({text:s});if(!i.success)throw new B({message:"No object generated: could not parse the response.",cause:i.error,text:s,response:o.response,usage:o.usage,finishReason:o.finishReason});const n=await se({value:i.value,schema:r});if(!n.success)throw new B({message:"No object generated: response did not match schema.",cause:n.error,text:s,response:o.response,usage:o.usage,finishReason:o.finishReason});return n.value},async parsePartialOutput({text:s}){const o=await le(s);switch(o.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":return{partial:o.value}}},createElementStreamTransform(){}}},er=({element:t,name:e,description:a})=>{const r=Te(t);return{name:"array",responseFormat:st(r.jsonSchema).then(s=>{const{$schema:o,...i}=s;return{type:"json",schema:{$schema:"http://json-schema.org/draft-07/schema#",type:"object",properties:{elements:{type:"array",items:i}},required:["elements"],additionalProperties:!1},...e!=null&&{name:e},...a!=null&&{description:a}}}),async parseCompleteOutput({text:s},o){const i=await Q({text:s});if(!i.success)throw new B({message:"No object generated: could not parse the response.",cause:i.error,text:s,response:o.response,usage:o.usage,finishReason:o.finishReason});const n=i.value;if(n==null||typeof n!="object"||!("elements"in n)||!Array.isArray(n.elements))throw new B({message:"No object generated: response did not match schema.",cause:new X({value:n,cause:"response must be an object with an elements array"}),text:s,response:o.response,usage:o.usage,finishReason:o.finishReason});for(const p of n.elements){const u=await se({value:p,schema:r});if(!u.success)throw new B({message:"No object generated: response did not match schema.",cause:u.error,text:s,response:o.response,usage:o.usage,finishReason:o.finishReason})}return n.elements},async parsePartialOutput({text:s}){const o=await le(s);switch(o.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":{const i=o.value;if(i==null||typeof i!="object"||!("elements"in i)||!Array.isArray(i.elements))return;const n=o.state==="repaired-parse"&&i.elements.length>0?i.elements.slice(0,-1):i.elements,p=[];for(const u of n){const d=await se({value:u,schema:r});d.success&&p.push(d.value)}return{partial:p}}}},createElementStreamTransform(){let s=0;return new TransformStream({transform({partialOutput:o},i){if(o!=null)for(;s<o.length;s++)i.enqueue(o[s])}})}}},tr=({options:t,name:e,description:a})=>({name:"choice",responseFormat:Promise.resolve({type:"json",schema:{$schema:"http://json-schema.org/draft-07/schema#",type:"object",properties:{result:{type:"string",enum:t}},required:["result"],additionalProperties:!1},...e!=null&&{name:e},...a!=null&&{description:a}}),async parseCompleteOutput({text:r},s){const o=await Q({text:r});if(!o.success)throw new B({message:"No object generated: could not parse the response.",cause:o.error,text:r,response:s.response,usage:s.usage,finishReason:s.finishReason});const i=o.value;if(i==null||typeof i!="object"||!("result"in i)||typeof i.result!="string"||!t.includes(i.result))throw new B({message:"No object generated: response did not match schema.",cause:new X({value:i,cause:"response must be an object that contains a choice value."}),text:r,response:s.response,usage:s.usage,finishReason:s.finishReason});return i.result},async parsePartialOutput({text:r}){const s=await le(r);switch(s.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":{const o=s.value;if(o==null||typeof o!="object"||!("result"in o)||typeof o.result!="string")return;const i=t.filter(n=>n.startsWith(o.result));return s.state==="successful-parse"?i.includes(o.result)?{partial:o.result}:void 0:i.length===1?{partial:i[0]}:void 0}}},createElementStreamTransform(){}}),ar=({name:t,description:e}={})=>({name:"json",responseFormat:Promise.resolve({type:"json",...t!=null&&{name:t},...e!=null&&{description:e}}),async parseCompleteOutput({text:a},r){const s=await Q({text:a});if(!s.success)throw new B({message:"No object generated: could not parse the response.",cause:s.error,text:a,response:r.response,usage:r.usage,finishReason:r.finishReason});return s.value},async parsePartialOutput({text:a}){const r=await le(a);switch(r.state){case"failed-parse":case"undefined-input":return;case"repaired-parse":case"successful-parse":return r.value===void 0?void 0:{partial:r.value}}},createElementStreamTransform(){}});ie({prefix:"aitxt",size:24});(class extends TransformStream{constructor(){super({transform(t,e){e.enqueue(`data: ${JSON.stringify(t)}
|
|
8
8
|
|
|
9
9
|
`)},flush(t){t.enqueue(`data: [DONE]
|
|
10
10
|
|
|
11
|
-
`)}})}});var K=q(c(),W.optional()),ur=ka(()=>st(R([E({type:f("text-start"),id:c(),providerMetadata:g.optional()}),E({type:f("text-delta"),id:c(),delta:c(),providerMetadata:g.optional()}),E({type:f("text-end"),id:c(),providerMetadata:g.optional()}),E({type:f("error"),errorText:c()}),E({type:f("tool-input-start"),toolCallId:c(),toolName:c(),providerExecuted:O().optional(),providerMetadata:g.optional(),toolMetadata:K.optional(),dynamic:O().optional(),title:c().optional()}),E({type:f("tool-input-delta"),toolCallId:c(),inputTextDelta:c()}),E({type:f("tool-input-available"),toolCallId:c(),toolName:c(),input:F(),providerExecuted:O().optional(),providerMetadata:g.optional(),toolMetadata:K.optional(),dynamic:O().optional(),title:c().optional()}),E({type:f("tool-input-error"),toolCallId:c(),toolName:c(),input:F(),providerExecuted:O().optional(),providerMetadata:g.optional(),toolMetadata:K.optional(),dynamic:O().optional(),errorText:c(),title:c().optional()}),E({type:f("tool-approval-request"),approvalId:c(),toolCallId:c(),signature:c().optional()}),E({type:f("tool-output-available"),toolCallId:c(),output:F(),providerExecuted:O().optional(),providerMetadata:g.optional(),toolMetadata:K.optional(),dynamic:O().optional(),preliminary:O().optional()}),E({type:f("tool-output-error"),toolCallId:c(),errorText:c(),providerExecuted:O().optional(),providerMetadata:g.optional(),toolMetadata:K.optional(),dynamic:O().optional()}),E({type:f("tool-output-denied"),toolCallId:c()}),E({type:f("reasoning-start"),id:c(),providerMetadata:g.optional()}),E({type:f("reasoning-delta"),id:c(),delta:c(),providerMetadata:g.optional()}),E({type:f("reasoning-end"),id:c(),providerMetadata:g.optional()}),E({type:f("source-url"),sourceId:c(),url:c(),title:c().optional(),providerMetadata:g.optional()}),E({type:f("source-document"),sourceId:c(),mediaType:c(),title:c(),filename:c().optional(),providerMetadata:g.optional()}),E({type:f("file"),url:c(),mediaType:c(),providerMetadata:g.optional()}),E({type:ze(t=>typeof t=="string"&&t.startsWith("data-"),{message:'Type must start with "data-"'}),id:c().optional(),data:F(),transient:O().optional()}),E({type:f("start-step")}),E({type:f("finish-step")}),E({type:f("start"),messageId:c().optional(),messageMetadata:F().optional()}),E({type:f("finish"),finishReason:Ot(["stop","length","content-filter","tool-calls","error","other"]).optional(),messageMetadata:F().optional()}),E({type:f("abort"),reason:c().optional()}),E({type:f("message-metadata"),messageMetadata:F()})])));function dr(t){return t.type.startsWith("data-")}function te(){return Object.create(null)}function Se(t){return t.type.startsWith("tool-")}function cr(t){return t.type==="dynamic-tool"}function pe(t){return Se(t)||cr(t)}function Be(t){return t.type.split("-").slice(1).join("-")}function pr({lastMessage:t,messageId:e}){return{message:t?.role==="assistant"?t:{id:e,metadata:void 0,role:"assistant",parts:[]},activeTextParts:te(),activeReasoningParts:te(),partialToolCalls:te()}}function fr({stream:t,messageMetadataSchema:e,dataPartSchemas:a,runUpdateMessageJob:r,onError:s,onToolCall:o,onData:i}){return t.pipeThrough(new TransformStream({async transform(n,p){await r(async({state:u,write:d})=>{var m,S,C,T;function k(l){const I=u.message.parts.filter(pe).find(v=>v.toolCallId===l);if(I==null)throw new H({chunkType:"tool-invocation",chunkId:l,message:`No tool invocation found for tool call ID "${l}".`});return I}function x(l){var w;const I=u.message.parts.find(A=>Se(A)&&A.toolCallId===l.toolCallId),v=l,y=I;if(I!=null){I.state=l.state,y.input=v.input,y.output=v.output,y.errorText=v.errorText,y.rawInput=v.rawInput,y.preliminary=v.preliminary,l.title!==void 0&&(y.title=l.title),l.toolMetadata!==void 0&&(y.toolMetadata=l.toolMetadata),y.providerExecuted=(w=v.providerExecuted)!=null?w:I.providerExecuted;const A=v.providerMetadata;if(A!=null)if(l.state==="output-available"||l.state==="output-error"){const U=I;U.resultProviderMetadata=A}else I.callProviderMetadata=A}else u.message.parts.push({type:`tool-${l.toolName}`,toolCallId:l.toolCallId,state:l.state,title:l.title,...l.toolMetadata!==void 0?{toolMetadata:l.toolMetadata}:{},input:v.input,output:v.output,rawInput:v.rawInput,errorText:v.errorText,providerExecuted:v.providerExecuted,preliminary:v.preliminary,...v.providerMetadata!=null&&(l.state==="output-available"||l.state==="output-error")?{resultProviderMetadata:v.providerMetadata}:{},...v.providerMetadata!=null&&!(l.state==="output-available"||l.state==="output-error")?{callProviderMetadata:v.providerMetadata}:{}})}function j(l){var w,I;const v=u.message.parts.find(U=>U.type==="dynamic-tool"&&U.toolCallId===l.toolCallId),y=l,A=v;if(v!=null){v.state=l.state,A.toolName=l.toolName,A.input=y.input,A.output=y.output,A.errorText=y.errorText,A.rawInput=(w=y.rawInput)!=null?w:A.rawInput,A.preliminary=y.preliminary,l.title!==void 0&&(A.title=l.title),l.toolMetadata!==void 0&&(A.toolMetadata=l.toolMetadata),A.providerExecuted=(I=y.providerExecuted)!=null?I:v.providerExecuted;const U=y.providerMetadata;if(U!=null)if(l.state==="output-available"||l.state==="output-error"){const _t=v;_t.resultProviderMetadata=U}else v.callProviderMetadata=U}else u.message.parts.push({type:"dynamic-tool",toolName:l.toolName,toolCallId:l.toolCallId,state:l.state,input:y.input,output:y.output,errorText:y.errorText,preliminary:y.preliminary,providerExecuted:y.providerExecuted,title:l.title,...l.toolMetadata!==void 0?{toolMetadata:l.toolMetadata}:{},...y.providerMetadata!=null&&(l.state==="output-available"||l.state==="output-error")?{resultProviderMetadata:y.providerMetadata}:{},...y.providerMetadata!=null&&!(l.state==="output-available"||l.state==="output-error")?{callProviderMetadata:y.providerMetadata}:{}})}async function V(l){if(l!=null){const w=u.message.metadata!=null?gt(u.message.metadata,l):l;e!=null&&await Fe({value:w,schema:e,context:{field:"message.metadata",entityId:u.message.id}}),u.message.metadata=w}}switch(n.type){case"text-start":{const l={type:"text",text:"",providerMetadata:n.providerMetadata,state:"streaming"};u.activeTextParts[n.id]=l,u.message.parts.push(l),d();break}case"text-delta":{const l=u.activeTextParts[n.id];if(l==null)throw new H({chunkType:"text-delta",chunkId:n.id,message:`Received text-delta for missing text part with ID "${n.id}". Ensure a "text-start" chunk is sent before any "text-delta" chunks.`});l.text+=n.delta,l.providerMetadata=(m=n.providerMetadata)!=null?m:l.providerMetadata,d();break}case"text-end":{const l=u.activeTextParts[n.id];if(l==null)throw new H({chunkType:"text-end",chunkId:n.id,message:`Received text-end for missing text part with ID "${n.id}". Ensure a "text-start" chunk is sent before any "text-end" chunks.`});l.state="done",l.providerMetadata=(S=n.providerMetadata)!=null?S:l.providerMetadata,delete u.activeTextParts[n.id],d();break}case"reasoning-start":{const l={type:"reasoning",text:"",providerMetadata:n.providerMetadata,state:"streaming"};u.activeReasoningParts[n.id]=l,u.message.parts.push(l),d();break}case"reasoning-delta":{const l=u.activeReasoningParts[n.id];if(l==null)throw new H({chunkType:"reasoning-delta",chunkId:n.id,message:`Received reasoning-delta for missing reasoning part with ID "${n.id}". Ensure a "reasoning-start" chunk is sent before any "reasoning-delta" chunks.`});l.text+=n.delta,l.providerMetadata=(C=n.providerMetadata)!=null?C:l.providerMetadata,d();break}case"reasoning-end":{const l=u.activeReasoningParts[n.id];if(l==null)throw new H({chunkType:"reasoning-end",chunkId:n.id,message:`Received reasoning-end for missing reasoning part with ID "${n.id}". Ensure a "reasoning-start" chunk is sent before any "reasoning-end" chunks.`});l.providerMetadata=(T=n.providerMetadata)!=null?T:l.providerMetadata,l.state="done",delete u.activeReasoningParts[n.id],d();break}case"file":{u.message.parts.push({type:"file",mediaType:n.mediaType,url:n.url,...n.providerMetadata!=null?{providerMetadata:n.providerMetadata}:{}}),d();break}case"source-url":{u.message.parts.push({type:"source-url",sourceId:n.sourceId,url:n.url,title:n.title,providerMetadata:n.providerMetadata}),d();break}case"source-document":{u.message.parts.push({type:"source-document",sourceId:n.sourceId,mediaType:n.mediaType,title:n.title,filename:n.filename,providerMetadata:n.providerMetadata}),d();break}case"tool-input-start":{const l=u.message.parts.filter(Se);u.partialToolCalls[n.toolCallId]={text:"",toolName:n.toolName,index:l.length,dynamic:n.dynamic,title:n.title,toolMetadata:n.toolMetadata},n.dynamic?j({toolCallId:n.toolCallId,toolName:n.toolName,state:"input-streaming",input:void 0,providerExecuted:n.providerExecuted,title:n.title,toolMetadata:n.toolMetadata,providerMetadata:n.providerMetadata}):x({toolCallId:n.toolCallId,toolName:n.toolName,state:"input-streaming",input:void 0,providerExecuted:n.providerExecuted,title:n.title,toolMetadata:n.toolMetadata,providerMetadata:n.providerMetadata}),d();break}case"tool-input-delta":{const l=u.partialToolCalls[n.toolCallId];if(l==null)throw new H({chunkType:"tool-input-delta",chunkId:n.toolCallId,message:`Received tool-input-delta for missing tool call with ID "${n.toolCallId}". Ensure a "tool-input-start" chunk is sent before any "tool-input-delta" chunks.`});l.text+=n.inputTextDelta;const{value:w}=await le(l.text);l.dynamic?j({toolCallId:n.toolCallId,toolName:l.toolName,state:"input-streaming",input:w,title:l.title,toolMetadata:l.toolMetadata}):x({toolCallId:n.toolCallId,toolName:l.toolName,state:"input-streaming",input:w,title:l.title,toolMetadata:l.toolMetadata}),d();break}case"tool-input-available":{n.dynamic?j({toolCallId:n.toolCallId,toolName:n.toolName,state:"input-available",input:n.input,providerExecuted:n.providerExecuted,providerMetadata:n.providerMetadata,title:n.title,toolMetadata:n.toolMetadata}):x({toolCallId:n.toolCallId,toolName:n.toolName,state:"input-available",input:n.input,providerExecuted:n.providerExecuted,providerMetadata:n.providerMetadata,title:n.title,toolMetadata:n.toolMetadata}),d(),o&&!n.providerExecuted&&await o({toolCall:n});break}case"tool-input-error":{const l=u.message.parts.filter(pe).find(I=>I.toolCallId===n.toolCallId);(l!=null?l.type==="dynamic-tool":!!n.dynamic)?j({toolCallId:n.toolCallId,toolName:n.toolName,state:"output-error",input:n.input,errorText:n.errorText,providerExecuted:n.providerExecuted,providerMetadata:n.providerMetadata,toolMetadata:n.toolMetadata}):x({toolCallId:n.toolCallId,toolName:n.toolName,state:"output-error",input:void 0,rawInput:n.input,errorText:n.errorText,providerExecuted:n.providerExecuted,providerMetadata:n.providerMetadata,toolMetadata:n.toolMetadata}),d();break}case"tool-approval-request":{const l=k(n.toolCallId);l.state="approval-requested",l.approval={id:n.approvalId,...n.signature!=null?{signature:n.signature}:{}},d();break}case"tool-output-denied":{const l=k(n.toolCallId);l.state="output-denied",d();break}case"tool-output-available":{const l=k(n.toolCallId);l.type==="dynamic-tool"?j({toolCallId:n.toolCallId,toolName:l.toolName,state:"output-available",input:l.input,output:n.output,preliminary:n.preliminary,providerExecuted:n.providerExecuted,providerMetadata:n.providerMetadata,title:l.title,toolMetadata:l.toolMetadata}):x({toolCallId:n.toolCallId,toolName:Be(l),state:"output-available",input:l.input,output:n.output,providerExecuted:n.providerExecuted,preliminary:n.preliminary,providerMetadata:n.providerMetadata,title:l.title,toolMetadata:l.toolMetadata}),d();break}case"tool-output-error":{const l=k(n.toolCallId);l.type==="dynamic-tool"?j({toolCallId:n.toolCallId,toolName:l.toolName,state:"output-error",input:l.input,errorText:n.errorText,providerExecuted:n.providerExecuted,providerMetadata:n.providerMetadata,title:l.title,toolMetadata:l.toolMetadata}):x({toolCallId:n.toolCallId,toolName:Be(l),state:"output-error",input:l.input,rawInput:l.rawInput,errorText:n.errorText,providerExecuted:n.providerExecuted,providerMetadata:n.providerMetadata,title:l.title,toolMetadata:l.toolMetadata}),d();break}case"start-step":{u.message.parts.push({type:"step-start"});break}case"finish-step":{u.activeTextParts=te(),u.activeReasoningParts=te();break}case"start":{n.messageId!=null&&(u.message.id=n.messageId),await V(n.messageMetadata),(n.messageId!=null||n.messageMetadata!=null)&&d();break}case"finish":{n.finishReason!=null&&(u.finishReason=n.finishReason),await V(n.messageMetadata),n.messageMetadata!=null&&d();break}case"message-metadata":{await V(n.messageMetadata),n.messageMetadata!=null&&d();break}case"error":{s?.(new Error(n.errorText));break}default:if(dr(n)){if(a?.[n.type]!=null){const I=u.message.parts.findIndex(y=>"id"in y&&"data"in y&&y.id===n.id&&y.type===n.type),v=I>=0?I:u.message.parts.length;await Fe({value:n.data,schema:a[n.type],context:{field:`message.parts[${v}].data`,entityName:n.type,entityId:n.id}})}const l=n;if(l.transient){i?.(l);break}const w=l.id!=null?u.message.parts.find(I=>l.type===I.type&&l.id===I.id):void 0;w!=null?w.data=l.data:u.message.parts.push(l),i?.(l),d()}}p.enqueue(n)})}}))}function mr(t){const e=t.pipeThrough(new TransformStream);return e[Symbol.asyncIterator]=function(){const a=this.getReader();let r=!1;async function s(o){var i;if(!r){r=!0;try{o&&await((i=a.cancel)==null?void 0:i.call(a))}finally{try{a.releaseLock()}catch{}}}}return{async next(){if(r)return{done:!0,value:void 0};const{done:o,value:i}=await a.read();return o?(await s(!0),{done:!0,value:void 0}):{done:!1,value:i}},async return(){return await s(!0),{done:!0,value:void 0}},async throw(o){throw await s(!0),o}}},e}async function hr({stream:t,onError:e}){const a=t.getReader();try{for(;;){const{done:r}=await a.read();if(r)break}}catch(r){e?.(r)}finally{a.releaseLock()}}ie({prefix:"aitxt",size:24});function gr({message:t,stream:e,onError:a,terminateOnError:r=!1}){var s;let o,i=!1;const n=new ReadableStream({start(d){o=d}}),p=pr({messageId:(s=t?.id)!=null?s:"",lastMessage:t}),u=d=>{a?.(d),!i&&r&&(i=!0,o?.error(d))};return hr({stream:fr({stream:e,runUpdateMessageJob(d){return d({state:p,write:()=>{o?.enqueue(structuredClone(p.message))}})},onError:u}),onError:u}).finally(()=>{i||o?.close()}),mr(n)}q(c(),W.optional());ie({prefix:"aiobj",size:24});ie({prefix:"aiobj",size:24});function vr({messages:t}){const e=t[t.length-1];if(!e||e.role!=="assistant")return!1;const a=e.parts.reduce((s,o,i)=>o.type==="step-start"?i:s,-1),r=e.parts.slice(a+1).filter(pe);return r.filter(s=>s.state==="approval-responded").length>0&&r.every(s=>s.state==="output-available"||s.state==="output-error"||s.state==="approval-responded")}function yr({messages:t}){const e=t[t.length-1];if(!e||e.role!=="assistant")return!1;const a=e.parts.reduce((s,o,i)=>o.type==="step-start"?i:s,-1),r=e.parts.slice(a+1).filter(pe).filter(s=>!s.providerExecuted);return r.length>0&&r.every(s=>s.state==="output-available"||s.state==="output-error")}class L{constructor(e){this.value=e}value;subs=new Set;get=()=>this.value;set=e=>{Object.is(e,this.value)||(this.value=e,this.subs.forEach(a=>a()))};update=e=>{this.set(e(this.value))};subscribe=e=>(this.subs.add(e),()=>{this.subs.delete(e)})}function ae(t,e){const a=t.content;if(Array.isArray(a)){const r=a[0];if(r&&typeof r=="object"){const s=r.text;if(s)return s}}return e}const br=["sending","received","waiting-runner","starting-run","gathering-context","preparing-tools","starting-assistant","analyzing-scope","choosing-next-steps"],es={sending:{label:"Sending your message",detail:"Posting the message to the thread"},received:{label:"Request received",detail:"The run was accepted and queued"},"waiting-runner":{label:"Waiting for an available runner",detail:"Waiting for the per-thread dispatch slot"},"starting-run":{label:"Starting the run",detail:"A worker picked up the queued message"},"gathering-context":{label:"Gathering context",detail:"Loading history, memory, files, and agent context"},"preparing-tools":{label:"Preparing tools",detail:"Resolving models, permissions, MCP tools, and built-ins"},"starting-assistant":{label:"Starting the assistant",detail:"Opening the cluster Decopilot harness"},"analyzing-scope":{label:"Analyzing scope",detail:"The model loop is running before first output"},"choosing-next-steps":{label:"Choosing next steps",detail:"The assistant is planning the next action"}},Ee=new Map(br.map((t,e)=>[t,e]));function _r(t){return typeof t=="string"&&Ee.has(t)}function Sr(t){if(!t||typeof t!="object")return null;const e=t;if(e.type!=="data-run-status")return null;const a=e.data?.stage;return _r(a)?a:null}function Er(t){return!t||typeof t!="object"?!1:t.type==="data-run-status"}function Ir(t,e){if(t===null)return e;const a=Ee.get(t)??-1;return(Ee.get(e)??-1)>=a?e:t}const Tr=1e3,wr=3e4,Ar=50,Mr=6e4,Or=typeof requestAnimationFrame=="function"?requestAnimationFrame:t=>setTimeout(t,0),Cr=typeof cancelAnimationFrame=="function"?cancelAnimationFrame:t=>clearTimeout(t);function Ve(t,e){if(e.kind==="message"){const a=e.message;if(a.created_at!=null)return[...t,a];let r=0;for(const o of t){const i=o.created_at;if(i==null)continue;const n=new Date(i).getTime();Number.isFinite(n)&&n>r&&(r=n)}const s=Math.max(Date.now(),r+1);return[...t,{...a,created_at:new Date(s).toISOString()}]}for(let a=t.length-1;a>=0;a--){const r=t[a];if(!r||r.role!=="assistant")continue;const s=Rr(r.parts,e);if(s===-1)continue;const o=r.parts[s];if(!o)continue;const i=Nr(o,e);if(!i)continue;const n=[...r.parts];n[s]=i;const p=[...t];return p[a]={...r,parts:n},p}return null}function Rr(t,e){return e.kind==="toolOutput"?t.findIndex(a=>a?.toolCallId===e.toolCallId):t.findIndex(a=>{const r=a;return r?.state==="approval-requested"&&r?.approval?.id===e.approvalId})}function Nr(t,e){return e.kind==="toolOutput"?{...t,state:e.state??"output-available",output:e.output,errorText:e.errorText}:{...t,state:"approval-responded",approval:{id:e.approvalId,approved:e.approved,...e.reason?{reason:e.reason}:{}}}}function xr(t){return t.kind==="message"?`message id=${t.message.id}`:t.kind==="toolOutput"?`toolOutput toolCallId=${t.toolCallId}`:`approval approvalId=${t.approvalId}`}class Pr{constructor(e,a,r={}){this.orgSlug=e,this.threadId=a,this.key=`${e}::${a}`,this.client=r.client??null,this.ready=new Promise(s=>{this.resolveReady=s}),this.bootstrap()}orgSlug;threadId;key;messages=new L([]);status=new L({kind:"loading"});finishReason=new L(null);runStatusStage=new L(null);hasMoreOlder=new L(!1);isFetchingOlder=new L(!1);observer=null;abort=new AbortController;subController=null;pendingFinishReason=void 0;discardOnClose=!1;inflightPost=null;waitingForNewRun=!1;acceptPreStartRunStatus=!0;freshRunSubstream=!1;client;serverFetchedCount=0;pageSize=5;chunkBuffer=[];ready;resolveReady;dispose(){this.abort.abort()}async submit(e,a){this.finishReason.set(null);const r=Ve(this.messages.get(),e);if(!r)throw new Error(`submit: target not found for ${xr(e)}`);if(this.messages.set(J(r,[])),this.acceptPreStartRunStatus=!0,!(e.kind==="message"||vr({messages:r})||yr({messages:r})))return;const o=r.at(-1);if(!o){this.status.set({kind:"ready"});return}this.runStatusStage.set("sending"),this.status.set({kind:"submitted"});const i=new AbortController;this.inflightPost=i;try{await this.post(o,a,i.signal)}catch(n){const p=n instanceof Error?n:new Error(String(n));this.clearRunStatusStage(),this.failTo(p)}finally{this.inflightPost===i&&(this.inflightPost=null)}}async enqueue(e,a){await this.post(e,a,void 0,!0)}applyLocalMessage(e){this.messages.update(a=>{const r=Ve(a,{kind:"message",message:e})??a;return J(r,[])})}removeLocalMessage(e){this.messages.update(a=>a.filter(r=>r.id!==e))}stop(){this.inflightPost?.abort();const e=this.status.get();(e.kind==="submitted"||e.kind==="streaming")&&this.status.set({kind:"ready"}),this.clearRunStatusStage(),this.acceptPreStartRunStatus=!1,this.subController&&this.forceCloseSubStream(!0),this.messages.update(a=>{const r=a.at(-1);if(r?.role!=="assistant"||r.created_at!=null)return a;const o={...r,created_at:new Date().toISOString()};return[...a.slice(0,-1),o]}),this.waitingForNewRun=!0}clearError(){this.status.get().kind==="error"&&this.status.set({kind:"ready"})}async bootstrap(){this.loadInitialPage(),await this.runSseLoop()}async loadInitialPage(){if(await Promise.resolve(),!this.client){this.status.get().kind==="loading"&&this.status.set({kind:"ready"}),this.drainChunkBuffer(),this.resolveReady();return}try{const e=await this.fetchLatestPage("COLLECTION_THREAD_MESSAGES_LIST failed");if(e.kind==="aborted"){this.resolveReady();return}if(e.kind==="error")throw new Error(e.message);const a=e.items;if(this.messages.update(r=>J(r,a)),this.finishReason.get()===null){const r=this.messages.get().at(-1),s=r?.role==="assistant"?r.metadata?.finishReason:void 0;s&&this.finishReason.set(s)}this.serverFetchedCount=a.length,this.hasMoreOlder.set(e.hasMore??!1),this.status.get().kind==="loading"&&this.status.set({kind:"ready"}),this.drainChunkBuffer()}catch(e){this.failTo(e instanceof Error?e:new Error(String(e))),this.drainChunkBuffer()}finally{this.resolveReady()}}async fetchLatestPage(e){if(!this.client)return{kind:"aborted"};const a=await this.client.callTool({name:"COLLECTION_THREAD_MESSAGES_LIST",arguments:{thread_id:this.threadId,limit:this.pageSize,offset:0,orderBy:[{field:["created_at"],direction:"desc"}]}});if(this.abort.signal.aborted)return{kind:"aborted"};if(a.isError)return{kind:"error",message:ae(a,e)};const r=a.structuredContent??a;return{kind:"ok",items:r.items??[],hasMore:r.hasMore}}async refetchLatestPage(){if(this.client)try{const e=await this.fetchLatestPage("tool error");if(e.kind==="aborted")return;if(e.kind==="error"){console.warn("[chat-store] refetchLatestPage:",e.message);return}this.messages.update(a=>J(a,e.items)),e.hasMore!==void 0&&this.hasMoreOlder.set(e.hasMore)}catch(e){console.warn("[chat-store] refetchLatestPage failed:",e)}}async reconcileFromServer(){if(!this.client)return!1;try{const e=await this.fetchLatestPage("tool error");return e.kind==="aborted"?!1:e.kind==="error"?(console.warn("[chat-store] reconcileFromServer:",e.message),!1):this.applyReconcile(e.items,e.hasMore)}catch(e){return console.warn("[chat-store] reconcileFromServer failed:",e),!1}}applyReconcile(e,a){const r=this.status.get().kind;return r==="submitted"||r==="streaming"?!1:(this.messages.update(s=>jr(s,e)),a!==void 0&&this.hasMoreOlder.set(a),!0)}async fetchOlderMessages(){if(this.client&&this.hasMoreOlder.get()&&!this.isFetchingOlder.get()){this.isFetchingOlder.set(!0);try{const e=await this.client.callTool({name:"COLLECTION_THREAD_MESSAGES_LIST",arguments:{thread_id:this.threadId,limit:this.pageSize,offset:this.serverFetchedCount,orderBy:[{field:["created_at"],direction:"desc"}]}});if(this.abort.signal.aborted)return;if(e.isError)throw new Error(ae(e,"COLLECTION_THREAD_MESSAGES_LIST failed"));const a=e.structuredContent??e,r=a.items??[];this.messages.update(s=>J(s,r)),this.serverFetchedCount+=r.length,this.hasMoreOlder.set(a.hasMore??!1)}catch(e){const a=e instanceof Error?e.message:String(e);console.warn("[chat-store] fetchOlderMessages failed:",a),ve.error(`Could not load older messages: ${a}`)}finally{this.isFetchingOlder.set(!1)}}}async post(e,a,r,s=!1){const{system:o,...i}=a,n=o&&e.role==="user"?{id:crypto.randomUUID(),role:"system",parts:[{type:"text",text:o}]}:null,u={messages:n?[n,e]:[e],...i},d=`/api/${encodeURIComponent(this.orgSlug)}/decopilot/threads/${encodeURIComponent(this.threadId)}/messages`,m=AbortSignal.timeout(Mr),S=r?AbortSignal.any([r,m]):m;let C;try{C=await fetch(d,{method:"POST",credentials:"include",headers:{"content-type":"application/json"},body:JSON.stringify(u),signal:S})}catch(T){throw m.aborted&&!r?.aborted?new Error("request timed out — retry"):T}if(!C.ok){const T=await C.text().catch(()=>"");throw new Error(T||`POST /messages failed (${C.status})`)}!s&&this.runStatusStage.get()!==null&&this.setRunStatusStage("received")}async runSseLoop(){const e=`/api/${encodeURIComponent(this.orgSlug)}/decopilot/threads/${encodeURIComponent(this.threadId)}/stream`;let a=0,r=!0;for(;!this.abort.signal.aborted;){r||this.forceCloseSubStream(!0);let s=!1;try{const i=await fetch(e,{method:"GET",credentials:"include",headers:{accept:"text/event-stream"},signal:this.abort.signal});if(i.status===204||!i.body)return;if(!i.ok){const n=await i.text().catch(()=>"");this.failTo(new Error(n||`GET /stream failed (${i.status})`));return}if(a=0,r||await this.refetchLatestPage(),r=!1,s=await this.consumeStreamSse(i.body),!s&&this.status.get().kind==="error")return}catch{if(this.abort.signal.aborted)return}if(this.abort.signal.aborted)return;const o=s?Ar:kt(wr,Tr,a,2,.5);a++,o>0&&await Lt(o,{signal:this.abort.signal}).catch(()=>{})}}async consumeStreamSse(e){const a=e.getReader(),r=new TextDecoder;let s="";for(;;){const{done:o,value:i}=await a.read();if(o)return!0;s+=r.decode(i,{stream:!0});let n;for(;(n=s.indexOf(`
|
|
11
|
+
`)}})}});var K=W(c(),q.optional()),rr=Ra(()=>rt(R([E({type:f("text-start"),id:c(),providerMetadata:g.optional()}),E({type:f("text-delta"),id:c(),delta:c(),providerMetadata:g.optional()}),E({type:f("text-end"),id:c(),providerMetadata:g.optional()}),E({type:f("error"),errorText:c()}),E({type:f("tool-input-start"),toolCallId:c(),toolName:c(),providerExecuted:O().optional(),providerMetadata:g.optional(),toolMetadata:K.optional(),dynamic:O().optional(),title:c().optional()}),E({type:f("tool-input-delta"),toolCallId:c(),inputTextDelta:c()}),E({type:f("tool-input-available"),toolCallId:c(),toolName:c(),input:F(),providerExecuted:O().optional(),providerMetadata:g.optional(),toolMetadata:K.optional(),dynamic:O().optional(),title:c().optional()}),E({type:f("tool-input-error"),toolCallId:c(),toolName:c(),input:F(),providerExecuted:O().optional(),providerMetadata:g.optional(),toolMetadata:K.optional(),dynamic:O().optional(),errorText:c(),title:c().optional()}),E({type:f("tool-approval-request"),approvalId:c(),toolCallId:c(),signature:c().optional()}),E({type:f("tool-output-available"),toolCallId:c(),output:F(),providerExecuted:O().optional(),providerMetadata:g.optional(),toolMetadata:K.optional(),dynamic:O().optional(),preliminary:O().optional()}),E({type:f("tool-output-error"),toolCallId:c(),errorText:c(),providerExecuted:O().optional(),providerMetadata:g.optional(),toolMetadata:K.optional(),dynamic:O().optional()}),E({type:f("tool-output-denied"),toolCallId:c()}),E({type:f("reasoning-start"),id:c(),providerMetadata:g.optional()}),E({type:f("reasoning-delta"),id:c(),delta:c(),providerMetadata:g.optional()}),E({type:f("reasoning-end"),id:c(),providerMetadata:g.optional()}),E({type:f("source-url"),sourceId:c(),url:c(),title:c().optional(),providerMetadata:g.optional()}),E({type:f("source-document"),sourceId:c(),mediaType:c(),title:c(),filename:c().optional(),providerMetadata:g.optional()}),E({type:f("file"),url:c(),mediaType:c(),providerMetadata:g.optional()}),E({type:Ve(t=>typeof t=="string"&&t.startsWith("data-"),{message:'Type must start with "data-"'}),id:c().optional(),data:F(),transient:O().optional()}),E({type:f("start-step")}),E({type:f("finish-step")}),E({type:f("start"),messageId:c().optional(),messageMetadata:F().optional()}),E({type:f("finish"),finishReason:Mt(["stop","length","content-filter","tool-calls","error","other"]).optional(),messageMetadata:F().optional()}),E({type:f("abort"),reason:c().optional()}),E({type:f("message-metadata"),messageMetadata:F()})])));function sr(t){return t.type.startsWith("data-")}function te(){return Object.create(null)}function _e(t){return t.type.startsWith("tool-")}function nr(t){return t.type==="dynamic-tool"}function pe(t){return _e(t)||nr(t)}function Fe(t){return t.type.split("-").slice(1).join("-")}function or({lastMessage:t,messageId:e}){return{message:t?.role==="assistant"?t:{id:e,metadata:void 0,role:"assistant",parts:[]},activeTextParts:te(),activeReasoningParts:te(),partialToolCalls:te()}}function ir({stream:t,messageMetadataSchema:e,dataPartSchemas:a,runUpdateMessageJob:r,onError:s,onToolCall:o,onData:i}){return t.pipeThrough(new TransformStream({async transform(n,p){await r(async({state:u,write:d})=>{var m,S,C,T;function L(l){const I=u.message.parts.filter(pe).find(v=>v.toolCallId===l);if(I==null)throw new H({chunkType:"tool-invocation",chunkId:l,message:`No tool invocation found for tool call ID "${l}".`});return I}function x(l){var w;const I=u.message.parts.find(M=>_e(M)&&M.toolCallId===l.toolCallId),v=l,y=I;if(I!=null){I.state=l.state,y.input=v.input,y.output=v.output,y.errorText=v.errorText,y.rawInput=v.rawInput,y.preliminary=v.preliminary,l.title!==void 0&&(y.title=l.title),l.toolMetadata!==void 0&&(y.toolMetadata=l.toolMetadata),y.providerExecuted=(w=v.providerExecuted)!=null?w:I.providerExecuted;const M=v.providerMetadata;if(M!=null)if(l.state==="output-available"||l.state==="output-error"){const U=I;U.resultProviderMetadata=M}else I.callProviderMetadata=M}else u.message.parts.push({type:`tool-${l.toolName}`,toolCallId:l.toolCallId,state:l.state,title:l.title,...l.toolMetadata!==void 0?{toolMetadata:l.toolMetadata}:{},input:v.input,output:v.output,rawInput:v.rawInput,errorText:v.errorText,providerExecuted:v.providerExecuted,preliminary:v.preliminary,...v.providerMetadata!=null&&(l.state==="output-available"||l.state==="output-error")?{resultProviderMetadata:v.providerMetadata}:{},...v.providerMetadata!=null&&!(l.state==="output-available"||l.state==="output-error")?{callProviderMetadata:v.providerMetadata}:{}})}function j(l){var w,I;const v=u.message.parts.find(U=>U.type==="dynamic-tool"&&U.toolCallId===l.toolCallId),y=l,M=v;if(v!=null){v.state=l.state,M.toolName=l.toolName,M.input=y.input,M.output=y.output,M.errorText=y.errorText,M.rawInput=(w=y.rawInput)!=null?w:M.rawInput,M.preliminary=y.preliminary,l.title!==void 0&&(M.title=l.title),l.toolMetadata!==void 0&&(M.toolMetadata=l.toolMetadata),M.providerExecuted=(I=y.providerExecuted)!=null?I:v.providerExecuted;const U=y.providerMetadata;if(U!=null)if(l.state==="output-available"||l.state==="output-error"){const bt=v;bt.resultProviderMetadata=U}else v.callProviderMetadata=U}else u.message.parts.push({type:"dynamic-tool",toolName:l.toolName,toolCallId:l.toolCallId,state:l.state,input:y.input,output:y.output,errorText:y.errorText,preliminary:y.preliminary,providerExecuted:y.providerExecuted,title:l.title,...l.toolMetadata!==void 0?{toolMetadata:l.toolMetadata}:{},...y.providerMetadata!=null&&(l.state==="output-available"||l.state==="output-error")?{resultProviderMetadata:y.providerMetadata}:{},...y.providerMetadata!=null&&!(l.state==="output-available"||l.state==="output-error")?{callProviderMetadata:y.providerMetadata}:{}})}async function V(l){if(l!=null){const w=u.message.metadata!=null?ht(u.message.metadata,l):l;e!=null&&await Ue({value:w,schema:e,context:{field:"message.metadata",entityId:u.message.id}}),u.message.metadata=w}}switch(n.type){case"text-start":{const l={type:"text",text:"",providerMetadata:n.providerMetadata,state:"streaming"};u.activeTextParts[n.id]=l,u.message.parts.push(l),d();break}case"text-delta":{const l=u.activeTextParts[n.id];if(l==null)throw new H({chunkType:"text-delta",chunkId:n.id,message:`Received text-delta for missing text part with ID "${n.id}". Ensure a "text-start" chunk is sent before any "text-delta" chunks.`});l.text+=n.delta,l.providerMetadata=(m=n.providerMetadata)!=null?m:l.providerMetadata,d();break}case"text-end":{const l=u.activeTextParts[n.id];if(l==null)throw new H({chunkType:"text-end",chunkId:n.id,message:`Received text-end for missing text part with ID "${n.id}". Ensure a "text-start" chunk is sent before any "text-end" chunks.`});l.state="done",l.providerMetadata=(S=n.providerMetadata)!=null?S:l.providerMetadata,delete u.activeTextParts[n.id],d();break}case"reasoning-start":{const l={type:"reasoning",text:"",providerMetadata:n.providerMetadata,state:"streaming"};u.activeReasoningParts[n.id]=l,u.message.parts.push(l),d();break}case"reasoning-delta":{const l=u.activeReasoningParts[n.id];if(l==null)throw new H({chunkType:"reasoning-delta",chunkId:n.id,message:`Received reasoning-delta for missing reasoning part with ID "${n.id}". Ensure a "reasoning-start" chunk is sent before any "reasoning-delta" chunks.`});l.text+=n.delta,l.providerMetadata=(C=n.providerMetadata)!=null?C:l.providerMetadata,d();break}case"reasoning-end":{const l=u.activeReasoningParts[n.id];if(l==null)throw new H({chunkType:"reasoning-end",chunkId:n.id,message:`Received reasoning-end for missing reasoning part with ID "${n.id}". Ensure a "reasoning-start" chunk is sent before any "reasoning-end" chunks.`});l.providerMetadata=(T=n.providerMetadata)!=null?T:l.providerMetadata,l.state="done",delete u.activeReasoningParts[n.id],d();break}case"file":{u.message.parts.push({type:"file",mediaType:n.mediaType,url:n.url,...n.providerMetadata!=null?{providerMetadata:n.providerMetadata}:{}}),d();break}case"source-url":{u.message.parts.push({type:"source-url",sourceId:n.sourceId,url:n.url,title:n.title,providerMetadata:n.providerMetadata}),d();break}case"source-document":{u.message.parts.push({type:"source-document",sourceId:n.sourceId,mediaType:n.mediaType,title:n.title,filename:n.filename,providerMetadata:n.providerMetadata}),d();break}case"tool-input-start":{const l=u.message.parts.filter(_e);u.partialToolCalls[n.toolCallId]={text:"",toolName:n.toolName,index:l.length,dynamic:n.dynamic,title:n.title,toolMetadata:n.toolMetadata},n.dynamic?j({toolCallId:n.toolCallId,toolName:n.toolName,state:"input-streaming",input:void 0,providerExecuted:n.providerExecuted,title:n.title,toolMetadata:n.toolMetadata,providerMetadata:n.providerMetadata}):x({toolCallId:n.toolCallId,toolName:n.toolName,state:"input-streaming",input:void 0,providerExecuted:n.providerExecuted,title:n.title,toolMetadata:n.toolMetadata,providerMetadata:n.providerMetadata}),d();break}case"tool-input-delta":{const l=u.partialToolCalls[n.toolCallId];if(l==null)throw new H({chunkType:"tool-input-delta",chunkId:n.toolCallId,message:`Received tool-input-delta for missing tool call with ID "${n.toolCallId}". Ensure a "tool-input-start" chunk is sent before any "tool-input-delta" chunks.`});l.text+=n.inputTextDelta;const{value:w}=await le(l.text);l.dynamic?j({toolCallId:n.toolCallId,toolName:l.toolName,state:"input-streaming",input:w,title:l.title,toolMetadata:l.toolMetadata}):x({toolCallId:n.toolCallId,toolName:l.toolName,state:"input-streaming",input:w,title:l.title,toolMetadata:l.toolMetadata}),d();break}case"tool-input-available":{n.dynamic?j({toolCallId:n.toolCallId,toolName:n.toolName,state:"input-available",input:n.input,providerExecuted:n.providerExecuted,providerMetadata:n.providerMetadata,title:n.title,toolMetadata:n.toolMetadata}):x({toolCallId:n.toolCallId,toolName:n.toolName,state:"input-available",input:n.input,providerExecuted:n.providerExecuted,providerMetadata:n.providerMetadata,title:n.title,toolMetadata:n.toolMetadata}),d(),o&&!n.providerExecuted&&await o({toolCall:n});break}case"tool-input-error":{const l=u.message.parts.filter(pe).find(I=>I.toolCallId===n.toolCallId);(l!=null?l.type==="dynamic-tool":!!n.dynamic)?j({toolCallId:n.toolCallId,toolName:n.toolName,state:"output-error",input:n.input,errorText:n.errorText,providerExecuted:n.providerExecuted,providerMetadata:n.providerMetadata,toolMetadata:n.toolMetadata}):x({toolCallId:n.toolCallId,toolName:n.toolName,state:"output-error",input:void 0,rawInput:n.input,errorText:n.errorText,providerExecuted:n.providerExecuted,providerMetadata:n.providerMetadata,toolMetadata:n.toolMetadata}),d();break}case"tool-approval-request":{const l=L(n.toolCallId);l.state="approval-requested",l.approval={id:n.approvalId,...n.signature!=null?{signature:n.signature}:{}},d();break}case"tool-output-denied":{const l=L(n.toolCallId);l.state="output-denied",d();break}case"tool-output-available":{const l=L(n.toolCallId);l.type==="dynamic-tool"?j({toolCallId:n.toolCallId,toolName:l.toolName,state:"output-available",input:l.input,output:n.output,preliminary:n.preliminary,providerExecuted:n.providerExecuted,providerMetadata:n.providerMetadata,title:l.title,toolMetadata:l.toolMetadata}):x({toolCallId:n.toolCallId,toolName:Fe(l),state:"output-available",input:l.input,output:n.output,providerExecuted:n.providerExecuted,preliminary:n.preliminary,providerMetadata:n.providerMetadata,title:l.title,toolMetadata:l.toolMetadata}),d();break}case"tool-output-error":{const l=L(n.toolCallId);l.type==="dynamic-tool"?j({toolCallId:n.toolCallId,toolName:l.toolName,state:"output-error",input:l.input,errorText:n.errorText,providerExecuted:n.providerExecuted,providerMetadata:n.providerMetadata,title:l.title,toolMetadata:l.toolMetadata}):x({toolCallId:n.toolCallId,toolName:Fe(l),state:"output-error",input:l.input,rawInput:l.rawInput,errorText:n.errorText,providerExecuted:n.providerExecuted,providerMetadata:n.providerMetadata,title:l.title,toolMetadata:l.toolMetadata}),d();break}case"start-step":{u.message.parts.push({type:"step-start"});break}case"finish-step":{u.activeTextParts=te(),u.activeReasoningParts=te();break}case"start":{n.messageId!=null&&(u.message.id=n.messageId),await V(n.messageMetadata),(n.messageId!=null||n.messageMetadata!=null)&&d();break}case"finish":{n.finishReason!=null&&(u.finishReason=n.finishReason),await V(n.messageMetadata),n.messageMetadata!=null&&d();break}case"message-metadata":{await V(n.messageMetadata),n.messageMetadata!=null&&d();break}case"error":{s?.(new Error(n.errorText));break}default:if(sr(n)){if(a?.[n.type]!=null){const I=u.message.parts.findIndex(y=>"id"in y&&"data"in y&&y.id===n.id&&y.type===n.type),v=I>=0?I:u.message.parts.length;await Ue({value:n.data,schema:a[n.type],context:{field:`message.parts[${v}].data`,entityName:n.type,entityId:n.id}})}const l=n;if(l.transient){i?.(l);break}const w=l.id!=null?u.message.parts.find(I=>l.type===I.type&&l.id===I.id):void 0;w!=null?w.data=l.data:u.message.parts.push(l),i?.(l),d()}}p.enqueue(n)})}}))}function lr(t){const e=t.pipeThrough(new TransformStream);return e[Symbol.asyncIterator]=function(){const a=this.getReader();let r=!1;async function s(o){var i;if(!r){r=!0;try{o&&await((i=a.cancel)==null?void 0:i.call(a))}finally{try{a.releaseLock()}catch{}}}}return{async next(){if(r)return{done:!0,value:void 0};const{done:o,value:i}=await a.read();return o?(await s(!0),{done:!0,value:void 0}):{done:!1,value:i}},async return(){return await s(!0),{done:!0,value:void 0}},async throw(o){throw await s(!0),o}}},e}async function ur({stream:t,onError:e}){const a=t.getReader();try{for(;;){const{done:r}=await a.read();if(r)break}}catch(r){e?.(r)}finally{a.releaseLock()}}ie({prefix:"aitxt",size:24});function dr({message:t,stream:e,onError:a,terminateOnError:r=!1}){var s;let o,i=!1;const n=new ReadableStream({start(d){o=d}}),p=or({messageId:(s=t?.id)!=null?s:"",lastMessage:t}),u=d=>{a?.(d),!i&&r&&(i=!0,o?.error(d))};return ur({stream:ir({stream:e,runUpdateMessageJob(d){return d({state:p,write:()=>{o?.enqueue(structuredClone(p.message))}})},onError:u}),onError:u}).finally(()=>{i||o?.close()}),lr(n)}W(c(),q.optional());ie({prefix:"aiobj",size:24});ie({prefix:"aiobj",size:24});function cr({messages:t}){const e=t[t.length-1];if(!e||e.role!=="assistant")return!1;const a=e.parts.reduce((s,o,i)=>o.type==="step-start"?i:s,-1),r=e.parts.slice(a+1).filter(pe);return r.filter(s=>s.state==="approval-responded").length>0&&r.every(s=>s.state==="output-available"||s.state==="output-error"||s.state==="approval-responded")}function pr({messages:t}){const e=t[t.length-1];if(!e||e.role!=="assistant")return!1;const a=e.parts.reduce((s,o,i)=>o.type==="step-start"?i:s,-1),r=e.parts.slice(a+1).filter(pe).filter(s=>!s.providerExecuted);return r.length>0&&r.every(s=>s.state==="output-available"||s.state==="output-error")}class k{constructor(e){this.value=e}value;subs=new Set;get=()=>this.value;set=e=>{Object.is(e,this.value)||(this.value=e,this.subs.forEach(a=>a()))};update=e=>{this.set(e(this.value))};subscribe=e=>(this.subs.add(e),()=>{this.subs.delete(e)})}function ae(t,e){const a=t.content;if(Array.isArray(a)){const r=a[0];if(r&&typeof r=="object"){const s=r.text;if(s)return s}}return e}const fr=["sending","received","waiting-runner","starting-run","gathering-context","preparing-tools","starting-assistant","analyzing-scope","choosing-next-steps"],zr={sending:{label:"Sending your message",detail:"Posting the message to the thread"},received:{label:"Request received",detail:"The run was accepted and queued"},"waiting-runner":{label:"Waiting for an available runner",detail:"Waiting for the per-thread dispatch slot"},"starting-run":{label:"Starting the run",detail:"A worker picked up the queued message"},"gathering-context":{label:"Gathering context",detail:"Loading history, memory, files, and agent context"},"preparing-tools":{label:"Preparing tools",detail:"Resolving models, permissions, MCP tools, and built-ins"},"starting-assistant":{label:"Starting the assistant",detail:"Opening the cluster runtime"},"analyzing-scope":{label:"Analyzing scope",detail:"The model loop is running before first output"},"choosing-next-steps":{label:"Choosing next steps",detail:"The assistant is planning the next action"}},Se=new Map(fr.map((t,e)=>[t,e]));function mr(t){return typeof t=="string"&&Se.has(t)}function hr(t){if(!t||typeof t!="object")return null;const e=t;if(e.type!=="data-run-status")return null;const a=e.data?.stage;return mr(a)?a:null}function gr(t){return!t||typeof t!="object"?!1:t.type==="data-run-status"}function vr(t,e){if(t===null)return e;const a=Se.get(t)??-1;return(Se.get(e)??-1)>=a?e:t}const yr=1e3,br=3e4,_r=50,Sr=6e4,Er=typeof requestAnimationFrame=="function"?requestAnimationFrame:t=>setTimeout(t,0),Ir=typeof cancelAnimationFrame=="function"?cancelAnimationFrame:t=>clearTimeout(t);function Be(t,e){if(e.kind==="message"){const a=e.message;if(a.created_at!=null)return[...t,a];let r=0;for(const o of t){const i=o.created_at;if(i==null)continue;const n=new Date(i).getTime();Number.isFinite(n)&&n>r&&(r=n)}const s=Math.max(Date.now(),r+1);return[...t,{...a,created_at:new Date(s).toISOString()}]}for(let a=t.length-1;a>=0;a--){const r=t[a];if(!r||r.role!=="assistant")continue;const s=Tr(r.parts,e);if(s===-1)continue;const o=r.parts[s];if(!o)continue;const i=wr(o,e);if(!i)continue;const n=[...r.parts];n[s]=i;const p=[...t];return p[a]={...r,parts:n},p}return null}function Tr(t,e){return e.kind==="toolOutput"?t.findIndex(a=>a?.toolCallId===e.toolCallId):t.findIndex(a=>{const r=a;return r?.state==="approval-requested"&&r?.approval?.id===e.approvalId})}function wr(t,e){return e.kind==="toolOutput"?{...t,state:e.state??"output-available",output:e.output,errorText:e.errorText}:{...t,state:"approval-responded",approval:{id:e.approvalId,approved:e.approved,...e.reason?{reason:e.reason}:{}}}}function Mr(t){return t.kind==="message"?`message id=${t.message.id}`:t.kind==="toolOutput"?`toolOutput toolCallId=${t.toolCallId}`:`approval approvalId=${t.approvalId}`}class Ar{constructor(e,a,r={}){this.orgSlug=e,this.threadId=a,this.key=`${e}::${a}`,this.client=r.client??null,this.ready=new Promise(s=>{this.resolveReady=s}),this.bootstrap()}orgSlug;threadId;key;messages=new k([]);status=new k({kind:"loading"});finishReason=new k(null);runStatusStage=new k(null);hasMoreOlder=new k(!1);isFetchingOlder=new k(!1);observer=null;abort=new AbortController;subController=null;pendingFinishReason=void 0;discardOnClose=!1;inflightPost=null;waitingForNewRun=!1;acceptPreStartRunStatus=!0;freshRunSubstream=!1;client;serverFetchedCount=0;pageSize=5;chunkBuffer=[];ready;resolveReady;dispose(){this.abort.abort()}async submit(e,a){this.finishReason.set(null);const r=Be(this.messages.get(),e);if(!r)throw new Error(`submit: target not found for ${Mr(e)}`);if(this.messages.set(J(r,[])),this.acceptPreStartRunStatus=!0,!(e.kind==="message"||cr({messages:r})||pr({messages:r})))return;const o=r.at(-1);if(!o){this.status.set({kind:"ready"});return}this.runStatusStage.set("sending"),this.status.set({kind:"submitted"});const i=new AbortController;this.inflightPost=i;try{await this.post(o,a,i.signal)}catch(n){const p=n instanceof Error?n:new Error(String(n));this.clearRunStatusStage(),this.failTo(p)}finally{this.inflightPost===i&&(this.inflightPost=null)}}async enqueue(e,a){await this.post(e,a,void 0,!0)}applyLocalMessage(e){this.messages.update(a=>{const r=Be(a,{kind:"message",message:e})??a;return J(r,[])})}removeLocalMessage(e){this.messages.update(a=>a.filter(r=>r.id!==e))}stop(){this.inflightPost?.abort();const e=this.status.get();(e.kind==="submitted"||e.kind==="streaming")&&this.status.set({kind:"ready"}),this.clearRunStatusStage(),this.acceptPreStartRunStatus=!1,this.subController&&this.forceCloseSubStream(!0),this.messages.update(a=>{const r=a.at(-1);if(r?.role!=="assistant"||r.created_at!=null)return a;const o={...r,created_at:new Date().toISOString()};return[...a.slice(0,-1),o]}),this.waitingForNewRun=!0}clearError(){this.status.get().kind==="error"&&this.status.set({kind:"ready"})}async bootstrap(){this.loadInitialPage(),await this.runSseLoop()}async loadInitialPage(){if(await Promise.resolve(),!this.client){this.status.get().kind==="loading"&&this.status.set({kind:"ready"}),this.drainChunkBuffer(),this.resolveReady();return}try{const e=await this.fetchLatestPage("COLLECTION_THREAD_MESSAGES_LIST failed");if(e.kind==="aborted"){this.resolveReady();return}if(e.kind==="error")throw new Error(e.message);const a=e.items;if(this.messages.update(r=>J(r,a)),this.finishReason.get()===null){const r=this.messages.get().at(-1),s=r?.role==="assistant"?r.metadata?.finishReason:void 0;s&&this.finishReason.set(s)}this.serverFetchedCount=a.length,this.hasMoreOlder.set(e.hasMore??!1),this.status.get().kind==="loading"&&this.status.set({kind:"ready"}),this.drainChunkBuffer()}catch(e){this.failTo(e instanceof Error?e:new Error(String(e))),this.drainChunkBuffer()}finally{this.resolveReady()}}async fetchLatestPage(e){if(!this.client)return{kind:"aborted"};const a=await this.client.callTool({name:"COLLECTION_THREAD_MESSAGES_LIST",arguments:{thread_id:this.threadId,limit:this.pageSize,offset:0,orderBy:[{field:["created_at"],direction:"desc"}]}});if(this.abort.signal.aborted)return{kind:"aborted"};if(a.isError)return{kind:"error",message:ae(a,e)};const r=a.structuredContent??a;return{kind:"ok",items:r.items??[],hasMore:r.hasMore}}async refetchLatestPage(){if(this.client)try{const e=await this.fetchLatestPage("tool error");if(e.kind==="aborted")return;if(e.kind==="error"){console.warn("[chat-store] refetchLatestPage:",e.message);return}this.messages.update(a=>J(a,e.items)),e.hasMore!==void 0&&this.hasMoreOlder.set(e.hasMore)}catch(e){console.warn("[chat-store] refetchLatestPage failed:",e)}}async reconcileFromServer(){if(!this.client)return!1;try{const e=await this.fetchLatestPage("tool error");return e.kind==="aborted"?!1:e.kind==="error"?(console.warn("[chat-store] reconcileFromServer:",e.message),!1):this.applyReconcile(e.items,e.hasMore)}catch(e){return console.warn("[chat-store] reconcileFromServer failed:",e),!1}}applyReconcile(e,a){const r=this.status.get().kind;return r==="submitted"||r==="streaming"?!1:(this.messages.update(s=>Nr(s,e)),a!==void 0&&this.hasMoreOlder.set(a),!0)}async fetchOlderMessages(){if(this.client&&this.hasMoreOlder.get()&&!this.isFetchingOlder.get()){this.isFetchingOlder.set(!0);try{const e=await this.client.callTool({name:"COLLECTION_THREAD_MESSAGES_LIST",arguments:{thread_id:this.threadId,limit:this.pageSize,offset:this.serverFetchedCount,orderBy:[{field:["created_at"],direction:"desc"}]}});if(this.abort.signal.aborted)return;if(e.isError)throw new Error(ae(e,"COLLECTION_THREAD_MESSAGES_LIST failed"));const a=e.structuredContent??e,r=a.items??[];this.messages.update(s=>J(s,r)),this.serverFetchedCount+=r.length,this.hasMoreOlder.set(a.hasMore??!1)}catch(e){const a=e instanceof Error?e.message:String(e);console.warn("[chat-store] fetchOlderMessages failed:",a),ge.error(`Could not load older messages: ${a}`)}finally{this.isFetchingOlder.set(!1)}}}async post(e,a,r,s=!1){const{system:o,...i}=a,n=o&&e.role==="user"?{id:crypto.randomUUID(),role:"system",parts:[{type:"text",text:o}]}:null,u={messages:n?[n,e]:[e],...i},d=`/api/${encodeURIComponent(this.orgSlug)}/decopilot/threads/${encodeURIComponent(this.threadId)}/messages`,m=AbortSignal.timeout(Sr),S=r?AbortSignal.any([r,m]):m;let C;try{C=await fetch(d,{method:"POST",credentials:"include",headers:{"content-type":"application/json"},body:JSON.stringify(u),signal:S})}catch(T){throw m.aborted&&!r?.aborted?new Error("request timed out — retry"):T}if(!C.ok){const T=await C.text().catch(()=>"");throw new Error(T||`POST /messages failed (${C.status})`)}!s&&this.runStatusStage.get()!==null&&this.setRunStatusStage("received")}async runSseLoop(){const e=`/api/${encodeURIComponent(this.orgSlug)}/decopilot/threads/${encodeURIComponent(this.threadId)}/stream`;let a=0,r=!0;for(;!this.abort.signal.aborted;){r||this.forceCloseSubStream(!0);let s=!1;try{const i=await fetch(e,{method:"GET",credentials:"include",headers:{accept:"text/event-stream"},signal:this.abort.signal});if(i.status===204||!i.body)return;if(!i.ok){const n=await i.text().catch(()=>"");this.failTo(new Error(n||`GET /stream failed (${i.status})`));return}if(a=0,r||await this.refetchLatestPage(),r=!1,s=await this.consumeStreamSse(i.body),!s&&this.status.get().kind==="error")return}catch{if(this.abort.signal.aborted)return}if(this.abort.signal.aborted)return;const o=s?_r:Dt(br,yr,a,2,.5);a++,o>0&&await Pt(o,{signal:this.abort.signal}).catch(()=>{})}}async consumeStreamSse(e){const a=e.getReader(),r=new TextDecoder;let s="";for(;;){const{done:o,value:i}=await a.read();if(o)return!0;s+=r.decode(i,{stream:!0});let n;for(;(n=s.indexOf(`
|
|
12
12
|
|
|
13
13
|
`))!==-1;){const p=s.slice(0,n);if(s=s.slice(n+2),await this.handleStreamFrame(p),this.status.get().kind==="error")return!1}}}async handleStreamFrame(e){const a=e.split(`
|
|
14
14
|
`);let r="message";const s=[];for(const n of a)n.startsWith("event:")?r=n.slice(6).trim():n.startsWith("data:")&&s.push(n.slice(5).trim());if(s.length===0)return;const o=s.join(`
|
|
15
|
-
`);if(r!=="message")return;let i;try{i=JSON.parse(o)}catch(n){this.failTo(n instanceof Error?n:new Error(String(n)));return}await this.validateAndHandleChunk(i)}async validateAndHandleChunk(e){try{const a=ur(),r=a.validate?await a.validate(e):{success:!0,value:e};if(!r.success){this.failTo(r.error instanceof Error?r.error:new Error(String(r.error)));return}this.handleChunk(r.value)}catch(a){this.failTo(a instanceof Error?a:new Error(String(a)))}}drainChunkBuffer(){const e=this.chunkBuffer??[];this.chunkBuffer=null;for(const a of e)this.handleChunk(a)}setRunStatusStage(e){this.runStatusStage.update(a=>Ir(a,e))}clearRunStatusStage(){this.runStatusStage.get()!==null&&this.runStatusStage.set(null)}handleChunk(e){if(this.chunkBuffer!==null){this.chunkBuffer.push(e);return}if(e.type==="data-user-message"){const o=e.data;o&&this.applyLocalMessage(o);return}const a=Er(e),r=Sr(e);if(this.waitingForNewRun){if(a){this.acceptPreStartRunStatus&&r&&(this.setRunStatusStage(r),this.observer?.onData?.(e));return}if(e.type!=="start")return;this.waitingForNewRun=!1,this.acceptPreStartRunStatus=!0}if(a){r&&(this.setRunStatusStage(r),this.observer?.onData?.(e));return}if(e.type!=="start"&&e.type!=="finish"&&!e.type.startsWith("data-")&&e.type!=="start-step"&&this.clearRunStatusStage(),e.type.startsWith("data-")&&this.observer?.onData?.(e),e.type==="tool-input-available"){const o=e;this.observer?.onToolCall?.({toolCall:{toolCallId:o.toolCallId,toolName:o.toolName,input:o.input}})}e.type==="start"&&(this.freshRunSubstream=!0);const s=this.ensureSubStream();if(s.enqueue(e),e.type==="finish"){const o=e;this.pendingFinishReason=o.finishReason,this.clearRunStatusStage(),this.subController=null,s.close()}}forceCloseSubStream(e=!1){const a=this.subController;if(a){this.discardOnClose=e,this.subController=null;try{a.close()}catch{}}}ensureSubStream(){if(this.subController)return this.subController;this.pendingFinishReason=void 0;let e;const a=new ReadableStream({start(r){e=r}});return this.subController=e,this.foldSubStream(a),e}async foldSubStream(e){const a=this.messages.get(),r=a.at(-1),s=this.freshRunSubstream&&r?.role==="assistant"&&(r.parts??[]).some(T=>"state"in T&&(T.state==="approval-requested"||T.state==="approval-responded")),o=s?structuredClone(r):!this.freshRunSubstream&&a.length>0&&r?.role==="assistant"?r:void 0,i=s?r?.id:void 0;this.freshRunSubstream=!1;const n=gr({message:o,stream:e,onError:T=>{const k=T instanceof Error?T:new Error(String(T));this.failTo(k)}});let p=null,u=null,d=null;const m=()=>{if(d=null,!u)return;const T=i&&u.id!==i?{...u,id:i}:u;u=null,this.messages.update(k=>J(yt(Lr(k,Zr(k,T))),[]))};for await(const T of n)p=T,u=T,d===null&&(d=Or(m)),this.status.get().kind!=="streaming"&&this.status.set({kind:"streaming"});d!==null&&(Cr(d),d=null),u&&m();const S=this.pendingFinishReason,C=this.discardOnClose;if(this.subController=null,this.pendingFinishReason=void 0,this.discardOnClose=!1,C||(this.finishReason.set(S??null),this.status.set({kind:"ready"})),p&&!C){const T=i??p.id;this.messages.update(x=>{const j=x.findIndex(v=>v.id===T);if(j===-1)return x;const V=x[j];if(V.created_at!=null)return x;const l=V.metadata?.created_at,w=l!=null?new Date(l).toISOString():new Date().toISOString(),I=[...x];return I[j]={...V,created_at:w},I}),this.observer?.onFinish?.(p,this.messages.get(),S),p.metadata?.resumedFromBackground&&this.refetchLatestPage()}}failTo(e){this.abort.signal.aborted||(this.clearRunStatusStage(),this.status.set({kind:"error",error:e}),this.observer?.onError?.(e))}}function Dr(t,e){const a=new Map;for(const r of t.parts)r&&typeof r=="object"&&"toolCallId"in r&&"created_at"in r&&typeof r.toolCallId=="string"&&a.set(r.toolCallId,r.created_at);return a.size===0?e.parts:e.parts.map(r=>{if(r&&typeof r=="object"&&"toolCallId"in r&&!("created_at"in r)&&typeof r.toolCallId=="string"){const s=a.get(r.toolCallId);if(s!=null)return{...r,created_at:s}}return r})}function vt(t,e){if(!t)return e;const a=t.created_at,r=e.created_at,s=Dr(t,e);let o=s===e.parts?e:{...e,parts:s};return r==null&&a!=null&&(o={...o,created_at:a}),o}function Lr(t,e){const a=t.findIndex(s=>s.id===e.id);if(a===-1)return[...t,e];const r=[...t];return r[a]=vt(r[a],e),r}const ue="msg_async_stub_";function yt(t){let e=!1;for(const r of t)if(r.id.startsWith(ue)){e=!0;break}if(!e)return t;const a=new Set;for(const r of t)if(r.role==="assistant"&&!r.id.startsWith(ue))for(const s of r.parts)s&&typeof s=="object"&&"type"in s&&s.type==="tool-web_search"&&"toolCallId"in s&&a.add(s.toolCallId);return a.size===0?t:t.filter(r=>{if(!r.id.startsWith(ue))return!0;const s=kr(r)??r.id.slice(ue.length);return!a.has(s)})}function kr(t){for(const e of t.parts)if(e&&typeof e=="object"&&"type"in e&&e.type==="tool-web_search"&&"toolCallId"in e&&typeof e.toolCallId=="string")return e.toolCallId}function J(t,e){const a=new Map(t.map(s=>[s.id,s]));for(const s of e)a.set(s.id,vt(a.get(s.id),s));const r=[...a.values()];return r.sort((s,o)=>{const i=ne(s),n=ne(o);if(i!==n)return i-n;const p=m=>m.role==="user"?0:m.role==="assistant"?1:2,u=p(s),d=p(o);return u!==d?u-d:s.id<o.id?-1:s.id>o.id?1:0}),yt(r)}function jr(t,e){if(e.length===0)return t;const a=new Set(e.map(o=>o.id));let r=Number.POSITIVE_INFINITY;for(const o of e){const i=ne(o);i<r&&(r=i)}const s=t.filter(o=>{if(o.role!=="assistant"||a.has(o.id))return!0;const i=ne(o);return Number.isFinite(i)&&i<=r});return J(s,e)}function Zr(t,e){if(e.created_at!=null||t.find(s=>s.id===e.id)?.created_at!=null)return e;let r=0;for(const s of t){const o=ne(s);Number.isFinite(o)&&o>r&&(r=o)}return r===0?e:{...e,created_at:new Date(r+1).toISOString()}}function ne(t){const e=t;if(e.created_at!=null)return new Date(e.created_at).getTime();const a=t.metadata;return a?.created_at!=null?new Date(a.created_at).getTime():Number.POSITIVE_INFINITY}let G=null;function $r(t,e,a={}){const r=`${t}::${e}`;return G?.key===r||(G?.dispose(),G=new Pr(t,e,a),typeof window<"u"&&(window.__conn=G)),G}const Ur=6e4;function ee(t,e){const a=t.findIndex(n=>n.id===e.id);if(a===-1){const n=new Date().toISOString();return[{created_at:e.created_at??e.updated_at??n,updated_at:e.updated_at??n,...e,title:e.title??"New chat",branch:e.branch??null},...t]}const r=[...t],s=r[a],o=s.updated_at?new Date(s.updated_at).getTime():Number.NEGATIVE_INFINITY;return(e.updated_at?new Date(e.updated_at).getTime():Number.POSITIVE_INFINITY)<o?t:(r[a]={...r[a],...e},r)}class Fr{constructor(e,a,r={}){this.orgSlug=e,this.locator=a,this.key=`${e}::${a}`,this.client=r.client??null;const s=r.sse??Pt;this.watchUnsubscribe=s.subscribe(this.orgSlug,o=>this.handleWatchEvent(o),()=>this.onWatchReconnect()),this.loadInitialPage()}orgSlug;locator;threads=new L([]);threadsStatus=new L({kind:"loading"});active=new L(null);key;hasMore=new L(!1);isFetchingMore=new L(!1);pendingOptimistic=new Set;archivedTombstones=new Map;client;nextOffset=0;pageSize=10;eventBuffer=[];watchUnsubscribe=null;dispose(){this.watchUnsubscribe?.(),this.watchUnsubscribe=null,this.active.set(null)}setActive(e){const a=$r(this.orgSlug,e,{client:this.client});return this.active.get()!==a&&this.active.set(a),a}closeActive(){this.active.get()!==null&&this.active.set(null)}async create(e){try{if(!this.client)throw new Error("ThreadManagerStore: no MCP client");const a=await this.client.callTool({name:"COLLECTION_THREADS_CREATE",arguments:{data:e}});if(a.isError)throw new Error(ae(a,"COLLECTION_THREADS_CREATE failed"));const r=a.structuredContent?.item;if(!r)throw new Error("create: no item returned");return this.threads.update(s=>s.some(o=>o.id===r.id)?s:[r,...s]),r}catch(a){const r=a instanceof Error?a.message:String(a);throw ve.error(`Could not create thread: ${r}`),a}}rename(e,a){return this.optimisticUpdate(e,{title:a})}hide(e){return this.optimisticHide(e)}setStatus(e,a){return this.optimisticUpdate(e,{status:a})}setBranch(e,a){return this.optimisticUpdate(e,{branch:a})}setAgent(e,a){return this.optimisticUpdate(e,{virtual_mcp_id:a})}patchThread(e){this.isTombstoned(e.id)||this.threads.update(a=>ee(a,e))}mergeThreads(e){e.length!==0&&this.threads.update(a=>e.reduce((r,s)=>this.isTombstoned(s.id)?r:ee(r,s),a))}async optimisticUpdate(e,a){if(!this.client)throw new Error("ThreadManagerStore: no MCP client");const r=this.threads.get();this.pendingOptimistic.add(e),this.threads.update(s=>ee(s,{...a,id:e,updated_at:new Date().toISOString()}));try{if((await this.client.callTool({name:"COLLECTION_THREADS_UPDATE",arguments:{id:e,data:a}})).isError)throw new Error("COLLECTION_THREADS_UPDATE failed")}catch(s){throw this.threads.set(r),s}finally{this.pendingOptimistic.delete(e)}}async optimisticHide(e){if(!this.client)throw new Error("ThreadManagerStore: no MCP client");const a=this.threads.get();this.pendingOptimistic.add(e),this.archivedTombstones.set(e,Date.now()),this.threads.update(r=>r.filter(s=>s.id!==e));try{if((await this.client.callTool({name:"COLLECTION_THREADS_UPDATE",arguments:{id:e,data:{hidden:!0}}})).isError)throw new Error("COLLECTION_THREADS_UPDATE failed")}catch(r){throw this.threads.set(a),this.archivedTombstones.delete(e),r}finally{this.pendingOptimistic.delete(e)}}pruneArchivedTombstones(){if(this.archivedTombstones.size===0)return;const e=Date.now()-Ur;for(const[a,r]of this.archivedTombstones)r<e&&this.archivedTombstones.delete(a)}isTombstoned(e){return this.pruneArchivedTombstones(),this.archivedTombstones.has(e)}async loadInitialPage(){if(!this.client){this.drainEventBuffer();return}try{const e=await this.client.callTool({name:"COLLECTION_THREADS_LIST",arguments:{limit:this.pageSize,offset:0,orderBy:[{field:["updated_at"],direction:"desc"}],where:{hidden:!1}}});if(e.isError)throw new Error(ae(e,"COLLECTION_THREADS_LIST failed"));const a=e.structuredContent??e,r=a.items??[];this.threads.set(r),this.hasMore.set(a.hasMore??!1),this.nextOffset=r.length,this.threadsStatus.set({kind:"ready"}),this.drainEventBuffer()}catch(e){this.threadsStatus.set({kind:"error",error:e instanceof Error?e:new Error(String(e))})}}drainEventBuffer(){const e=this.eventBuffer??[];this.eventBuffer=null;for(const a of e)this.isTombstoned(a.id)||this.threads.update(r=>ee(r,a))}async fetchNextPage(){if(this.client&&this.hasMore.get()&&!this.isFetchingMore.get()){this.isFetchingMore.set(!0);try{const e=await this.client.callTool({name:"COLLECTION_THREADS_LIST",arguments:{limit:this.pageSize,offset:this.nextOffset,orderBy:[{field:["updated_at"],direction:"desc"}],where:{hidden:!1}}});if(e.isError)throw new Error(ae(e,"COLLECTION_THREADS_LIST failed"));const a=e.structuredContent??e,r=a.items??[];this.threads.update(s=>{const o=new Set(s.map(i=>i.id));return[...s,...r.filter(i=>!o.has(i.id))]}),this.hasMore.set(a.hasMore??!1),this.nextOffset+=r.length}catch(e){const a=e instanceof Error?e.message:String(e);ve.error(`Could not load more threads: ${a}`)}finally{this.isFetchingMore.set(!1)}}}async fetchThread(e){if(!e)return null;const a=this.threads.get().find(r=>r.id===e);if(a)return a;if(!this.client)return null;try{const r=await this.client.callTool({name:"COLLECTION_THREADS_GET",arguments:{id:e}});return r.isError?null:(r.structuredContent??r).item??null}catch{return null}}handleWatchEvent(e){if(e.type!==Dt.THREAD_STATUS)return;let a;try{a=JSON.parse(e.data)}catch{return}if(this.isTombstoned(a.subject))return;const r={id:a.subject,updated_at:a.data.updated_at??a.time,...a.data.status!==void 0&&{status:a.data.status},...a.data.created_by!==void 0&&{created_by:a.data.created_by},...a.data.trigger_id!==void 0&&{trigger_id:a.data.trigger_id},...a.data.virtual_mcp_id!==void 0&&{virtual_mcp_id:a.data.virtual_mcp_id},...a.data.title!==void 0&&{title:a.data.title},...a.data.branch!==void 0&&{branch:a.data.branch},...a.data.created_at!==void 0&&{created_at:a.data.created_at},...a.data.metadata!==void 0&&{metadata:a.data.metadata}};if(this.eventBuffer!==null){this.eventBuffer.push(r);return}this.threads.update(s=>ee(s,r))}onWatchReconnect(){this.eventBuffer=[],this.loadInitialPage()}}let $=null;function Br(t,e,a={}){const r=`${t}::${e}`;return $&&$.key===r||($?.dispose(),$=new Fr(t,e,a)),$}function ts(t,e){const a=`${t}::${e}`;return $&&$.key===a?$:null}const Ae=Y.createContext(null);function as(t){const e=Ie.c(10),{children:a}=t,{org:r,locator:s}=Ct();let o;e[0]!==r.id||e[1]!==r.slug?(o={connectionId:xt,orgId:r.id,orgSlug:r.slug},e[0]=r.id,e[1]=r.slug,e[2]=o):o=e[2];const i=Nt(o);let n;e[3]!==i||e[4]!==s||e[5]!==r.slug?(n=Br(r.slug,s,{client:i}),e[3]=i,e[4]=s,e[5]=r.slug,e[6]=n):n=e[6];const p=n;let u;return e[7]!==a||e[8]!==p?(u=Rt.jsx(Ae.Provider,{value:p,children:a}),e[7]=a,e[8]=p,e[9]=u):u=e[9],u}function bt(){const t=Y.useContext(Ae);if(!t)throw new Error("useThreadManager: missing ThreadManagerProvider");return t}function rs(){return Y.useContext(Ae)}function ss(){const t=Ie.c(8),e=bt(),a=Y.useSyncExternalStore(e.threads.subscribe,e.threads.get),r=Y.useSyncExternalStore(e.threadsStatus.subscribe,e.threadsStatus.get),s=Y.useSyncExternalStore(e.hasMore.subscribe,e.hasMore.get),o=Y.useSyncExternalStore(e.isFetchingMore.subscribe,e.isFetchingMore.get);let i;t[0]!==e?(i=e.fetchNextPage.bind(e),t[0]=e,t[1]=i):i=t[1];let n;return t[2]!==s||t[3]!==o||t[4]!==r||t[5]!==i||t[6]!==a?(n={threads:a,status:r,hasMore:s,isFetchingMore:o,fetchNextPage:i},t[2]=s,t[3]=o,t[4]=r,t[5]=i,t[6]=a,t[7]=n):n=t[7],n}function ns(){const t=Ie.c(25),e=bt();let a;t[0]!==e?(a=e.create.bind(e),t[0]=e,t[1]=a):a=t[1];let r;t[2]!==e?(r=e.rename.bind(e),t[2]=e,t[3]=r):r=t[3];let s;t[4]!==e?(s=e.hide.bind(e),t[4]=e,t[5]=s):s=t[5];let o;t[6]!==e?(o=e.setStatus.bind(e),t[6]=e,t[7]=o):o=t[7];let i;t[8]!==e?(i=e.setBranch.bind(e),t[8]=e,t[9]=i):i=t[9];let n;t[10]!==e?(n=e.setAgent.bind(e),t[10]=e,t[11]=n):n=t[11];let p;t[12]!==e?(p=e.setActive.bind(e),t[12]=e,t[13]=p):p=t[13];let u;t[14]!==e?(u=e.closeActive.bind(e),t[14]=e,t[15]=u):u=t[15];let d;return t[16]!==a||t[17]!==r||t[18]!==s||t[19]!==o||t[20]!==i||t[21]!==n||t[22]!==p||t[23]!==u?(d={create:a,rename:r,hide:s,setStatus:o,setBranch:i,setAgent:n,setActive:p,closeActive:u},t[16]=a,t[17]=r,t[18]=s,t[19]=o,t[20]=i,t[21]=n,t[22]=p,t[23]=u,t[24]=d):d=t[24],d}export{Hr as A,es as R,L as S,as as T,ss as a,ns as b,rs as c,$r as d,Xr as e,Qr as f,ts as g,gr as r,Kr as t,bt as u,Gr as w,st as z};
|
|
15
|
+
`);if(r!=="message")return;let i;try{i=JSON.parse(o)}catch(n){this.failTo(n instanceof Error?n:new Error(String(n)));return}await this.validateAndHandleChunk(i)}async validateAndHandleChunk(e){try{const a=rr(),r=a.validate?await a.validate(e):{success:!0,value:e};if(!r.success){this.failTo(r.error instanceof Error?r.error:new Error(String(r.error)));return}this.handleChunk(r.value)}catch(a){this.failTo(a instanceof Error?a:new Error(String(a)))}}drainChunkBuffer(){const e=this.chunkBuffer??[];this.chunkBuffer=null;for(const a of e)this.handleChunk(a)}setRunStatusStage(e){this.runStatusStage.update(a=>vr(a,e))}clearRunStatusStage(){this.runStatusStage.get()!==null&&this.runStatusStage.set(null)}handleChunk(e){if(this.chunkBuffer!==null){this.chunkBuffer.push(e);return}if(e.type==="data-user-message"){const o=e.data;o&&this.applyLocalMessage(o);return}const a=gr(e),r=hr(e);if(this.waitingForNewRun){if(a){this.acceptPreStartRunStatus&&r&&(this.setRunStatusStage(r),this.observer?.onData?.(e));return}if(e.type!=="start")return;this.waitingForNewRun=!1,this.acceptPreStartRunStatus=!0}if(a){r&&(this.setRunStatusStage(r),this.observer?.onData?.(e));return}if(e.type!=="start"&&e.type!=="finish"&&!e.type.startsWith("data-")&&e.type!=="start-step"&&this.clearRunStatusStage(),e.type.startsWith("data-")&&this.observer?.onData?.(e),e.type==="tool-input-available"){const o=e;this.observer?.onToolCall?.({toolCall:{toolCallId:o.toolCallId,toolName:o.toolName,input:o.input}})}e.type==="start"&&(this.freshRunSubstream=!0);const s=this.ensureSubStream();if(s.enqueue(e),e.type==="finish"){const o=e;this.pendingFinishReason=o.finishReason,this.clearRunStatusStage(),this.subController=null,s.close()}}forceCloseSubStream(e=!1){const a=this.subController;if(a){this.discardOnClose=e,this.subController=null;try{a.close()}catch{}}}ensureSubStream(){if(this.subController)return this.subController;this.pendingFinishReason=void 0;let e;const a=new ReadableStream({start(r){e=r}});return this.subController=e,this.foldSubStream(a),e}async foldSubStream(e){const a=this.messages.get(),r=a.at(-1),s=this.freshRunSubstream&&r?.role==="assistant"&&(r.parts??[]).some(T=>"state"in T&&(T.state==="approval-requested"||T.state==="approval-responded")),o=s?structuredClone(r):!this.freshRunSubstream&&a.length>0&&r?.role==="assistant"?r:void 0,i=s?r?.id:void 0;this.freshRunSubstream=!1;const n=dr({message:o,stream:e,onError:T=>{const L=T instanceof Error?T:new Error(String(T));this.failTo(L)}});let p=null,u=null,d=null;const m=()=>{if(d=null,!u)return;const T=i&&u.id!==i?{...u,id:i}:u;u=null,this.messages.update(L=>J(vt(Cr(L,xr(L,T))),[]))};for await(const T of n)p=T,u=T,d===null&&(d=Er(m)),this.status.get().kind!=="streaming"&&this.status.set({kind:"streaming"});d!==null&&(Ir(d),d=null),u&&m();const S=this.pendingFinishReason,C=this.discardOnClose;if(this.subController=null,this.pendingFinishReason=void 0,this.discardOnClose=!1,C||(this.finishReason.set(S??null),this.status.set({kind:"ready"})),p&&!C){const T=i??p.id;this.messages.update(x=>{const j=x.findIndex(v=>v.id===T);if(j===-1)return x;const V=x[j];if(V.created_at!=null)return x;const l=V.metadata?.created_at,w=l!=null?new Date(l).toISOString():new Date().toISOString(),I=[...x];return I[j]={...V,created_at:w},I}),this.observer?.onFinish?.(p,this.messages.get(),S),p.metadata?.resumedFromBackground&&this.refetchLatestPage()}}failTo(e){this.abort.signal.aborted||(this.clearRunStatusStage(),this.status.set({kind:"error",error:e}),this.observer?.onError?.(e))}}function Or(t,e){const a=new Map;for(const r of t.parts)r&&typeof r=="object"&&"toolCallId"in r&&"created_at"in r&&typeof r.toolCallId=="string"&&a.set(r.toolCallId,r.created_at);return a.size===0?e.parts:e.parts.map(r=>{if(r&&typeof r=="object"&&"toolCallId"in r&&!("created_at"in r)&&typeof r.toolCallId=="string"){const s=a.get(r.toolCallId);if(s!=null)return{...r,created_at:s}}return r})}function gt(t,e){if(!t)return e;const a=t.created_at,r=e.created_at,s=Or(t,e);let o=s===e.parts?e:{...e,parts:s};return r==null&&a!=null&&(o={...o,created_at:a}),o}function Cr(t,e){const a=t.findIndex(s=>s.id===e.id);if(a===-1)return[...t,e];const r=[...t];return r[a]=gt(r[a],e),r}const ue="msg_async_stub_";function vt(t){let e=!1;for(const r of t)if(r.id.startsWith(ue)){e=!0;break}if(!e)return t;const a=new Set;for(const r of t)if(r.role==="assistant"&&!r.id.startsWith(ue))for(const s of r.parts)s&&typeof s=="object"&&"type"in s&&s.type==="tool-web_search"&&"toolCallId"in s&&a.add(s.toolCallId);return a.size===0?t:t.filter(r=>{if(!r.id.startsWith(ue))return!0;const s=Rr(r)??r.id.slice(ue.length);return!a.has(s)})}function Rr(t){for(const e of t.parts)if(e&&typeof e=="object"&&"type"in e&&e.type==="tool-web_search"&&"toolCallId"in e&&typeof e.toolCallId=="string")return e.toolCallId}function J(t,e){const a=new Map(t.map(s=>[s.id,s]));for(const s of e)a.set(s.id,gt(a.get(s.id),s));const r=[...a.values()];return r.sort((s,o)=>{const i=ne(s),n=ne(o);if(i!==n)return i-n;const p=m=>m.role==="user"?0:m.role==="assistant"?1:2,u=p(s),d=p(o);return u!==d?u-d:s.id<o.id?-1:s.id>o.id?1:0}),vt(r)}function Nr(t,e){if(e.length===0)return t;const a=new Set(e.map(o=>o.id));let r=Number.POSITIVE_INFINITY;for(const o of e){const i=ne(o);i<r&&(r=i)}const s=t.filter(o=>{if(o.role!=="assistant"||a.has(o.id))return!0;const i=ne(o);return Number.isFinite(i)&&i<=r});return J(s,e)}function xr(t,e){if(e.created_at!=null||t.find(s=>s.id===e.id)?.created_at!=null)return e;let r=0;for(const s of t){const o=ne(s);Number.isFinite(o)&&o>r&&(r=o)}return r===0?e:{...e,created_at:new Date(r+1).toISOString()}}function ne(t){const e=t;if(e.created_at!=null)return new Date(e.created_at).getTime();const a=t.metadata;return a?.created_at!=null?new Date(a.created_at).getTime():Number.POSITIVE_INFINITY}let G=null;function Pr(t,e,a={}){const r=`${t}::${e}`;return G?.key===r||(G?.dispose(),G=new Ar(t,e,a),typeof window<"u"&&(window.__conn=G)),G}const Dr=6e4;function ee(t,e){const a=t.findIndex(n=>n.id===e.id);if(a===-1){const n=new Date().toISOString();return[{created_at:e.created_at??e.updated_at??n,updated_at:e.updated_at??n,...e,title:e.title??"New chat",branch:e.branch??null},...t]}const r=[...t],s=r[a],o=s.updated_at?new Date(s.updated_at).getTime():Number.NEGATIVE_INFINITY;return(e.updated_at?new Date(e.updated_at).getTime():Number.POSITIVE_INFINITY)<o?t:(r[a]={...r[a],...e},r)}class kr{constructor(e,a,r={}){this.orgSlug=e,this.locator=a,this.key=`${e}::${a}`,this.client=r.client??null;const s=r.sse??Nt;this.watchUnsubscribe=s.subscribe(this.orgSlug,o=>this.handleWatchEvent(o),()=>this.onWatchReconnect()),this.loadInitialPage()}orgSlug;locator;threads=new k([]);threadsStatus=new k({kind:"loading"});active=new k(null);key;hasMore=new k(!1);isFetchingMore=new k(!1);pendingOptimistic=new Set;archivedTombstones=new Map;client;nextOffset=0;pageSize=10;eventBuffer=[];watchUnsubscribe=null;dispose(){this.watchUnsubscribe?.(),this.watchUnsubscribe=null,this.active.set(null)}setActive(e){const a=Pr(this.orgSlug,e,{client:this.client});return this.active.get()!==a&&this.active.set(a),a}closeActive(){this.active.get()!==null&&this.active.set(null)}async create(e){try{if(!this.client)throw new Error("ThreadManagerStore: no MCP client");const a=await this.client.callTool({name:"COLLECTION_THREADS_CREATE",arguments:{data:e}});if(a.isError)throw new Error(ae(a,"COLLECTION_THREADS_CREATE failed"));const r=a.structuredContent?.item;if(!r)throw new Error("create: no item returned");return this.threads.update(s=>s.some(o=>o.id===r.id)?s:[r,...s]),r}catch(a){const r=a instanceof Error?a.message:String(a);throw ge.error(`Could not create thread: ${r}`),a}}rename(e,a){return this.optimisticUpdate(e,{title:a})}hide(e){return this.optimisticHide(e)}setStatus(e,a){return this.optimisticUpdate(e,{status:a})}setBranch(e,a){return this.optimisticUpdate(e,{branch:a})}setAgent(e,a){return this.optimisticUpdate(e,{virtual_mcp_id:a})}patchThread(e){this.isTombstoned(e.id)||this.threads.update(a=>ee(a,e))}mergeThreads(e){e.length!==0&&this.threads.update(a=>e.reduce((r,s)=>this.isTombstoned(s.id)?r:ee(r,s),a))}async optimisticUpdate(e,a){if(!this.client)throw new Error("ThreadManagerStore: no MCP client");const r=this.threads.get();this.pendingOptimistic.add(e),this.threads.update(s=>ee(s,{...a,id:e,updated_at:new Date().toISOString()}));try{if((await this.client.callTool({name:"COLLECTION_THREADS_UPDATE",arguments:{id:e,data:a}})).isError)throw new Error("COLLECTION_THREADS_UPDATE failed")}catch(s){throw this.threads.set(r),s}finally{this.pendingOptimistic.delete(e)}}async optimisticHide(e){if(!this.client)throw new Error("ThreadManagerStore: no MCP client");const a=this.threads.get();this.pendingOptimistic.add(e),this.archivedTombstones.set(e,Date.now()),this.threads.update(r=>r.filter(s=>s.id!==e));try{if((await this.client.callTool({name:"COLLECTION_THREADS_UPDATE",arguments:{id:e,data:{hidden:!0}}})).isError)throw new Error("COLLECTION_THREADS_UPDATE failed")}catch(r){throw this.threads.set(a),this.archivedTombstones.delete(e),r}finally{this.pendingOptimistic.delete(e)}}pruneArchivedTombstones(){if(this.archivedTombstones.size===0)return;const e=Date.now()-Dr;for(const[a,r]of this.archivedTombstones)r<e&&this.archivedTombstones.delete(a)}isTombstoned(e){return this.pruneArchivedTombstones(),this.archivedTombstones.has(e)}async loadInitialPage(){if(!this.client){this.drainEventBuffer();return}try{const e=await this.client.callTool({name:"COLLECTION_THREADS_LIST",arguments:{limit:this.pageSize,offset:0,orderBy:[{field:["updated_at"],direction:"desc"}],where:{hidden:!1}}});if(e.isError)throw new Error(ae(e,"COLLECTION_THREADS_LIST failed"));const a=e.structuredContent??e,r=a.items??[];this.threads.set(r),this.hasMore.set(a.hasMore??!1),this.nextOffset=r.length,this.threadsStatus.set({kind:"ready"}),this.drainEventBuffer()}catch(e){this.threadsStatus.set({kind:"error",error:e instanceof Error?e:new Error(String(e))})}}drainEventBuffer(){const e=this.eventBuffer??[];this.eventBuffer=null;for(const a of e)this.isTombstoned(a.id)||this.threads.update(r=>ee(r,a))}async fetchNextPage(){if(this.client&&this.hasMore.get()&&!this.isFetchingMore.get()){this.isFetchingMore.set(!0);try{const e=await this.client.callTool({name:"COLLECTION_THREADS_LIST",arguments:{limit:this.pageSize,offset:this.nextOffset,orderBy:[{field:["updated_at"],direction:"desc"}],where:{hidden:!1}}});if(e.isError)throw new Error(ae(e,"COLLECTION_THREADS_LIST failed"));const a=e.structuredContent??e,r=a.items??[];this.threads.update(s=>{const o=new Set(s.map(i=>i.id));return[...s,...r.filter(i=>!o.has(i.id))]}),this.hasMore.set(a.hasMore??!1),this.nextOffset+=r.length}catch(e){const a=e instanceof Error?e.message:String(e);ge.error(`Could not load more threads: ${a}`)}finally{this.isFetchingMore.set(!1)}}}async fetchThread(e){if(!e)return null;const a=this.threads.get().find(r=>r.id===e);if(a)return a;if(!this.client)return null;try{const r=await this.client.callTool({name:"COLLECTION_THREADS_GET",arguments:{id:e}});return r.isError?null:(r.structuredContent??r).item??null}catch{return null}}handleWatchEvent(e){if(e.type!==xt.THREAD_STATUS)return;let a;try{a=JSON.parse(e.data)}catch{return}if(this.isTombstoned(a.subject))return;const r={id:a.subject,updated_at:a.data.updated_at??a.time,...a.data.status!==void 0&&{status:a.data.status},...a.data.created_by!==void 0&&{created_by:a.data.created_by},...a.data.trigger_id!==void 0&&{trigger_id:a.data.trigger_id},...a.data.virtual_mcp_id!==void 0&&{virtual_mcp_id:a.data.virtual_mcp_id},...a.data.title!==void 0&&{title:a.data.title},...a.data.branch!==void 0&&{branch:a.data.branch},...a.data.created_at!==void 0&&{created_at:a.data.created_at},...a.data.metadata!==void 0&&{metadata:a.data.metadata}};if(this.eventBuffer!==null){this.eventBuffer.push(r);return}this.threads.update(s=>ee(s,r))}onWatchReconnect(){this.eventBuffer=[],this.loadInitialPage()}}let $=null;function Lr(t,e,a={}){const r=`${t}::${e}`;return $&&$.key===r||($?.dispose(),$=new kr(t,e,a)),$}function Jr(t,e){const a=`${t}::${e}`;return $&&$.key===a?$:null}const we=Y.createContext(null);function Yr(t){const e=Ee.c(10),{children:a}=t,{org:r,locator:s}=At();let o;e[0]!==r.id||e[1]!==r.slug?(o={connectionId:Rt,orgId:r.id,orgSlug:r.slug},e[0]=r.id,e[1]=r.slug,e[2]=o):o=e[2];const i=Ct(o);let n;e[3]!==i||e[4]!==s||e[5]!==r.slug?(n=Lr(r.slug,s,{client:i}),e[3]=i,e[4]=s,e[5]=r.slug,e[6]=n):n=e[6];const p=n;let u;return e[7]!==a||e[8]!==p?(u=Ot.jsx(we.Provider,{value:p,children:a}),e[7]=a,e[8]=p,e[9]=u):u=e[9],u}function yt(){const t=Y.useContext(we);if(!t)throw new Error("useThreadManager: missing ThreadManagerProvider");return t}function Wr(){return Y.useContext(we)}function qr(){const t=Ee.c(8),e=yt(),a=Y.useSyncExternalStore(e.threads.subscribe,e.threads.get),r=Y.useSyncExternalStore(e.threadsStatus.subscribe,e.threadsStatus.get),s=Y.useSyncExternalStore(e.hasMore.subscribe,e.hasMore.get),o=Y.useSyncExternalStore(e.isFetchingMore.subscribe,e.isFetchingMore.get);let i;t[0]!==e?(i=e.fetchNextPage.bind(e),t[0]=e,t[1]=i):i=t[1];let n;return t[2]!==s||t[3]!==o||t[4]!==r||t[5]!==i||t[6]!==a?(n={threads:a,status:r,hasMore:s,isFetchingMore:o,fetchNextPage:i},t[2]=s,t[3]=o,t[4]=r,t[5]=i,t[6]=a,t[7]=n):n=t[7],n}function Hr(){const t=Ee.c(25),e=yt();let a;t[0]!==e?(a=e.create.bind(e),t[0]=e,t[1]=a):a=t[1];let r;t[2]!==e?(r=e.rename.bind(e),t[2]=e,t[3]=r):r=t[3];let s;t[4]!==e?(s=e.hide.bind(e),t[4]=e,t[5]=s):s=t[5];let o;t[6]!==e?(o=e.setStatus.bind(e),t[6]=e,t[7]=o):o=t[7];let i;t[8]!==e?(i=e.setBranch.bind(e),t[8]=e,t[9]=i):i=t[9];let n;t[10]!==e?(n=e.setAgent.bind(e),t[10]=e,t[11]=n):n=t[11];let p;t[12]!==e?(p=e.setActive.bind(e),t[12]=e,t[13]=p):p=t[13];let u;t[14]!==e?(u=e.closeActive.bind(e),t[14]=e,t[15]=u):u=t[15];let d;return t[16]!==a||t[17]!==r||t[18]!==s||t[19]!==o||t[20]!==i||t[21]!==n||t[22]!==p||t[23]!==u?(d={create:a,rename:r,hide:s,setStatus:o,setBranch:i,setAgent:n,setActive:p,closeActive:u},t[16]=a,t[17]=r,t[18]=s,t[19]=o,t[20]=i,t[21]=n,t[22]=p,t[23]=u,t[24]=d):d=t[24],d}export{zr as R,k as S,Yr as T,qr as a,Hr as b,Wr as c,Pr as d,Jr as g,dr as r,Vr as t,yt as u,rt as z};
|