@8wave/ai-elements 0.99.0-beta.1 → 0.99.0-beta.2

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.
Files changed (156) hide show
  1. package/{dist-vue/_chunks/PkStreamingMarkdown-DEhbK-3c.js → dist/_chunks/PkStreamingMarkdown-6Xx9n1ue.js} +379 -362
  2. package/dist/_chunks/PkStreamingMarkdown-6Xx9n1ue.js.map +1 -0
  3. package/dist/_chunks/{PkToolRequestGeolocation-BJ9NJZIg.js → PkToolRequestGeolocation-B73evGBg.js} +2 -2
  4. package/dist/_chunks/{PkToolRequestGeolocation-BJ9NJZIg.js.map → PkToolRequestGeolocation-B73evGBg.js.map} +1 -1
  5. package/dist/_chunks/{PkToolRequestOAuthConnection-DdvJ6n1K.js → PkToolRequestOAuthConnection-BWP5dsK_.js} +3 -3
  6. package/dist/_chunks/{PkToolRequestOAuthConnection-DdvJ6n1K.js.map → PkToolRequestOAuthConnection-BWP5dsK_.js.map} +1 -1
  7. package/dist/_chunks/{PkToolShowArtifact-BaGEr7O9.js → PkToolShowArtifact-bYYaMGxq.js} +7 -7
  8. package/dist/_chunks/{PkToolShowArtifact-BaGEr7O9.js.map → PkToolShowArtifact-bYYaMGxq.js.map} +1 -1
  9. package/dist/_chunks/{PkToolShowCalendarEvent-BYnhl2er.js → PkToolShowCalendarEvent-DdEWaTj-.js} +4 -4
  10. package/dist/_chunks/{PkToolShowCalendarEvent-BYnhl2er.js.map → PkToolShowCalendarEvent-DdEWaTj-.js.map} +1 -1
  11. package/dist/_chunks/{PkToolShowComparison-DahL5vHr.js → PkToolShowComparison-Dcar7HPW.js} +4 -4
  12. package/dist/_chunks/{PkToolShowComparison-DahL5vHr.js.map → PkToolShowComparison-Dcar7HPW.js.map} +1 -1
  13. package/dist/_chunks/{PkToolShowContactForm-upUNZtId.js → PkToolShowContactForm-DtjVW-n6.js} +13 -13
  14. package/dist/_chunks/{PkToolShowContactForm-upUNZtId.js.map → PkToolShowContactForm-DtjVW-n6.js.map} +1 -1
  15. package/dist/_chunks/{PkToolShowDiagram-Jq_4KWiK.js → PkToolShowDiagram-X35nsoIY.js} +8 -8
  16. package/dist/_chunks/{PkToolShowDiagram-Jq_4KWiK.js.map → PkToolShowDiagram-X35nsoIY.js.map} +1 -1
  17. package/dist/_chunks/{PkToolShowEmail-CtmpDS1B.js → PkToolShowEmail-jVoK8qEh.js} +4 -4
  18. package/dist/_chunks/{PkToolShowEmail-CtmpDS1B.js.map → PkToolShowEmail-jVoK8qEh.js.map} +1 -1
  19. package/dist/_chunks/{PkToolShowForm-dFuoqTPs.js → PkToolShowForm-BP8asXtz.js} +101 -79
  20. package/dist/_chunks/PkToolShowForm-BP8asXtz.js.map +1 -0
  21. package/dist/_chunks/{PkToolShowImageGallery-mLq2p3aH.js → PkToolShowImageGallery-WQL3T4Hr.js} +2 -2
  22. package/dist/_chunks/{PkToolShowImageGallery-mLq2p3aH.js.map → PkToolShowImageGallery-WQL3T4Hr.js.map} +1 -1
  23. package/dist/_chunks/{PkToolShowLocation-SbgTbuGu.js → PkToolShowLocation-w2t7lKpb.js} +4 -4
  24. package/dist/_chunks/{PkToolShowLocation-SbgTbuGu.js.map → PkToolShowLocation-w2t7lKpb.js.map} +1 -1
  25. package/dist/_chunks/{PkToolShowMessage-CAVpDTzd.js → PkToolShowMessage-BPo7WPim.js} +4 -4
  26. package/dist/_chunks/{PkToolShowMessage-CAVpDTzd.js.map → PkToolShowMessage-BPo7WPim.js.map} +1 -1
  27. package/dist/_chunks/{PkToolShowProductList-puiPFItN.js → PkToolShowProductList-BbY4ni7Y.js} +2 -2
  28. package/dist/_chunks/{PkToolShowProductList-puiPFItN.js.map → PkToolShowProductList-BbY4ni7Y.js.map} +1 -1
  29. package/dist/_chunks/{PkToolShowQrCode-CctXvRyG.js → PkToolShowQrCode-CN0ms27N.js} +4 -4
  30. package/dist/_chunks/{PkToolShowQrCode-CctXvRyG.js.map → PkToolShowQrCode-CN0ms27N.js.map} +1 -1
  31. package/dist/_chunks/{PkToolShowSources-DwB6VXrK.js → PkToolShowSources-D2tBcx7n.js} +18 -18
  32. package/dist/_chunks/{PkToolShowSources-DwB6VXrK.js.map → PkToolShowSources-D2tBcx7n.js.map} +1 -1
  33. package/dist/_chunks/{PkToolShowSuggestedReply-QEcIhSxa.js → PkToolShowSuggestedReply-Cdh_elSh.js} +2 -2
  34. package/dist/_chunks/{PkToolShowSuggestedReply-QEcIhSxa.js.map → PkToolShowSuggestedReply-Cdh_elSh.js.map} +1 -1
  35. package/dist/_chunks/{PkToolShowVideo-DoLoI8_N.js → PkToolShowVideo-D3aU5FMO.js} +2 -2
  36. package/dist/_chunks/{PkToolShowVideo-DoLoI8_N.js.map → PkToolShowVideo-D3aU5FMO.js.map} +1 -1
  37. package/dist/_chunks/{PkToolShowWeather-C2rPCQ_K.js → PkToolShowWeather-CzanXIJp.js} +3 -3
  38. package/dist/_chunks/{PkToolShowWeather-C2rPCQ_K.js.map → PkToolShowWeather-CzanXIJp.js.map} +1 -1
  39. package/dist/_chunks/{PkToolShowWebPages-BBJYzF8V.js → PkToolShowWebPages-DkMJrWmT.js} +2 -2
  40. package/dist/_chunks/{PkToolShowWebPages-BBJYzF8V.js.map → PkToolShowWebPages-DkMJrWmT.js.map} +1 -1
  41. package/dist/_chunks/{VvCheckbox.es-D5d8k9yP.js → VvCheckbox.es-CRhIKQNR.js} +2 -2
  42. package/dist/_chunks/{VvCheckbox.es-D5d8k9yP.js.map → VvCheckbox.es-CRhIKQNR.js.map} +1 -1
  43. package/dist/_chunks/{VvCheckboxGroup.es-DVnsOjX0.js → VvCheckboxGroup.es-gOy2kM1Y.js} +5 -5
  44. package/dist/_chunks/{VvCheckboxGroup.es-DVnsOjX0.js.map → VvCheckboxGroup.es-gOy2kM1Y.js.map} +1 -1
  45. package/dist/_chunks/{VvCombobox.es-CFA-K-cQ.js → VvCombobox.es-BOwH3LmO.js} +9 -9
  46. package/dist/_chunks/VvCombobox.es-BOwH3LmO.js.map +1 -0
  47. package/dist/_chunks/{VvInputText.es-csEQ-bSG.js → VvInputText.es-D8nXroKO.js} +536 -513
  48. package/dist/_chunks/VvInputText.es-D8nXroKO.js.map +1 -0
  49. package/dist/_chunks/{VvRadio.es-BpymhC73.js → VvRadio.es-Djy5J33A.js} +2 -2
  50. package/dist/_chunks/{VvRadio.es-BpymhC73.js.map → VvRadio.es-Djy5J33A.js.map} +1 -1
  51. package/dist/_chunks/{VvRadioGroup.es-CSNzOJKx.js → VvRadioGroup.es-DQq3JYCR.js} +5 -5
  52. package/dist/_chunks/VvRadioGroup.es-DQq3JYCR.js.map +1 -0
  53. package/dist/_chunks/{VvSelect.es-CjKMd0nH.js → VvSelect.es-CE4x1ww0.js} +4 -4
  54. package/dist/_chunks/{VvSelect.es-CjKMd0nH.js.map → VvSelect.es-CE4x1ww0.js.map} +1 -1
  55. package/dist/_chunks/VvTextarea.es-BU2vqdEQ.js +1129 -0
  56. package/dist/_chunks/VvTextarea.es-BU2vqdEQ.js.map +1 -0
  57. package/dist/_chunks/{dist-BNET2z7b.js → dist-CvMCBce7.js} +39 -21
  58. package/dist/_chunks/dist-CvMCBce7.js.map +1 -0
  59. package/dist/_chunks/dot-prop-CObyt75F.js +141 -0
  60. package/dist/_chunks/dot-prop-CObyt75F.js.map +1 -0
  61. package/dist/_chunks/{floating-ui.vue-CIKvCpTA.js → floating-ui.vue-BacoFpVq.js} +278 -305
  62. package/dist/_chunks/floating-ui.vue-BacoFpVq.js.map +1 -0
  63. package/dist/_chunks/{index.es-u1dF1xg2.js → index.es-DpqfagWZ.js} +12 -12
  64. package/dist/_chunks/{index.es-u1dF1xg2.js.map → index.es-DpqfagWZ.js.map} +1 -1
  65. package/dist/_chunks/{index.es-BYny0uhz.js → index.es-_oXVRjHy.js} +2352 -2329
  66. package/dist/_chunks/index.es-_oXVRjHy.js.map +1 -0
  67. package/dist/ai-elements.es.js +4087 -5205
  68. package/dist/ai-elements.es.js.map +1 -1
  69. package/dist-vue/PkChatbot.js +1 -1
  70. package/dist-vue/PkChatbotAuth.js +1 -1
  71. package/dist-vue/PkChatbotEmptyState.js +1 -1
  72. package/dist-vue/PkChatbotFeedbackForm.js +1 -1
  73. package/dist-vue/PkChatbotInput.js +1 -1
  74. package/dist-vue/PkChatbotMessages.js +1 -1
  75. package/dist-vue/PkChatbotSteps.js +1 -1
  76. package/dist-vue/PkChatbotViewChat.js +1 -1
  77. package/dist-vue/PkChatbotViewConversations.js +1 -1
  78. package/dist-vue/PkChatbotViewFiles.js +1 -1
  79. package/dist-vue/PkChatbotViewProfile.js +1 -1
  80. package/dist-vue/_chunks/PkChatbot-Bf5uY3cO.js +236 -0
  81. package/dist-vue/_chunks/{PkChatbot-BlG1WlAO.js.map → PkChatbot-Bf5uY3cO.js.map} +1 -1
  82. package/dist-vue/_chunks/{PkChatbotAuth-C_L2xWuD.js → PkChatbotAuth-BGn2MDYD.js} +2 -2
  83. package/dist-vue/_chunks/{PkChatbotAuth-C_L2xWuD.js.map → PkChatbotAuth-BGn2MDYD.js.map} +1 -1
  84. package/dist-vue/_chunks/{PkChatbotEmptyState-BGOC6vxr.js → PkChatbotEmptyState-CPqLqXek.js} +2 -2
  85. package/dist-vue/_chunks/{PkChatbotEmptyState-BGOC6vxr.js.map → PkChatbotEmptyState-CPqLqXek.js.map} +1 -1
  86. package/dist-vue/_chunks/{PkChatbotFeedbackForm-BSe40qlc.js → PkChatbotFeedbackForm-C_y__RH8.js} +2 -2
  87. package/dist-vue/_chunks/{PkChatbotFeedbackForm-BSe40qlc.js.map → PkChatbotFeedbackForm-C_y__RH8.js.map} +1 -1
  88. package/dist-vue/_chunks/{PkChatbotInput-DTazYlPd.js → PkChatbotInput-jvb0vuak.js} +2 -2
  89. package/dist-vue/_chunks/{PkChatbotInput-DTazYlPd.js.map → PkChatbotInput-jvb0vuak.js.map} +1 -1
  90. package/dist-vue/_chunks/{PkChatbotMessages-BrufA7o1.js → PkChatbotMessages-B3G12zah.js} +246 -246
  91. package/dist-vue/_chunks/{PkChatbotMessages-BrufA7o1.js.map → PkChatbotMessages-B3G12zah.js.map} +1 -1
  92. package/dist-vue/_chunks/PkChatbotSteps-BdU6YC_N.js +172 -0
  93. package/dist-vue/_chunks/{PkChatbotSteps-Dv9NkYER.js.map → PkChatbotSteps-BdU6YC_N.js.map} +1 -1
  94. package/dist-vue/_chunks/{PkChatbotViewChat-CAqvbbfN.js → PkChatbotViewChat-c0Ecpzoc.js} +6 -6
  95. package/dist-vue/_chunks/{PkChatbotViewChat-CAqvbbfN.js.map → PkChatbotViewChat-c0Ecpzoc.js.map} +1 -1
  96. package/dist-vue/_chunks/{PkChatbotViewConversations-Cq41H-tc.js → PkChatbotViewConversations-BfhRCA_1.js} +2 -2
  97. package/dist-vue/_chunks/{PkChatbotViewConversations-Cq41H-tc.js.map → PkChatbotViewConversations-BfhRCA_1.js.map} +1 -1
  98. package/dist-vue/_chunks/{PkChatbotViewFiles-DNuzmBJc.js → PkChatbotViewFiles-BipRoidH.js} +2 -2
  99. package/dist-vue/_chunks/{PkChatbotViewFiles-DNuzmBJc.js.map → PkChatbotViewFiles-BipRoidH.js.map} +1 -1
  100. package/dist-vue/_chunks/{PkChatbotViewProfile-C0BXIY2N.js → PkChatbotViewProfile-DuLwYpGZ.js} +2 -2
  101. package/dist-vue/_chunks/{PkChatbotViewProfile-C0BXIY2N.js.map → PkChatbotViewProfile-DuLwYpGZ.js.map} +1 -1
  102. package/{dist/_chunks/PkStreamingMarkdown-Djw604Ny.js → dist-vue/_chunks/PkStreamingMarkdown-CjBMQ18U.js} +344 -347
  103. package/dist-vue/_chunks/PkStreamingMarkdown-CjBMQ18U.js.map +1 -0
  104. package/dist-vue/_chunks/{PkToolShowArtifact-CTBwt4DN.js → PkToolShowArtifact-COwSXmF4.js} +2 -2
  105. package/dist-vue/_chunks/{PkToolShowArtifact-CTBwt4DN.js.map → PkToolShowArtifact-COwSXmF4.js.map} +1 -1
  106. package/dist-vue/_chunks/{PkToolShowContactForm-B6-MsExL.js → PkToolShowContactForm-DRRtCCxB.js} +10 -10
  107. package/dist-vue/_chunks/{PkToolShowContactForm-B6-MsExL.js.map → PkToolShowContactForm-DRRtCCxB.js.map} +1 -1
  108. package/dist-vue/_chunks/{PkToolShowForm-CQuX08lk.js → PkToolShowForm-j7Ha-0X3.js} +109 -87
  109. package/dist-vue/_chunks/PkToolShowForm-j7Ha-0X3.js.map +1 -0
  110. package/dist-vue/_chunks/{PkToolShowSources-CFh-i60o.js → PkToolShowSources-BVLw4W5l.js} +43 -43
  111. package/dist-vue/_chunks/{PkToolShowSources-CFh-i60o.js.map → PkToolShowSources-BVLw4W5l.js.map} +1 -1
  112. package/dist-vue/_chunks/{createChatbotApiClient-BMZltBLh.js → createChatbotApiClient-IH6wBh4s.js} +365 -381
  113. package/dist-vue/_chunks/createChatbotApiClient-IH6wBh4s.js.map +1 -0
  114. package/dist-vue/_chunks/{index.es-XfWQ82pb.js → index.es-Bk1O0p8N.js} +166 -156
  115. package/dist-vue/_chunks/index.es-Bk1O0p8N.js.map +1 -0
  116. package/dist-vue/_chunks/{useChatbotStore-DZiorgLW.js → useChatbotStore-C3uKi2FS.js} +3 -5
  117. package/dist-vue/_chunks/useChatbotStore-C3uKi2FS.js.map +1 -0
  118. package/dist-vue/api.js +1 -1
  119. package/dist-vue/composables.js +2 -2
  120. package/dist-vue/index.js +4430 -4221
  121. package/dist-vue/index.js.map +1 -1
  122. package/dist-vue/locales.js +27 -7
  123. package/dist-vue/packages/components/src/PkCheckboxField.d.ts +1 -1
  124. package/dist-vue/packages/components/src/PkOfflineScreen.d.ts +18 -0
  125. package/dist-vue/packages/components/src/PkPwaNotices.d.ts +19 -0
  126. package/dist-vue/packages/components/src/chat/PkAgentSettingsPanel.d.ts +9 -3
  127. package/dist-vue/packages/components/src/index.d.ts +3 -3
  128. package/dist-vue/packages/composable/src/chatbot/useChatbotStore.d.ts +36 -0
  129. package/dist-vue/packages/composable/src/index.d.ts +1 -0
  130. package/dist-vue/packages/composable/src/useConnectivity.d.ts +28 -0
  131. package/dist-vue/packages/models/src/schema/Agent.d.ts +81 -0
  132. package/dist-vue/packages/models/src/schema/ReasoningChat.d.ts +24 -0
  133. package/dist-vue/packages/models/src/schema/SubAgent.d.ts +24 -0
  134. package/dist-vue/style.css +1 -1
  135. package/package.json +3 -3
  136. package/dist/_chunks/PkStreamingMarkdown-Djw604Ny.js.map +0 -1
  137. package/dist/_chunks/PkToolShowForm-dFuoqTPs.js.map +0 -1
  138. package/dist/_chunks/VvCombobox.es-CFA-K-cQ.js.map +0 -1
  139. package/dist/_chunks/VvInputText.es-csEQ-bSG.js.map +0 -1
  140. package/dist/_chunks/VvRadioGroup.es-CSNzOJKx.js.map +0 -1
  141. package/dist/_chunks/VvTextarea.es-eEyRRpuT.js +0 -1109
  142. package/dist/_chunks/VvTextarea.es-eEyRRpuT.js.map +0 -1
  143. package/dist/_chunks/dist-BNET2z7b.js.map +0 -1
  144. package/dist/_chunks/dot-prop-BXrC9bAX.js +0 -131
  145. package/dist/_chunks/dot-prop-BXrC9bAX.js.map +0 -1
  146. package/dist/_chunks/floating-ui.vue-CIKvCpTA.js.map +0 -1
  147. package/dist/_chunks/index.es-BYny0uhz.js.map +0 -1
  148. package/dist-vue/_chunks/PkChatbot-BlG1WlAO.js +0 -236
  149. package/dist-vue/_chunks/PkChatbotSteps-Dv9NkYER.js +0 -172
  150. package/dist-vue/_chunks/PkStreamingMarkdown-DEhbK-3c.js.map +0 -1
  151. package/dist-vue/_chunks/PkToolShowForm-CQuX08lk.js.map +0 -1
  152. package/dist-vue/_chunks/createChatbotApiClient-BMZltBLh.js.map +0 -1
  153. package/dist-vue/_chunks/index.es-XfWQ82pb.js.map +0 -1
  154. package/dist-vue/_chunks/useChatbotStore-DZiorgLW.js.map +0 -1
  155. package/dist-vue/packages/components/src/PkPwaInstallPrompt.d.ts +0 -4
  156. package/dist-vue/packages/components/src/PkPwaOfflineNotice.d.ts +0 -4
