@8wave/ai-elements 0.110.0-beta.4 → 0.111.0-beta.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -0
- package/dist/_chunks/{Agent-Su_LDF9_.js → Agent-tE7ZJPxG.js} +80 -78
- package/dist/_chunks/Agent-tE7ZJPxG.js.map +1 -0
- package/dist/_chunks/{Document-DecVclEe.js → Document-Bmx6774B.js} +33 -21
- package/dist/_chunks/Document-Bmx6774B.js.map +1 -0
- package/dist/_chunks/Media-Cft7Pwrh.js +108 -0
- package/dist/_chunks/Media-Cft7Pwrh.js.map +1 -0
- package/dist/_chunks/{PkLazyImg-ClL4nr95.js → PkLazyImg-Dbj2dDXA.js} +2 -2
- package/dist/_chunks/{PkLazyImg-ClL4nr95.js.map → PkLazyImg-Dbj2dDXA.js.map} +1 -1
- package/dist/_chunks/{PkStreamingMarkdown-CwqsJnJJ.js → PkStreamingMarkdown-CNI8aV8t.js} +636 -427
- package/dist/_chunks/PkStreamingMarkdown-CNI8aV8t.js.map +1 -0
- package/dist/_chunks/{PkToolRequestGeolocation-CEVpl50q.js → PkToolRequestGeolocation-Bzy4IYSp.js} +4 -4
- package/dist/_chunks/PkToolRequestGeolocation-Bzy4IYSp.js.map +1 -0
- package/dist/_chunks/{PkToolRequestOAuthConnection-CncDU-Kl.js → PkToolRequestOAuthConnection-13CQH07t.js} +5 -5
- package/dist/_chunks/PkToolRequestOAuthConnection-13CQH07t.js.map +1 -0
- package/dist/_chunks/{PkToolShowArtifact-M6jlSmyJ.js → PkToolShowArtifact-CGbHDEie.js} +4 -4
- package/dist/_chunks/{PkToolShowArtifact-M6jlSmyJ.js.map → PkToolShowArtifact-CGbHDEie.js.map} +1 -1
- package/dist/_chunks/{PkToolShowCalendarEvent-C41JgOUA.js → PkToolShowCalendarEvent-DIFX_rUz.js} +3 -3
- package/dist/_chunks/{PkToolShowCalendarEvent-C41JgOUA.js.map → PkToolShowCalendarEvent-DIFX_rUz.js.map} +1 -1
- package/dist/_chunks/{PkToolShowComparison-DbbUD9pg.js → PkToolShowComparison-CWLFWT9h.js} +7 -7
- package/dist/_chunks/PkToolShowComparison-CWLFWT9h.js.map +1 -0
- package/dist/_chunks/{PkToolShowContactForm-D_dW59Dl.js → PkToolShowContactForm-CYxgatUA.js} +5 -5
- package/dist/_chunks/PkToolShowContactForm-CYxgatUA.js.map +1 -0
- package/dist/_chunks/{PkToolShowDiagram-Hy9qh68O.js → PkToolShowDiagram-Dx1Ba0PG.js} +4 -4
- package/dist/_chunks/PkToolShowDiagram-Dx1Ba0PG.js.map +1 -0
- package/dist/_chunks/{PkToolShowEmail-Dn3JHYIR.js → PkToolShowEmail-DnFFgzom.js} +3 -3
- package/dist/_chunks/{PkToolShowEmail-Dn3JHYIR.js.map → PkToolShowEmail-DnFFgzom.js.map} +1 -1
- package/dist/_chunks/{PkToolShowForm-DbJHMDbt.js → PkToolShowForm-B6x3Lp2i.js} +7 -8
- package/dist/_chunks/PkToolShowForm-B6x3Lp2i.js.map +1 -0
- package/dist/_chunks/{PkToolShowImageGallery-C1lzlO0y.js → PkToolShowImageGallery-D99N_Plf.js} +2 -2
- package/dist/_chunks/{PkToolShowImageGallery-C1lzlO0y.js.map → PkToolShowImageGallery-D99N_Plf.js.map} +1 -1
- package/dist/_chunks/{PkToolShowLocation-CKhPxKFA.js → PkToolShowLocation-AfnrtFVJ.js} +3 -3
- package/dist/_chunks/{PkToolShowLocation-CKhPxKFA.js.map → PkToolShowLocation-AfnrtFVJ.js.map} +1 -1
- package/dist/_chunks/{PkToolShowMessage-U9CCU7eG.js → PkToolShowMessage-DUo2c-im.js} +3 -3
- package/dist/_chunks/{PkToolShowMessage-U9CCU7eG.js.map → PkToolShowMessage-DUo2c-im.js.map} +1 -1
- package/dist/_chunks/{PkToolShowProductList-UeiRMLHu.js → PkToolShowProductList-BN6Qk1_y.js} +3 -3
- package/dist/_chunks/{PkToolShowProductList-UeiRMLHu.js.map → PkToolShowProductList-BN6Qk1_y.js.map} +1 -1
- package/dist/_chunks/{PkToolShowQrCode-CypLrfh5.js → PkToolShowQrCode-BLqeBecX.js} +3 -3
- package/dist/_chunks/{PkToolShowQrCode-CypLrfh5.js.map → PkToolShowQrCode-BLqeBecX.js.map} +1 -1
- package/dist/_chunks/{PkToolShowSources-B69JmwbZ.js → PkToolShowSources-DpZb5FUP.js} +5 -5
- package/dist/_chunks/PkToolShowSources-DpZb5FUP.js.map +1 -0
- package/dist/_chunks/{PkToolShowSuggestedReply-CKxSH0Y9.js → PkToolShowSuggestedReply-C10nNgBs.js} +3 -3
- package/dist/_chunks/{PkToolShowSuggestedReply-CKxSH0Y9.js.map → PkToolShowSuggestedReply-C10nNgBs.js.map} +1 -1
- package/dist/_chunks/{PkToolShowVideo-BgKxdBcC.js → PkToolShowVideo-S9b4QHUj.js} +2 -2
- package/dist/_chunks/{PkToolShowVideo-BgKxdBcC.js.map → PkToolShowVideo-S9b4QHUj.js.map} +1 -1
- package/dist/_chunks/{PkToolShowWeather-LPd3tC77.js → PkToolShowWeather-CqhG430w.js} +2 -2
- package/dist/_chunks/PkToolShowWeather-CqhG430w.js.map +1 -0
- package/dist/_chunks/{PkToolShowWebPages-ep_erFF0.js → PkToolShowWebPages-txAZi_iG.js} +3 -3
- package/dist/_chunks/{PkToolShowWebPages-ep_erFF0.js.map → PkToolShowWebPages-txAZi_iG.js.map} +1 -1
- package/dist/_chunks/PkUrl-BPbjZJ1A.js.map +1 -1
- package/dist/_chunks/{VvCheckboxGroup.es-Bdu2gFLN.js → VvCheckboxGroup.es-CTrF3pue.js} +2 -2
- package/dist/_chunks/{VvCheckboxGroup.es-Bdu2gFLN.js.map → VvCheckboxGroup.es-CTrF3pue.js.map} +1 -1
- package/dist/_chunks/{VvCombobox.es-C0wpJIr_.js → VvCombobox.es-BWiXmQ_S.js} +10 -10
- package/dist/_chunks/{VvCombobox.es-C0wpJIr_.js.map → VvCombobox.es-BWiXmQ_S.js.map} +1 -1
- package/dist/_chunks/{VvInputText.es-Zgtw2YNw.js → VvInputText.es-Bo9I6g8H.js} +6 -6
- package/dist/_chunks/{VvInputText.es-Zgtw2YNw.js.map → VvInputText.es-Bo9I6g8H.js.map} +1 -1
- package/dist/_chunks/{VvRadioGroup.es-DZLL19SC.js → VvRadioGroup.es-9ooHCuik.js} +2 -2
- package/dist/_chunks/{VvRadioGroup.es-DZLL19SC.js.map → VvRadioGroup.es-9ooHCuik.js.map} +1 -1
- package/dist/_chunks/{VvSelect.es-ovnZRHG5.js → VvSelect.es-DG0VuWtP.js} +2 -2
- package/dist/_chunks/{VvSelect.es-ovnZRHG5.js.map → VvSelect.es-DG0VuWtP.js.map} +1 -1
- package/dist/_chunks/{VvTextarea.es-DbP5Lt2T.js → VvTextarea.es-Dg3pxdZy.js} +6 -6
- package/dist/_chunks/{VvTextarea.es-DbP5Lt2T.js.map → VvTextarea.es-Dg3pxdZy.js.map} +1 -1
- package/dist/_chunks/{browser-NgY6LXg-.js → browser-B0Xnbqi7.js} +726 -751
- package/dist/_chunks/browser-B0Xnbqi7.js.map +1 -0
- package/dist/_chunks/{dist-n5iFNYf-.js → dist-QdjZA6MJ.js} +143 -133
- package/dist/_chunks/{dist-n5iFNYf-.js.map → dist-QdjZA6MJ.js.map} +1 -1
- package/dist/_chunks/{index.es-dtdl3VFG.js → index.es-0YpCa4c5.js} +6 -6
- package/dist/_chunks/{index.es-dtdl3VFG.js.map → index.es-0YpCa4c5.js.map} +1 -1
- package/dist/_chunks/{index.es-BJnUA_36.js → index.es-CHkJ2TMJ.js} +10 -10
- package/dist/_chunks/{index.es-BJnUA_36.js.map → index.es-CHkJ2TMJ.js.map} +1 -1
- package/dist/_chunks/text-DbSEK8si.js.map +1 -1
- package/dist/ai-elements.es.js +3077 -3134
- package/dist/ai-elements.es.js.map +1 -1
- package/dist-vue/PkChatbot.js +1 -1
- package/dist-vue/PkChatbotEmptyState.js +1 -1
- package/dist-vue/PkChatbotError.js +1 -1
- package/dist-vue/PkChatbotFeedbackForm.js +1 -1
- package/dist-vue/PkChatbotFilePreview.js +1 -1
- package/dist-vue/PkChatbotInput.js +1 -1
- package/dist-vue/PkChatbotMessages.js +1 -1
- package/dist-vue/PkChatbotStepPayload.js +1 -1
- package/dist-vue/PkChatbotStepToolDetail.js +1 -1
- package/dist-vue/PkChatbotSteps.js +1 -1
- package/dist-vue/PkChatbotViewChat.js +1 -1
- package/dist-vue/PkChatbotViewConversations.js +1 -1
- package/dist-vue/PkChatbotViewFiles.js +1 -1
- package/dist-vue/PkChatbotViewProfile.js +1 -1
- package/dist-vue/_chunks/{Agent-C8BsTAxk.js → Agent-De2gFNjR.js} +165 -176
- package/dist-vue/_chunks/Agent-De2gFNjR.js.map +1 -0
- package/dist-vue/_chunks/{Document-CaUfI_SZ.js → Document-8umjeTVS.js} +84 -72
- package/dist-vue/_chunks/Document-8umjeTVS.js.map +1 -0
- package/dist-vue/_chunks/Media-_HfFLHGD.js.map +1 -1
- package/dist-vue/_chunks/{PkChatbot-o7k7d-fj.js → PkChatbot-CMajc7tE.js} +61 -61
- package/dist-vue/_chunks/PkChatbot-CMajc7tE.js.map +1 -0
- package/dist-vue/_chunks/{PkChatbotEmptyState-BvaeBxhx.js → PkChatbotEmptyState-BtzBYOHJ.js} +2 -2
- package/dist-vue/_chunks/{PkChatbotEmptyState-BvaeBxhx.js.map → PkChatbotEmptyState-BtzBYOHJ.js.map} +1 -1
- package/dist-vue/_chunks/{PkChatbotError-CBP2mf-n.js → PkChatbotError-gvDpRcEz.js} +21 -19
- package/dist-vue/_chunks/PkChatbotError-gvDpRcEz.js.map +1 -0
- package/dist-vue/_chunks/{PkChatbotFeedbackForm-DO1QIgmo.js → PkChatbotFeedbackForm-CxLOdwkm.js} +2 -2
- package/dist-vue/_chunks/PkChatbotFeedbackForm-CxLOdwkm.js.map +1 -0
- package/dist-vue/_chunks/{PkChatbotFilePreview-DO1wZPPj.js → PkChatbotFilePreview-CwiVQDF2.js} +3 -3
- package/dist-vue/_chunks/PkChatbotFilePreview-CwiVQDF2.js.map +1 -0
- package/dist-vue/_chunks/{PkChatbotInput-D8x52cVm.js → PkChatbotInput-MSpF6SB6.js} +140 -125
- package/dist-vue/_chunks/PkChatbotInput-MSpF6SB6.js.map +1 -0
- package/dist-vue/_chunks/PkChatbotMessages-Bz5q8EtT.js +776 -0
- package/dist-vue/_chunks/PkChatbotMessages-Bz5q8EtT.js.map +1 -0
- package/dist-vue/_chunks/{PkChatbotStepPayload-BH6piqOi.js → PkChatbotStepPayload-XW4gT9AZ.js} +2 -2
- package/dist-vue/_chunks/{PkChatbotStepPayload-BH6piqOi.js.map → PkChatbotStepPayload-XW4gT9AZ.js.map} +1 -1
- package/dist-vue/_chunks/{PkChatbotStepToolDetail-BJ7xUvgi.js → PkChatbotStepToolDetail-C4-K6Glw.js} +3 -3
- package/dist-vue/_chunks/{PkChatbotStepToolDetail-BJ7xUvgi.js.map → PkChatbotStepToolDetail-C4-K6Glw.js.map} +1 -1
- package/dist-vue/_chunks/PkChatbotSteps-CrqjWpv0.js +190 -0
- package/dist-vue/_chunks/PkChatbotSteps-CrqjWpv0.js.map +1 -0
- package/dist-vue/_chunks/{PkChatbotViewChat-CNH_glPI.js → PkChatbotViewChat-DXu5ncaU.js} +10 -10
- package/dist-vue/_chunks/{PkChatbotViewChat-CNH_glPI.js.map → PkChatbotViewChat-DXu5ncaU.js.map} +1 -1
- package/dist-vue/_chunks/{PkChatbotViewConversations-BENvHLZt.js → PkChatbotViewConversations-3LaZPFyw.js} +2 -2
- package/dist-vue/_chunks/{PkChatbotViewConversations-BENvHLZt.js.map → PkChatbotViewConversations-3LaZPFyw.js.map} +1 -1
- package/dist-vue/_chunks/{PkChatbotViewFiles-qmLESi1V.js → PkChatbotViewFiles-CTqnbsCj.js} +3 -3
- package/dist-vue/_chunks/{PkChatbotViewFiles-qmLESi1V.js.map → PkChatbotViewFiles-CTqnbsCj.js.map} +1 -1
- package/dist-vue/_chunks/{PkChatbotViewProfile-DzfZnitQ.js → PkChatbotViewProfile-B-Mp1jGQ.js} +2 -2
- package/dist-vue/_chunks/{PkChatbotViewProfile-DzfZnitQ.js.map → PkChatbotViewProfile-B-Mp1jGQ.js.map} +1 -1
- package/dist-vue/_chunks/PkRelativeTime--1cIphlA.js.map +1 -1
- package/dist-vue/_chunks/{PkStreamingMarkdown-D8_LwZMR.js → PkStreamingMarkdown-D0IOaETI.js} +432 -419
- package/dist-vue/_chunks/PkStreamingMarkdown-D0IOaETI.js.map +1 -0
- package/dist-vue/_chunks/{PkSvgViewer-DPpE9fiz.js → PkSvgViewer-D-0M5bqg.js} +2 -2
- package/dist-vue/_chunks/PkSvgViewer-D-0M5bqg.js.map +1 -0
- package/dist-vue/_chunks/{PkToolRequestGeolocation-D1ZPmWiB.js → PkToolRequestGeolocation-Q3N3jlO8.js} +3 -3
- package/dist-vue/_chunks/PkToolRequestGeolocation-Q3N3jlO8.js.map +1 -0
- package/dist-vue/_chunks/{PkToolRequestOAuthConnection-CoJyKEE6.js → PkToolRequestOAuthConnection-lYoTJIF_.js} +4 -4
- package/dist-vue/_chunks/PkToolRequestOAuthConnection-lYoTJIF_.js.map +1 -0
- package/dist-vue/_chunks/{PkToolShowArtifact-CEXdfOGG.js → PkToolShowArtifact-DHdJuzDi.js} +2 -2
- package/dist-vue/_chunks/{PkToolShowArtifact-CEXdfOGG.js.map → PkToolShowArtifact-DHdJuzDi.js.map} +1 -1
- package/dist-vue/_chunks/{PkToolShowComparison-DMSjIpCR.js → PkToolShowComparison-BLn4pkno.js} +5 -5
- package/dist-vue/_chunks/PkToolShowComparison-BLn4pkno.js.map +1 -0
- package/dist-vue/_chunks/{PkToolShowContactForm-DHmzAIVF.js → PkToolShowContactForm-DceSyuX8.js} +3 -3
- package/dist-vue/_chunks/PkToolShowContactForm-DceSyuX8.js.map +1 -0
- package/dist-vue/_chunks/{PkToolShowDiagram-DuDp5EHd.js → PkToolShowDiagram-pwc0wpNo.js} +4 -4
- package/dist-vue/_chunks/PkToolShowDiagram-pwc0wpNo.js.map +1 -0
- package/dist-vue/_chunks/{PkToolShowEmail-CavhsPvi.js → PkToolShowEmail-DF__nKpR.js} +2 -2
- package/dist-vue/_chunks/{PkToolShowEmail-CavhsPvi.js.map → PkToolShowEmail-DF__nKpR.js.map} +1 -1
- package/dist-vue/_chunks/{PkToolShowForm-CO5A_j9L.js → PkToolShowForm-Dx10jOXm.js} +7 -7
- package/dist-vue/_chunks/PkToolShowForm-Dx10jOXm.js.map +1 -0
- package/dist-vue/_chunks/{PkToolShowImageGallery-V9U3LJfF.js → PkToolShowImageGallery-DudQzBx4.js} +2 -2
- package/dist-vue/_chunks/{PkToolShowImageGallery-V9U3LJfF.js.map → PkToolShowImageGallery-DudQzBx4.js.map} +1 -1
- package/dist-vue/_chunks/{PkToolShowMessage-DQojxDiV.js → PkToolShowMessage-Ck6VP-gw.js} +2 -2
- package/dist-vue/_chunks/{PkToolShowMessage-DQojxDiV.js.map → PkToolShowMessage-Ck6VP-gw.js.map} +1 -1
- package/dist-vue/_chunks/{PkToolShowProductList-Cn0yewM3.js → PkToolShowProductList-zfM8cx-l.js} +2 -2
- package/dist-vue/_chunks/{PkToolShowProductList-Cn0yewM3.js.map → PkToolShowProductList-zfM8cx-l.js.map} +1 -1
- package/dist-vue/_chunks/{PkToolShowSources-BvWOzVkQ.js → PkToolShowSources-Dlaz2Y77.js} +5 -5
- package/dist-vue/_chunks/PkToolShowSources-Dlaz2Y77.js.map +1 -0
- package/dist-vue/_chunks/{PkToolShowSuggestedReply-DQFOVonE.js → PkToolShowSuggestedReply-DWLkUh2L.js} +2 -2
- package/dist-vue/_chunks/{PkToolShowSuggestedReply-DQFOVonE.js.map → PkToolShowSuggestedReply-DWLkUh2L.js.map} +1 -1
- package/dist-vue/_chunks/PkToolShowWeather-Bzqalzh8.js.map +1 -1
- package/dist-vue/_chunks/{PkToolShowWebPages-Bzkkn9GV.js → PkToolShowWebPages-CosBYLrE.js} +2 -2
- package/dist-vue/_chunks/{PkToolShowWebPages-Bzkkn9GV.js.map → PkToolShowWebPages-CosBYLrE.js.map} +1 -1
- package/dist-vue/_chunks/{PkUrl-xUBKVJCv.js → PkUrl-B5CNTQj9.js} +2 -2
- package/dist-vue/_chunks/PkUrl-B5CNTQj9.js.map +1 -0
- package/dist-vue/_chunks/{createChatbotApiClient-CJ_5_3IT.js → createChatbotApiClient-MkaPbGWB.js} +6 -3
- package/dist-vue/_chunks/createChatbotApiClient-MkaPbGWB.js.map +1 -0
- package/dist-vue/_chunks/{useChatbotStore-CiRAuq7v.js → useChatbotStore-BzfqjiYz.js} +6 -3
- package/dist-vue/_chunks/useChatbotStore-BzfqjiYz.js.map +1 -0
- package/dist-vue/_chunks/useDialogConfirm-KWz0ohCQ.js.map +1 -1
- package/dist-vue/_chunks/{utils-Coqik0XI.js → utils-C1666_6C.js} +58 -43
- package/dist-vue/_chunks/utils-C1666_6C.js.map +1 -0
- package/dist-vue/api.js +1 -1
- package/dist-vue/composables.js +3 -3
- package/dist-vue/index.js +3867 -3488
- package/dist-vue/index.js.map +1 -1
- package/dist-vue/locales.js +36 -8
- package/dist-vue/packages/components/src/chat/PkAgentSettingsPanel.d.ts +20 -3
- package/dist-vue/packages/components/src/chat/PkChatButton.d.ts +3 -2
- package/dist-vue/packages/components/src/chat/PkLanguageModel.d.ts +26 -2
- package/dist-vue/packages/components/src/chat/PkLanguageModelCombobox.d.ts +53 -1
- package/dist-vue/packages/components/src/chat/PkModelOption.d.ts +19 -0
- package/dist-vue/packages/components/src/chat/PkReasoningSettings.d.ts +6 -0
- package/dist-vue/packages/components/src/chat/PkStreamingMarkdown.d.ts +6 -0
- package/dist-vue/packages/components/src/chat/PkStreamingMarkdownAutoscroll.d.ts +1 -0
- package/dist-vue/packages/components/src/chat/constants.d.ts +5 -18
- package/dist-vue/packages/components/src/chat/index.d.ts +3 -1
- package/dist-vue/packages/components/src/chat/modelCatalog.d.ts +46 -0
- package/dist-vue/packages/components/src/chat/utils.d.ts +16 -0
- package/dist-vue/packages/components/src/table/PkTableSortable.d.ts +13 -1
- package/dist-vue/packages/composable/src/chatbot/useChatbotStore.d.ts +18 -0
- package/dist-vue/packages/composable/src/useChatbotError.d.ts +2 -0
- package/dist-vue/packages/models/src/schema/Agent.d.ts +70 -10
- package/dist-vue/packages/models/src/schema/Chat.d.ts +31 -0
- package/dist-vue/packages/models/src/schema/ModelProvider.d.ts +316 -0
- package/dist-vue/packages/models/src/schema/Organization.d.ts +142 -2
- package/dist-vue/packages/models/src/schema/ReasoningChat.d.ts +20 -0
- package/dist-vue/packages/models/src/schema/SubAgent.d.ts +20 -0
- package/dist-vue/packages/models/src/schema/UserOverview.d.ts +41 -0
- package/dist-vue/packages/models/src/schema/constants.d.ts +56 -91
- package/dist-vue/packages/models/src/schema/index.d.ts +1 -0
- package/dist-vue/style.css +1 -1
- package/package.json +1 -1
- package/dist/_chunks/Agent-Su_LDF9_.js.map +0 -1
- package/dist/_chunks/Document-DecVclEe.js.map +0 -1
- package/dist/_chunks/Media-C6SOQfJZ.js +0 -122
- package/dist/_chunks/Media-C6SOQfJZ.js.map +0 -1
- package/dist/_chunks/PkStreamingMarkdown-CwqsJnJJ.js.map +0 -1
- package/dist/_chunks/PkToolRequestGeolocation-CEVpl50q.js.map +0 -1
- package/dist/_chunks/PkToolRequestOAuthConnection-CncDU-Kl.js.map +0 -1
- package/dist/_chunks/PkToolShowComparison-DbbUD9pg.js.map +0 -1
- package/dist/_chunks/PkToolShowContactForm-D_dW59Dl.js.map +0 -1
- package/dist/_chunks/PkToolShowDiagram-Hy9qh68O.js.map +0 -1
- package/dist/_chunks/PkToolShowForm-DbJHMDbt.js.map +0 -1
- package/dist/_chunks/PkToolShowSources-B69JmwbZ.js.map +0 -1
- package/dist/_chunks/PkToolShowWeather-LPd3tC77.js.map +0 -1
- package/dist/_chunks/browser-NgY6LXg-.js.map +0 -1
- package/dist/_chunks/utils-YJ0ZOLDG.js +0 -185
- package/dist/_chunks/utils-YJ0ZOLDG.js.map +0 -1
- package/dist-vue/_chunks/Agent-C8BsTAxk.js.map +0 -1
- package/dist-vue/_chunks/Document-CaUfI_SZ.js.map +0 -1
- package/dist-vue/_chunks/PkChatbot-o7k7d-fj.js.map +0 -1
- package/dist-vue/_chunks/PkChatbotError-CBP2mf-n.js.map +0 -1
- package/dist-vue/_chunks/PkChatbotFeedbackForm-DO1QIgmo.js.map +0 -1
- package/dist-vue/_chunks/PkChatbotFilePreview-DO1wZPPj.js.map +0 -1
- package/dist-vue/_chunks/PkChatbotInput-D8x52cVm.js.map +0 -1
- package/dist-vue/_chunks/PkChatbotMessages-BFlU046I.js +0 -771
- package/dist-vue/_chunks/PkChatbotMessages-BFlU046I.js.map +0 -1
- package/dist-vue/_chunks/PkChatbotSteps-DtV1beDc.js +0 -180
- package/dist-vue/_chunks/PkChatbotSteps-DtV1beDc.js.map +0 -1
- package/dist-vue/_chunks/PkStreamingMarkdown-D8_LwZMR.js.map +0 -1
- package/dist-vue/_chunks/PkSvgViewer-DPpE9fiz.js.map +0 -1
- package/dist-vue/_chunks/PkToolRequestGeolocation-D1ZPmWiB.js.map +0 -1
- package/dist-vue/_chunks/PkToolRequestOAuthConnection-CoJyKEE6.js.map +0 -1
- package/dist-vue/_chunks/PkToolShowComparison-DMSjIpCR.js.map +0 -1
- package/dist-vue/_chunks/PkToolShowContactForm-DHmzAIVF.js.map +0 -1
- package/dist-vue/_chunks/PkToolShowDiagram-DuDp5EHd.js.map +0 -1
- package/dist-vue/_chunks/PkToolShowForm-CO5A_j9L.js.map +0 -1
- package/dist-vue/_chunks/PkToolShowSources-BvWOzVkQ.js.map +0 -1
- package/dist-vue/_chunks/PkUrl-xUBKVJCv.js.map +0 -1
- package/dist-vue/_chunks/createChatbotApiClient-CJ_5_3IT.js.map +0 -1
- package/dist-vue/_chunks/useChatbotStore-CiRAuq7v.js.map +0 -1
- package/dist-vue/_chunks/utils-Coqik0XI.js.map +0 -1
|
@@ -28,8 +28,10 @@ export declare enum AgentSearchMode {
|
|
|
28
28
|
* - Google (Gemini 3/3.1): `thinkingLevel`; Gemini 2.5: `thinkingBudget`
|
|
29
29
|
* - DeepSeek: on/off thinking toggle
|
|
30
30
|
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
31
|
+
* Alibaba, Meta, Moonshot AI, xAI, Xiaomi and z.ai are one effort level and
|
|
32
|
+
* share {@link GenericReasoningSchema}. Mistral has no configuration at all:
|
|
33
|
+
* of its catalog models only Medium 3.5 reasons, on a `none`/`high` scale, so
|
|
34
|
+
* it runs on the provider's own default.
|
|
33
35
|
*
|
|
34
36
|
* Only the matching provider's config is used at runtime (based on model prefix).
|
|
35
37
|
* Admins can pre-configure multiple providers for easy model switching.
|
|
@@ -110,9 +112,11 @@ export type DeepSeekReasoning = z.infer<typeof DeepSeekReasoningSchema>;
|
|
|
110
112
|
* Verified against the gateway on 2026-08-25: every catalog model of these
|
|
111
113
|
* families advertises the `reasoning` parameter, a family that only offers
|
|
112
114
|
* `high`/`xhigh` clamps a lower level instead of rejecting the request, and
|
|
113
|
-
* `none` does bring reasoning tokens to zero.
|
|
115
|
+
* `none` does bring reasoning tokens to zero. Xiaomi joined on 2026-09-22 on
|
|
116
|
+
* the listing alone: its models advertise `reasoning` and an effort scale that
|
|
117
|
+
* includes `low`, but the clamp and `none` behaviour were not measured on it.
|
|
114
118
|
*/
|
|
115
|
-
export declare const GENERIC_REASONING_PROVIDERS: readonly ["alibaba", "meta", "moonshotai", "spacexai", "zai"];
|
|
119
|
+
export declare const GENERIC_REASONING_PROVIDERS: readonly ["alibaba", "meta", "moonshotai", "spacexai", "xiaomi", "zai"];
|
|
116
120
|
export type GenericReasoningProvider = (typeof GENERIC_REASONING_PROVIDERS)[number];
|
|
117
121
|
export declare function isGenericReasoningProvider(provider: string): provider is GenericReasoningProvider;
|
|
118
122
|
/**
|
|
@@ -223,6 +227,16 @@ export declare const AgentReasoningSchema: z.ZodOptional<z.ZodCodec<z.ZodUnknown
|
|
|
223
227
|
minimal: "minimal";
|
|
224
228
|
}>>;
|
|
225
229
|
}, z.core.$strip>>;
|
|
230
|
+
xiaomi: z.ZodOptional<z.ZodObject<{
|
|
231
|
+
reasoningEffort: z.ZodOptional<z.ZodEnum<{
|
|
232
|
+
none: "none";
|
|
233
|
+
low: "low";
|
|
234
|
+
medium: "medium";
|
|
235
|
+
high: "high";
|
|
236
|
+
xhigh: "xhigh";
|
|
237
|
+
minimal: "minimal";
|
|
238
|
+
}>>;
|
|
239
|
+
}, z.core.$strip>>;
|
|
226
240
|
zai: z.ZodOptional<z.ZodObject<{
|
|
227
241
|
reasoningEffort: z.ZodOptional<z.ZodEnum<{
|
|
228
242
|
none: "none";
|
|
@@ -507,11 +521,10 @@ export declare const VOICE_RENDER_ACK_PREFIX = "Voice turn note";
|
|
|
507
521
|
*
|
|
508
522
|
* That note is the secondary lever, not the main one: in the turn shape the
|
|
509
523
|
* voice prompt asks for (spoken sentence and presentation call in the SAME
|
|
510
|
-
* reply)
|
|
511
|
-
*
|
|
512
|
-
*
|
|
513
|
-
*
|
|
514
|
-
* call the tool a step later.
|
|
524
|
+
* reply) the model never reads it, because the turn ends on that very step.
|
|
525
|
+
* The spoken mention is therefore asked for in `<voice_turn>` as well, where
|
|
526
|
+
* it costs no round trip; this note covers only the turns that go on after the
|
|
527
|
+
* tool.
|
|
515
528
|
*/
|
|
516
529
|
export declare const voiceRenderAck: (toolName: string) => string;
|
|
517
530
|
/** True when a tool output is our own "it was drawn" note and not a result. */
|
|
@@ -884,6 +897,16 @@ export declare const AgentModelSchema: z.ZodObject<{
|
|
|
884
897
|
minimal: "minimal";
|
|
885
898
|
}>>;
|
|
886
899
|
}, z.core.$strip>>;
|
|
900
|
+
xiaomi: z.ZodOptional<z.ZodObject<{
|
|
901
|
+
reasoningEffort: z.ZodOptional<z.ZodEnum<{
|
|
902
|
+
none: "none";
|
|
903
|
+
low: "low";
|
|
904
|
+
medium: "medium";
|
|
905
|
+
high: "high";
|
|
906
|
+
xhigh: "xhigh";
|
|
907
|
+
minimal: "minimal";
|
|
908
|
+
}>>;
|
|
909
|
+
}, z.core.$strip>>;
|
|
887
910
|
zai: z.ZodOptional<z.ZodObject<{
|
|
888
911
|
reasoningEffort: z.ZodOptional<z.ZodEnum<{
|
|
889
912
|
none: "none";
|
|
@@ -1088,6 +1111,13 @@ export type AgentOpenAiApi = z.infer<typeof AgentOpenAiApiSchema>;
|
|
|
1088
1111
|
export declare const VOICE_MIN_CASCADE_TIMEOUT_SECONDS = 5;
|
|
1089
1112
|
/** And the longest they accept: their own ceiling, measured 2026-08-06. */
|
|
1090
1113
|
export declare const VOICE_MAX_CASCADE_TIMEOUT_SECONDS = 15;
|
|
1114
|
+
/**
|
|
1115
|
+
* Name prefix of the API key the voice channel mints for the provider's
|
|
1116
|
+
* callbacks, in the name of the agent's creator. It is how a key list tells
|
|
1117
|
+
* that key apart: revoking it silences the agent's voice until the voice is
|
|
1118
|
+
* turned off and on again, which mints a new one.
|
|
1119
|
+
*/
|
|
1120
|
+
export declare const VOICE_API_KEY_NAME_PREFIX = "[voice] ";
|
|
1091
1121
|
/**
|
|
1092
1122
|
* Voice conversation through ElevenLabs Agents, which provides the voice layer
|
|
1093
1123
|
* (ASR, turn taking, barge-in, TTS) and calls back into our own turn as a
|
|
@@ -1296,6 +1326,16 @@ export declare const AgentSettingsSchema: z.ZodObject<{
|
|
|
1296
1326
|
minimal: "minimal";
|
|
1297
1327
|
}>>;
|
|
1298
1328
|
}, z.core.$strip>>;
|
|
1329
|
+
xiaomi: z.ZodOptional<z.ZodObject<{
|
|
1330
|
+
reasoningEffort: z.ZodOptional<z.ZodEnum<{
|
|
1331
|
+
none: "none";
|
|
1332
|
+
low: "low";
|
|
1333
|
+
medium: "medium";
|
|
1334
|
+
high: "high";
|
|
1335
|
+
xhigh: "xhigh";
|
|
1336
|
+
minimal: "minimal";
|
|
1337
|
+
}>>;
|
|
1338
|
+
}, z.core.$strip>>;
|
|
1299
1339
|
zai: z.ZodOptional<z.ZodObject<{
|
|
1300
1340
|
reasoningEffort: z.ZodOptional<z.ZodEnum<{
|
|
1301
1341
|
none: "none";
|
|
@@ -1573,7 +1613,7 @@ export declare const AgentDtoSchema: z.ZodObject<{
|
|
|
1573
1613
|
id: z.ZodOptional<z.ZodString>;
|
|
1574
1614
|
name: z.ZodString;
|
|
1575
1615
|
prompt: z.ZodOptional<z.ZodString>;
|
|
1576
|
-
model: z.
|
|
1616
|
+
model: z.ZodOptional<z.ZodString>;
|
|
1577
1617
|
fallbackModels: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
1578
1618
|
status: z.ZodDefault<z.ZodEnum<typeof AgentStatus>>;
|
|
1579
1619
|
visibility: z.ZodDefault<z.ZodEnum<typeof AgentVisibility>>;
|
|
@@ -1678,6 +1718,16 @@ export declare const AgentDtoSchema: z.ZodObject<{
|
|
|
1678
1718
|
minimal: "minimal";
|
|
1679
1719
|
}>>;
|
|
1680
1720
|
}, z.core.$strip>>;
|
|
1721
|
+
xiaomi: z.ZodOptional<z.ZodObject<{
|
|
1722
|
+
reasoningEffort: z.ZodOptional<z.ZodEnum<{
|
|
1723
|
+
none: "none";
|
|
1724
|
+
low: "low";
|
|
1725
|
+
medium: "medium";
|
|
1726
|
+
high: "high";
|
|
1727
|
+
xhigh: "xhigh";
|
|
1728
|
+
minimal: "minimal";
|
|
1729
|
+
}>>;
|
|
1730
|
+
}, z.core.$strip>>;
|
|
1681
1731
|
zai: z.ZodOptional<z.ZodObject<{
|
|
1682
1732
|
reasoningEffort: z.ZodOptional<z.ZodEnum<{
|
|
1683
1733
|
none: "none";
|
|
@@ -2061,6 +2111,16 @@ export declare const AgentSchema: z.ZodLazy<z.ZodObject<{
|
|
|
2061
2111
|
minimal: "minimal";
|
|
2062
2112
|
}>>;
|
|
2063
2113
|
}, z.core.$strip>>;
|
|
2114
|
+
xiaomi: z.ZodOptional<z.ZodObject<{
|
|
2115
|
+
reasoningEffort: z.ZodOptional<z.ZodEnum<{
|
|
2116
|
+
none: "none";
|
|
2117
|
+
low: "low";
|
|
2118
|
+
medium: "medium";
|
|
2119
|
+
high: "high";
|
|
2120
|
+
xhigh: "xhigh";
|
|
2121
|
+
minimal: "minimal";
|
|
2122
|
+
}>>;
|
|
2123
|
+
}, z.core.$strip>>;
|
|
2064
2124
|
zai: z.ZodOptional<z.ZodObject<{
|
|
2065
2125
|
reasoningEffort: z.ZodOptional<z.ZodEnum<{
|
|
2066
2126
|
none: "none";
|
|
@@ -140,6 +140,16 @@ export declare const ChatRequestSchema: z.ZodObject<{
|
|
|
140
140
|
minimal: "minimal";
|
|
141
141
|
}>>;
|
|
142
142
|
}, z.core.$strip>>;
|
|
143
|
+
xiaomi: z.ZodOptional<z.ZodObject<{
|
|
144
|
+
reasoningEffort: z.ZodOptional<z.ZodEnum<{
|
|
145
|
+
none: "none";
|
|
146
|
+
low: "low";
|
|
147
|
+
medium: "medium";
|
|
148
|
+
high: "high";
|
|
149
|
+
xhigh: "xhigh";
|
|
150
|
+
minimal: "minimal";
|
|
151
|
+
}>>;
|
|
152
|
+
}, z.core.$strip>>;
|
|
143
153
|
zai: z.ZodOptional<z.ZodObject<{
|
|
144
154
|
reasoningEffort: z.ZodOptional<z.ZodEnum<{
|
|
145
155
|
none: "none";
|
|
@@ -247,6 +257,27 @@ export declare const ChatRequestSchema: z.ZodObject<{
|
|
|
247
257
|
smoothStream: z.ZodOptional<z.ZodBoolean>;
|
|
248
258
|
}, z.core.$strip>;
|
|
249
259
|
export type ChatRequest = z.infer<typeof ChatRequestSchema>;
|
|
260
|
+
/**
|
|
261
|
+
* What the chat route validates on the way in.
|
|
262
|
+
*
|
|
263
|
+
* Deliberately not `ChatRequestSchema`: a turn resumed after a client tool or
|
|
264
|
+
* a tool approval posts the assistant message back, whose parts are tool
|
|
265
|
+
* calls, and the part union above accepts text and files only. Pinning the
|
|
266
|
+
* body to it would answer 400 to a legitimate resume. So this validates the
|
|
267
|
+
* envelope the turn cannot run without and lets the rest through untouched
|
|
268
|
+
* (`loose`), which is also why the overrides the client sends still reach the
|
|
269
|
+
* service.
|
|
270
|
+
*
|
|
271
|
+
* The id is minted by the client and read back as a row key: without it the
|
|
272
|
+
* lookup ran with `undefined` and the route answered 500 instead of 400
|
|
273
|
+
* (found 2026-09-21).
|
|
274
|
+
*/
|
|
275
|
+
export declare const ChatRequestEnvelopeSchema: z.ZodObject<{
|
|
276
|
+
id: z.ZodString;
|
|
277
|
+
messages: z.ZodArray<z.ZodObject<{
|
|
278
|
+
role: z.ZodString;
|
|
279
|
+
}, z.core.$loose>>;
|
|
280
|
+
}, z.core.$loose>;
|
|
250
281
|
export declare enum BlockedReasonCode {
|
|
251
282
|
SevereAbuse = "severe_abuse",
|
|
252
283
|
HighRiskScore = "high_risk_score",
|
|
@@ -0,0 +1,316 @@
|
|
|
1
|
+
import * as z from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* Where the price of a model came from.
|
|
4
|
+
*
|
|
5
|
+
* `listing` is the public gateway price list matched by id or by name,
|
|
6
|
+
* `reference` is another catalog model the administrator said this one costs
|
|
7
|
+
* like, `manual` is a price typed by hand. A model can only be activated with
|
|
8
|
+
* one of the three: a model with no price would be charged as free, and the
|
|
9
|
+
* columns that carry the cost of a turn have no way to say "unknown".
|
|
10
|
+
*/
|
|
11
|
+
export declare enum ModelPriceSource {
|
|
12
|
+
Listing = "listing",
|
|
13
|
+
Reference = "reference",
|
|
14
|
+
Manual = "manual"
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Per-token prices, the same unit the gateway listing publishes, so copying
|
|
18
|
+
* them is literal. The interface multiplies by a million to show them.
|
|
19
|
+
*/
|
|
20
|
+
export declare const ModelPricingSchema: z.ZodObject<{
|
|
21
|
+
inputUsdPerToken: z.ZodNumber;
|
|
22
|
+
outputUsdPerToken: z.ZodNumber;
|
|
23
|
+
cachedInputUsdPerToken: z.ZodOptional<z.ZodNumber>;
|
|
24
|
+
cacheWriteUsdPerToken: z.ZodOptional<z.ZodNumber>;
|
|
25
|
+
}, z.core.$strip>;
|
|
26
|
+
export type ModelPricing = z.infer<typeof ModelPricingSchema>;
|
|
27
|
+
export declare const ModelPriceSchema: z.ZodObject<{
|
|
28
|
+
source: z.ZodEnum<typeof ModelPriceSource>;
|
|
29
|
+
reference: z.ZodOptional<z.ZodString>;
|
|
30
|
+
pricing: z.ZodObject<{
|
|
31
|
+
inputUsdPerToken: z.ZodNumber;
|
|
32
|
+
outputUsdPerToken: z.ZodNumber;
|
|
33
|
+
cachedInputUsdPerToken: z.ZodOptional<z.ZodNumber>;
|
|
34
|
+
cacheWriteUsdPerToken: z.ZodOptional<z.ZodNumber>;
|
|
35
|
+
}, z.core.$strip>;
|
|
36
|
+
resolvedAt: z.ZodString;
|
|
37
|
+
}, z.core.$strip>;
|
|
38
|
+
export type ModelPrice = z.infer<typeof ModelPriceSchema>;
|
|
39
|
+
export declare const ModelProviderModelSchema: z.ZodObject<{
|
|
40
|
+
id: z.ZodString;
|
|
41
|
+
label: z.ZodOptional<z.ZodString>;
|
|
42
|
+
enabled: z.ZodBoolean;
|
|
43
|
+
price: z.ZodObject<{
|
|
44
|
+
source: z.ZodEnum<typeof ModelPriceSource>;
|
|
45
|
+
reference: z.ZodOptional<z.ZodString>;
|
|
46
|
+
pricing: z.ZodObject<{
|
|
47
|
+
inputUsdPerToken: z.ZodNumber;
|
|
48
|
+
outputUsdPerToken: z.ZodNumber;
|
|
49
|
+
cachedInputUsdPerToken: z.ZodOptional<z.ZodNumber>;
|
|
50
|
+
cacheWriteUsdPerToken: z.ZodOptional<z.ZodNumber>;
|
|
51
|
+
}, z.core.$strip>;
|
|
52
|
+
resolvedAt: z.ZodString;
|
|
53
|
+
}, z.core.$strip>;
|
|
54
|
+
}, z.core.$strip>;
|
|
55
|
+
export type ModelProviderModel = z.infer<typeof ModelProviderModelSchema>;
|
|
56
|
+
/**
|
|
57
|
+
* The two embedding families an organization may run on its own endpoint.
|
|
58
|
+
*
|
|
59
|
+
* Closed on purpose, and closed in code rather than in the form: both are
|
|
60
|
+
* natively 3072 dimensions, which is the width of the Qdrant collections and
|
|
61
|
+
* cannot be changed after creation, and each one carries its own calibrated
|
|
62
|
+
* relevance floors. Adding a family is a code change that brings its
|
|
63
|
+
* measurements with it.
|
|
64
|
+
*/
|
|
65
|
+
export declare const BYOK_EMBEDDING_FAMILIES: readonly ["google/gemini-embedding-2", "openai/text-embedding-3-large"];
|
|
66
|
+
export type ByokEmbeddingFamily = (typeof BYOK_EMBEDDING_FAMILIES)[number];
|
|
67
|
+
export declare const ByokEmbeddingFamilySchema: z.ZodEnum<{
|
|
68
|
+
"google/gemini-embedding-2": "google/gemini-embedding-2";
|
|
69
|
+
"openai/text-embedding-3-large": "openai/text-embedding-3-large";
|
|
70
|
+
}>;
|
|
71
|
+
/** Vector width of both families, and of the two Qdrant collections. */
|
|
72
|
+
export declare const BYOK_EMBEDDING_DIMENSIONS = 3072;
|
|
73
|
+
/**
|
|
74
|
+
* How close the endpoint's vector has to be to the gateway's, for the same
|
|
75
|
+
* sentence, before we believe the endpoint really serves the declared family.
|
|
76
|
+
*
|
|
77
|
+
* Measured on 2026-09-21 against the customer's proxy: the same model scores
|
|
78
|
+
* 0.999999 and a different model of the same width scores -0.0168, so the
|
|
79
|
+
* check has the whole range as margin and still discriminates.
|
|
80
|
+
*/
|
|
81
|
+
export declare const BYOK_EMBEDDING_IDENTITY_FLOOR = 0.99;
|
|
82
|
+
export declare enum ByokEmbeddingStatus {
|
|
83
|
+
Reindexing = "reindexing",
|
|
84
|
+
Ready = "ready"
|
|
85
|
+
}
|
|
86
|
+
export declare const ModelProviderEmbeddingSchema: z.ZodObject<{
|
|
87
|
+
family: z.ZodEnum<{
|
|
88
|
+
"google/gemini-embedding-2": "google/gemini-embedding-2";
|
|
89
|
+
"openai/text-embedding-3-large": "openai/text-embedding-3-large";
|
|
90
|
+
}>;
|
|
91
|
+
modelId: z.ZodString;
|
|
92
|
+
price: z.ZodObject<{
|
|
93
|
+
source: z.ZodEnum<typeof ModelPriceSource>;
|
|
94
|
+
reference: z.ZodOptional<z.ZodString>;
|
|
95
|
+
pricing: z.ZodObject<{
|
|
96
|
+
inputUsdPerToken: z.ZodNumber;
|
|
97
|
+
outputUsdPerToken: z.ZodNumber;
|
|
98
|
+
cachedInputUsdPerToken: z.ZodOptional<z.ZodNumber>;
|
|
99
|
+
cacheWriteUsdPerToken: z.ZodOptional<z.ZodNumber>;
|
|
100
|
+
}, z.core.$strip>;
|
|
101
|
+
resolvedAt: z.ZodString;
|
|
102
|
+
}, z.core.$strip>;
|
|
103
|
+
verifiedAt: z.ZodString;
|
|
104
|
+
status: z.ZodEnum<typeof ByokEmbeddingStatus>;
|
|
105
|
+
}, z.core.$strip>;
|
|
106
|
+
export type ModelProviderEmbedding = z.infer<typeof ModelProviderEmbeddingSchema>;
|
|
107
|
+
/**
|
|
108
|
+
* `http` is allowed for the same reason `McpServer` allows it: the endpoint
|
|
109
|
+
* that asked for this feature lives inside a VNet. The form warns that the key
|
|
110
|
+
* would travel in clear outside a private network, and asks for a
|
|
111
|
+
* confirmation, not a block: whoever configures this is an administrator of
|
|
112
|
+
* the organization and the network is theirs.
|
|
113
|
+
*/
|
|
114
|
+
export declare const ModelProviderBaseUrlSchema: z.ZodURL;
|
|
115
|
+
/**
|
|
116
|
+
* Header names and values are checked for control characters before they are
|
|
117
|
+
* ever stored. A value with a newline is a header injection, and it is also a
|
|
118
|
+
* secret leak: `fetch` refuses it with an error whose message quotes the value
|
|
119
|
+
* verbatim, and that message would reach the logs (measured 2026-09-21).
|
|
120
|
+
*/
|
|
121
|
+
export declare const HttpHeaderNameSchema: z.ZodString;
|
|
122
|
+
export declare const HttpHeaderValueSchema: z.ZodString;
|
|
123
|
+
export declare const ModelProviderHeadersSchema: z.ZodRecord<z.ZodString, z.ZodString>;
|
|
124
|
+
export declare const OrganizationModelProviderSchema: z.ZodObject<{
|
|
125
|
+
id: z.ZodString;
|
|
126
|
+
organizationId: z.ZodString;
|
|
127
|
+
name: z.ZodString;
|
|
128
|
+
baseUrl: z.ZodString;
|
|
129
|
+
hasApiKey: z.ZodBoolean;
|
|
130
|
+
headerNames: z.ZodArray<z.ZodString>;
|
|
131
|
+
queryParams: z.ZodRecord<z.ZodString, z.ZodString>;
|
|
132
|
+
models: z.ZodArray<z.ZodObject<{
|
|
133
|
+
id: z.ZodString;
|
|
134
|
+
label: z.ZodOptional<z.ZodString>;
|
|
135
|
+
enabled: z.ZodBoolean;
|
|
136
|
+
price: z.ZodObject<{
|
|
137
|
+
source: z.ZodEnum<typeof ModelPriceSource>;
|
|
138
|
+
reference: z.ZodOptional<z.ZodString>;
|
|
139
|
+
pricing: z.ZodObject<{
|
|
140
|
+
inputUsdPerToken: z.ZodNumber;
|
|
141
|
+
outputUsdPerToken: z.ZodNumber;
|
|
142
|
+
cachedInputUsdPerToken: z.ZodOptional<z.ZodNumber>;
|
|
143
|
+
cacheWriteUsdPerToken: z.ZodOptional<z.ZodNumber>;
|
|
144
|
+
}, z.core.$strip>;
|
|
145
|
+
resolvedAt: z.ZodString;
|
|
146
|
+
}, z.core.$strip>;
|
|
147
|
+
}, z.core.$strip>>;
|
|
148
|
+
embedding: z.ZodNullable<z.ZodObject<{
|
|
149
|
+
family: z.ZodEnum<{
|
|
150
|
+
"google/gemini-embedding-2": "google/gemini-embedding-2";
|
|
151
|
+
"openai/text-embedding-3-large": "openai/text-embedding-3-large";
|
|
152
|
+
}>;
|
|
153
|
+
modelId: z.ZodString;
|
|
154
|
+
price: z.ZodObject<{
|
|
155
|
+
source: z.ZodEnum<typeof ModelPriceSource>;
|
|
156
|
+
reference: z.ZodOptional<z.ZodString>;
|
|
157
|
+
pricing: z.ZodObject<{
|
|
158
|
+
inputUsdPerToken: z.ZodNumber;
|
|
159
|
+
outputUsdPerToken: z.ZodNumber;
|
|
160
|
+
cachedInputUsdPerToken: z.ZodOptional<z.ZodNumber>;
|
|
161
|
+
cacheWriteUsdPerToken: z.ZodOptional<z.ZodNumber>;
|
|
162
|
+
}, z.core.$strip>;
|
|
163
|
+
resolvedAt: z.ZodString;
|
|
164
|
+
}, z.core.$strip>;
|
|
165
|
+
verifiedAt: z.ZodString;
|
|
166
|
+
status: z.ZodEnum<typeof ByokEmbeddingStatus>;
|
|
167
|
+
}, z.core.$strip>>;
|
|
168
|
+
enabled: z.ZodBoolean;
|
|
169
|
+
createdAt: z.ZodCoercedDate<unknown>;
|
|
170
|
+
updatedAt: z.ZodCoercedDate<unknown>;
|
|
171
|
+
}, z.core.$strip>;
|
|
172
|
+
export type OrganizationModelProvider = z.infer<typeof OrganizationModelProviderSchema>;
|
|
173
|
+
/**
|
|
174
|
+
* One model as the form sends it. `source` and `resolvedAt` are written by the
|
|
175
|
+
* server: `reference` and `pricing` are what the administrator can say, and
|
|
176
|
+
* either of them wins over the listing match instead of following it, so a
|
|
177
|
+
* wrong automatic match can be corrected without the listing winning it back
|
|
178
|
+
* on the next save.
|
|
179
|
+
*/
|
|
180
|
+
export declare const ModelProviderModelDtoSchema: z.ZodObject<{
|
|
181
|
+
id: z.ZodString;
|
|
182
|
+
label: z.ZodOptional<z.ZodString>;
|
|
183
|
+
enabled: z.ZodBoolean;
|
|
184
|
+
reference: z.ZodOptional<z.ZodString>;
|
|
185
|
+
pricing: z.ZodOptional<z.ZodObject<{
|
|
186
|
+
inputUsdPerToken: z.ZodNumber;
|
|
187
|
+
outputUsdPerToken: z.ZodNumber;
|
|
188
|
+
cachedInputUsdPerToken: z.ZodOptional<z.ZodNumber>;
|
|
189
|
+
cacheWriteUsdPerToken: z.ZodOptional<z.ZodNumber>;
|
|
190
|
+
}, z.core.$strip>>;
|
|
191
|
+
}, z.core.$strip>;
|
|
192
|
+
export type ModelProviderModelDto = z.infer<typeof ModelProviderModelDtoSchema>;
|
|
193
|
+
export declare const OrganizationModelProviderDtoSchema: z.ZodObject<{
|
|
194
|
+
name: z.ZodString;
|
|
195
|
+
baseUrl: z.ZodURL;
|
|
196
|
+
apiKey: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
197
|
+
headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
198
|
+
queryParams: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
199
|
+
models: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
200
|
+
id: z.ZodString;
|
|
201
|
+
label: z.ZodOptional<z.ZodString>;
|
|
202
|
+
enabled: z.ZodBoolean;
|
|
203
|
+
reference: z.ZodOptional<z.ZodString>;
|
|
204
|
+
pricing: z.ZodOptional<z.ZodObject<{
|
|
205
|
+
inputUsdPerToken: z.ZodNumber;
|
|
206
|
+
outputUsdPerToken: z.ZodNumber;
|
|
207
|
+
cachedInputUsdPerToken: z.ZodOptional<z.ZodNumber>;
|
|
208
|
+
cacheWriteUsdPerToken: z.ZodOptional<z.ZodNumber>;
|
|
209
|
+
}, z.core.$strip>>;
|
|
210
|
+
}, z.core.$strip>>>;
|
|
211
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
212
|
+
}, z.core.$strip>;
|
|
213
|
+
export type OrganizationModelProviderDto = z.infer<typeof OrganizationModelProviderDtoSchema>;
|
|
214
|
+
export declare const ModelProviderDiscoverDtoSchema: z.ZodObject<{
|
|
215
|
+
baseUrl: z.ZodURL;
|
|
216
|
+
apiKey: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
217
|
+
headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
218
|
+
queryParams: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
219
|
+
}, z.core.$strip>;
|
|
220
|
+
export type ModelProviderDiscoverDto = z.infer<typeof ModelProviderDiscoverDtoSchema>;
|
|
221
|
+
/**
|
|
222
|
+
* What a discovered model is, as far as we can tell.
|
|
223
|
+
*
|
|
224
|
+
* The endpoint's own `/models` does not say: neither LiteLLM nor OpenAI types
|
|
225
|
+
* the entries. The gateway listing does, so the kind is the type of the
|
|
226
|
+
* listing entry the id matches, and `unknown` when nothing matches. An
|
|
227
|
+
* unknown id is treated as a chat model until the probe says otherwise.
|
|
228
|
+
*/
|
|
229
|
+
export declare enum DiscoveredModelKind {
|
|
230
|
+
Chat = "chat",
|
|
231
|
+
Embedding = "embedding",
|
|
232
|
+
Unknown = "unknown"
|
|
233
|
+
}
|
|
234
|
+
export declare const DiscoveredModelSchema: z.ZodObject<{
|
|
235
|
+
id: z.ZodString;
|
|
236
|
+
listingMatch: z.ZodNullable<z.ZodString>;
|
|
237
|
+
kind: z.ZodEnum<typeof DiscoveredModelKind>;
|
|
238
|
+
}, z.core.$strip>;
|
|
239
|
+
export type DiscoveredModel = z.infer<typeof DiscoveredModelSchema>;
|
|
240
|
+
export declare const ModelProviderDiscoverResponseSchema: z.ZodObject<{
|
|
241
|
+
models: z.ZodArray<z.ZodObject<{
|
|
242
|
+
id: z.ZodString;
|
|
243
|
+
listingMatch: z.ZodNullable<z.ZodString>;
|
|
244
|
+
kind: z.ZodEnum<typeof DiscoveredModelKind>;
|
|
245
|
+
}, z.core.$strip>>;
|
|
246
|
+
listingUnavailable: z.ZodBoolean;
|
|
247
|
+
}, z.core.$strip>;
|
|
248
|
+
export type ModelProviderDiscoverResponse = z.infer<typeof ModelProviderDiscoverResponseSchema>;
|
|
249
|
+
/** Where a model in the picker comes from. */
|
|
250
|
+
export declare enum ModelCatalogSource {
|
|
251
|
+
Gateway = "gateway",
|
|
252
|
+
Byok = "byok"
|
|
253
|
+
}
|
|
254
|
+
/**
|
|
255
|
+
* How far a privacy guarantee reaches.
|
|
256
|
+
*
|
|
257
|
+
* Three values and not two, and the middle one is the common case: the
|
|
258
|
+
* gateway serves many models through several upstream providers and the
|
|
259
|
+
* guarantee holds only on some of them, so it routes accordingly. `unknown`
|
|
260
|
+
* is an organization's own endpoint, where we have no basis to claim
|
|
261
|
+
* anything and therefore claim nothing.
|
|
262
|
+
*/
|
|
263
|
+
export declare enum ModelGuarantee {
|
|
264
|
+
All = "all",
|
|
265
|
+
Some = "some",
|
|
266
|
+
None = "none",
|
|
267
|
+
Unknown = "unknown"
|
|
268
|
+
}
|
|
269
|
+
/**
|
|
270
|
+
* One entry of the catalog the model picker reads, whichever source served
|
|
271
|
+
* it. The frontend derives nothing from the id any more: not the label, not
|
|
272
|
+
* the i18n key, not the brand for the icon.
|
|
273
|
+
*/
|
|
274
|
+
export declare const ModelCatalogEntrySchema: z.ZodObject<{
|
|
275
|
+
id: z.ZodString;
|
|
276
|
+
source: z.ZodEnum<typeof ModelCatalogSource>;
|
|
277
|
+
label: z.ZodString;
|
|
278
|
+
brand: z.ZodString;
|
|
279
|
+
brandIcon: z.ZodString;
|
|
280
|
+
pricing: z.ZodOptional<z.ZodObject<{
|
|
281
|
+
inputUsdPerToken: z.ZodNumber;
|
|
282
|
+
outputUsdPerToken: z.ZodNumber;
|
|
283
|
+
cachedInputUsdPerToken: z.ZodOptional<z.ZodNumber>;
|
|
284
|
+
cacheWriteUsdPerToken: z.ZodOptional<z.ZodNumber>;
|
|
285
|
+
}, z.core.$strip>>;
|
|
286
|
+
priceEstimated: z.ZodBoolean;
|
|
287
|
+
contextWindow: z.ZodOptional<z.ZodNumber>;
|
|
288
|
+
maxOutputTokens: z.ZodOptional<z.ZodNumber>;
|
|
289
|
+
inputModalities: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
290
|
+
reasoning: z.ZodOptional<z.ZodObject<{
|
|
291
|
+
effortLevels: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
292
|
+
}, z.core.$strip>>;
|
|
293
|
+
zdr: z.ZodEnum<typeof ModelGuarantee>;
|
|
294
|
+
noTraining: z.ZodEnum<typeof ModelGuarantee>;
|
|
295
|
+
retired: z.ZodBoolean;
|
|
296
|
+
disabled: z.ZodBoolean;
|
|
297
|
+
sourceOff: z.ZodBoolean;
|
|
298
|
+
}, z.core.$strip>;
|
|
299
|
+
export type ModelCatalogEntry = z.infer<typeof ModelCatalogEntrySchema>;
|
|
300
|
+
/**
|
|
301
|
+
* Whether an organization can pick this model: neither switched off (by its
|
|
302
|
+
* administrator or with its source) nor retired by the gateway. The one
|
|
303
|
+
* definition the picker, the chip, the defaults and the disconnected banner
|
|
304
|
+
* share.
|
|
305
|
+
*/
|
|
306
|
+
export declare const isModelAvailable: (entry: ModelCatalogEntry) => boolean;
|
|
307
|
+
/**
|
|
308
|
+
* Whether the gateway half of a catalog reflects a listing that was read.
|
|
309
|
+
*
|
|
310
|
+
* With the listing unreachable AND no last good copy, every gateway model
|
|
311
|
+
* reads as retired, and membership then proves nothing: whoever validates a
|
|
312
|
+
* model against the catalog has to let a gateway id through instead of
|
|
313
|
+
* blaming the administrator for our outage. Judged on the gateway half
|
|
314
|
+
* alone, because the endpoint's models are never retired.
|
|
315
|
+
*/
|
|
316
|
+
export declare const isGatewayCatalogKnown: (catalog: ModelCatalogEntry[]) => boolean;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { PlatformType } from './Platform';
|
|
1
2
|
import { StoragePolicy } from './Media';
|
|
2
3
|
import * as z from 'zod';
|
|
3
4
|
export declare const OrganizationSchema: z.ZodObject<{
|
|
@@ -220,11 +221,142 @@ export declare const OrganizationRetentionPolicySchema: z.ZodObject<{
|
|
|
220
221
|
anonymousRetentionDays: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
221
222
|
}, z.core.$strip>;
|
|
222
223
|
export type OrganizationRetentionPolicy = z.infer<typeof OrganizationRetentionPolicySchema>;
|
|
224
|
+
/**
|
|
225
|
+
* Product features an operator can switch on or off per organization from the
|
|
226
|
+
* system panel. A feature is listed here when a contract can plausibly exclude
|
|
227
|
+
* it, or when it ships for a single customer: never before.
|
|
228
|
+
*/
|
|
229
|
+
export declare enum OrganizationFeature {
|
|
230
|
+
Voice = "voice",
|
|
231
|
+
/**
|
|
232
|
+
* One flag per messaging platform and not one for all of them, because
|
|
233
|
+
* a contract names the channels it includes. See
|
|
234
|
+
* {@link PLATFORM_CHANNEL_FEATURES}.
|
|
235
|
+
*/
|
|
236
|
+
WhatsApp = "whatsapp",
|
|
237
|
+
Teams = "teams",
|
|
238
|
+
McpServers = "mcpServers",
|
|
239
|
+
ApiTools = "apiTools",
|
|
240
|
+
SubAgents = "subAgents",
|
|
241
|
+
Endpoints = "endpoints",
|
|
242
|
+
Integrations = "integrations",
|
|
243
|
+
/**
|
|
244
|
+
* Files attached to chat messages, on every surface of the agent. Like
|
|
245
|
+
* the voice it is switched on inside the agent settings, so the gate is
|
|
246
|
+
* on that transition and not on a route.
|
|
247
|
+
*/
|
|
248
|
+
FileUpload = "fileUpload",
|
|
249
|
+
/**
|
|
250
|
+
* The platform's AI gateway as a source of models. The one flag that
|
|
251
|
+
* stops the runtime rather than hiding a page: switched off, nothing of
|
|
252
|
+
* this organization reaches the gateway, not a chat model, not a utility,
|
|
253
|
+
* not an embedding, not a document conversion. It is read from the
|
|
254
|
+
* organization metadata and not from the request, because most of what
|
|
255
|
+
* it stops runs without a session.
|
|
256
|
+
*/
|
|
257
|
+
Gateway = "gateway",
|
|
258
|
+
Byok = "byok"
|
|
259
|
+
}
|
|
260
|
+
/**
|
|
261
|
+
* Value of a feature for an organization that does not mention it in its
|
|
262
|
+
* metadata. Everything the platform already shipped to everybody defaults to
|
|
263
|
+
* `true`, so adding the catalog changes nothing for anybody; a feature born for
|
|
264
|
+
* a single customer defaults to `false`.
|
|
265
|
+
*/
|
|
266
|
+
export declare const ORGANIZATION_FEATURE_DEFAULTS: Record<OrganizationFeature, boolean>;
|
|
267
|
+
/**
|
|
268
|
+
* The feature flag of each messaging platform an administrator can connect to
|
|
269
|
+
* an agent. A platform missing here cannot be connected at all: the
|
|
270
|
+
* connection service refuses it, and the channels page does not offer it.
|
|
271
|
+
*/
|
|
272
|
+
export declare const PLATFORM_CHANNEL_FEATURES: Partial<Record<PlatformType, OrganizationFeature>>;
|
|
273
|
+
/**
|
|
274
|
+
* Free-form keys AND free-form values on purpose. `z.record(z.enum(...))`
|
|
275
|
+
* rejects unknown keys in zod 4, so a feature dropped from the catalog would
|
|
276
|
+
* invalidate the whole metadata; and `z.record(z.string(), z.boolean())`
|
|
277
|
+
* rejects the whole record over a single non-boolean value, which would turn
|
|
278
|
+
* one stale key into every flag reverting to its default, switching a paid
|
|
279
|
+
* feature back on. The per-key filtering lives in
|
|
280
|
+
* {@link resolveOrganizationFeatures}, which is the only reader, and the
|
|
281
|
+
* `.catch` covers the case of `features` not being an object at all.
|
|
282
|
+
*/
|
|
283
|
+
export declare const OrganizationFeaturesSchema: z.ZodCatch<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
284
|
+
export type OrganizationFeatures = Record<OrganizationFeature, boolean>;
|
|
285
|
+
/**
|
|
286
|
+
* The models an organization chose for itself, both optional: an absent one
|
|
287
|
+
* falls back to `PLATFORM_MODEL_DEFAULTS`. Ids and not an enum, because one
|
|
288
|
+
* of them may be a model on the organization's own endpoint.
|
|
289
|
+
*/
|
|
290
|
+
export declare const OrganizationModelDefaultsSchema: z.ZodObject<{
|
|
291
|
+
agentModel: z.ZodOptional<z.ZodString>;
|
|
292
|
+
utilityModel: z.ZodOptional<z.ZodString>;
|
|
293
|
+
}, z.core.$strip>;
|
|
294
|
+
export type OrganizationModelDefaults = z.infer<typeof OrganizationModelDefaultsSchema>;
|
|
295
|
+
/**
|
|
296
|
+
* The `models` section of the organization metadata: the two defaults, plus
|
|
297
|
+
* the gateway models the administrator switched off.
|
|
298
|
+
*
|
|
299
|
+
* Exclusions and not an allowlist. Absent means the whole curated list, so
|
|
300
|
+
* nobody has anything to migrate and a model we curate tomorrow appears for
|
|
301
|
+
* everyone; switching one model off writes one id, not sixty. The opposite
|
|
302
|
+
* shape would turn the first switch into a silent change of mode, from
|
|
303
|
+
* "follow the platform" to "frozen at today's list". The price is on the
|
|
304
|
+
* other side: a newly curated model appears switched on even for an
|
|
305
|
+
* organization that curated its list, which is acceptable because this
|
|
306
|
+
* switch is curation, not security (an agent left on a switched off model
|
|
307
|
+
* keeps answering).
|
|
308
|
+
*/
|
|
309
|
+
export declare const OrganizationModelSettingsSchema: z.ZodObject<{
|
|
310
|
+
agentModel: z.ZodOptional<z.ZodString>;
|
|
311
|
+
utilityModel: z.ZodOptional<z.ZodString>;
|
|
312
|
+
disabledGatewayModels: z.ZodCatch<z.ZodOptional<z.ZodArray<z.ZodString>>>;
|
|
313
|
+
}, z.core.$strip>;
|
|
314
|
+
export type OrganizationModelSettings = z.infer<typeof OrganizationModelSettingsSchema>;
|
|
315
|
+
/**
|
|
316
|
+
* A write to the `models` section, key by key: an absent key is left as it
|
|
317
|
+
* is, so the two default pickers and the switches of the gateway table write
|
|
318
|
+
* without erasing each other. `null` clears a default, back to the platform
|
|
319
|
+
* one; an empty list switches every gateway model back on, and removes the
|
|
320
|
+
* key so "nothing excluded" and "never touched" stay the same state.
|
|
321
|
+
*/
|
|
322
|
+
export declare const OrganizationModelSettingsPatchSchema: z.ZodObject<{
|
|
323
|
+
agentModel: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
324
|
+
utilityModel: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
325
|
+
disabledGatewayModels: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
326
|
+
}, z.core.$strip>;
|
|
327
|
+
export type OrganizationModelSettingsPatch = z.infer<typeof OrganizationModelSettingsPatchSchema>;
|
|
328
|
+
/**
|
|
329
|
+
* The `models` section as the Models page reads it: the two defaults in
|
|
330
|
+
* force (the platform ones when the organization chose none or chose one it
|
|
331
|
+
* can no longer use) and the gateway models switched off.
|
|
332
|
+
*/
|
|
333
|
+
export declare const OrganizationModelSettingsResolvedSchema: z.ZodObject<{
|
|
334
|
+
agentModel: z.ZodString;
|
|
335
|
+
utilityModel: z.ZodString;
|
|
336
|
+
disabledGatewayModels: z.ZodArray<z.ZodString>;
|
|
337
|
+
}, z.core.$strip>;
|
|
338
|
+
export type OrganizationModelSettingsResolved = z.infer<typeof OrganizationModelSettingsResolvedSchema>;
|
|
339
|
+
/**
|
|
340
|
+
* Why a default was refused: the model is unknown to the catalog, retired by
|
|
341
|
+
* the gateway, switched off by the administrator, or its whole source is off.
|
|
342
|
+
*/
|
|
343
|
+
export declare enum ModelDefaultIssue {
|
|
344
|
+
Unknown = "unknown",
|
|
345
|
+
Retired = "retired",
|
|
346
|
+
Disabled = "disabled",
|
|
347
|
+
SourceOff = "source-off"
|
|
348
|
+
}
|
|
223
349
|
export declare const OrganizationMetadataSchema: z.ZodObject<{
|
|
224
|
-
retention: z.ZodOptional<z.ZodObject<{
|
|
350
|
+
retention: z.ZodCatch<z.ZodOptional<z.ZodObject<{
|
|
225
351
|
chatRetentionDays: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
226
352
|
anonymousRetentionDays: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
227
|
-
}, z.core.$strip
|
|
353
|
+
}, z.core.$strip>>>;
|
|
354
|
+
features: z.ZodCatch<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
355
|
+
models: z.ZodCatch<z.ZodOptional<z.ZodObject<{
|
|
356
|
+
agentModel: z.ZodOptional<z.ZodString>;
|
|
357
|
+
utilityModel: z.ZodOptional<z.ZodString>;
|
|
358
|
+
disabledGatewayModels: z.ZodCatch<z.ZodOptional<z.ZodArray<z.ZodString>>>;
|
|
359
|
+
}, z.core.$strip>>>;
|
|
228
360
|
}, z.core.$loose>;
|
|
229
361
|
export type OrganizationMetadata = z.infer<typeof OrganizationMetadataSchema>;
|
|
230
362
|
/**
|
|
@@ -241,6 +373,14 @@ export declare const GDPR_RETENTION_DEFAULTS: Record<keyof OrganizationRetention
|
|
|
241
373
|
* typed object. Returns `{}` on missing or malformed input.
|
|
242
374
|
*/
|
|
243
375
|
export declare function parseOrganizationMetadata(metadata: string | Record<string, unknown> | null | undefined): OrganizationMetadata;
|
|
376
|
+
/**
|
|
377
|
+
* Resolve the effective feature flags of an organization from its raw
|
|
378
|
+
* `metadata` value (a JSON string on most reads, an object on the better-auth
|
|
379
|
+
* create and update responses). Keys outside the catalog are ignored and the
|
|
380
|
+
* missing ones fall back to `ORGANIZATION_FEATURE_DEFAULTS`, so a missing or
|
|
381
|
+
* malformed metadata resolves to the platform defaults instead of failing.
|
|
382
|
+
*/
|
|
383
|
+
export declare function resolveOrganizationFeatures(metadata: string | Record<string, unknown> | null | undefined): OrganizationFeatures;
|
|
244
384
|
export declare const OrganizationPublicSchema: z.ZodObject<{
|
|
245
385
|
id: z.ZodString;
|
|
246
386
|
name: z.ZodString;
|