@@ -1 +0,0 @@
1
- {"version":3,"file":"createChatbotApiClient-BMZltBLh.js","names":["c","l","d","f","s","n","e","t","i","r"],"sources":["../../../../packages/models/src/schema/Agent.ts","../../../../packages/models/src/schema/ConversationAnalysis.ts","../../../../packages/models/src/schema/Chat.ts","../../../../node_modules/.pnpm/@ucast+core@2.0.0/node_modules/@ucast/core/dist/esm/index.mjs","../../../../node_modules/.pnpm/@ucast+mongo@3.0.0/node_modules/@ucast/mongo/dist/esm/index.mjs","../../../../packages/ability/src/types.ts","../../../../packages/ability/src/roles/User.ts","../../../../packages/ability/src/index.ts","../../../../packages/composable/src/chatbot/api/resolveShortUrls.ts","../../../../packages/composable/src/chatbot/api/createChatbotApiClient.ts"],"sourcesContent":["import * as z from 'zod'\nimport { zodQs, jsonSchemaField, decodeOnly } from '../utils'\nimport { LanguageModel } from './constants'\nimport { MediaSchema, MIME_TYPE_REGEX } from './Media'\n\nexport enum AgentStatus {\n Draft = 'draft',\n Active = 'active',\n Inactive = 'inactive',\n}\n\nexport enum AgentVisibility {\n Public = 'public',\n Private = 'private',\n Organization = 'organization',\n}\n\nexport enum AgentType {\n Chat = 'chat',\n Reasoning = 'reasoning',\n}\n\nexport enum AgentSearchMode {\n Semantic = 'semantic',\n Balanced = 'balanced',\n Keyword = 'keyword',\n}\n\n/**\n * Provider-specific reasoning configurations.\n *\n * Each provider has its own reasoning API:\n * - OpenAI (GPT-5, o-series): `reasoningEffort` + `reasoningSummary`\n * - Anthropic (Claude 4.6+): adaptive thinking with `effort` levels, or legacy `budgetTokens`\n * - Google (Gemini 3/3.1): `thinkingLevel`; Gemini 2.5: `thinkingBudget`\n * - DeepSeek: on/off thinking toggle\n *\n * Only the matching provider's config is used at runtime (based on model prefix).\n * Admins can pre-configure multiple providers for easy model switching.\n */\n\nexport const OpenAIReasoningSchema = z.object({\n reasoningEffort: z\n .enum(['none', 'low', 'medium', 'high', 'xhigh'])\n .optional(),\n reasoningSummary: z.enum(['auto', 'detailed', 'concise']).optional(),\n})\nexport type OpenAIReasoning = z.infer<typeof OpenAIReasoningSchema>\n\nexport const AnthropicReasoningSchema = z.object({\n type: z.enum(['adaptive', 'enabled', 'disabled']).optional(),\n effort: z.enum(['low', 'medium', 'high', 'xhigh', 'max']).optional(),\n display: z.enum(['summarized', 'omitted']).optional(),\n budgetTokens: z.number().int().positive().optional(),\n})\nexport type AnthropicReasoning = z.infer<typeof AnthropicReasoningSchema>\n\nexport const GoogleReasoningSchema = z.object({\n thinkingLevel: z.enum(['minimal', 'low', 'medium', 'high']).optional(),\n thinkingBudget: z.number().int().optional(),\n includeThoughts: z.boolean().optional(),\n})\nexport type GoogleReasoning = z.infer<typeof GoogleReasoningSchema>\n\nexport const DeepSeekReasoningSchema = z.object({\n type: z.enum(['enabled', 'disabled']).optional(),\n})\nexport type DeepSeekReasoning = z.infer<typeof DeepSeekReasoningSchema>\n\n/**\n * Migrates legacy format `{ effort: 'high', reasoningSummary: 'auto' }` to the new\n * per-provider format. Applied via preprocess so old DB data auto-migrates on parse.\n */\nconst AgentReasoningObjectSchema = z.object({\n openai: OpenAIReasoningSchema.optional(),\n anthropic: AnthropicReasoningSchema.optional(),\n google: GoogleReasoningSchema.optional(),\n deepseek: DeepSeekReasoningSchema.optional(),\n})\n\ntype AgentReasoningInput = z.input<typeof AgentReasoningObjectSchema>\n\nfunction migrateReasoningConfig(val: unknown): AgentReasoningInput {\n if (!val || typeof val !== 'object') {\n // Output validity is enforced by the codec's output schema at runtime.\n return val as AgentReasoningInput\n }\n const obj = val as Record<string, unknown>\n // Detect legacy format: has `effort` key with old enum values\n if (\n 'effort' in obj &&\n !(\n 'openai' in obj ||\n 'anthropic' in obj ||\n 'google' in obj ||\n 'deepseek' in obj\n )\n ) {\n const effort = obj.effort as string | undefined\n const reasoningSummary = obj.reasoningSummary as string | undefined\n const migrated: Record<string, unknown> = {}\n\n if (effort && effort !== 'off') {\n migrated.openai = {\n reasoningEffort: effort,\n ...(reasoningSummary ? { reasoningSummary } : {}),\n }\n migrated.anthropic = {\n type: 'adaptive' as const,\n effort: effort as 'low' | 'medium' | 'high',\n }\n migrated.google = {\n thinkingLevel: effort as 'low' | 'medium' | 'high',\n }\n migrated.deepseek = { type: 'enabled' as const }\n } else {\n migrated.openai = { reasoningEffort: 'none' }\n migrated.deepseek = { type: 'disabled' as const }\n }\n return migrated as AgentReasoningInput\n }\n return val as AgentReasoningInput\n}\n\n// Codec instead of z.preprocess: the legacy-format migration only runs on\n// decode, while encode (used by response serialization) is the identity.\n// `.optional()` wraps the codec (not the inner object) so a missing\n// `reasoning` key still parses, matching the old z.preprocess semantics.\nexport const AgentReasoningSchema = decodeOnly(\n z.unknown(),\n AgentReasoningObjectSchema,\n migrateReasoningConfig,\n).optional()\n\nexport type AgentReasoning = z.infer<typeof AgentReasoningSchema>\n\n/**\n * Whether reasoning is effectively enabled for the given model.\n *\n * Mirrors the runtime semantics of `getReasoningOptions` (backend):\n * only the provider config matching the model prefix is considered.\n * Note: for Anthropic with `display: 'omitted'` reasoning runs but no\n * reasoning parts are streamed to the client.\n */\nexport function isReasoningEnabled(\n model: string,\n reasoning: AgentReasoning | null | undefined,\n): boolean {\n if (!reasoning) {\n return false\n }\n\n const [provider = ''] = model.split('/')\n\n if (provider === 'openai') {\n const config = reasoning.openai\n return Boolean(\n config?.reasoningEffort && config.reasoningEffort !== 'none',\n )\n }\n\n if (provider === 'anthropic') {\n const config = reasoning.anthropic\n return Boolean(config && config.type !== 'disabled')\n }\n\n if (provider === 'google') {\n const config = reasoning.google\n if (!config || config.thinkingBudget === 0) {\n return false\n }\n return Boolean(\n (config.thinkingLevel && config.thinkingLevel !== 'minimal') ||\n config.thinkingBudget ||\n config.includeThoughts,\n )\n }\n\n if (provider === 'deepseek') {\n return reasoning.deepseek?.type === 'enabled'\n }\n\n return false\n}\n\nexport enum AgentBuiltInTool {\n Geocode = 'geocode',\n GetWeather = 'getWeather',\n ReadDocumentFile = 'readDocumentFile',\n RequestConfirm = 'requestConfirm',\n RequestGeolocation = 'requestGeolocation',\n RetrieveRevisedAnswers = 'retrieveRevisedAnswers',\n SearchInKnowledgeBase = 'searchInKnowledgeBase',\n SearchInUserFiles = 'searchInUserFiles',\n UserMemory = 'userMemory',\n RunWorker = 'runWorker',\n FetchTeamsChannelHistory = 'fetchTeamsChannelHistory',\n ShowArtifact = 'showArtifact',\n ShowCalendarEvent = 'showCalendarEvent',\n ShowComparison = 'showComparison',\n ShowContactForm = 'showContactForm',\n ShowDiagram = 'showDiagram',\n ShowEmail = 'showEmail',\n ShowImageGallery = 'showImageGallery',\n ShowLocation = 'showLocation',\n ShowMessage = 'showMessage',\n ShowForm = 'showForm',\n ShowProductList = 'showProductList',\n ShowQrCode = 'showQrCode',\n ShowSources = 'showSources',\n ShowSuggestedReply = 'showSuggestedReply',\n ShowVideo = 'showVideo',\n ShowWeather = 'showWeather',\n ShowWebPages = 'showWebPages',\n // deprecated tools - to be removed in favor of more specific tools above\n ShowMultipleChoice = 'showMultipleChoice',\n}\n\n/**\n * Prefixes the runtime tool set uses for the tools an agent configures. They are\n * part of a contract shared by three places: the services that build the tool\n * set, the approval list that matches names against it, and the backoffice UI\n * that writes those names. A mismatch is silent (a name matching no tool simply\n * never gates anything), so the prefixes live here and nowhere else.\n */\nexport const MCP_TOOL_PREFIX = 'mcp-'\nexport const API_TOOL_PREFIX = 'api-'\n\n/** Tool-set key of an MCP tool, from the name the server advertises. */\nexport const mcpToolKey = (toolName: string) => `${MCP_TOOL_PREFIX}${toolName}`\n\n/** Tool-set key of an agent API tool, from its configured name. */\nexport const apiToolKey = (toolName: string) => `${API_TOOL_PREFIX}${toolName}`\n\n/**\n * Returns true if the tool can be put behind the user-approval gate\n * (`settings.tools.approval.tools`, see docs/specs/tool-approval-interface.md).\n *\n * Only tools that run server-side qualify: a presentation tool has nothing to\n * approve, and a client-resolved one (geolocation, OAuth connect) already asks\n * the user by construction, since it is the browser or the user who answers it.\n */\nexport function canRequireApproval(toolName: string): boolean {\n return (\n !isPresentationTool(toolName) &&\n toolName !== AgentBuiltInTool.RequestGeolocation\n )\n}\n\n/**\n * Returns true if the tool renders a UI element (card, form, list, etc.).\n * Used in `prepareStep` to prevent duplicate UI elements across streaming steps.\n */\nexport function isPresentationTool(toolName: string): boolean {\n return (\n toolName === AgentBuiltInTool.RequestConfirm ||\n toolName === AgentBuiltInTool.ShowArtifact ||\n toolName === AgentBuiltInTool.ShowCalendarEvent ||\n toolName === AgentBuiltInTool.ShowComparison ||\n toolName === AgentBuiltInTool.ShowContactForm ||\n toolName === AgentBuiltInTool.ShowDiagram ||\n toolName === AgentBuiltInTool.ShowEmail ||\n toolName === AgentBuiltInTool.ShowImageGallery ||\n toolName === AgentBuiltInTool.ShowLocation ||\n toolName === AgentBuiltInTool.ShowMessage ||\n toolName === AgentBuiltInTool.ShowForm ||\n toolName === AgentBuiltInTool.ShowMultipleChoice ||\n toolName === AgentBuiltInTool.ShowProductList ||\n toolName === AgentBuiltInTool.ShowQrCode ||\n toolName === AgentBuiltInTool.ShowSources ||\n toolName === AgentBuiltInTool.ShowSuggestedReply ||\n toolName === AgentBuiltInTool.ShowVideo ||\n toolName === AgentBuiltInTool.ShowWeather ||\n toolName === AgentBuiltInTool.ShowWebPages\n )\n}\n\n/**\n * Tools that render natively as cards on messaging platforms (Teams/WhatsApp).\n * Must mirror the coverage of the backend `platformToolRenderer` (the renderers\n * + the resumable confirm/form and the tappable suggested-reply). Tools not in\n * this set fall back to the model's plain-text reply on those channels.\n */\nexport const PLATFORM_RENDERED_TOOLS = new Set<string>([\n AgentBuiltInTool.RequestConfirm,\n AgentBuiltInTool.ShowArtifact,\n AgentBuiltInTool.ShowWeather,\n AgentBuiltInTool.ShowLocation,\n AgentBuiltInTool.ShowComparison,\n AgentBuiltInTool.ShowProductList,\n AgentBuiltInTool.ShowWebPages,\n AgentBuiltInTool.ShowImageGallery,\n AgentBuiltInTool.ShowVideo,\n AgentBuiltInTool.ShowSources,\n AgentBuiltInTool.ShowSuggestedReply,\n AgentBuiltInTool.ShowCalendarEvent,\n AgentBuiltInTool.ShowEmail,\n AgentBuiltInTool.ShowMessage,\n AgentBuiltInTool.ShowForm,\n])\n\n/** True if the tool renders natively on Teams/WhatsApp (not just web). */\nexport function isPlatformRenderedTool(toolName: string): boolean {\n return PLATFORM_RENDERED_TOOLS.has(toolName)\n}\n\nexport const AgentFormSettingsSchema = z.object({\n maxSteps: z.number().int().min(1).max(10).optional().default(5),\n maxOptionsPerStep: z.number().int().min(2).max(10).optional().default(5),\n})\nexport type AgentFormSettings = z.infer<typeof AgentFormSettingsSchema>\n\nexport const DEFAULT_MAX_STEP_COUNT = 10\nexport const DEFAULT_SUB_AGENT_MAX_STEP_COUNT = 6\nexport const DEFAULT_ENDPOINT_MAX_STEP_COUNT = 5\n\nexport enum WebSearchProvider {\n Perplexity = 'perplexity',\n Parallel = 'parallel',\n Native = 'native',\n}\n\nexport const PerplexitySearchConfigSchema = z.object({\n maxResults: z.number().int().min(1).max(20).optional(),\n maxTokens: z.number().int().positive().max(1_000_000).optional(),\n maxTokensPerPage: z.number().int().positive().optional(),\n country: z.string().max(2).optional(),\n searchLanguageFilter: z.array(z.string().max(5)).max(10).optional(),\n searchDomainFilter: z.array(z.string()).max(20).optional(),\n searchRecencyFilter: z.enum(['day', 'week', 'month', 'year']).optional(),\n})\nexport type PerplexitySearchConfig = z.infer<\n typeof PerplexitySearchConfigSchema\n>\n\nexport const ParallelSearchConfigSchema = z.object({\n mode: z.enum(['one-shot', 'agentic']).optional(),\n maxResults: z.number().int().min(1).max(20).optional(),\n sourcePolicy: z\n .object({\n includeDomains: z.array(z.string()).optional(),\n excludeDomains: z.array(z.string()).optional(),\n afterDate: z.string().optional(),\n })\n .optional(),\n excerpts: z\n .object({\n maxCharsPerResult: z.number().int().positive().optional(),\n maxCharsTotal: z.number().int().positive().optional(),\n })\n .optional(),\n fetchPolicy: z\n .object({\n maxAgeSeconds: z.number().int().positive().optional(),\n })\n .optional(),\n})\nexport type ParallelSearchConfig = z.infer<typeof ParallelSearchConfigSchema>\n\nexport const NativeWebSearchConfigSchema = z.object({\n openai: z.object({}).optional(),\n anthropic: z\n .object({\n maxUses: z.number().int().positive().optional(),\n allowedDomains: z.array(z.string()).optional(),\n blockedDomains: z.array(z.string()).optional(),\n userLocation: z\n .object({\n type: z.literal('approximate').optional(),\n country: z.string().optional(),\n region: z.string().optional(),\n city: z.string().optional(),\n timezone: z.string().optional(),\n })\n .optional(),\n })\n .optional(),\n google: z.object({}).optional(),\n})\nexport type NativeWebSearchConfig = z.infer<typeof NativeWebSearchConfigSchema>\n\nexport const AgentWebSearchSchema = z.object({\n enabled: z.boolean().default(false),\n provider: z\n .enum(WebSearchProvider)\n .optional()\n .default(WebSearchProvider.Native),\n perplexity: PerplexitySearchConfigSchema.optional(),\n parallel: ParallelSearchConfigSchema.optional(),\n native: NativeWebSearchConfigSchema.optional(),\n})\nexport type AgentWebSearch = z.infer<typeof AgentWebSearchSchema>\n\n// Cross-agent personalization sub-options. Default OFF = current agent-bound\n// behavior. Only meaningful when the parent tool (UserMemory / SearchInUserFiles)\n// is enabled in `disabled`.\nexport const AgentUserMemorySchema = z.object({\n // Read the user's memories across ALL their agents (aggregated), not just\n // this agent's. Writes stay per-agent (scope='agent').\n useAllUserKb: z.boolean().default(false),\n})\nexport type AgentUserMemory = z.infer<typeof AgentUserMemorySchema>\n\nexport const AgentUserFilesSchema = z.object({\n // Search ALL the user's files, not just those pinned to this agent\n // (or globally shared agent_id IS NULL).\n useAllUserFiles: z.boolean().default(false),\n})\nexport type AgentUserFiles = z.infer<typeof AgentUserFilesSchema>\n\n/**\n * Human-in-the-loop approval settings. Lists the tools whose calls must be\n * approved by the user before they execute. Names are matched against the tool\n * set of the turn, so any tool can be listed: built-in (`sendEmail`), API tools\n * (`api-<name>`) and MCP tools (`mcp-<server>_<tool>`).\n *\n * The gate is UX, not security: it only suspends execution on interactive\n * channels. On non-interactive ones (messaging platforms, API, scheduled runs)\n * a listed tool is denied instead of hanging forever, see `toolApproval.ts`.\n */\nexport const AgentToolApprovalSchema = z.object({\n tools: z.array(z.string()).default([]),\n})\nexport type AgentToolApproval = z.infer<typeof AgentToolApprovalSchema>\n\nexport const AgentToolsSchema = z.object({\n // New agents start with user memory, user-files search and the generic\n // worker OFF (opt-in). Existing agents keep whatever `disabled` they stored.\n disabled: z\n .array(z.enum(AgentBuiltInTool))\n .default([\n AgentBuiltInTool.UserMemory,\n AgentBuiltInTool.SearchInUserFiles,\n AgentBuiltInTool.RunWorker,\n AgentBuiltInTool.FetchTeamsChannelHistory,\n ]),\n showForm: AgentFormSettingsSchema.optional().default(() =>\n AgentFormSettingsSchema.parse({}),\n ),\n webSearch: AgentWebSearchSchema.optional().default(() =>\n AgentWebSearchSchema.parse({}),\n ),\n userMemory: AgentUserMemorySchema.optional().default(() =>\n AgentUserMemorySchema.parse({}),\n ),\n userFiles: AgentUserFilesSchema.optional().default(() =>\n AgentUserFilesSchema.parse({}),\n ),\n approval: AgentToolApprovalSchema.optional().default(() =>\n AgentToolApprovalSchema.parse({}),\n ),\n})\nexport type AgentTools = z.infer<typeof AgentToolsSchema>\n\n/**\n * Ranking configuration schema for smart chunk retrieval.\n * Controls freshness boost, document priority, and MMR.\n * Semantic deduplication is always applied at sync time (not configurable per-agent).\n */\nexport const AgentRankingSchema = z\n .object({\n freshness: z\n .object({\n enabled: z.boolean().default(false),\n /** Half-life in seconds (1 day – 1 year) */\n scale: z\n .number()\n .int()\n .min(86400)\n .max(31536000)\n .default(7776000),\n /** Weight multiplier for freshness boost in formula */\n weight: z.number().min(0.05).max(0.5).default(0.1),\n })\n .prefault({}),\n priority: z\n .object({\n /** Always enabled by default — priority is per-document, not per-agent */\n enabled: z.boolean().default(true),\n })\n .prefault({}),\n mmr: z\n .object({\n enabled: z.boolean().default(false),\n /** Diversity tradeoff (0.0 = relevance only, 1.0 = diversity only) */\n diversity: z.number().min(0.0).max(1.0).default(0.3),\n /**\n * Candidates pre-selected before MMR. Capped at 100: in\n * balanced mode the RRF fusion of two 50-candidate prefetch\n * legs can never yield more, and each candidate carries its\n * dense vector (~12KB at 3072d) across the wire.\n */\n candidatesLimit: z.number().int().min(20).max(100).default(50),\n })\n .prefault({}),\n })\n .prefault({})\nexport type AgentRanking = z.infer<typeof AgentRankingSchema>\n\nexport const AgentModelSchema = z.object({\n prompt: z.string().optional(),\n temperature: z.number().min(0).max(2).optional().default(0.6),\n maxOutputTokens: z.number().positive().optional(),\n presencePenalty: z.number().min(-2).max(2).optional(),\n frequencyPenalty: z.number().min(-2).max(2).optional(),\n searchMode: z\n .enum(AgentSearchMode)\n .optional()\n .default(AgentSearchMode.Balanced),\n limit: z.number().positive().max(100).optional().default(10),\n maxStepCount: z\n .number()\n .int()\n .min(1)\n .max(40)\n .optional()\n .default(DEFAULT_MAX_STEP_COUNT),\n reasoning: AgentReasoningSchema,\n /** Smart ranking configuration (freshness, priority, MMR) */\n ranking: AgentRankingSchema.optional().default(() =>\n AgentRankingSchema.parse({}),\n ),\n})\nexport type AgentModel = z.infer<typeof AgentModelSchema>\n\nexport const LocalizedStringSchema = decodeOnly(\n z.unknown(),\n z.record(z.string(), z.string()),\n // Output validity is enforced by the codec's output schema at runtime.\n (val) =>\n (typeof val === 'string' ? { it: val } : val) as Record<string, string>,\n)\nexport type LocalizedString = z.infer<typeof LocalizedStringSchema>\n\nexport const DEFAULT_WIDGET_URL =\n 'https://cdn.jsdelivr.net/npm/@8wave/ai-elements/dist/ai-elements.es.js'\n\nexport enum AgentLoaderStrategy {\n InlineModule = 'inline-module',\n ScriptSrc = 'script-src',\n DynamicImport = 'dynamic-import',\n}\n\nexport enum AgentChannel {\n Frontoffice = 'frontoffice',\n App = 'app',\n Widget = 'widget',\n}\n\nexport const ALL_AGENT_CHANNELS = Object.values(AgentChannel) as AgentChannel[]\n\nexport const AgentInterfaceSchema = z.object({\n media: MediaSchema.optional(),\n logo: z.string().optional(),\n theme: z.enum(['light', 'dark', 'auto']).optional().default('auto'),\n mainColor: z\n .string()\n .regex(/^#[0-9A-Fa-f]{6}$/)\n .optional()\n .default('#000000'),\n textColor: z.enum(['auto', 'white', 'black']).optional().default('auto'),\n useColorsForAgentHeader: z.boolean().optional().default(false),\n initialMessage: LocalizedStringSchema.optional(),\n greeting: z.array(LocalizedStringSchema).min(1).max(10).optional(),\n messagePlaceholder: LocalizedStringSchema.optional(),\n dismissableNotice: LocalizedStringSchema.optional(),\n footerMessage: LocalizedStringSchema.optional(),\n privacyPolicyNotice: LocalizedStringSchema.optional(),\n /**\n * (A) Voluntary self-service sign-in for anonymous users of PUBLIC agents.\n * When false, the in-chat \"sign in\" menu item and the `view-auth` slot are\n * hidden. Does not touch the external token flow, nor the required login\n * gate of private/organization agents (there it is a no-op). Default true\n * for backward compatibility.\n */\n interactiveLogin: z.boolean().optional().default(true),\n welcomePopup: z.boolean().optional().default(false),\n floatingButtonPosition: z\n .enum(['left', 'right'])\n .optional()\n .default('right'),\n maxMessageLength: z.number().int().positive().optional(),\n widgetUrl: z.url().default(DEFAULT_WIDGET_URL),\n loadDelay: z.number().int().min(0).max(30000).optional().default(0),\n loaderStrategy: z\n .enum(AgentLoaderStrategy)\n .optional()\n .default(AgentLoaderStrategy.InlineModule),\n customCss: z.string().optional(),\n smoothStream: z.boolean().optional().default(false),\n /**\n * Show every agent step (reasoning, tool calls) as an expanded timeline\n * in the chat instead of the compact activity indicator. Only meaningful\n * when reasoning is enabled on the agent model.\n */\n showExtendedSteps: z.boolean().optional().default(false),\n})\nexport type AgentInterface = z.infer<typeof AgentInterfaceSchema>\n\nexport const CHAT_FILE_UPLOAD_DEFAULT_MIME_TYPES = [\n 'image/jpeg',\n 'image/png',\n 'image/gif',\n 'image/webp',\n 'application/pdf',\n 'text/plain',\n 'text/markdown',\n 'text/csv',\n] as const\n\nexport type ChatFileUploadMimeType =\n (typeof CHAT_FILE_UPLOAD_DEFAULT_MIME_TYPES)[number]\n\nexport const CHAT_FILE_UPLOAD_MAX_FILE_SIZE_BYTES = 104_857_600 // 100 MB\n\nexport const AgentFileUploadSchema = z.object({\n enabled: z.boolean().default(false),\n maxFileSizeBytes: z\n .number()\n .int()\n .positive()\n .max(CHAT_FILE_UPLOAD_MAX_FILE_SIZE_BYTES)\n .optional()\n .default(20_971_520),\n allowedMimeTypes: z\n .array(z.string().regex(MIME_TYPE_REGEX))\n .optional()\n .default([...CHAT_FILE_UPLOAD_DEFAULT_MIME_TYPES]),\n maxFilesPerMessage: z\n .number()\n .int()\n .positive()\n .max(10)\n .optional()\n .default(5),\n maxFilesPerChat: z.number().int().positive().max(50).optional().default(20),\n})\nexport type AgentFileUpload = z.infer<typeof AgentFileUploadSchema>\n\nexport const AgentGatewayOptionsSchema = z.object({\n zeroDataRetention: z.boolean().default(true),\n disallowPromptTraining: z.boolean().default(true),\n providerTimeoutMs: z.number().int().min(1000).max(789000).optional(),\n})\nexport type AgentGatewayOptions = z.infer<typeof AgentGatewayOptionsSchema>\n\nexport const AgentSettingsSchema = z.object({\n model: AgentModelSchema,\n interface: AgentInterfaceSchema,\n tools: AgentToolsSchema.optional().default(() =>\n AgentToolsSchema.parse({}),\n ),\n fileUpload: AgentFileUploadSchema.optional().default(() =>\n AgentFileUploadSchema.parse({}),\n ),\n gatewayOptions: AgentGatewayOptionsSchema.optional().default(() =>\n AgentGatewayOptionsSchema.parse({}),\n ),\n channels: z\n .array(z.enum(AgentChannel))\n .optional()\n .default(() => [...ALL_AGENT_CHANNELS]),\n /**\n * JSON Schema definition for the `externalContext` field accepted in chat\n * requests. Only top-level string-keyed properties that match this schema\n * will be forwarded to the LLM. When absent, all external context is\n * silently ignored (deny-by-default).\n */\n externalContextSchema: jsonSchemaField.optional(),\n})\nexport type AgentSettings = z.infer<typeof AgentSettingsSchema>\n\nexport const AgentSecuritySchema = z.object({\n rateLimits: z.object({\n minuteRateLimit: z.number().int().min(0).optional(),\n hourRateLimit: z.number().int().min(0).optional(),\n dayRateLimit: z.number().int().min(0).optional(),\n monthRateLimit: z.number().int().min(0).optional(),\n }),\n trustedOrigins: z\n .object({\n origins: z\n .array(z.url().or(z.literal('')))\n .overwrite((items) => {\n return items?.filter((item) => item?.trim())\n })\n .default([]),\n })\n .default({ origins: [] }),\n})\nexport type AgentSecurity = z.infer<typeof AgentSecuritySchema>\n\nexport const AgentDtoSchema = z.object({\n id: z.string().optional(),\n name: z.string(),\n prompt: z.string().optional(),\n model: z.string().default(LanguageModel.gpt52Chat),\n fallbackModels: z.array(z.string()).default([]),\n status: z.enum(AgentStatus).default(AgentStatus.Draft),\n visibility: z.enum(AgentVisibility).default(AgentVisibility.Organization),\n settings: AgentSettingsSchema,\n security: AgentSecuritySchema.nullish(),\n type: z.enum(AgentType).default(AgentType.Chat),\n organizationId: z.string(),\n})\n\nexport const AgentSchema = z.lazy(() =>\n z.object({\n id: z.string(),\n name: z.string(),\n prompt: z.string(),\n model: z.string(),\n fallbackModels: z.array(z.string()).nullable().default([]),\n status: z.enum(AgentStatus).default(AgentStatus.Draft),\n visibility: z\n .enum(AgentVisibility)\n .default(AgentVisibility.Organization),\n settings: AgentSettingsSchema,\n security: AgentSecuritySchema.nullable(),\n type: z.enum(AgentType).default(AgentType.Chat),\n organizationId: z.string(),\n createdAt: z.coerce.date(),\n createdBy: z.string(),\n updatedAt: z.coerce.date(),\n updatedBy: z.string(),\n deleted: z.boolean(),\n deletedAt: z.coerce.date().nullable(),\n deletedBy: z.string().nullable(),\n outOfBudget: z.boolean().optional().default(false),\n outOfBudgetReason: z.string().optional().default(''),\n }),\n)\n\n/* -------------------------------------------------------------------------- *\n * Agent exposure tiers\n *\n * The same agent is serialized at decreasing levels of detail depending on\n * who is asking. Each tier is a strict narrowing of the one above it:\n *\n * Agent Full internal entity — prompt, model, settings, security.\n * Never leaves the trusted (admin/backoffice) boundary.\n * AgentPublic Client view for a viewer who ALREADY HAS ACCESS. \"Public\"\n * means \"safe to expose to the client\", NOT \"visibility =\n * public\": a private/organization agent is still served as\n * AgentPublic once the viewer is authorized.\n * AgentBranding Minimal, safe subset shown to ANONYMOUS viewers on the\n * pre-login screen — just enough to render branded chrome.\n * AgentAccess Envelope returned by the `/access` endpoint: a discriminated\n * union on `requiresAuth` that resolves to either an\n * AgentPublic (access granted) or an AgentBranding (login\n * required), plus the available auth methods.\n * -------------------------------------------------------------------------- */\n\nexport const AgentPublicSchema = z.object({\n id: z.string(),\n name: z.string(),\n status: z.enum(AgentStatus),\n visibility: z.enum(AgentVisibility),\n organizationId: z.string(),\n interface: AgentInterfaceSchema,\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n capabilities: z.object({\n fileUpload: AgentFileUploadSchema,\n }),\n channels: z\n .array(z.enum(AgentChannel))\n .default(() => [...ALL_AGENT_CHANNELS]),\n})\n\n/**\n * Safe subset of `AgentInterface` exposed to anonymous users on the public\n * \"access\" endpoint to render a branded login screen. Mirrors the field names\n * of `AgentInterfaceSchema` (via `pick`) so consumers can read branding the\n * same way for both `AgentPublic.interface` and `AgentBranding.interface`.\n *\n * 🔒 NEVER add sensitive fields here (system prompt, models, tools, …).\n */\nexport const AgentBrandingInterfaceSchema = AgentInterfaceSchema.pick({\n logo: true,\n mainColor: true,\n textColor: true,\n theme: true,\n floatingButtonPosition: true,\n customCss: true,\n})\nexport type AgentBrandingInterface = z.infer<\n typeof AgentBrandingInterfaceSchema\n>\n\nexport const AgentBrandingSchema = AgentPublicSchema.pick({\n id: true,\n name: true,\n organizationId: true,\n}).extend({\n interface: AgentBrandingInterfaceSchema,\n})\nexport type AgentBranding = z.infer<typeof AgentBrandingSchema>\n\nexport const AuthMethodsSchema = z.object({\n emailPassword: z.boolean(),\n google: z.boolean(),\n microsoft: z.boolean(),\n})\nexport type AuthMethods = z.infer<typeof AuthMethodsSchema>\n\n/**\n * Access decision for an agent, WITHOUT the auth methods.\n *\n * Discriminated on `requiresAuth` so the two outcomes are mutually exclusive at\n * the type level — no caller has to null-check `agent`/`branding` by hand:\n * - `requiresAuth: false` → access granted, full `agent` is present.\n * - `requiresAuth: true` → login required, only `branding` is present.\n *\n * This is what the service returns; the controller layers `authMethods` on top\n * to produce {@link AgentAccessSchema}.\n */\nexport const AgentAccessGrantedSchema = z.object({\n requiresAuth: z.literal(false),\n agent: AgentPublicSchema,\n branding: z.null(),\n})\n\nexport const AgentAccessRequiresAuthSchema = z.object({\n requiresAuth: z.literal(true),\n agent: z.null(),\n branding: AgentBrandingSchema,\n})\n\nexport const AgentAccessDecisionSchema = z.discriminatedUnion('requiresAuth', [\n AgentAccessGrantedSchema,\n AgentAccessRequiresAuthSchema,\n])\nexport type AgentAccessDecision = z.infer<typeof AgentAccessDecisionSchema>\n\n/**\n * Full payload returned by the public `/access` endpoint: the\n * {@link AgentAccessDecisionSchema} plus the auth methods the client may offer\n * on the login screen.\n */\nexport const AgentAccessSchema = z.discriminatedUnion('requiresAuth', [\n AgentAccessGrantedSchema.extend({ authMethods: AuthMethodsSchema }),\n AgentAccessRequiresAuthSchema.extend({ authMethods: AuthMethodsSchema }),\n])\nexport type AgentAccess = z.infer<typeof AgentAccessSchema>\n\n/**\n * Per-member allowlist of `organization`-visibility agents. An empty `agentIds`\n * means \"no restriction\" — the member can use every organization agent (the\n * default). A non-empty list limits the member to those agents. Owners/admins\n * always bypass it. `id` is the member's user id, so the resource can be\n * cached/updated as a keyed entity by the frontend store. Used as both the GET\n * response and the PUT body of the backoffice `/members/:userId/agent-access`\n * endpoint.\n */\nexport const MemberAgentAccessSchema = z.object({\n id: z.uuid(),\n agentIds: z.array(z.uuid()),\n})\nexport type MemberAgentAccess = z.infer<typeof MemberAgentAccessSchema>\n\nexport const AgentsQuerystringSchema = z.object({\n ...zodQs.pagination(),\n ...zodQs.sort([\n 'id',\n 'updatedAt',\n 'createdAt',\n 'name',\n 'type',\n 'status',\n 'visibility',\n 'model',\n ]),\n ...zodQs.filters(['done', 'type']),\n ...zodQs.filter('id'),\n ...zodQs.fullText(),\n ...zodQs.ids(),\n})\n\nexport type AgentDto = z.infer<typeof AgentDtoSchema>\nexport type Agent = z.infer<typeof AgentSchema>\nexport type AgentPublic = z.infer<typeof AgentPublicSchema>\n\nexport type AgentQuerystring = z.infer<typeof AgentsQuerystringSchema>\n","import * as z from 'zod'\n\nexport enum AbuseCategory {\n Harassment = 'harassment',\n HateSpeech = 'hate_speech',\n SexualContent = 'sexual_content',\n SelfHarm = 'self_harm',\n Violence = 'violence',\n PromptInjection = 'prompt_injection',\n DataExtraction = 'data_extraction',\n Spam = 'spam',\n OffTopicPersistent = 'off_topic_persistent',\n Impersonation = 'impersonation',\n}\n\nexport enum AbuseConfidence {\n Low = 'low',\n Medium = 'medium',\n High = 'high',\n}\n\nexport enum LlmIssueCategory {\n Hallucination = 'hallucination',\n OffBrand = 'off_brand',\n DataLeak = 'data_leak',\n InappropriateTone = 'inappropriate_tone',\n RefusalLoop = 'refusal_loop',\n Repetition = 'repetition',\n}\n\nexport enum ConversationAnalysisTrigger {\n SummaryCycle = 'summary_cycle',\n AgentRequest = 'agent_request',\n Manual = 'manual',\n}\n\nexport enum UserEngagement {\n High = 'high',\n Medium = 'medium',\n Low = 'low',\n Disengaged = 'disengaged',\n}\n\nexport enum UserTone {\n Polite = 'polite',\n Neutral = 'neutral',\n Impatient = 'impatient',\n Aggressive = 'aggressive',\n Abusive = 'abusive',\n}\n\nexport enum Sentiment {\n Positive = 'positive',\n Neutral = 'neutral',\n Negative = 'negative',\n Frustrated = 'frustrated',\n Excited = 'excited',\n}\n\nexport enum SentimentTrend {\n Improving = 'improving',\n Stable = 'stable',\n Degrading = 'degrading',\n}\n\nexport const ConversationAnalysisSchema = z.object({\n // --- Metadata (set programmatically, not by the LLM) ---\n analyzedAt: z.coerce.date().describe('When the analysis was generated.'),\n analysisTrigger: z\n .enum(ConversationAnalysisTrigger)\n .describe('What triggered this analysis run.'),\n\n // --- Sentiment & Tone ---\n sentiment: z\n .enum(Sentiment)\n .describe('Overall user sentiment in the conversation.'),\n sentimentTrend: z\n .enum(SentimentTrend)\n .describe('How the user sentiment evolved during the conversation.'),\n userTone: z\n .enum(UserTone)\n .describe('Predominant tone of the user messages.'),\n\n // --- Language ---\n language: z\n .string()\n .max(10)\n .describe(\n 'ISO 639-1 language code of the conversation (e.g. \"en\", \"it\").',\n ),\n\n // --- Topics ---\n topics: z\n .array(z.string().max(100))\n .max(10)\n .describe('Main topics discussed, as short lowercase labels.'),\n\n // --- User Abuse Detection ---\n userAbuseDetected: z\n .boolean()\n .describe(\n 'Whether user abuse was detected. If false, userAbuseCategories MUST be empty.',\n ),\n userAbuseCategories: z\n .array(z.enum(AbuseCategory))\n .default([])\n .describe(\n 'Abuse categories detected. Non-empty only if userAbuseDetected is true.',\n ),\n userAbuseConfidence: z\n .enum(AbuseConfidence)\n .optional()\n .describe(\n 'Confidence level of the abuse detection. Set only if userAbuseDetected is true.',\n ),\n userAbuseSummary: z\n .string()\n .max(500)\n .optional()\n .describe(\n 'Brief description of the abusive behavior detected. Always write in English. Set only if userAbuseDetected is true.',\n ),\n\n // --- LLM Quality Issues ---\n llmIssueDetected: z\n .boolean()\n .describe(\n 'Whether an LLM quality issue was detected. If false, llmIssueCategories MUST be empty.',\n ),\n llmIssueCategories: z\n .array(z.enum(LlmIssueCategory))\n .default([])\n .describe(\n 'LLM issue categories detected. Non-empty only if llmIssueDetected is true.',\n ),\n llmIssueSummary: z\n .string()\n .max(500)\n .optional()\n .describe(\n 'Brief description of the LLM quality issue detected. Always write in English. Set only if llmIssueDetected is true.',\n ),\n\n // --- Engagement ---\n userEngagement: z\n .enum(UserEngagement)\n .describe('Level of user engagement in the conversation.'),\n conversationGoalMet: z\n .boolean()\n .optional()\n .describe(\n 'Whether the user seems to have achieved what they came for. Leave undefined if unclear.',\n ),\n\n // --- Risk Score ---\n riskScore: z\n .number()\n .int()\n .min(0)\n .max(100)\n .describe(\n 'Overall risk score (0 = safe, 100 = critical). Combination of abuse severity, persistence and escalation.',\n ),\n})\n\nexport type ConversationAnalysis = z.infer<typeof ConversationAnalysisSchema>\n","import * as z from 'zod'\nimport { zodQs } from '../utils'\nimport type { UIMessage, LanguageModelUsage } from 'ai'\nimport { ConversationAnalysisSchema } from './ConversationAnalysis'\nimport {\n AgentBuiltInTool,\n AgentGatewayOptionsSchema,\n AgentReasoningSchema,\n AgentWebSearchSchema,\n AgentSearchMode,\n AgentRankingSchema,\n} from './Agent'\nimport { MIME_TYPE_REGEX } from './Media'\nimport type { PlatformContext } from './Platform'\n\nexport const DeviceContextSchema = z.object({\n dateTime: z.string().optional(),\n timezone: z.string().optional(),\n language: z.string().optional(),\n languages: z.array(z.string()).optional(),\n url: z.string().optional(),\n pathname: z.string().optional(),\n pageTitle: z.string().optional(),\n referrer: z.string().optional(),\n screenWidth: z.number().optional(),\n screenHeight: z.number().optional(),\n viewportWidth: z.number().optional(),\n viewportHeight: z.number().optional(),\n devicePixelRatio: z.number().optional(),\n maxTouchPoints: z.number().optional(),\n hardwareConcurrency: z.number().optional(),\n deviceMemory: z.number().optional(),\n platform: z.string().optional(),\n connectionType: z.string().optional(),\n connectionEffectiveType: z.string().optional(),\n connectionDownlink: z.number().optional(),\n connectionRtt: z.number().optional(),\n saveData: z.boolean().optional(),\n darkMode: z.boolean().optional(),\n reducedMotion: z.boolean().optional(),\n historyLength: z.number().optional(),\n geolocationLatitude: z.number().optional(),\n geolocationLongitude: z.number().optional(),\n geolocationAccuracy: z.number().optional(),\n geolocationCity: z.string().optional(),\n})\n\nexport type DeviceContext = z.infer<typeof DeviceContextSchema>\n\nconst TextPartSchema = z.object({\n type: z.literal('text'),\n text: z.string(),\n})\n\nconst FilePartSchema = z.object({\n type: z.literal('file'),\n mediaType: z.string().regex(MIME_TYPE_REGEX),\n url: z.url(),\n filename: z.string().optional(),\n providerMetadata: z\n .record(z.string(), z.record(z.string(), z.unknown()))\n .optional(),\n})\n\nconst MessagePartSchema = z.discriminatedUnion('type', [\n TextPartSchema,\n FilePartSchema,\n])\n\nexport const ChatRequestSchema = z.object({\n id: z.string(),\n messages: z.array(\n z.object({\n id: z.string().optional(),\n role: z.enum(['assistant', 'user']),\n content: z.string(),\n parts: z.array(MessagePartSchema),\n createdAt: z.string().optional(),\n }),\n ),\n model: z.string().optional(),\n temperature: z.number().optional(),\n prompt: z.string().optional(),\n maxOutputTokens: z.number().positive().optional(),\n presencePenalty: z.number().min(-2).max(2).optional(),\n frequencyPenalty: z.number().min(-2).max(2).optional(),\n searchMode: z.enum(AgentSearchMode).optional(),\n limit: z.number().optional(),\n ranking: AgentRankingSchema.optional(),\n reasoning: AgentReasoningSchema,\n webSearch: AgentWebSearchSchema.optional(),\n maxStepCount: z.number().int().min(1).max(40).optional(),\n disabledTools: z.array(z.enum(AgentBuiltInTool)).optional(),\n fallbackModels: z.array(z.string()).optional(),\n gatewayOptions: AgentGatewayOptionsSchema.partial().optional(),\n deviceContext: DeviceContextSchema.optional(),\n externalContext: z.record(z.string(), z.unknown()).optional(),\n smoothStream: z.boolean().optional(),\n})\n\nexport type ChatRequest = z.infer<typeof ChatRequestSchema>\n\nexport enum BlockedReasonCode {\n SevereAbuse = 'severe_abuse',\n HighRiskScore = 'high_risk_score',\n RepeatedWarnings = 'repeated_warnings',\n}\n\nexport type ChatMetadata = {\n ipAddress: string\n origin: string\n userAgent: string\n}\n\nexport type ChatMessageActions =\n 'show-info' | 'revise' | 'regenerate' | 'upvote' | 'downvote' | 'feedback'\n\nexport type Chat = z.infer<typeof ChatSchema>\nexport type ChatsQuerystring = z.infer<typeof ChatsQuerystringSchema>\n\nexport type UIChatMessageDeviceContext = DeviceContext\n\nexport type UIChatMessageMetadata = {\n /** Unix timestamp (ms) when the stream started */\n createdAt?: number\n /** Unix timestamp (ms) when the stream finished */\n completedAt?: number\n /** Canonical model ID used for the request (e.g. `google/gemini-3-flash`) */\n model?: string\n /** Total tokens consumed across all steps */\n totalTokens?: number\n /** Per-tool-call durations in ms, keyed by tool call ID */\n partTimings?: Record<string, number>\n /** Client device context sent with the request */\n deviceContext?: UIChatMessageDeviceContext\n /** Platform channel context (WhatsApp/Teams), the device-context equivalent for platform turns */\n platformContext?: PlatformContext\n /** External context provided by the host application and validated server-side */\n externalContext?: Record<string, unknown>\n /** Provider that ultimately served the request (e.g. `vertex`, `openai`) */\n resolvedProvider?: string\n /** Actual model ID as exposed by the resolved provider (e.g. `gemini-3-flash-preview`) */\n resolvedModelId?: string\n /** Market cost of the request in USD, as a numeric string */\n cost?: string\n /** Number of model-level routing attempts made by the gateway */\n modelAttemptCount?: number\n /** Total number of provider-level attempts (includes retries across providers) */\n totalProviderAttemptCount?: number\n /** Whether Zero Data Retention was active for this request */\n zeroDataRetention?: boolean\n /** Whether the provider was instructed not to use the prompt for model training */\n disallowPromptTraining?: boolean\n /** Vercel AI Gateway generation ID, useful for tracing in the Vercel dashboard */\n generationId?: string\n /** Tokens served from the provider's prompt cache (e.g. Gemini context caching) */\n cachedTokens?: number\n /** Provider traffic tier (e.g. `PROVISIONED_THROUGHPUT`, `ON_DEMAND`) */\n trafficType?: string\n}\n\nexport type UIChatMessage = UIMessage & {\n metadata?: UIChatMessageMetadata\n}\n\nexport const ChatSchema = z.object({\n id: z.string(),\n messages: z.array(z.unknown()) as unknown as z.ZodType<UIChatMessage[]>,\n title: z.string().nullable(),\n summary: z.string().nullable(),\n messageCountAtLastSummary: z.string().nullable(),\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n metadata: z.record(z.string(), z.unknown()),\n totalCostInUSD: z.string(),\n usage: z.unknown() as unknown as z.ZodType<LanguageModelUsage>,\n agentId: z.string().nullable(),\n userId: z.string(),\n organizationId: z.string(),\n deleted: z.boolean(),\n deletedAt: z.coerce.date().nullable(),\n deletedBy: z.string().nullable(),\n conversationAnalysis: ConversationAnalysisSchema.nullable().optional(),\n blocked: z.boolean(),\n blockedAt: z.coerce.date().nullable(),\n blockedReasonCode: z.enum(BlockedReasonCode).nullable(),\n blockedReason: z.string().nullable(),\n warningCount: z.number(),\n lastMessageAt: z.coerce.date(),\n})\n\nexport const ChatsQuerystringSchema = z.object({\n ...zodQs.pagination(),\n ...zodQs.sort(['updatedAt', 'createdAt', 'lastMessageAt']),\n ...zodQs.filters(['agentId', 'userId']),\n ...zodQs.range('updatedAt'),\n ...zodQs.range('lastMessageAt'),\n ...zodQs.ids(),\n startDate: z.string().optional(),\n endDate: z.string().optional(),\n})\n\nexport const ChatsPublicSchema = z.object({\n id: z.string(),\n agentId: z.string().optional(),\n organizationId: z.string(),\n summary: z.string().optional(),\n title: z.string().optional(),\n userId: z.string(),\n createdAt: z.coerce.date(),\n updatedAt: z.coerce.date(),\n lastMessageAt: z.coerce.date(),\n messages: z.array(z.unknown()),\n blocked: z.boolean(),\n})\n\nexport type ChatPublic = z.infer<typeof ChatsPublicSchema>\n","var e=class{constructor(e,t){this.operator=e,this.value=t,Object.defineProperty(this,`_notes`,{writable:!0})}get notes(){return this._notes}addNote(e){this._notes=this._notes||[],this._notes.push(e)}},t=class extends e{},n=class extends t{constructor(e,t){if(!Array.isArray(t))throw Error(`\"${e}\" operator expects to receive an array of conditions`);super(e,t)}};const r=`__itself__`;var i=class extends e{constructor(e,t,n){super(e,n),this.field=t}};const a=new t(`__null__`,null),o=Object.hasOwn||((e,t)=>Object.prototype.hasOwnProperty.call(e,t));function s(e,t){return t instanceof n&&t.operator===e}function c(e,t){let r;for(let i=0,a=t.length;i<a;i++){let a=t[i];if(a instanceof n){if(a.operator!==e){r&&r.push(a);continue}if(a.value.length===0)continue;r||(r=t.slice(0,i));let n=a.value;for(let e=0,t=n.length;e<t;e++)r.push(n[e])}else r&&r.push(a)}return r||t}function l(e,t){if(t.length===1)return t[0];if(t.length===0)return new n(e,t);let r=c(e,t);return r.length===1?r[0]:(r.length,new n(e,r))}const u=e=>e,d=()=>Object.create(null),f=Object.defineProperty(d(),`__@type@__`,{value:`ignore value`});function p(e,t,n=!1){if(!e||e&&e.constructor!==Object)return!1;for(let r in e)if(o(e,r)&&o(t,r)&&(!n||e[r]!==f))return!0;return!1}function m(e){let t=[];for(let n in e)o(e,n)&&e[n]!==f&&t.push(n);return t}function h(e,t){t!==a&&e.push(t)}const g=e=>l(`and`,e),_=e=>l(`or`,e);function v(e,t){let n=e[t];if(typeof n!=`function`)throw Error(`Unable to interpret \"${String(t)}\" condition. Did you forget to register interpreter for it?`);return n}function y(e){return e.operator}function b(e,t){let n=t,r=n&&n.getInterpreterName||y,i;switch(n?n.numberOfArguments:0){case 1:i=(t=>v(e,r(t,n))(t,a));break;case 3:i=((t,i,o)=>v(e,r(t,n))(t,i,o,a));break;default:i=((t,i)=>v(e,r(t,n))(t,i,a));break}let a={...n,interpret:i};return a.interpret}const x={compound(e,t,r){let i=(Array.isArray(t)?t:[t]).map(e=>r.parse(e));return new n(e.name,i)},field(e,t,n){return new i(e.name,n.field,t)},document(e,n){return new t(e.name,n)}};var S=class{constructor(e,t=d()){this.parse=this.parse.bind(this),this._options={operatorToConditionName:t.operatorToConditionName||u,defaultOperatorName:t.defaultOperatorName||`eq`,mergeFinalConditions:t.mergeFinalConditions||g},this._instructions=Object.keys(e).reduce((t,n)=>(t[n]={name:this._options.operatorToConditionName(n),...e[n]},t),{}),this._fieldInstructionContext={...t.fieldContext,field:``,query:{},parse:this.parse,hasOperators:e=>p(e,this._instructions,t.useIgnoreValue)},this._documentInstructionContext={...t.documentContext,parse:this.parse,query:{}},this._objectKeys=t.useIgnoreValue?m:Object.keys}setParse(e){this.parse=e,this._fieldInstructionContext.parse=e,this._documentInstructionContext.parse=e}parseField(e,t,n,r){let i=this._instructions[t];if(!i)throw Error(`Unsupported operator \"${t}\"`);if(i.type!==`field`)throw Error(`Unexpected ${i.type} operator \"${t}\" at field level`);return this._fieldInstructionContext.field=e,this._fieldInstructionContext.query=r,this.parseInstruction(i,n,this._fieldInstructionContext)}parseInstruction(e,t,n){return typeof e.validate==`function`&&e.validate(e,t),(e.parse||x[e.type])(e,t,n)}parseFieldOperators(e,t){let n=[],r=this._objectKeys(t);for(let i=0,a=r.length;i<a;i++){let a=r[i];if(!this._instructions[a])throw Error(`Field query for \"${e}\" may contain only operators or a plain object as a value`);h(n,this.parseField(e,a,t[a],t))}return n}parse(e){let t=[],n=this._objectKeys(e);this._documentInstructionContext.query=e;for(let r=0,i=n.length;r<i;r++){let i=n[r],a=e[i],o=this._instructions[i];if(o){if(o.type!==`document`&&o.type!==`compound`)throw Error(`Cannot use parsing instruction for operator \"${i}\" in \"document\" context as it is supposed to be used in \"${o.type}\" context`);h(t,this.parseInstruction(o,a,this._documentInstructionContext))}else this._fieldInstructionContext.hasOperators(a)?t.push(...this.parseFieldOperators(i,a)):h(t,this.parseField(i,this._options.defaultOperatorName,a,e))}return this._options.mergeFinalConditions(t)}};function C(e,t){return(n,...r)=>{let i=e(n,...r),a=t.bind(null,i);return Object.defineProperty(a,`ast`,{value:i}),a}}export{n as CompoundCondition,e as Condition,t as DocumentCondition,i as FieldCondition,r as ITSELF,a as NULL_CONDITION,S as ObjectQueryParser,g as buildAnd,_ as buildOr,b as createInterpreter,C as createTranslatorFactory,x as defaultInstructionParsers,p as hasOperators,u as identity,f as ignoreValue,s as isCompound,d as object,l as optimizedCompoundCondition};\n//# sourceMappingURL=index.mjs.map","import{CompoundCondition as e,FieldCondition as t,ITSELF as n,NULL_CONDITION as r,ObjectQueryParser as i,buildAnd as a,defaultInstructionParsers as o,optimizedCompoundCondition as s}from\"@ucast/core\";var c=Object.defineProperty,l=((e,t)=>{let n={};for(var r in e)c(n,r,{get:e[r],enumerable:!0});return t||c(n,Symbol.toStringTag,{value:`Module`}),n})({$all:()=>y,$and:()=>u,$elemMatch:()=>h,$eq:()=>E,$exists:()=>x,$gt:()=>C,$gte:()=>S,$in:()=>_,$lt:()=>w,$lte:()=>T,$mod:()=>b,$ne:()=>D,$nin:()=>v,$nor:()=>f,$not:()=>m,$options:()=>k,$or:()=>d,$regex:()=>O,$size:()=>g,$where:()=>A});const u={type:`compound`,validate:M,parse(e,t,n){let r=p(e,t,n);return s(e.name,r)}},d=u,f={type:`compound`,validate:M,parse(t,n,r){let i=p(t,n,r);return new e(t.name,i)}};function p(e,t,n){let r=Array(t.length);for(let i=0;i<t.length;i++){let a=t[i];F(e,a,i),r[i]=n.parse(a)}return r}const m={type:`field`,validate(e,t){if(!(t&&(t instanceof RegExp||t.constructor===Object)))throw Error(`\"${e.name}\" expects to receive either regular expression or object of field operators`)},parse(n,r,i){let a=r instanceof RegExp?new t(`regex`,i.field,r):i.parse(r,i);return new e(n.name,[a])}},h={type:`field`,validate(e,t){if(!t||t.constructor!==Object)throw Error(`\"${e.name}\" expects to receive an object with nested query or field level operators`)},parse(e,r,{parse:i,field:a,hasOperators:o}){let s=o(r)?i(r,{field:n}):i(r);return new t(e.name,a,s)}},g={type:`field`,validate:P(`number`)},_={type:`field`,validate:j},v=_,y=_,b={type:`field`,validate(e,t){if(!Array.isArray(t)||t.length!==2)throw Error(`\"${e.name}\" expects an array with 2 numeric elements`)}},x={type:`field`,validate:P(`boolean`)},S={type:`field`,validate:N},C=S,w=C,T=C,E={type:`field`},D=E,O={type:`field`,validate(e,t){if(!(t instanceof RegExp)&&typeof t!=`string`)throw Error(`\"${e.name}\" expects value to be a regular expression or a string that represents regular expression`)},parse(e,n,r){let i=typeof n==`string`?new RegExp(n,r.query.$options||``):n;return new t(e.name,r.field,i)}},k={type:`field`,parse:()=>r},A={type:`document`,validate:P(`function`)};function j(e,t){if(!Array.isArray(t))throw Error(`\"${e.name}\" expects value to be an array`)}function M(e,t){if(j(e,t),!t.length)throw Error(`\"${e.name}\" expects to have at least one element in array`)}function N(e,t){if(!(typeof t==`string`||typeof t==`number`||t instanceof Date))throw Error(`\"${e.name}\" expects value to be comparable (i.e., string, number or date)`)}function P(e){return(t,n)=>{if(typeof n!==e)throw Error(`\"${t.name}\" expects value to be a \"${e}\"`)}}function F(e,t,n){let r=t;if(!r||r.constructor!==Object)throw Error(`\"${e.name}\" expects item at index ${n} to be an object`)}var I=class extends i{constructor(e){super(e,{defaultOperatorName:`$eq`,operatorToConditionName:e=>e.slice(1)})}parse(e,t){return t&&t.field?a(this.parseFieldOperators(t.field,e)):super.parse(e)}};const L=l;export{y as $all,u as $and,h as $elemMatch,E as $eq,x as $exists,C as $gt,S as $gte,_ as $in,w as $lt,T as $lte,b as $mod,D as $ne,v as $nin,f as $nor,m as $not,k as $options,d as $or,O as $regex,g as $size,A as $where,I as MongoQueryParser,L as allParsingInstructions,o as defaultParsers};\n//# sourceMappingURL=index.mjs.map","import type { MongoQuery } from '@ucast/mongo2js'\n\n// Minimal structural shape of the better-auth session consumed here.\n// Declared locally to avoid a workspace dependency cycle with `auth`\n// (auth depends on `ability` for its access-control config).\n// The full `auth` Session is structurally assignable to this type.\nexport type Session = {\n session: {\n activeOrganizationId?: string | null\n organizationRole?: string | null\n }\n user: {\n id?: string\n role?: string | null\n }\n}\n\nexport enum Audience {\n Backoffice = 'backoffice',\n Frontoffice = 'frontoffice',\n System = 'system',\n Public = 'public',\n}\n\nexport enum Subject {\n All = 'all',\n Todo = 'todo',\n User = 'user',\n Chat = 'chat',\n Agent = 'agent',\n SubAgent = 'subAgent',\n Document = 'document',\n AgentDocument = 'agent_document',\n AgentAnalytic = 'agent_analytic',\n McpServer = 'mcp_server',\n Media = 'media',\n RevisedAnswer = 'revised_answer',\n Organization = 'organization',\n Member = 'member',\n Lead = 'lead',\n MessageFeedback = 'message_feedback',\n Backoffice = 'backoffice',\n Frontoffice = 'frontoffice',\n System = 'system',\n Invitation = 'invitation',\n Crawler = 'crawler',\n ReasoningChat = 'reasoning_chat',\n TimeTrackerChat = 'time_tracker_chat',\n OrganizationExternalAuth = 'organization_external_auth',\n AgentEndpoint = 'agent_endpoint',\n AgentEndpointLog = 'agent_endpoint_log',\n AgentApiTool = 'agent_api_tool',\n DocumentFolder = 'document_folder',\n Integration = 'integration',\n Notification = 'notification',\n PlatformConnection = 'platform_connection',\n}\n\n// action\nexport type Action =\n | 'create'\n | 'read'\n | 'update'\n | 'delete'\n | 'manage'\n | 'impersonate'\n | 'invite'\n | 'access'\n | 'clone'\n | 'ban'\n | 'unban'\n | 'change-role'\n | 'resend'\n | 'cancel'\n | 'execute'\n | 'refill'\n\nexport type Capability = {\n action: Action\n subject: Subject\n fields?: string[]\n condition?: MongoQuery\n inverted?: boolean\n}\n\nexport type CapabilitiesFactory = (\n currentSession?: Session | null,\n) => Capability[]\n","import { AgentStatus } from 'models'\nimport type { CapabilitiesFactory } from '../types'\nimport { Subject } from '../types'\n\nconst GuestCapabilities: CapabilitiesFactory = (currentSession) => {\n if (!currentSession) {\n return []\n }\n return [\n // chats\n {\n subject: Subject.Chat,\n action: 'create',\n },\n {\n subject: Subject.Chat,\n action: 'read',\n condition: {\n createdBy: {\n $eq: currentSession.user?.id,\n },\n },\n },\n {\n subject: Subject.Chat,\n action: 'update',\n },\n {\n subject: Subject.Chat,\n action: 'delete',\n },\n // agents\n {\n subject: Subject.Agent,\n action: 'read',\n condition: {\n status: {\n $eq: AgentStatus.Active,\n },\n },\n },\n // feedbacks\n {\n subject: Subject.MessageFeedback,\n action: 'create',\n },\n {\n subject: Subject.MessageFeedback,\n action: 'read',\n condition: {\n createdBy: {\n $eq: currentSession.user?.id,\n },\n },\n },\n ]\n}\nexport default GuestCapabilities\n","import type { MongoAbility, InferSubjects, ForcedSubject } from '@casl/ability'\nimport type { MongoQuery } from '@ucast/mongo2js'\nimport { Action, Capability, Subject, type Session } from './types'\nimport { $or } from '@ucast/mongo2js'\nimport {\n AbilityBuilder,\n createMongoAbility,\n buildMongoQueryMatcher,\n Ability as PureAbility,\n createAliasResolver,\n FieldMatcher,\n subject as caslSubject,\n} from '@casl/ability'\nimport { organizationCapabilitiesByRole, userCapabilitiesByRole } from './roles'\nimport DefaultCapabilities from './roles/User'\nimport { createAccessControl } from 'better-auth/plugins'\nimport {\n adminAc,\n defaultStatements,\n memberAc,\n ownerAc,\n} from 'better-auth/plugins/organization/access'\n\nexport const OrganizationRoles = {\n admin: 'admin',\n owner: 'owner',\n member: 'member',\n user: 'user',\n} as const\n\nexport const UserRoles = {\n admin: 'admin',\n user: 'user',\n} as const\n\n// action alias\nconst resolveAction = createAliasResolver({\n modify: ['read', 'update', 'delete'],\n})\n\n// subject\nexport type AbilitySubject =\n | InferSubjects<'all' | Subject, true>\n | ForcedSubject<InferSubjects<'all' | Subject, true>>\ntype Ability = MongoAbility<[Action, AbilitySubject]>\n\n// matcher\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst conditionsMatcher = buildMongoQueryMatcher({ $or } as Record<string, any>)\nconst fieldMatcher: FieldMatcher = (fields) => (field) => fields.includes(field)\n\n// ability\nexport const ability = new PureAbility<[Action, AbilitySubject], MongoQuery>(\n DefaultCapabilities(),\n {\n conditionsMatcher,\n resolveAction,\n fieldMatcher,\n },\n)\n\nexport const isValidOrganizationRole = (\n role?: string | null,\n): role is keyof typeof OrganizationRoles => {\n if (!role) {\n return false\n }\n return role in OrganizationRoles\n}\n\nexport const isValidUserRole = (\n role?: string | null,\n): role is keyof typeof UserRoles => {\n if (!role) {\n return false\n }\n return role in UserRoles\n}\n\nexport const getOrganizationRoleCapabilities = (\n currentSession?: Session | null,\n): Capability[] => {\n const organizationRole = currentSession?.session?.organizationRole\n if (!isValidOrganizationRole(organizationRole)) {\n return DefaultCapabilities(currentSession)\n }\n const capabilities = organizationCapabilitiesByRole[organizationRole]\n if (typeof capabilities === 'function') {\n return capabilities(currentSession)\n }\n return capabilities\n}\n\nexport const getUserRoleCapabilities = (\n currentSession?: Session | null,\n): Capability[] => {\n const userRole = currentSession?.user?.role\n if (!isValidUserRole(userRole)) {\n return DefaultCapabilities(currentSession)\n }\n const capabilities = userCapabilitiesByRole[userRole]\n if (typeof capabilities === 'function') {\n return capabilities(currentSession)\n }\n return capabilities\n}\n\n/**\n * Builds a standalone ability instance for a session, without touching the\n * shared singleton. Use for per-call checks outside the HTTP request flow\n * (e.g. MCP tool handlers).\n */\nexport const buildAbilityForSession = (\n currentSession?: Session | null,\n): Ability => {\n const { can, build, cannot } = new AbilityBuilder<Ability>(\n createMongoAbility,\n )\n const organizationRoleCapabilities =\n getOrganizationRoleCapabilities(currentSession)\n const userRoleCapabilities = getUserRoleCapabilities(currentSession)\n const capabilities = [\n ...organizationRoleCapabilities,\n ...userRoleCapabilities,\n ]\n capabilities.forEach((capability) => {\n const { action, subject, fields, condition, inverted } = capability\n if (inverted) {\n cannot(action, subject, fields, condition)\n return\n }\n can(action, subject, fields, condition)\n })\n return build({\n conditionsMatcher,\n resolveAction,\n fieldMatcher,\n })\n}\n\nexport const updateAbilityFromSession = (currentSession?: Session | null) => {\n ability.update(buildAbilityForSession(currentSession).rules)\n}\n\nexport type PermissionMap = Partial<Record<Action, Subject>>\n\n/**\n * Evaluates a route-style permission map ({ action: Subject }) against an\n * ability instance. When `payload` is provided it is bound as subject\n * conditions, same as the HTTP route preHandler does with `request.body`.\n * Returns the first denied pair, or null when every check passes.\n * Single source of truth for both the HTTP preHandler and the Platform MCP\n * tool handlers.\n */\nexport const findDeniedPermission = (\n abilityInstance: Pick<Ability, 'can'>,\n permissions: PermissionMap,\n payload?: unknown,\n): { action: Action; subject: Subject } | null => {\n let action: Action\n for (action in permissions) {\n const actionSubject = permissions[action]\n if (!actionSubject) {\n continue\n }\n const target = payload\n ? caslSubject(\n actionSubject,\n payload as Record<PropertyKey, unknown>,\n )\n : actionSubject\n if (!abilityInstance.can(action, target)) {\n return { action, subject: actionSubject }\n }\n }\n return null\n}\n\nconst ac = createAccessControl(defaultStatements)\nconst adminRole = ac.newRole(adminAc.statements)\nconst ownerRole = ac.newRole(ownerAc.statements)\nconst memberRole = ac.newRole(memberAc.statements)\nconst userRole = ac.newRole(memberAc.statements)\n\nexport const betterAuthOrganizationSettings = {\n ac,\n roles: {\n owner: ownerRole,\n admin: adminRole,\n member: memberRole,\n user: userRole,\n },\n}\n\nexport * from './types'\nexport { subject } from '@casl/ability'\n","import { removeTrailingSlash } from 'utils'\n\nexport interface ResolveShortUrlsOptions {\n /** Extra headers to send (e.g. auth). */\n headers?: Record<string, string>\n /** Fetch credentials mode. Defaults to `'include'`. */\n credentials?: RequestCredentials\n}\n\n/**\n * Single implementation of the short-url batch resolve used across apps\n * (chatbot api client, frontend app root). Maps `/api/r/<hash>` short urls back\n * to their real target via `POST <backend>/api/r/resolve`.\n *\n * The redirect endpoint lives at `/api/r`, outside the JSON:API basePath, and\n * is unauthenticated. Returns an empty map (short urls left untouched) on any\n * failure so callers never have to handle errors.\n */\nexport async function resolveShortUrls(\n backendUrl: string,\n hashes: string[],\n options: ResolveShortUrlsOptions = {},\n): Promise<Record<string, string>> {\n try {\n const root = removeTrailingSlash(backendUrl)\n const response = await fetch(`${root}/api/r/resolve`, {\n method: 'POST',\n credentials: options.credentials ?? 'include',\n headers: {\n ...options.headers,\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({ hashes }),\n })\n if (!response.ok) {\n return {}\n }\n const data = (await response.json()) as {\n urls?: Record<string, string>\n }\n return data.urls ?? {}\n } catch {\n return {}\n }\n}\n","import { Audience } from 'ability'\nimport { ChatSchema, ChatsPublicSchema } from 'models'\nimport type {\n AgentAccess,\n Chat,\n MessageFeedback,\n AgentPublic,\n MediaSource,\n} from 'models'\nimport { addInitialSlash, removeTrailingSlash } from 'utils'\nimport { resolveShortUrls as resolveShortUrlsRequest } from './resolveShortUrls'\n\n// The chats endpoints respond with the full shape (frontoffice) or the\n// trimmed public one — same union the backend declares. Parsing coerces the\n// date fields (plain JSON strings otherwise); on mismatch keep the raw\n// payload instead of failing.\nconst ConversationSchema = ChatSchema.or(ChatsPublicSchema)\nfunction parseConversation(raw: unknown): Chat {\n const result = ConversationSchema.safeParse(raw)\n return (result.success ? result.data : raw) as Chat\n}\n\nexport interface ChatbotApiClientOptions {\n baseUrl: string\n basePath?: string\n headers?: () => Record<string, string> | undefined\n credentials?: RequestCredentials\n}\n\nexport interface SubmitFeedbackPayload {\n messageId: string\n chatId: string\n agentId: string\n vote?: 'upvote' | 'downvote'\n userQuestion: string\n assistantMessage: string\n comment?: string\n}\n\nexport interface SubmitLeadPayload {\n agentId: string\n chatId: string\n [key: string]: unknown\n}\n\n/** A file from the user's \"My files\" KB, as listed for a chat. */\nexport interface ChatbotFile {\n documentId: string\n name: string | null\n mimeType: string | null\n indexStatus: string\n createdAt: string\n}\n\nexport interface ChatbotApiClient {\n getConversations(\n agentId: string,\n userId: string | undefined,\n ): Promise<Chat[]>\n getChat(agentId: string, chatId: string): Promise<Chat | null>\n updateChatTitle(\n agentId: string,\n chatId: string,\n title: string,\n ): Promise<Chat>\n deleteChat(agentId: string, chatId: string): Promise<void>\n getMessageFeedbacks(chatId: string): Promise<MessageFeedback[]>\n submitMessageFeedback(\n payload: SubmitFeedbackPayload,\n ): Promise<MessageFeedback>\n submitLead(payload: SubmitLeadPayload): Promise<void>\n getAgent(orgSlug: string, agentId: string): Promise<AgentPublic>\n getAgentAccess(orgSlug: string, agentId: string): Promise<AgentAccess>\n getMediaUrl(agentId: string, chatId: string, storedFileName: string): string\n appendAuthToken(url: string): string\n uploadMedia(\n agentId: string,\n chatId: string,\n file: File,\n ): Promise<MediaSource>\n getChatEndpoint(agentId: string, type?: 'chat' | 'reasoning'): string\n expandSourceContext(\n agentId: string,\n documentId: string,\n chunkIndex: number,\n windowSize?: number,\n ): Promise<{ content: string }>\n downloadSourceDocument(\n agentId: string,\n documentId: string,\n ): Promise<{ downloadUrl: string; filename: string; mimeType: string }>\n reverseGeocode(\n lat: number,\n lon: number,\n lang?: string,\n ): Promise<string | undefined>\n forwardGeocode(\n query: string,\n lang?: string,\n ): Promise<\n { latitude: number; longitude: number; displayName: string } | undefined\n >\n getOAuthAuthorizeUrl(\n agentId: string,\n serverName: string,\n ): Promise<{ mcpServerId: string; authorizeUrl: string }>\n resolveShortUrls(hashes: string[]): Promise<Record<string, string>>\n getChatFiles(chatId: string): Promise<ChatbotFile[]>\n getChatFileDownloadUrl(documentId: string, inline?: boolean): string\n getChatFilePreviewUrl(documentId: string): string\n deleteChatFile(documentId: string): Promise<void>\n}\n\nexport function createChatbotApiClient(\n options: ChatbotApiClientOptions,\n): ChatbotApiClient {\n const basePath = options.basePath\n ? addInitialSlash(options.basePath)\n : `/api/v1/${Audience.Public}`\n\n const baseUrl = `${removeTrailingSlash(options.baseUrl)}${basePath}`\n\n // \"My files\" lives under the frontoffice audience, not the agent's base\n // (which may be public, backoffice, …) — derive it by swapping the trailing\n // audience segment of basePath for `frontoffice`.\n const frontofficeBase = `${removeTrailingSlash(options.baseUrl)}${basePath.replace(\n /\\/[^/]+$/,\n `/${Audience.Frontoffice}`,\n )}`\n\n async function request<T>(\n url: string,\n init?: RequestInit,\n responseType: 'json' | 'void' = 'json',\n ): Promise<T> {\n const response = await fetch(`${baseUrl}${url}`, {\n credentials: options.credentials ?? 'include',\n ...init,\n headers: {\n ...options.headers?.(),\n ...init?.headers,\n },\n })\n\n if (!response.ok) {\n throw new Error(\n `API error: ${response.status} ${response.statusText}`,\n )\n }\n\n if (responseType === 'void' || response.status === 204) {\n return undefined as T\n }\n\n return response.json() as Promise<T>\n }\n\n return {\n async getConversations(agentId, userId) {\n const userFilter = userId\n ? `&filter[userId]=${encodeURIComponent(userId)}`\n : ''\n const conversations = await request<unknown[]>(\n `/agents/${encodeURIComponent(agentId)}/chats?sort=-lastMessageAt&page[size]=100${userFilter}`,\n )\n return conversations.map(parseConversation)\n },\n\n async getChatFiles(chatId) {\n const response = await fetch(\n `${frontofficeBase}/me/documents?filter[chatId]=${encodeURIComponent(chatId)}&page[size]=100`,\n {\n credentials: options.credentials ?? 'include',\n headers: { ...options.headers?.() },\n },\n )\n if (!response.ok) {\n throw new Error(\n `API error: ${response.status} ${response.statusText}`,\n )\n }\n return (await response.json()) as ChatbotFile[]\n },\n\n getChatFileDownloadUrl(documentId, inline) {\n const suffix = inline ? '?inline=true' : ''\n // appendAuthToken carries a bearer in the query so <img>/<a>\n // subresources (which can't set an Authorization header) authorize\n // cross-origin in the embedded widget; no-op for cookie auth.\n return this.appendAuthToken(\n `${frontofficeBase}/me/documents/${encodeURIComponent(documentId)}/download${suffix}`,\n )\n },\n\n getChatFilePreviewUrl(documentId) {\n // Small resized preview blob for row thumbnails (see download\n // endpoint ?preview=true); auth token carried for cross-origin <img>.\n return this.appendAuthToken(\n `${frontofficeBase}/me/documents/${encodeURIComponent(documentId)}/download?preview=true`,\n )\n },\n\n async deleteChatFile(documentId) {\n const response = await fetch(\n `${frontofficeBase}/me/documents/${encodeURIComponent(documentId)}`,\n {\n method: 'DELETE',\n credentials: options.credentials ?? 'include',\n headers: { ...options.headers?.() },\n },\n )\n if (!response.ok) {\n throw new Error(\n `API error: ${response.status} ${response.statusText}`,\n )\n }\n },\n\n async getChat(agentId, chatId) {\n const result = await request<Chat | undefined>(\n `/agents/${encodeURIComponent(agentId)}/chats/${encodeURIComponent(chatId)}`,\n )\n return result ? parseConversation(result) : null\n },\n\n async updateChatTitle(agentId, chatId, title) {\n return parseConversation(\n await request<Chat>(\n `/agents/${encodeURIComponent(agentId)}/chats/${encodeURIComponent(chatId)}`,\n {\n method: 'PATCH',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({ title }),\n },\n ),\n )\n },\n\n async deleteChat(agentId, chatId) {\n await request<void>(\n `/agents/${encodeURIComponent(agentId)}/chats/${encodeURIComponent(chatId)}`,\n { method: 'DELETE' },\n 'void',\n )\n },\n\n async getMessageFeedbacks(chatId) {\n return request<MessageFeedback[]>(\n `/message-feedbacks?filter[chatId]=${encodeURIComponent(chatId)}&page[size]=200`,\n )\n },\n\n async submitMessageFeedback(payload) {\n return request<MessageFeedback>('/message-feedbacks', {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify(payload),\n })\n },\n\n async submitLead(payload) {\n await request<void>(\n '/leads',\n {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify(payload),\n },\n 'void',\n )\n },\n\n async getAgent(orgSlug, agentId) {\n return request<AgentPublic>(\n `/organizations/${encodeURIComponent(orgSlug)}/agents/${encodeURIComponent(agentId)}`,\n )\n },\n\n async getAgentAccess(orgSlug, agentId) {\n return request<AgentAccess>(\n `/organizations/${encodeURIComponent(orgSlug)}/agents/${encodeURIComponent(agentId)}/access`,\n )\n },\n\n async uploadMedia(agentId, chatId, file) {\n const formData = new FormData()\n formData.append('file', file)\n const response = await fetch(\n `${baseUrl}/agents/${encodeURIComponent(agentId)}/chats/${encodeURIComponent(chatId)}/media/upload`,\n {\n method: 'POST',\n credentials: options.credentials ?? 'include',\n // Do NOT set Content-Type — browser sets multipart/form-data with boundary automatically\n headers: options.headers?.(),\n body: formData,\n },\n )\n if (!response.ok) {\n const text = await response.text().catch(() => '')\n let title = `Upload failed: ${response.status}`\n try {\n title =\n (JSON.parse(text) as { title?: string }).title ?? title\n } catch {\n // ignore parse errors\n }\n throw new Error(title)\n }\n return response.json() as Promise<MediaSource>\n },\n\n getChatEndpoint(agentId, type = 'chat') {\n const path = type === 'reasoning' ? 'reasoning-chat' : 'chat'\n return `${baseUrl}/agents/${encodeURIComponent(agentId)}/${path}`\n },\n\n appendAuthToken(url) {\n const bearer = options\n .headers?.()\n ?.[`Authorization`]?.slice('Bearer '.length)\n if (!bearer) {\n return url\n }\n const separator = url.includes('?') ? '&' : '?'\n return `${url}${separator}token=${encodeURIComponent(bearer)}`\n },\n\n getMediaUrl(agentId, chatId, storedFileName) {\n const base = `${baseUrl}/agents/${encodeURIComponent(agentId)}/chats/${encodeURIComponent(chatId)}/media/${encodeURIComponent(storedFileName)}/view`\n return this.appendAuthToken(base)\n },\n\n async expandSourceContext(\n agentId,\n documentId,\n chunkIndex,\n windowSize = 2,\n ) {\n return request<{ content: string }>(\n `/agents/${encodeURIComponent(agentId)}/sources/expand-context`,\n {\n method: 'POST',\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify({\n documentId,\n chunkIndex,\n windowSize,\n }),\n },\n )\n },\n\n async downloadSourceDocument(agentId, documentId) {\n return request<{\n downloadUrl: string\n filename: string\n mimeType: string\n }>(\n `/agents/${encodeURIComponent(agentId)}/sources/documents/${encodeURIComponent(documentId)}/download`,\n )\n },\n\n async reverseGeocode(lat, lon, lang) {\n const params = new URLSearchParams({\n lat: String(lat),\n lon: String(lon),\n })\n if (lang) {\n params.set('lang', lang)\n }\n try {\n const data = await request<{ displayName?: string }>(\n `/geocoder/reverse?${params}`,\n )\n return data.displayName\n } catch {\n return undefined\n }\n },\n\n async forwardGeocode(query, lang) {\n const params = new URLSearchParams({ q: query })\n if (lang) {\n params.set('lang', lang)\n }\n try {\n return await request<{\n latitude: number\n longitude: number\n displayName: string\n }>(`/geocoder/forward?${params}`)\n } catch {\n return undefined\n }\n },\n\n async getOAuthAuthorizeUrl(agentId, serverName) {\n const params = new URLSearchParams({ serverName })\n return request<{ mcpServerId: string; authorizeUrl: string }>(\n `/agents/${encodeURIComponent(agentId)}/mcp-oauth/authorize?${params}`,\n )\n },\n\n resolveShortUrls(hashes) {\n return resolveShortUrlsRequest(options.baseUrl, hashes, {\n headers: options.headers?.(),\n credentials: options.credentials,\n })\n },\n }\n}\n"],"x_google_ignoreList":[3,4],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.es-XfWQ82pb.js","names":["w","T","C","S","x","d","h","e","b","y","u","n","p","_","o","c","l","i","v","m","g","a","E","D","s","f","t","r"],"sources":["../../../../node_modules/.pnpm/dot-prop@10.1.0/node_modules/dot-prop/index.js","../../../../node_modules/.pnpm/@volverjs+form-vue@1.1.5_@volverjs+ui-vue@0.0.15_@json-render+core@0.19.0_zod@4.4.3__@v_58f1472d339b8f176799c93aa1f1f83f/node_modules/@volverjs/form-vue/dist/index.es.js"],"sourcesContent":["const isObject = value => {\n\tconst type = typeof value;\n\treturn value !== null && (type === 'object' || type === 'function');\n};\n\n// Optimized empty check without creating an array.\nconst isEmptyObject = value => {\n\tif (!isObject(value)) {\n\t\treturn false;\n\t}\n\n\tfor (const key in value) {\n\t\tif (Object.hasOwn(value, key)) {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\treturn true;\n};\n\nconst disallowedKeys = new Set([\n\t'__proto__',\n\t'prototype',\n\t'constructor',\n]);\n\n// Maximum allowed array index to prevent DoS via memory exhaustion.\nconst MAX_ARRAY_INDEX = 1_000_000;\n\n// Optimized digit check without Set overhead.\nconst isDigit = character => character >= '0' && character <= '9';\n\n// Check if a segment should be coerced to a number.\nfunction shouldCoerceToNumber(segment) {\n\t// Only coerce valid non-negative integers without leading zeros.\n\tif (segment === '0') {\n\t\treturn true;\n\t}\n\n\tif (/^[1-9]\\d*$/.test(segment)) {\n\t\tconst parsedNumber = Number.parseInt(segment, 10);\n\t\t// Check within safe integer range and under MAX_ARRAY_INDEX to prevent DoS.\n\t\treturn parsedNumber <= Number.MAX_SAFE_INTEGER && parsedNumber <= MAX_ARRAY_INDEX;\n\t}\n\n\treturn false;\n}\n\n// Helper to process a path segment (eliminates duplication).\nfunction processSegment(segment, parts) {\n\tif (disallowedKeys.has(segment)) {\n\t\treturn false; // Signal to return empty array.\n\t}\n\n\tif (segment && shouldCoerceToNumber(segment)) {\n\t\tparts.push(Number.parseInt(segment, 10));\n\t} else {\n\t\tparts.push(segment);\n\t}\n\n\treturn true;\n}\n\nexport function parsePath(path) { // eslint-disable-line complexity\n\tif (typeof path !== 'string') {\n\t\tthrow new TypeError(`Expected a string, got ${typeof path}`);\n\t}\n\n\tconst parts = [];\n\tlet currentSegment = '';\n\tlet currentPart = 'start';\n\tlet isEscaping = false;\n\tlet position = 0;\n\n\tfor (const character of path) {\n\t\tposition++;\n\n\t\t// Handle escaping.\n\t\tif (isEscaping) {\n\t\t\tcurrentSegment += character;\n\t\t\tisEscaping = false;\n\t\t\tcontinue;\n\t\t}\n\n\t\t// Handle escape character.\n\t\tif (character === '\\\\') {\n\t\t\tif (currentPart === 'index') {\n\t\t\t\tthrow new Error(`Invalid character '${character}' in an index at position ${position}`);\n\t\t\t}\n\n\t\t\tif (currentPart === 'indexEnd') {\n\t\t\t\tthrow new Error(`Invalid character '${character}' after an index at position ${position}`);\n\t\t\t}\n\n\t\t\tisEscaping = true;\n\t\t\tcurrentPart = currentPart === 'start' ? 'property' : currentPart;\n\t\t\tcontinue;\n\t\t}\n\n\t\tswitch (character) {\n\t\t\tcase '.': {\n\t\t\t\tif (currentPart === 'index') {\n\t\t\t\t\tthrow new Error(`Invalid character '${character}' in an index at position ${position}`);\n\t\t\t\t}\n\n\t\t\t\tif (currentPart === 'indexEnd') {\n\t\t\t\t\tcurrentPart = 'property';\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tif (!processSegment(currentSegment, parts)) {\n\t\t\t\t\treturn [];\n\t\t\t\t}\n\n\t\t\t\tcurrentSegment = '';\n\t\t\t\tcurrentPart = 'property';\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tcase '[': {\n\t\t\t\tif (currentPart === 'index') {\n\t\t\t\t\tthrow new Error(`Invalid character '${character}' in an index at position ${position}`);\n\t\t\t\t}\n\n\t\t\t\tif (currentPart === 'indexEnd') {\n\t\t\t\t\tcurrentPart = 'index';\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tif (currentPart === 'property' || currentPart === 'start') {\n\t\t\t\t\t// Only push if we have content OR if we're in 'property' mode (not 'start')\n\t\t\t\t\tif ((currentSegment || currentPart === 'property') && !processSegment(currentSegment, parts)) {\n\t\t\t\t\t\treturn [];\n\t\t\t\t\t}\n\n\t\t\t\t\tcurrentSegment = '';\n\t\t\t\t}\n\n\t\t\t\tcurrentPart = 'index';\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tcase ']': {\n\t\t\t\tif (currentPart === 'index') {\n\t\t\t\t\tif (currentSegment === '') {\n\t\t\t\t\t\t// Empty brackets - backtrack and treat as literal\n\t\t\t\t\t\tconst lastSegment = parts.pop() || '';\n\t\t\t\t\t\tcurrentSegment = lastSegment + '[]';\n\t\t\t\t\t\tcurrentPart = 'property';\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Index must be digits only (enforced by default case)\n\t\t\t\t\t\tconst parsedNumber = Number.parseInt(currentSegment, 10);\n\t\t\t\t\t\tconst isValidInteger = !Number.isNaN(parsedNumber)\n\t\t\t\t\t\t\t&& Number.isFinite(parsedNumber)\n\t\t\t\t\t\t\t&& parsedNumber >= 0\n\t\t\t\t\t\t\t&& parsedNumber <= Number.MAX_SAFE_INTEGER\n\t\t\t\t\t\t\t&& parsedNumber <= MAX_ARRAY_INDEX\n\t\t\t\t\t\t\t&& currentSegment === String(parsedNumber);\n\n\t\t\t\t\t\tif (isValidInteger) {\n\t\t\t\t\t\t\tparts.push(parsedNumber);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// Keep as string if not a valid integer representation or exceeds MAX_ARRAY_INDEX\n\t\t\t\t\t\t\tparts.push(currentSegment);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tcurrentSegment = '';\n\t\t\t\t\t\tcurrentPart = 'indexEnd';\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tif (currentPart === 'indexEnd') {\n\t\t\t\t\tthrow new Error(`Invalid character '${character}' after an index at position ${position}`);\n\t\t\t\t}\n\n\t\t\t\t// In property context, treat ] as literal character\n\t\t\t\tcurrentSegment += character;\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tdefault: {\n\t\t\t\tif (currentPart === 'index' && !isDigit(character)) {\n\t\t\t\t\tthrow new Error(`Invalid character '${character}' in an index at position ${position}`);\n\t\t\t\t}\n\n\t\t\t\tif (currentPart === 'indexEnd') {\n\t\t\t\t\tthrow new Error(`Invalid character '${character}' after an index at position ${position}`);\n\t\t\t\t}\n\n\t\t\t\tif (currentPart === 'start') {\n\t\t\t\t\tcurrentPart = 'property';\n\t\t\t\t}\n\n\t\t\t\tcurrentSegment += character;\n\t\t\t}\n\t\t}\n\t}\n\n\t// Handle unfinished escaping (trailing backslash)\n\tif (isEscaping) {\n\t\tcurrentSegment += '\\\\';\n\t}\n\n\t// Handle end of path\n\tswitch (currentPart) {\n\t\tcase 'property': {\n\t\t\tif (!processSegment(currentSegment, parts)) {\n\t\t\t\treturn [];\n\t\t\t}\n\n\t\t\tbreak;\n\t\t}\n\n\t\tcase 'index': {\n\t\t\tthrow new Error('Index was not closed');\n\t\t}\n\n\t\tcase 'start': {\n\t\t\tparts.push('');\n\t\t\tbreak;\n\t\t}\n\t\t// No default\n\t}\n\n\treturn parts;\n}\n\nfunction normalizePath(path) {\n\tif (typeof path === 'string') {\n\t\treturn parsePath(path);\n\t}\n\n\tif (Array.isArray(path)) {\n\t\tconst normalized = [];\n\n\t\tfor (const [index, segment] of path.entries()) {\n\t\t\t// Type validation.\n\t\t\tif (typeof segment !== 'string' && typeof segment !== 'number') {\n\t\t\t\tthrow new TypeError(`Expected a string or number for path segment at index ${index}, got ${typeof segment}`);\n\t\t\t}\n\n\t\t\t// Validate numbers are finite (reject NaN, Infinity, -Infinity).\n\t\t\tif (typeof segment === 'number' && !Number.isFinite(segment)) {\n\t\t\t\tthrow new TypeError(`Path segment at index ${index} must be a finite number, got ${segment}`);\n\t\t\t}\n\n\t\t\t// Check for disallowed keys.\n\t\t\tif (disallowedKeys.has(segment)) {\n\t\t\t\treturn [];\n\t\t\t}\n\n\t\t\t// Normalize numeric strings to numbers for simplicity.\n\t\t\t// This treats ['items', '0'] the same as ['items', 0].\n\t\t\tif (typeof segment === 'string' && shouldCoerceToNumber(segment)) {\n\t\t\t\tnormalized.push(Number.parseInt(segment, 10));\n\t\t\t} else {\n\t\t\t\tnormalized.push(segment);\n\t\t\t}\n\t\t}\n\n\t\treturn normalized;\n\t}\n\n\treturn [];\n}\n\nexport function getProperty(object, path, value) {\n\tif (!isObject(object) || (typeof path !== 'string' && !Array.isArray(path))) {\n\t\treturn value === undefined ? object : value;\n\t}\n\n\tconst pathArray = normalizePath(path);\n\tif (pathArray.length === 0) {\n\t\treturn value;\n\t}\n\n\tfor (let index = 0; index < pathArray.length; index++) {\n\t\tconst key = pathArray[index];\n\t\tobject = object[key];\n\n\t\tif (object === undefined || object === null) {\n\t\t\t// Return default value if we hit undefined/null before the end of the path.\n\t\t\t// This ensures get({foo: null}, 'foo.bar') returns the default value, not null.\n\t\t\tif (index !== pathArray.length - 1) {\n\t\t\t\treturn value;\n\t\t\t}\n\n\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn object === undefined ? value : object;\n}\n\nexport function setProperty(object, path, value) {\n\tif (!isObject(object) || (typeof path !== 'string' && !Array.isArray(path))) {\n\t\treturn object;\n\t}\n\n\tconst root = object;\n\tconst pathArray = normalizePath(path);\n\n\tif (pathArray.length === 0) {\n\t\treturn object;\n\t}\n\n\tfor (let index = 0; index < pathArray.length; index++) {\n\t\tconst key = pathArray[index];\n\n\t\tif (index === pathArray.length - 1) {\n\t\t\tobject[key] = value;\n\t\t} else if (!isObject(object[key])) {\n\t\t\tconst nextKey = pathArray[index + 1];\n\t\t\t// Create arrays for numeric indices, objects for string keys\n\t\t\tconst shouldCreateArray = typeof nextKey === 'number';\n\t\t\tobject[key] = shouldCreateArray ? [] : {};\n\t\t}\n\n\t\tobject = object[key];\n\t}\n\n\treturn root;\n}\n\nexport function deleteProperty(object, path) {\n\tif (!isObject(object) || (typeof path !== 'string' && !Array.isArray(path))) {\n\t\treturn false;\n\t}\n\n\tconst pathArray = normalizePath(path);\n\n\tif (pathArray.length === 0) {\n\t\treturn false;\n\t}\n\n\tfor (let index = 0; index < pathArray.length; index++) {\n\t\tconst key = pathArray[index];\n\n\t\tif (index === pathArray.length - 1) {\n\t\t\tconst existed = Object.hasOwn(object, key);\n\t\t\tif (!existed) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tdelete object[key];\n\t\t\treturn true;\n\t\t}\n\n\t\tobject = object[key];\n\n\t\tif (!isObject(object)) {\n\t\t\treturn false;\n\t\t}\n\t}\n}\n\nexport function hasProperty(object, path) {\n\tif (!isObject(object) || (typeof path !== 'string' && !Array.isArray(path))) {\n\t\treturn false;\n\t}\n\n\tconst pathArray = normalizePath(path);\n\tif (pathArray.length === 0) {\n\t\treturn false;\n\t}\n\n\tfor (const key of pathArray) {\n\t\tif (!isObject(object) || !(key in object)) {\n\t\t\treturn false;\n\t\t}\n\n\t\tobject = object[key];\n\t}\n\n\treturn true;\n}\n\nexport function escapePath(path) {\n\tif (typeof path !== 'string') {\n\t\tthrow new TypeError(`Expected a string, got ${typeof path}`);\n\t}\n\n\t// Escape special characters in one pass\n\treturn path.replaceAll(/[\\\\.[]/g, String.raw`\\$&`);\n}\n\nfunction normalizeEntries(value) {\n\tconst entries = Object.entries(value);\n\tif (Array.isArray(value)) {\n\t\treturn entries.map(([key, entryValue]) => {\n\t\t\t// Use shouldCoerceToNumber for consistency with parsePath\n\t\t\tconst normalizedKey = shouldCoerceToNumber(key)\n\t\t\t\t? Number.parseInt(key, 10)\n\t\t\t\t: key;\n\t\t\treturn [normalizedKey, entryValue];\n\t\t});\n\t}\n\n\treturn entries;\n}\n\nexport function stringifyPath(pathSegments, options = {}) {\n\tif (!Array.isArray(pathSegments)) {\n\t\tthrow new TypeError(`Expected an array, got ${typeof pathSegments}`);\n\t}\n\n\tconst {preferDotForIndices = false} = options;\n\tconst parts = [];\n\n\tfor (const [index, segment] of pathSegments.entries()) {\n\t\t// Validate segment types at runtime\n\t\tif (typeof segment !== 'string' && typeof segment !== 'number') {\n\t\t\tthrow new TypeError(`Expected a string or number for path segment at index ${index}, got ${typeof segment}`);\n\t\t}\n\n\t\tif (typeof segment === 'number') {\n\t\t\t// Handle numeric indices\n\t\t\tif (!Number.isInteger(segment) || segment < 0) {\n\t\t\t\t// Non-integer or negative numbers are treated as string keys\n\t\t\t\tconst escaped = escapePath(String(segment));\n\t\t\t\tparts.push(index === 0 ? escaped : `.${escaped}`);\n\t\t\t} else if (preferDotForIndices && index > 0) {\n\t\t\t\tparts.push(`.${segment}`);\n\t\t\t} else {\n\t\t\t\tparts.push(`[${segment}]`);\n\t\t\t}\n\t\t} else if (typeof segment === 'string') {\n\t\t\tif (segment === '') {\n\t\t\t\t// Empty string handling\n\t\t\t\tif (index === 0) {\n\t\t\t\t\t// Start with empty string, no prefix needed\n\t\t\t\t} else {\n\t\t\t\t\tparts.push('.');\n\t\t\t\t}\n\t\t\t} else if (shouldCoerceToNumber(segment)) {\n\t\t\t\t// Numeric strings are normalized to numbers\n\t\t\t\tconst numericValue = Number.parseInt(segment, 10);\n\t\t\t\tif (preferDotForIndices && index > 0) {\n\t\t\t\t\tparts.push(`.${numericValue}`);\n\t\t\t\t} else {\n\t\t\t\t\tparts.push(`[${numericValue}]`);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// Regular strings use dot notation\n\t\t\t\tconst escaped = escapePath(segment);\n\t\t\t\tparts.push(index === 0 ? escaped : `.${escaped}`);\n\t\t\t}\n\t\t}\n\t}\n\n\treturn parts.join('');\n}\n\nfunction * deepKeysIterator(object, currentPath = [], ancestors = new Set()) {\n\tif (!isObject(object) || isEmptyObject(object)) {\n\t\tif (currentPath.length > 0) {\n\t\t\tyield stringifyPath(currentPath);\n\t\t}\n\n\t\treturn;\n\t}\n\n\t// Check if this object is already in the current path (circular reference)\n\tif (ancestors.has(object)) {\n\t\treturn;\n\t}\n\n\t// Add to ancestors, recurse, then remove (backtrack)\n\tancestors.add(object);\n\n\t// Reuse currentPath array by push/pop instead of creating new arrays\n\tfor (const [key, value] of normalizeEntries(object)) {\n\t\tcurrentPath.push(key);\n\t\tyield * deepKeysIterator(value, currentPath, ancestors);\n\t\tcurrentPath.pop();\n\t}\n\n\tancestors.delete(object);\n}\n\nexport function deepKeys(object) {\n\treturn [...deepKeysIterator(object)];\n}\n\nexport function unflatten(object) {\n\tconst result = {};\n\tif (!isObject(object)) {\n\t\treturn result;\n\t}\n\n\tfor (const [path, value] of Object.entries(object)) {\n\t\tsetProperty(result, path, value);\n\t}\n\n\treturn result;\n}\n","import { computed as e, defineAsyncComponent as t, defineComponent as n, getCurrentInstance as r, h as i, inject as a, isProxy as o, onBeforeUnmount as s, onMounted as c, provide as l, readonly as u, ref as d, resolveComponent as f, toRaw as p, toRefs as m, unref as h, useId as g, watch as _, withModifiers as v } from \"vue\";\nimport { throttleFilter as y, watchIgnorable as b } from \"@vueuse/core\";\nimport { ZodError as x } from \"zod/v3\";\nimport { $ZodError as S, formatError as C, safeParse as w, safeParseAsync as T } from \"zod/v4/core\";\nimport { getProperty as E, setProperty as D } from \"dot-prop\";\n//#region src/enums.ts\nvar O = /* @__PURE__ */ function(e) {\n\treturn e.text = \"text\", e.number = \"number\", e.email = \"email\", e.password = \"password\", e.tel = \"tel\", e.url = \"url\", e.search = \"search\", e.date = \"date\", e.time = \"time\", e.datetimeLocal = \"datetime-local\", e.month = \"month\", e.week = \"week\", e.color = \"color\", e.select = \"select\", e.checkbox = \"checkbox\", e.radio = \"radio\", e.textarea = \"textarea\", e.radioGroup = \"radioGroup\", e.checkboxGroup = \"checkboxGroup\", e.combobox = \"combobox\", e.custom = \"custom\", e;\n}({}), k = /* @__PURE__ */ function(e) {\n\treturn e.invalid = \"invalid\", e.valid = \"valid\", e.submitting = \"submitting\", e.reset = \"reset\", e.updated = \"updated\", e.unknown = \"unknown\", e;\n}({});\n//#endregion\n//#region src/utils.ts\nfunction A(e) {\n\treturn Array.isArray(e) ? \"array\" : e === null ? \"null\" : typeof e;\n}\nfunction j(e, t) {\n\tlet n = A(e);\n\treturn t.type ? Array.isArray(t.type) ? t.type.some((t) => t === n || t === \"integer\" && n === \"number\" && Number.isInteger(e)) : t.type === n || t.type === \"integer\" && n === \"number\" && Number.isInteger(e) : !0;\n}\nvar M = (e) => e._def.typeName === \"ZodObject\", N = (e) => e._zod.def.type === \"object\", P = (e) => e._def.typeName === \"ZodDefault\", F = (e) => e._zod.def.type === \"default\", I = (e) => e._def.typeName === \"ZodNullable\", L = (e) => e._zod.def.type === \"nullable\", R = (e) => e._def.typeName === \"ZodRecord\", z = (e) => e._zod.def.type === \"record\", B = (e) => e._def.typeName === \"ZodArray\", ee = (e) => e._zod.def.type === \"array\", te = (e) => e._def.typeName === \"ZodEffects\", V = (e) => e._def.typeName === \"ZodOptional\", H = (e) => e._zod.def.type === \"optional\", ne = (e) => e._zod.def.type === \"pipe\", U = (e) => e._zod.def.type === \"transform\";\nfunction W(e) {\n\tlet t = e;\n\tfor (; te(t);) t = t.innerType();\n\treturn t;\n}\nfunction G(e) {\n\tlet t = e;\n\tfor (; ne(t);) t = U(t._zod.def.out) ? t._zod.def.in : t._zod.def.out;\n\treturn t;\n}\nvar re = (e) => {\n\tlet t = W(e);\n\treturn V(t) && (t = t._def.innerType), t;\n}, ie = (e) => {\n\tlet t = G(e);\n\treturn H(t) && (t = t._zod.def.innerType), t;\n}, ae = (e) => !!V(W(e)), oe = (e) => !!H(G(e));\nfunction K(e, t) {\n\tif (e.length === 0) return t ?? void 0;\n\tif (t !== void 0) {\n\t\tfor (let n of e) if (j(t, n)) return q(n, t);\n\t\tfor (let n of e) {\n\t\t\tlet e = n;\n\t\t\tif (!e.type || e.type === \"object\") return q(e, t);\n\t\t}\n\t}\n\treturn q(e[0], t);\n}\nfunction q(e, t) {\n\tif (\"const\" in e) return e.const;\n\tif (e.anyOf && Array.isArray(e.anyOf)) return K(e.anyOf, t);\n\tif (e.oneOf && Array.isArray(e.oneOf)) return K(e.oneOf, t);\n\tif (e.allOf && Array.isArray(e.allOf)) {\n\t\tlet n = {\n\t\t\t...e,\n\t\t\tallOf: void 0\n\t\t};\n\t\tfor (let t of e.allOf) {\n\t\t\tlet e = t;\n\t\t\te.properties && (n.properties = {\n\t\t\t\t...n.properties,\n\t\t\t\t...e.properties\n\t\t\t}), e.type && !n.type && (n.type = e.type);\n\t\t}\n\t\treturn q(n, t);\n\t}\n\tif (Array.isArray(e.type)) {\n\t\tif (t === null && e.type.includes(\"null\")) return null;\n\t\tlet n = e.type.find((e) => e !== \"null\");\n\t\treturn n ? q({\n\t\t\t...e,\n\t\t\ttype: n\n\t\t}, t) : e.default ?? null;\n\t}\n\tif (e.type !== \"object\" || !e.properties) switch (e.type) {\n\t\tcase \"string\": return typeof t == \"string\" ? t : e.default;\n\t\tcase \"number\":\n\t\tcase \"integer\": return typeof t == \"number\" ? t : e.default;\n\t\tcase \"boolean\": return typeof t == \"boolean\" ? t : e.default;\n\t\tcase \"null\": return t === null ? t : e.default;\n\t\tcase \"array\": return Array.isArray(t) ? e.items ? t.map((t) => q(e.items, t)) : t : e.default;\n\t\tdefault: return e.default;\n\t}\n\tlet n = e.properties, r = t && typeof t == \"object\" && !Array.isArray(t) ? t : void 0, i = {};\n\tfor (let e in n) {\n\t\tlet t = r?.[e];\n\t\ti[e] = q(n[e], t);\n\t}\n\tif (r && e.additionalProperties !== !1) {\n\t\tlet e = new Set(Object.keys(n));\n\t\tfor (let [t, n] of Object.entries(r)) e.has(t) || (i[t] = n);\n\t}\n\treturn i;\n}\nvar J = (e) => \"_zod\" in e, se = {\n\tgetInnerType: re,\n\tisObject: M,\n\thasUnknownKeys: (e) => e._def.unknownKeys === \"passthrough\",\n\tgetShapeEntries: (e) => \"shape\" in e ? Object.entries(e.shape) : [],\n\tisOptional: ae,\n\tisDefault: P,\n\tgetDefaultValue: (e) => e._def.defaultValue(),\n\tgetDefaultInnerType: (e) => e._def.innerType,\n\tisNullable: I,\n\tsafeParse: (e, t) => e.safeParse(t),\n\tisArray: B,\n\tgetArrayElement: (e) => e._def.type,\n\tisRecord: R,\n\tgetRecordValue: (e) => e._def.valueType\n}, ce = {\n\tgetInnerType: ie,\n\tisObject: N,\n\thasUnknownKeys: (e) => !!(e._zod.def.catchall && e._zod.def.catchall._zod.def.type !== \"never\"),\n\tgetShapeEntries: (e) => \"shape\" in e._zod.def ? Object.entries(e._zod.def.shape) : [],\n\tisOptional: oe,\n\tisDefault: F,\n\tgetDefaultValue: (e) => e._zod.def.defaultValue,\n\tgetDefaultInnerType: (e) => e._zod.def.innerType,\n\tisNullable: L,\n\tsafeParse: (e, t) => w(e, t),\n\tisArray: ee,\n\tgetArrayElement: (e) => e._zod.def.element,\n\tisRecord: z,\n\tgetRecordValue: (e) => e._zod.def.valueType\n};\nfunction le(e, t, n) {\n\tlet r = e.getInnerType(e.getArrayElement(t));\n\treturn e.isObject(r) ? n.map((t) => Y(e, r, t)) : n;\n}\nfunction ue(e, t, n) {\n\tlet r = e.getInnerType(e.getRecordValue(t));\n\treturn e.isObject(r) ? Object.keys(n).reduce((t, i) => (t[i] = Y(e, r, n[i]), t), {}) : n;\n}\nfunction de(e, t, n, r) {\n\tlet i = e.isOptional(n), a = e.getInnerType(n), o;\n\tif (e.isDefault(a) && (o = e.getDefaultValue(a), a = e.getDefaultInnerType(a)), r === null && e.isNullable(a)) return [t, r];\n\tif (r == null && i) return [t, o];\n\tif (a && r !== void 0) {\n\t\tlet i = e.safeParse(n, r);\n\t\tif (i.success) return [t, i.data ?? o];\n\t}\n\treturn e.isArray(a) && Array.isArray(r) ? [t, le(e, a, r)] : e.isRecord(a) && r ? [t, ue(e, a, r)] : e.isObject(a) ? [t, Y(e, a, r && typeof r == \"object\" ? r : o)] : [t, o];\n}\nfunction Y(e, t, n) {\n\tlet r = n && typeof n == \"object\" && !Array.isArray(n) ? n : {};\n\treturn {\n\t\t...e.hasUnknownKeys(t) ? r : {},\n\t\t...Object.fromEntries(e.getShapeEntries(t).map(([t, n]) => de(e, t, n, r[t])))\n\t};\n}\nfunction X(e, t = {}) {\n\tlet n = J(e) ? ce : se, r = n.getInnerType(e);\n\treturn n.isObject(r) ? Y(n, r, t) : t;\n}\nvar fe = (e, t) => J(e) ? T(e, t) : e.safeParseAsync(t), pe = (e, t) => J(e) ? C(t) : t.format(), me = (e, t) => J(e) ? C(new S(t)) : new x(t).format();\n//#endregion\n//#region src/VvForm.ts\nfunction he(t, r, a, s, f) {\n\tlet m = d(), h = d(), g = e(() => h.value === k.invalid), x = d(), S = d(!1), C, w = (e) => {\n\t\tlet n = X(t, e);\n\t\tif (a?.class) {\n\t\t\tlet e = a.class;\n\t\t\treturn new e(n);\n\t\t}\n\t\treturn n;\n\t}, T = async (e = x.value, n) => {\n\t\tif (C = n?.fields, S.value) return !0;\n\t\tlet r = await fe(t, e);\n\t\tif (!r.success) {\n\t\t\tif (h.value = k.invalid, !C?.size) return m.value = pe(t, r.error), !1;\n\t\t\tlet e = r.error.issues.filter((e) => C?.has(e.path.join(\".\")));\n\t\t\treturn e.length ? (m.value = me(t, e), !1) : (m.value = void 0, !0);\n\t\t}\n\t\treturn m.value = void 0, h.value = k.valid, x.value = w(r.data), !0;\n\t}, E = () => {\n\t\tm.value = void 0, h.value = void 0, C = void 0;\n\t}, { ignoreUpdates: D, stop: O } = b(x, () => {\n\t\th.value = k.updated;\n\t}, {\n\t\tdeep: !0,\n\t\teventFilter: y(a?.updateThrottle ?? 500)\n\t}), A = () => {\n\t\tD(() => {\n\t\t\tx.value = w();\n\t\t}), E(), h.value = k.reset;\n\t}, j = async (e) => S.value || !await T(void 0, e) ? !1 : (h.value = k.submitting, !0), M = u(m), N = u(h);\n\treturn {\n\t\tclear: E,\n\t\terrors: m,\n\t\tformData: x,\n\t\tignoreUpdates: D,\n\t\tinvalid: g,\n\t\treadonly: S,\n\t\treset: A,\n\t\tstatus: h,\n\t\twrappers: f,\n\t\tstopUpdatesWatch: O,\n\t\tsubmit: j,\n\t\tvalidate: T,\n\t\tVvForm: n({\n\t\t\tname: \"VvForm\",\n\t\t\tprops: {\n\t\t\t\tcontinuousValidation: {\n\t\t\t\t\ttype: Boolean,\n\t\t\t\t\tdefault: !1\n\t\t\t\t},\n\t\t\t\tmodelValue: {\n\t\t\t\t\ttype: Object,\n\t\t\t\t\tdefault: () => ({})\n\t\t\t\t},\n\t\t\t\treadonly: {\n\t\t\t\t\ttype: Boolean,\n\t\t\t\t\tdefault: a?.readonly\n\t\t\t\t},\n\t\t\t\ttag: {\n\t\t\t\t\ttype: String,\n\t\t\t\t\tdefault: \"form\"\n\t\t\t\t},\n\t\t\t\ttemplate: {\n\t\t\t\t\ttype: [Array, Function],\n\t\t\t\t\tdefault: void 0\n\t\t\t\t},\n\t\t\t\tsuperRefine: {\n\t\t\t\t\ttype: Function,\n\t\t\t\t\tdefault: void 0\n\t\t\t\t},\n\t\t\t\tvalidateFields: {\n\t\t\t\t\ttype: Array,\n\t\t\t\t\tdefault: void 0\n\t\t\t\t}\n\t\t\t},\n\t\t\temits: [\n\t\t\t\t\"invalid\",\n\t\t\t\t\"submit\",\n\t\t\t\t\"update:modelValue\",\n\t\t\t\t\"update:readonly\",\n\t\t\t\t\"valid\",\n\t\t\t\t\"reset\"\n\t\t\t],\n\t\t\texpose: [\n\t\t\t\t\"errors\",\n\t\t\t\t\"invalid\",\n\t\t\t\t\"readonly\",\n\t\t\t\t\"status\",\n\t\t\t\t\"submit\",\n\t\t\t\t\"tag\",\n\t\t\t\t\"template\",\n\t\t\t\t\"valid\",\n\t\t\t\t\"validate\",\n\t\t\t\t\"clear\",\n\t\t\t\t\"reset\"\n\t\t\t],\n\t\t\tslots: Object,\n\t\t\tsetup(e, { emit: t }) {\n\t\t\t\treturn x.value = w(p(e.modelValue)), _(() => e.modelValue, (e) => {\n\t\t\t\t\tif (e) {\n\t\t\t\t\t\tlet t = o(e) ? p(e) : e;\n\t\t\t\t\t\tif (JSON.stringify(t) === JSON.stringify(p(x.value))) return;\n\t\t\t\t\t\tx.value = w(t);\n\t\t\t\t\t}\n\t\t\t\t}, { deep: !0 }), _(h, async (n) => {\n\t\t\t\t\tif (n === k.invalid) {\n\t\t\t\t\t\tlet e = p(m.value);\n\t\t\t\t\t\tt(\"invalid\", e), a?.onInvalid?.(e);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tif (n === k.valid) {\n\t\t\t\t\t\tlet e = p(x.value);\n\t\t\t\t\t\tt(\"valid\", e), a?.onValid?.(e), t(\"update:modelValue\", e), a?.onUpdate?.(e);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tif (n === k.submitting) {\n\t\t\t\t\t\tlet e = p(x.value);\n\t\t\t\t\t\tt(\"submit\", e), a?.onSubmit?.(e);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tif (n === k.reset) {\n\t\t\t\t\t\tlet e = p(x.value);\n\t\t\t\t\t\tt(\"reset\", e), a?.onReset?.(e);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tif (n === k.updated) {\n\t\t\t\t\t\tif ((m.value || a?.continuousValidation || e.continuousValidation) && await T(void 0, {\n\t\t\t\t\t\t\tsuperRefine: e.superRefine,\n\t\t\t\t\t\t\tfields: C ?? new Set(e.validateFields)\n\t\t\t\t\t\t}), !x.value || !e.modelValue || JSON.stringify(x.value) !== JSON.stringify(e.modelValue)) {\n\t\t\t\t\t\t\tlet e = p(x.value);\n\t\t\t\t\t\t\tt(\"update:modelValue\", e), a?.onUpdate?.(e);\n\t\t\t\t\t\t}\n\t\t\t\t\t\th.value === k.updated && (h.value = k.unknown);\n\t\t\t\t\t}\n\t\t\t\t}), c(() => {\n\t\t\t\t\te.readonly !== void 0 && (S.value = e.readonly);\n\t\t\t\t}), _(() => e.readonly, (e) => {\n\t\t\t\t\tS.value = e;\n\t\t\t\t}), _(S, (n) => {\n\t\t\t\t\tn !== e.readonly && t(\"update:readonly\", S.value);\n\t\t\t\t}), l(r, {\n\t\t\t\t\tclear: E,\n\t\t\t\t\terrors: M,\n\t\t\t\t\tformData: x,\n\t\t\t\t\tignoreUpdates: D,\n\t\t\t\t\tinvalid: g,\n\t\t\t\t\treadonly: S,\n\t\t\t\t\treset: A,\n\t\t\t\t\tstatus: N,\n\t\t\t\t\tstopUpdatesWatch: O,\n\t\t\t\t\tsubmit: j,\n\t\t\t\t\tvalidate: T,\n\t\t\t\t\twrappers: f\n\t\t\t\t}), {\n\t\t\t\t\tclear: E,\n\t\t\t\t\terrors: M,\n\t\t\t\t\tformData: x,\n\t\t\t\t\tignoreUpdates: D,\n\t\t\t\t\tinvalid: g,\n\t\t\t\t\tisReadonly: S,\n\t\t\t\t\treset: A,\n\t\t\t\t\tstatus: N,\n\t\t\t\t\tstopUpdatesWatch: O,\n\t\t\t\t\tsubmit: () => j({\n\t\t\t\t\t\tsuperRefine: e.superRefine,\n\t\t\t\t\t\tfields: new Set(e.validateFields)\n\t\t\t\t\t}),\n\t\t\t\t\tvalidate: T,\n\t\t\t\t\twrappers: f\n\t\t\t\t};\n\t\t\t},\n\t\t\trender() {\n\t\t\t\tlet e = () => this.$slots?.default?.({\n\t\t\t\t\terrors: M.value,\n\t\t\t\t\tformData: x.value,\n\t\t\t\t\tinvalid: g.value,\n\t\t\t\t\treadonly: S.value,\n\t\t\t\t\tstatus: N.value,\n\t\t\t\t\twrappers: f,\n\t\t\t\t\tclear: E,\n\t\t\t\t\tignoreUpdates: D,\n\t\t\t\t\treset: A,\n\t\t\t\t\tstopUpdatesWatch: O,\n\t\t\t\t\tsubmit: j,\n\t\t\t\t\tvalidate: T\n\t\t\t\t}) ?? this.$slots.default;\n\t\t\t\treturn i(this.tag, {\n\t\t\t\t\tonSubmit: v(this.submit, [\"prevent\"]),\n\t\t\t\t\tonReset: v(this.reset, [\"prevent\"])\n\t\t\t\t}, (this.template ?? a?.template) && s ? [i(s, { schema: this.template ?? a?.template }, { default: e })] : { default: e });\n\t\t\t}\n\t\t})\n\t};\n}\n//#endregion\n//#region src/VvFormField.ts\nfunction ge(r, o, d, p) {\n\treturn n({\n\t\tname: \"VvFormField\",\n\t\tprops: {\n\t\t\ttype: {\n\t\t\t\ttype: String,\n\t\t\t\tvalidator: (e) => Object.values(O).includes(e),\n\t\t\t\tdefault: O.custom\n\t\t\t},\n\t\t\tis: {\n\t\t\t\ttype: [Object, String],\n\t\t\t\tdefault: void 0\n\t\t\t},\n\t\t\tname: {\n\t\t\t\ttype: [\n\t\t\t\t\tString,\n\t\t\t\t\tNumber,\n\t\t\t\t\tBoolean,\n\t\t\t\t\tSymbol\n\t\t\t\t],\n\t\t\t\trequired: !0\n\t\t\t},\n\t\t\tprops: {\n\t\t\t\ttype: [Object, Function],\n\t\t\t\tdefault: () => ({})\n\t\t\t},\n\t\t\tshowValid: {\n\t\t\t\ttype: Boolean,\n\t\t\t\tdefault: !1\n\t\t\t},\n\t\t\tdefaultValue: {\n\t\t\t\ttype: [\n\t\t\t\t\tString,\n\t\t\t\t\tNumber,\n\t\t\t\t\tBoolean,\n\t\t\t\t\tArray,\n\t\t\t\t\tObject\n\t\t\t\t],\n\t\t\t\tdefault: void 0\n\t\t\t},\n\t\t\tlazyLoad: {\n\t\t\t\ttype: Boolean,\n\t\t\t\tdefault: !1\n\t\t\t},\n\t\t\treadonly: {\n\t\t\t\ttype: Boolean,\n\t\t\t\tdefault: void 0\n\t\t\t}\n\t\t},\n\t\temits: [\n\t\t\t\"invalid\",\n\t\t\t\"update:formData\",\n\t\t\t\"update:modelValue\",\n\t\t\t\"valid\"\n\t\t],\n\t\texpose: [\n\t\t\t\"component\",\n\t\t\t\"errors\",\n\t\t\t\"hasProps\",\n\t\t\t\"invalid\",\n\t\t\t\"invalidLabel\",\n\t\t\t\"is\",\n\t\t\t\"type\"\n\t\t],\n\t\tslots: Object,\n\t\tsetup(n, { slots: i, emit: v }) {\n\t\t\tlet { props: y, name: b } = m(n), x = g(), S = a(o, void 0);\n\t\t\tS && S.fields.value.set(x, n.name);\n\t\t\tlet C = a(r), w = e({\n\t\t\t\tget() {\n\t\t\t\t\tif (C?.formData) return E(new Object(C.formData.value), String(n.name));\n\t\t\t\t},\n\t\t\t\tset(e) {\n\t\t\t\t\tC?.formData && (D(new Object(C.formData.value), String(n.name), e), v(\"update:modelValue\", {\n\t\t\t\t\t\tnewValue: w.value,\n\t\t\t\t\t\tformData: C?.formData\n\t\t\t\t\t}));\n\t\t\t\t}\n\t\t\t});\n\t\t\tc(() => {\n\t\t\t\tw.value === void 0 && n.defaultValue !== void 0 && (w.value = n.defaultValue);\n\t\t\t}), s(() => {\n\t\t\t\tS && S.fields.value.delete(x);\n\t\t\t});\n\t\t\tlet T = e(() => {\n\t\t\t\tif (C?.errors.value) return E(C.errors.value, String(n.name));\n\t\t\t}), k = e(() => T.value?._errors), A = e(() => T.value !== void 0), j = _(A, (e) => {\n\t\t\t\tif (e) {\n\t\t\t\t\tv(\"invalid\", T.value), S && S.errors.value.set(String(n.name), T.value);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tv(\"valid\", w.value), S && S.errors.value.delete(n.name);\n\t\t\t}), M = _(() => C?.formData, () => {\n\t\t\t\tv(\"update:formData\", C?.formData);\n\t\t\t}, { deep: !0 });\n\t\t\ts(() => {\n\t\t\t\tj(), M();\n\t\t\t});\n\t\t\tlet N = (e) => {\n\t\t\t\te instanceof InputEvent && (e = e.target.value), w.value = e;\n\t\t\t}, P = e(() => {\n\t\t\t\tlet e = y.value;\n\t\t\t\treturn typeof e == \"function\" && (e = e(C?.formData)), Object.keys(e).reduce((t, n) => (t[n] = h(e[n]), t), {});\n\t\t\t}), F = e(() => C?.readonly.value || S?.readonly.value ? !0 : P.value.readonly ?? n.readonly), I = e(() => ({\n\t\t\t\t...P.value,\n\t\t\t\tname: P.value.name ?? n.name,\n\t\t\t\tinvalid: A.value,\n\t\t\t\tvalid: n.showValid ? !!(!A.value && w.value) : void 0,\n\t\t\t\ttype: ((e) => {\n\t\t\t\t\tif ([\n\t\t\t\t\t\tO.color,\n\t\t\t\t\t\tO.date,\n\t\t\t\t\t\tO.datetimeLocal,\n\t\t\t\t\t\tO.email,\n\t\t\t\t\t\tO.month,\n\t\t\t\t\t\tO.number,\n\t\t\t\t\t\tO.password,\n\t\t\t\t\t\tO.search,\n\t\t\t\t\t\tO.tel,\n\t\t\t\t\t\tO.text,\n\t\t\t\t\t\tO.time,\n\t\t\t\t\t\tO.url,\n\t\t\t\t\t\tO.week\n\t\t\t\t\t].includes(e)) return e;\n\t\t\t\t})(n.type),\n\t\t\t\tinvalidLabel: k.value,\n\t\t\t\tmodelValue: w.value,\n\t\t\t\treadonly: F.value,\n\t\t\t\t\"onUpdate:modelValue\": N\n\t\t\t}));\n\t\t\treturn l(d, {\n\t\t\t\tname: u(b),\n\t\t\t\terrors: u(T)\n\t\t\t}), {\n\t\t\t\tcomponent: e(() => {\n\t\t\t\t\tif (n.type === O.custom) return { render() {\n\t\t\t\t\t\treturn i.default?.({\n\t\t\t\t\t\t\terrors: u(T).value,\n\t\t\t\t\t\t\tformData: C?.formData.value,\n\t\t\t\t\t\t\tformErrors: C?.errors.value,\n\t\t\t\t\t\t\tinvalid: A.value,\n\t\t\t\t\t\t\tinvalidLabel: k.value,\n\t\t\t\t\t\t\tmodelValue: w.value,\n\t\t\t\t\t\t\treadonly: F.value,\n\t\t\t\t\t\t\tonUpdate: N,\n\t\t\t\t\t\t\tsubmit: C?.submit,\n\t\t\t\t\t\t\tvalidate: C?.validate\n\t\t\t\t\t\t}) ?? i.default;\n\t\t\t\t\t} };\n\t\t\t\t\tif (!(p?.lazyLoad ?? n.lazyLoad)) {\n\t\t\t\t\t\tlet e;\n\t\t\t\t\t\tswitch (n.type) {\n\t\t\t\t\t\t\tcase O.select:\n\t\t\t\t\t\t\t\te = f(\"VvSelect\");\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase O.checkbox:\n\t\t\t\t\t\t\t\te = f(\"VvCheckbox\");\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase O.radio:\n\t\t\t\t\t\t\t\te = f(\"VvRadio\");\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase O.textarea:\n\t\t\t\t\t\t\t\te = f(\"VvTextarea\");\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase O.radioGroup:\n\t\t\t\t\t\t\t\te = f(\"VvRadioGroup\");\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase O.checkboxGroup:\n\t\t\t\t\t\t\t\te = f(\"VvCheckboxGroup\");\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase O.combobox:\n\t\t\t\t\t\t\t\te = f(\"VvCombobox\");\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tdefault: e = f(\"VvInputText\");\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (typeof e != \"string\") return e;\n\t\t\t\t\t\tconsole.warn(`[@volverjs/form-vue]: ${e} not found, the component will be loaded asynchronously. To avoid this warning, please set \"lazyLoad\" option.`);\n\t\t\t\t\t}\n\t\t\t\t\treturn t(async () => {\n\t\t\t\t\t\tswitch (p?.sideEffects && await Promise.resolve(p.sideEffects(n.type)), n.type) {\n\t\t\t\t\t\t\tcase O.textarea: return import(\"@volverjs/ui-vue/vv-textarea\");\n\t\t\t\t\t\t\tcase O.radio: return import(\"@volverjs/ui-vue/vv-radio\");\n\t\t\t\t\t\t\tcase O.radioGroup: return import(\"@volverjs/ui-vue/vv-radio-group\");\n\t\t\t\t\t\t\tcase O.checkbox: return import(\"@volverjs/ui-vue/vv-checkbox\");\n\t\t\t\t\t\t\tcase O.checkboxGroup: return import(\"@volverjs/ui-vue/vv-checkbox-group\");\n\t\t\t\t\t\t\tcase O.select: return import(\"@volverjs/ui-vue/vv-select\");\n\t\t\t\t\t\t\tcase O.combobox: return import(\"@volverjs/ui-vue/vv-combobox\");\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn import(\"@volverjs/ui-vue/vv-input-text\");\n\t\t\t\t\t});\n\t\t\t\t}),\n\t\t\t\thasProps: I,\n\t\t\t\tinvalid: A\n\t\t\t};\n\t\t},\n\t\trender() {\n\t\t\treturn this.is ? i(this.is, this.hasProps, this.$slots) : this.type === O.custom ? i(this.component, null, this.$slots) : i(this.component, this.hasProps, this.$slots);\n\t\t}\n\t});\n}\n//#endregion\n//#region src/VvFormFieldsGroup.ts\nfunction _e(t, r, o) {\n\treturn n({\n\t\tname: \"VvFormFieldsGroup\",\n\t\tprops: {\n\t\t\tis: {\n\t\t\t\ttype: [Object, String],\n\t\t\t\tdefault: void 0\n\t\t\t},\n\t\t\tnames: {\n\t\t\t\ttype: [Array, Object],\n\t\t\t\trequired: !0\n\t\t\t},\n\t\t\tprops: {\n\t\t\t\ttype: [Object, Function],\n\t\t\t\tdefault: () => ({})\n\t\t\t},\n\t\t\tshowValid: {\n\t\t\t\ttype: Boolean,\n\t\t\t\tdefault: !1\n\t\t\t},\n\t\t\tdefaultValues: {\n\t\t\t\ttype: [Object],\n\t\t\t\tdefault: void 0\n\t\t\t},\n\t\t\treadonly: {\n\t\t\t\ttype: Boolean,\n\t\t\t\tdefault: void 0\n\t\t\t}\n\t\t},\n\t\temits: [\n\t\t\t\"invalid\",\n\t\t\t\"update:formData\",\n\t\t\t\"update:modelValue\",\n\t\t\t\"valid\"\n\t\t],\n\t\texpose: [\n\t\t\t\"component\",\n\t\t\t\"errors\",\n\t\t\t\"hasProps\",\n\t\t\t\"invalid\",\n\t\t\t\"invalidLabels\",\n\t\t\t\"is\"\n\t\t],\n\t\tslots: Object,\n\t\tsetup(n, { slots: i, emit: d }) {\n\t\t\tlet { props: f, names: p, defaultValues: v } = m(n), y = g(), b = e(() => Array.isArray(p.value) ? p.value : Object.values(p.value)), x = e(() => Array.isArray(p.value) ? p.value : Object.keys(p.value)), S = e(() => Array.isArray(p.value) ? p.value.reduce((e, t) => (e[String(t)] = t, e), {}) : p.value), C = e(() => Object.keys(S.value).reduce((e, t) => (e[String(S.value[t])] = t, e), {})), w = a(r, void 0);\n\t\t\tw && b.value.forEach((e) => {\n\t\t\t\tw.fields.value.set(`${y}-${e}`, e);\n\t\t\t});\n\t\t\tlet T = a(t), O = e({\n\t\t\t\tget() {\n\t\t\t\t\treturn T?.formData ? x.value.reduce((e, t) => (e[t] = E(new Object(T.formData.value), S.value[t]), e), {}) : {};\n\t\t\t\t},\n\t\t\t\tset(e) {\n\t\t\t\t\tT?.formData && (x.value.forEach((t) => {\n\t\t\t\t\t\tD(new Object(T.formData.value), S.value[t], e?.[t]);\n\t\t\t\t\t}), d(\"update:modelValue\", {\n\t\t\t\t\t\tnewValue: O.value,\n\t\t\t\t\t\tformData: T?.formData\n\t\t\t\t\t}));\n\t\t\t\t}\n\t\t\t});\n\t\t\tc(() => {\n\t\t\t\tv.value && b.value.forEach((e) => {\n\t\t\t\t\tv.value?.[e] !== void 0 && O.value[e] === void 0 && (O.value = {\n\t\t\t\t\t\t...O.value,\n\t\t\t\t\t\t[e]: v.value?.[e]\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}), s(() => {\n\t\t\t\tw && b.value.forEach((e) => {\n\t\t\t\t\tw.fields.value.delete(`${y}-${e}`);\n\t\t\t\t});\n\t\t\t});\n\t\t\tlet k = e(() => {\n\t\t\t\tif (!T?.errors.value) return;\n\t\t\t\tlet e = b.value.reduce((e, t) => {\n\t\t\t\t\tif (!T.errors.value) return e;\n\t\t\t\t\tlet n = E(T.errors.value, String(t));\n\t\t\t\t\treturn n === void 0 || (e[String(t)] = n), e;\n\t\t\t\t}, {});\n\t\t\t\tif (Object.keys(e).length !== 0) return e;\n\t\t\t}), A = e(() => {\n\t\t\t\tif (!k.value) return;\n\t\t\t\tlet e = Object.keys(k.value).reduce((e, t) => (k.value?.[t] && (e[C.value[t]] = k.value[t]._errors), e), {});\n\t\t\t\tif (Object.keys(e).length !== 0) return e;\n\t\t\t}), j = e(() => k.value !== void 0), M = e(() => x.value.reduce((e, t) => (e[t] = !!k.value?.[S.value[t]], e), {})), N = _(j, () => {\n\t\t\t\tif (j.value) {\n\t\t\t\t\td(\"invalid\", k.value), w && b.value.forEach((e) => {\n\t\t\t\t\t\tif (!k.value?.[e]) {\n\t\t\t\t\t\t\tw.errors.value.delete(e);\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tw.errors.value.set(e, k.value?.[e]);\n\t\t\t\t\t});\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\td(\"valid\", O.value), w && b.value.forEach((e) => {\n\t\t\t\t\tw.errors.value.delete(e);\n\t\t\t\t});\n\t\t\t}), P = _(() => T?.formData, () => {\n\t\t\t\td(\"update:formData\", T?.formData);\n\t\t\t}, { deep: !0 });\n\t\t\ts(() => {\n\t\t\t\tN(), P();\n\t\t\t});\n\t\t\tlet F = (e) => {\n\t\t\t\tO.value = e;\n\t\t\t}, I = (e, t) => {\n\t\t\t\tt instanceof InputEvent && (t = t.target.value), x.value.includes(e) && (O.value = {\n\t\t\t\t\t...O.value,\n\t\t\t\t\t[e]: t\n\t\t\t\t});\n\t\t\t}, L = e(() => {\n\t\t\t\tlet e = f.value;\n\t\t\t\treturn typeof e == \"function\" && (e = e(T?.formData)), Object.keys(e).reduce((t, n) => (t[n] = h(e[n]), t), {});\n\t\t\t}), R = e(() => T?.readonly.value ? !0 : L.value.readonly ?? n.readonly), z = e(() => x.value.reduce((e, t) => (e[`onUpdate:${t}`] = (e) => {\n\t\t\t\tI(t, e);\n\t\t\t}, e), { \"onUpdate:modelValue\": F })), B = e(() => ({\n\t\t\t\t...z.value,\n\t\t\t\t...L.value,\n\t\t\t\t...O.value,\n\t\t\t\tmodelValue: O.value,\n\t\t\t\tnames: L.value.name ?? b.value,\n\t\t\t\tinvalid: j.value,\n\t\t\t\tinvalids: M.value,\n\t\t\t\tvalid: n.showValid ? !!(!j.value && O.value) : void 0,\n\t\t\t\tinvalidLabels: A.value,\n\t\t\t\treadonly: R.value\n\t\t\t}));\n\t\t\treturn l(o, {\n\t\t\t\tnames: u(p),\n\t\t\t\terrors: u(k)\n\t\t\t}), {\n\t\t\t\tcomponent: e(() => ({ render() {\n\t\t\t\t\treturn i.default?.({\n\t\t\t\t\t\terrors: k.value,\n\t\t\t\t\t\tformData: T?.formData.value,\n\t\t\t\t\t\tformErrors: T?.errors.value,\n\t\t\t\t\t\tinvalid: j.value,\n\t\t\t\t\t\tinvalids: M.value,\n\t\t\t\t\t\tinvalidLabels: A.value,\n\t\t\t\t\t\tmodelValue: O.value,\n\t\t\t\t\t\tonUpdate: F,\n\t\t\t\t\t\tonUpdateField: I,\n\t\t\t\t\t\treadonly: R.value,\n\t\t\t\t\t\tsubmit: T?.submit,\n\t\t\t\t\t\tvalidate: T?.validate\n\t\t\t\t\t}) ?? i.default;\n\t\t\t\t} })),\n\t\t\t\thasProps: B,\n\t\t\t\tinvalid: j\n\t\t\t};\n\t\t},\n\t\trender() {\n\t\t\treturn this.is ? i(this.is, this.hasProps, this.$slots) : i(this.component, null, this.$slots);\n\t\t}\n\t});\n}\n//#endregion\n//#region src/VvFormWrapper.ts\nfunction ve(t, r) {\n\treturn n({\n\t\tname: \"VvFormWrapper\",\n\t\tprops: {\n\t\t\tname: {\n\t\t\t\ttype: String,\n\t\t\t\trequired: !0\n\t\t\t},\n\t\t\ttag: {\n\t\t\t\ttype: String,\n\t\t\t\tdefault: void 0\n\t\t\t},\n\t\t\treadonly: {\n\t\t\t\ttype: Boolean,\n\t\t\t\tdefault: !1\n\t\t\t}\n\t\t},\n\t\temits: [\"invalid\", \"valid\"],\n\t\texpose: [\n\t\t\t\"clear\",\n\t\t\t\"errors\",\n\t\t\t\"fields\",\n\t\t\t\"fieldsErrors\",\n\t\t\t\"formData\",\n\t\t\t\"invalid\",\n\t\t\t\"readonly\",\n\t\t\t\"reset\",\n\t\t\t\"submit\",\n\t\t\t\"tag\",\n\t\t\t\"validate\",\n\t\t\t\"validateWrapper\"\n\t\t],\n\t\tslots: Object,\n\t\tsetup(n, { emit: i }) {\n\t\t\tlet o = a(t), f = a(r, void 0), p = d(/* @__PURE__ */ new Map()), h = d(/* @__PURE__ */ new Map()), { name: g } = m(n), v = e(() => o?.invalid.value ? h.value.size > 0 : !1);\n\t\t\t_(v, (e) => {\n\t\t\t\tif (e) {\n\t\t\t\t\ti(\"invalid\");\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\ti(\"valid\");\n\t\t\t});\n\t\t\tlet y = e(() => o?.readonly.value || n.readonly), b = {\n\t\t\t\tname: u(g),\n\t\t\t\terrors: h,\n\t\t\t\tinvalid: u(v),\n\t\t\t\treadonly: u(y),\n\t\t\t\tfields: p\n\t\t\t};\n\t\t\treturn l(r, b), _(e(() => new Map(p.value)), (e, t) => {\n\t\t\t\tf?.fields && (t.forEach((t, n) => {\n\t\t\t\t\te.has(n) || f?.fields.value.delete(n);\n\t\t\t\t}), e.forEach((e, t) => {\n\t\t\t\t\tf?.fields.value.has(t) || f?.fields.value.set(t, e);\n\t\t\t\t}));\n\t\t\t}, { deep: !0 }), _(h, (e) => {\n\t\t\t\tf?.errors && p.value.forEach((t) => {\n\t\t\t\t\tif (e.has(t) || f.errors.value.delete(t), e.has(t)) {\n\t\t\t\t\t\tlet n = e.get(t);\n\t\t\t\t\t\tn && f.errors.value.set(t, n);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}, { deep: !0 }), c(() => {\n\t\t\t\tif (!o?.wrappers || !g.value) {\n\t\t\t\t\tconsole.warn(\"[@volverjs/form-vue]: Invalid wrapper registration state\");\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (o.wrappers.has(g.value)) {\n\t\t\t\t\tconsole.warn(`[@volverjs/form-vue]: wrapper name \"${g.value}\" is already used`);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\to.wrappers.set(g.value, b);\n\t\t\t}), s(() => {\n\t\t\t\to?.wrappers && g.value && o.wrappers.delete(g.value);\n\t\t\t}), {\n\t\t\t\terrors: o?.errors,\n\t\t\t\tfields: p,\n\t\t\t\tfieldsErrors: h,\n\t\t\t\tformData: o?.formData,\n\t\t\t\tinvalid: v,\n\t\t\t\treadonly: y,\n\t\t\t\tclear: o?.clear,\n\t\t\t\treset: o?.reset,\n\t\t\t\tsubmit: o?.submit,\n\t\t\t\tvalidate: o?.validate,\n\t\t\t\tvalidateWrapper: () => o?.validate(void 0, { fields: new Set(p.value.values()) }) ?? Promise.resolve(!0)\n\t\t\t};\n\t\t},\n\t\trender() {\n\t\t\tlet e = () => this.$slots.default?.({\n\t\t\t\terrors: this.errors,\n\t\t\t\tfieldsErrors: this.fieldsErrors,\n\t\t\t\tformData: this.formData,\n\t\t\t\tinvalid: this.invalid,\n\t\t\t\treadonly: this.readonly,\n\t\t\t\tclear: this.clear,\n\t\t\t\treset: this.reset,\n\t\t\t\tsubmit: this.submit,\n\t\t\t\tvalidate: this.validate,\n\t\t\t\tvalidateWrapper: this.validateWrapper\n\t\t\t});\n\t\t\treturn this.tag ? i(this.tag, null, { default: e }) : e();\n\t\t}\n\t});\n}\n//#endregion\n//#region src/VvFormTemplate.ts\nfunction ye(e, t) {\n\tlet r = n({\n\t\tname: \"VvFormTemplate\",\n\t\tprops: {\n\t\t\tschema: {\n\t\t\t\ttype: [Array, Function],\n\t\t\t\trequired: !0\n\t\t\t},\n\t\t\tscope: {\n\t\t\t\ttype: Object,\n\t\t\t\tdefault: () => ({})\n\t\t\t}\n\t\t},\n\t\tslots: Object,\n\t\tsetup(n, { slots: o }) {\n\t\t\tlet s = a(e);\n\t\t\tif (s?.formData) return () => {\n\t\t\t\tlet e = typeof n.schema == \"function\" ? n.schema(s, n.scope) : n.schema, a, c = e.reduce((e, o) => {\n\t\t\t\t\tlet { vvIs: c, vvName: l, vvSlots: u, vvChildren: d, vvIf: f, vvElseIf: p, vvType: m, vvDefaultValue: g, vvShowValid: _, vvContent: v, ...y } = typeof o == \"function\" ? o(s, n.scope) : o;\n\t\t\t\t\tif (f !== void 0) {\n\t\t\t\t\t\tif (a = typeof f == \"string\" ? !!E(new Object(s.formData.value), f) : h(typeof f == \"function\" ? f(s) : f), !a) return e;\n\t\t\t\t\t} else if (p !== void 0 && a !== void 0) {\n\t\t\t\t\t\tif (a || (a = typeof p == \"string\" ? !!E(new Object(s.formData.value), p) : h(typeof p == \"function\" ? p(s) : p), !a)) return e;\n\t\t\t\t\t} else a = void 0;\n\t\t\t\t\tlet b;\n\t\t\t\t\treturn d && (b = typeof c == \"string\" ? i(r, { schema: d }) : { default: (e) => i(r, {\n\t\t\t\t\t\tschema: d,\n\t\t\t\t\t\tscope: e\n\t\t\t\t\t}) }), l ? (e.push(i(t, {\n\t\t\t\t\t\tname: l,\n\t\t\t\t\t\tis: c,\n\t\t\t\t\t\ttype: m,\n\t\t\t\t\t\tdefaultValue: g,\n\t\t\t\t\t\tshowValid: _,\n\t\t\t\t\t\tprops: y\n\t\t\t\t\t}, u ?? b ?? v)), e) : c ? (e.push(i(c, y, u ?? b ?? v)), e) : (b && (\"default\" in b ? e.push(b.default(n.scope)) : e.push(b)), e);\n\t\t\t\t}, []);\n\t\t\t\treturn c.push(o?.default?.({\n\t\t\t\t\terrors: s?.errors.value,\n\t\t\t\t\tformData: s?.formData.value,\n\t\t\t\t\tinvalid: s?.invalid.value,\n\t\t\t\t\tstatus: s?.status.value,\n\t\t\t\t\tsubmit: s?.submit,\n\t\t\t\t\tvalidate: s?.validate,\n\t\t\t\t\tclear: s?.clear,\n\t\t\t\t\treset: s?.reset\n\t\t\t\t})), c;\n\t\t\t};\n\t\t}\n\t});\n\treturn r;\n}\n//#endregion\n//#region src/index.ts\nfunction Z(e, t = {}) {\n\tlet n = Symbol(\"formInjectionKey\"), r = Symbol(\"formWrapperInjectionKey\"), i = Symbol(\"formFieldInjectionKey\"), a = Symbol(\"formFieldsGroupInjectionKey\"), o = ve(n, r), s = ge(n, r, i, t), c = _e(n, r, a), l = ye(n, s), u = /* @__PURE__ */ new Map(), { clear: d, errors: f, formData: p, ignoreUpdates: m, invalid: h, readonly: g, reset: _, status: v, stopUpdatesWatch: y, submit: b, validate: x, VvForm: S } = he(e, n, t, l, u);\n\treturn {\n\t\tclear: d,\n\t\terrors: f,\n\t\tformData: p,\n\t\tformFieldInjectionKey: i,\n\t\tformInjectionKey: n,\n\t\tformWrapperInjectionKey: r,\n\t\tignoreUpdates: m,\n\t\tinvalid: h,\n\t\treadonly: g,\n\t\treset: _,\n\t\tstatus: v,\n\t\tstopUpdatesWatch: y,\n\t\tsubmit: b,\n\t\tvalidate: x,\n\t\twrappers: u,\n\t\tVvForm: S,\n\t\tVvFormField: s,\n\t\tVvFormFieldsGroup: c,\n\t\tVvFormTemplate: l,\n\t\tVvFormWrapper: o\n\t};\n}\nvar Q = Symbol(\"pluginInjectionKey\");\nfunction be(e) {\n\tlet t = {};\n\treturn e.schema && (t = Z(e.schema, e)), {\n\t\t...t,\n\t\tinstall(n, { global: r = !1 } = {}) {\n\t\t\tn.provide(Q, e), r && (n.config.globalProperties.$vvForm = e, t?.VvForm && n.component(\"VvForm\", t.VvForm), t?.VvFormWrapper && n.component(\"VvFormWrapper\", t.VvFormWrapper), t?.VvFormField && n.component(\"VvFormField\", t.VvFormField), t?.VvFormFieldsGroup && n.component(\"VvFormFieldsGroup\", t.VvFormFieldsGroup), t?.VvFormTemplate && n.component(\"VvFormTemplate\", t.VvFormTemplate));\n\t\t}\n\t};\n}\nvar $ = /* @__PURE__ */ new Map();\nfunction xe(e, t = {}) {\n\tif (t.scope && $.has(t.scope)) return $.get(t.scope);\n\tif (!r()) {\n\t\tlet n = Z(e, t);\n\t\treturn t.scope && $.set(t.scope, n), n;\n\t}\n\tlet n = Z(e, {\n\t\t...a(Q, {}),\n\t\t...t\n\t});\n\treturn t.scope && $.set(t.scope, n), n;\n}\nfunction Se(e, t = {}) {\n\treturn Z(e, t);\n}\n//#endregion\nexport { O as FormFieldType, be as createForm, q as defaultObjectByJSONSchema, X as defaultObjectBySchema, Se as formType, Q as pluginInjectionKey, xe as useForm };\n"],"x_google_ignoreList":[0,1],"mappings":"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"}