@8wave/ai-elements 0.98.0 → 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 (178) hide show
  1. package/README.md +24 -5
  2. package/{dist-vue/_chunks/PkStreamingMarkdown-DEhbK-3c.js → dist/_chunks/PkStreamingMarkdown-6Xx9n1ue.js} +379 -362
  3. package/dist/_chunks/PkStreamingMarkdown-6Xx9n1ue.js.map +1 -0
  4. package/dist/_chunks/{PkToolRequestGeolocation-BJ9NJZIg.js → PkToolRequestGeolocation-B73evGBg.js} +2 -2
  5. package/dist/_chunks/{PkToolRequestGeolocation-BJ9NJZIg.js.map → PkToolRequestGeolocation-B73evGBg.js.map} +1 -1
  6. package/dist/_chunks/{PkToolRequestOAuthConnection-DdvJ6n1K.js → PkToolRequestOAuthConnection-BWP5dsK_.js} +3 -3
  7. package/dist/_chunks/{PkToolRequestOAuthConnection-DdvJ6n1K.js.map → PkToolRequestOAuthConnection-BWP5dsK_.js.map} +1 -1
  8. package/dist/_chunks/{PkToolShowArtifact-BaGEr7O9.js → PkToolShowArtifact-bYYaMGxq.js} +7 -7
  9. package/dist/_chunks/{PkToolShowArtifact-BaGEr7O9.js.map → PkToolShowArtifact-bYYaMGxq.js.map} +1 -1
  10. package/dist/_chunks/{PkToolShowCalendarEvent-BYnhl2er.js → PkToolShowCalendarEvent-DdEWaTj-.js} +4 -4
  11. package/dist/_chunks/{PkToolShowCalendarEvent-BYnhl2er.js.map → PkToolShowCalendarEvent-DdEWaTj-.js.map} +1 -1
  12. package/dist/_chunks/{PkToolShowComparison-DahL5vHr.js → PkToolShowComparison-Dcar7HPW.js} +4 -4
  13. package/dist/_chunks/{PkToolShowComparison-DahL5vHr.js.map → PkToolShowComparison-Dcar7HPW.js.map} +1 -1
  14. package/dist/_chunks/{PkToolShowContactForm-upUNZtId.js → PkToolShowContactForm-DtjVW-n6.js} +13 -13
  15. package/dist/_chunks/{PkToolShowContactForm-upUNZtId.js.map → PkToolShowContactForm-DtjVW-n6.js.map} +1 -1
  16. package/dist/_chunks/{PkToolShowDiagram-Jq_4KWiK.js → PkToolShowDiagram-X35nsoIY.js} +8 -8
  17. package/dist/_chunks/{PkToolShowDiagram-Jq_4KWiK.js.map → PkToolShowDiagram-X35nsoIY.js.map} +1 -1
  18. package/dist/_chunks/{PkToolShowEmail-CtmpDS1B.js → PkToolShowEmail-jVoK8qEh.js} +4 -4
  19. package/dist/_chunks/{PkToolShowEmail-CtmpDS1B.js.map → PkToolShowEmail-jVoK8qEh.js.map} +1 -1
  20. package/dist/_chunks/{PkToolShowForm-BNV4Ja6g.js → PkToolShowForm-BP8asXtz.js} +123 -97
  21. package/dist/_chunks/PkToolShowForm-BP8asXtz.js.map +1 -0
  22. package/dist/_chunks/{PkToolShowImageGallery-mLq2p3aH.js → PkToolShowImageGallery-WQL3T4Hr.js} +2 -2
  23. package/dist/_chunks/{PkToolShowImageGallery-mLq2p3aH.js.map → PkToolShowImageGallery-WQL3T4Hr.js.map} +1 -1
  24. package/dist/_chunks/{PkToolShowLocation-SbgTbuGu.js → PkToolShowLocation-w2t7lKpb.js} +4 -4
  25. package/dist/_chunks/{PkToolShowLocation-SbgTbuGu.js.map → PkToolShowLocation-w2t7lKpb.js.map} +1 -1
  26. package/dist/_chunks/{PkToolShowMessage-CAVpDTzd.js → PkToolShowMessage-BPo7WPim.js} +4 -4
  27. package/dist/_chunks/{PkToolShowMessage-CAVpDTzd.js.map → PkToolShowMessage-BPo7WPim.js.map} +1 -1
  28. package/dist/_chunks/{PkToolShowProductList-puiPFItN.js → PkToolShowProductList-BbY4ni7Y.js} +2 -2
  29. package/dist/_chunks/{PkToolShowProductList-puiPFItN.js.map → PkToolShowProductList-BbY4ni7Y.js.map} +1 -1
  30. package/dist/_chunks/{PkToolShowQrCode-CctXvRyG.js → PkToolShowQrCode-CN0ms27N.js} +4 -4
  31. package/dist/_chunks/{PkToolShowQrCode-CctXvRyG.js.map → PkToolShowQrCode-CN0ms27N.js.map} +1 -1
  32. package/dist/_chunks/{PkToolShowSources-DwB6VXrK.js → PkToolShowSources-D2tBcx7n.js} +18 -18
  33. package/dist/_chunks/{PkToolShowSources-DwB6VXrK.js.map → PkToolShowSources-D2tBcx7n.js.map} +1 -1
  34. package/dist/_chunks/{PkToolShowSuggestedReply-QEcIhSxa.js → PkToolShowSuggestedReply-Cdh_elSh.js} +2 -2
  35. package/dist/_chunks/{PkToolShowSuggestedReply-QEcIhSxa.js.map → PkToolShowSuggestedReply-Cdh_elSh.js.map} +1 -1
  36. package/dist/_chunks/{PkToolShowVideo-DoLoI8_N.js → PkToolShowVideo-D3aU5FMO.js} +2 -2
  37. package/dist/_chunks/{PkToolShowVideo-DoLoI8_N.js.map → PkToolShowVideo-D3aU5FMO.js.map} +1 -1
  38. package/dist/_chunks/{PkToolShowWeather-C2rPCQ_K.js → PkToolShowWeather-CzanXIJp.js} +3 -3
  39. package/dist/_chunks/{PkToolShowWeather-C2rPCQ_K.js.map → PkToolShowWeather-CzanXIJp.js.map} +1 -1
  40. package/dist/_chunks/{PkToolShowWebPages-BBJYzF8V.js → PkToolShowWebPages-DkMJrWmT.js} +2 -2
  41. package/dist/_chunks/{PkToolShowWebPages-BBJYzF8V.js.map → PkToolShowWebPages-DkMJrWmT.js.map} +1 -1
  42. package/dist/_chunks/{VvCheckbox.es-D5d8k9yP.js → VvCheckbox.es-CRhIKQNR.js} +2 -2
  43. package/dist/_chunks/{VvCheckbox.es-D5d8k9yP.js.map → VvCheckbox.es-CRhIKQNR.js.map} +1 -1
  44. package/dist/_chunks/{VvCheckboxGroup.es-DVnsOjX0.js → VvCheckboxGroup.es-gOy2kM1Y.js} +5 -5
  45. package/dist/_chunks/{VvCheckboxGroup.es-DVnsOjX0.js.map → VvCheckboxGroup.es-gOy2kM1Y.js.map} +1 -1
  46. package/dist/_chunks/{VvCombobox.es-CFA-K-cQ.js → VvCombobox.es-BOwH3LmO.js} +9 -9
  47. package/dist/_chunks/VvCombobox.es-BOwH3LmO.js.map +1 -0
  48. package/dist/_chunks/{VvInputText.es-csEQ-bSG.js → VvInputText.es-D8nXroKO.js} +536 -513
  49. package/dist/_chunks/VvInputText.es-D8nXroKO.js.map +1 -0
  50. package/dist/_chunks/{VvRadio.es-BpymhC73.js → VvRadio.es-Djy5J33A.js} +2 -2
  51. package/dist/_chunks/{VvRadio.es-BpymhC73.js.map → VvRadio.es-Djy5J33A.js.map} +1 -1
  52. package/dist/_chunks/{VvRadioGroup.es-CSNzOJKx.js → VvRadioGroup.es-DQq3JYCR.js} +5 -5
  53. package/dist/_chunks/VvRadioGroup.es-DQq3JYCR.js.map +1 -0
  54. package/dist/_chunks/{VvSelect.es-CjKMd0nH.js → VvSelect.es-CE4x1ww0.js} +4 -4
  55. package/dist/_chunks/{VvSelect.es-CjKMd0nH.js.map → VvSelect.es-CE4x1ww0.js.map} +1 -1
  56. package/dist/_chunks/VvTextarea.es-BU2vqdEQ.js +1129 -0
  57. package/dist/_chunks/VvTextarea.es-BU2vqdEQ.js.map +1 -0
  58. package/dist/_chunks/{dist-BNET2z7b.js → dist-CvMCBce7.js} +39 -21
  59. package/dist/_chunks/dist-CvMCBce7.js.map +1 -0
  60. package/dist/_chunks/dot-prop-CObyt75F.js +141 -0
  61. package/dist/_chunks/dot-prop-CObyt75F.js.map +1 -0
  62. package/dist/_chunks/{floating-ui.vue-CIKvCpTA.js → floating-ui.vue-BacoFpVq.js} +278 -305
  63. package/dist/_chunks/floating-ui.vue-BacoFpVq.js.map +1 -0
  64. package/dist/_chunks/{index.es-u1dF1xg2.js → index.es-DpqfagWZ.js} +12 -12
  65. package/dist/_chunks/{index.es-u1dF1xg2.js.map → index.es-DpqfagWZ.js.map} +1 -1
  66. package/dist/_chunks/{index.es-BYny0uhz.js → index.es-_oXVRjHy.js} +2352 -2329
  67. package/dist/_chunks/index.es-_oXVRjHy.js.map +1 -0
  68. package/dist/ai-elements.es.js +4818 -5765
  69. package/dist/ai-elements.es.js.map +1 -1
  70. package/dist-vue/PkChatbot.js +1 -1
  71. package/dist-vue/PkChatbotAuth.js +1 -1
  72. package/dist-vue/PkChatbotEmptyState.js +1 -1
  73. package/dist-vue/PkChatbotFeedbackForm.js +1 -1
  74. package/dist-vue/PkChatbotInput.js +1 -1
  75. package/dist-vue/PkChatbotMessages.js +1 -1
  76. package/dist-vue/PkChatbotStepToolDetail.js +1 -1
  77. package/dist-vue/PkChatbotSteps.js +1 -1
  78. package/dist-vue/PkChatbotViewChat.js +1 -1
  79. package/dist-vue/PkChatbotViewConversations.js +1 -1
  80. package/dist-vue/PkChatbotViewFiles.js +1 -1
  81. package/dist-vue/PkChatbotViewProfile.js +1 -1
  82. package/dist-vue/_chunks/PkChatbot-Bf5uY3cO.js +236 -0
  83. package/dist-vue/_chunks/{PkChatbot-DHkhT0Jf.js.map → PkChatbot-Bf5uY3cO.js.map} +1 -1
  84. package/dist-vue/_chunks/{PkChatbotAuth-C_L2xWuD.js → PkChatbotAuth-BGn2MDYD.js} +2 -2
  85. package/dist-vue/_chunks/{PkChatbotAuth-C_L2xWuD.js.map → PkChatbotAuth-BGn2MDYD.js.map} +1 -1
  86. package/dist-vue/_chunks/{PkChatbotEmptyState-BGOC6vxr.js → PkChatbotEmptyState-CPqLqXek.js} +2 -2
  87. package/dist-vue/_chunks/{PkChatbotEmptyState-BGOC6vxr.js.map → PkChatbotEmptyState-CPqLqXek.js.map} +1 -1
  88. package/dist-vue/_chunks/{PkChatbotFeedbackForm-BSe40qlc.js → PkChatbotFeedbackForm-C_y__RH8.js} +2 -2
  89. package/dist-vue/_chunks/{PkChatbotFeedbackForm-BSe40qlc.js.map → PkChatbotFeedbackForm-C_y__RH8.js.map} +1 -1
  90. package/dist-vue/_chunks/{PkChatbotInput-DTazYlPd.js → PkChatbotInput-jvb0vuak.js} +2 -2
  91. package/dist-vue/_chunks/{PkChatbotInput-DTazYlPd.js.map → PkChatbotInput-jvb0vuak.js.map} +1 -1
  92. package/dist-vue/_chunks/PkChatbotMessages-B3G12zah.js +752 -0
  93. package/dist-vue/_chunks/PkChatbotMessages-B3G12zah.js.map +1 -0
  94. package/dist-vue/_chunks/{PkChatbotStepToolDetail-ldThv0t5.js → PkChatbotStepToolDetail-BVI72gyx.js} +2 -2
  95. package/dist-vue/_chunks/{PkChatbotStepToolDetail-ldThv0t5.js.map → PkChatbotStepToolDetail-BVI72gyx.js.map} +1 -1
  96. package/dist-vue/_chunks/PkChatbotSteps-BdU6YC_N.js +172 -0
  97. package/dist-vue/_chunks/{PkChatbotSteps-BpqdFhsG.js.map → PkChatbotSteps-BdU6YC_N.js.map} +1 -1
  98. package/dist-vue/_chunks/{PkChatbotViewChat-C08TsXiL.js → PkChatbotViewChat-c0Ecpzoc.js} +68 -68
  99. package/dist-vue/_chunks/PkChatbotViewChat-c0Ecpzoc.js.map +1 -0
  100. package/dist-vue/_chunks/{PkChatbotViewConversations-BQZi5kSC.js → PkChatbotViewConversations-BfhRCA_1.js} +2 -2
  101. package/dist-vue/_chunks/{PkChatbotViewConversations-BQZi5kSC.js.map → PkChatbotViewConversations-BfhRCA_1.js.map} +1 -1
  102. package/dist-vue/_chunks/{PkChatbotViewFiles-TLKE_tRw.js → PkChatbotViewFiles-BipRoidH.js} +2 -2
  103. package/dist-vue/_chunks/{PkChatbotViewFiles-TLKE_tRw.js.map → PkChatbotViewFiles-BipRoidH.js.map} +1 -1
  104. package/dist-vue/_chunks/{PkChatbotViewProfile-B6ANZY96.js → PkChatbotViewProfile-DuLwYpGZ.js} +2 -2
  105. package/dist-vue/_chunks/{PkChatbotViewProfile-B6ANZY96.js.map → PkChatbotViewProfile-DuLwYpGZ.js.map} +1 -1
  106. package/{dist/_chunks/PkStreamingMarkdown-Djw604Ny.js → dist-vue/_chunks/PkStreamingMarkdown-CjBMQ18U.js} +344 -347
  107. package/dist-vue/_chunks/PkStreamingMarkdown-CjBMQ18U.js.map +1 -0
  108. package/dist-vue/_chunks/{PkToolShowArtifact-CTBwt4DN.js → PkToolShowArtifact-COwSXmF4.js} +2 -2
  109. package/dist-vue/_chunks/{PkToolShowArtifact-CTBwt4DN.js.map → PkToolShowArtifact-COwSXmF4.js.map} +1 -1
  110. package/dist-vue/_chunks/{PkToolShowContactForm-B6-MsExL.js → PkToolShowContactForm-DRRtCCxB.js} +10 -10
  111. package/dist-vue/_chunks/{PkToolShowContactForm-B6-MsExL.js.map → PkToolShowContactForm-DRRtCCxB.js.map} +1 -1
  112. package/dist-vue/_chunks/{PkToolShowForm-C-mWyeka.js → PkToolShowForm-j7Ha-0X3.js} +128 -102
  113. package/dist-vue/_chunks/PkToolShowForm-j7Ha-0X3.js.map +1 -0
  114. package/dist-vue/_chunks/{PkToolShowSources-CFh-i60o.js → PkToolShowSources-BVLw4W5l.js} +43 -43
  115. package/dist-vue/_chunks/{PkToolShowSources-CFh-i60o.js.map → PkToolShowSources-BVLw4W5l.js.map} +1 -1
  116. package/dist-vue/_chunks/{createChatbotApiClient-BOBdBxmf.js → createChatbotApiClient-IH6wBh4s.js} +148 -160
  117. package/dist-vue/_chunks/createChatbotApiClient-IH6wBh4s.js.map +1 -0
  118. package/dist-vue/_chunks/{index.es-XfWQ82pb.js → index.es-Bk1O0p8N.js} +166 -156
  119. package/dist-vue/_chunks/index.es-Bk1O0p8N.js.map +1 -0
  120. package/dist-vue/_chunks/{useChatbotStore-BJ-EDmND.js → useChatbotStore-C3uKi2FS.js} +114 -106
  121. package/dist-vue/_chunks/useChatbotStore-C3uKi2FS.js.map +1 -0
  122. package/dist-vue/_chunks/{utils-BMa8jwJS.js → utils-Cru8TJxe.js} +48 -30
  123. package/dist-vue/_chunks/utils-Cru8TJxe.js.map +1 -0
  124. package/dist-vue/api.js +1 -1
  125. package/dist-vue/composables.js +3 -3
  126. package/dist-vue/index.js +3732 -3213
  127. package/dist-vue/index.js.map +1 -1
  128. package/dist-vue/locales.js +43 -7
  129. package/dist-vue/packages/components/src/PkCheckboxField.d.ts +45 -0
  130. package/dist-vue/packages/components/src/PkEditorRepeater.d.ts +2 -2
  131. package/dist-vue/packages/components/src/{chat/PkToolRequestConfirm.d.ts → PkOfflineScreen.d.ts} +10 -3
  132. package/dist-vue/packages/components/src/PkPwaNotices.d.ts +19 -0
  133. package/dist-vue/packages/components/src/chat/PkAgentSettingsPanel.d.ts +18 -3
  134. package/dist-vue/packages/components/src/chat/PkChatbotMessages.d.ts +24 -2
  135. package/dist-vue/packages/components/src/chat/PkToolApprovalBadge.d.ts +4 -0
  136. package/dist-vue/packages/components/src/chat/PkToolApprovalCard.d.ts +35 -0
  137. package/dist-vue/packages/components/src/chat/PkToolApprovalPreviewMessage.d.ts +11 -0
  138. package/dist-vue/packages/components/src/chat/index.d.ts +2 -1
  139. package/dist-vue/packages/components/src/chat/toolApprovalPreviews.d.ts +12 -0
  140. package/dist-vue/packages/components/src/chat/toolComponentMap.d.ts +5 -3
  141. package/dist-vue/packages/components/src/chat/useChatScroll.d.ts +6 -0
  142. package/dist-vue/packages/components/src/chat/utils.d.ts +13 -0
  143. package/dist-vue/packages/components/src/index.d.ts +4 -1
  144. package/dist-vue/packages/composable/src/chatbot/useChatbotStore.d.ts +70 -1
  145. package/dist-vue/packages/composable/src/index.d.ts +1 -0
  146. package/dist-vue/packages/composable/src/useConnectivity.d.ts +28 -0
  147. package/dist-vue/packages/models/src/schema/Agent.d.ts +129 -0
  148. package/dist-vue/packages/models/src/schema/ReasoningChat.d.ts +30 -0
  149. package/dist-vue/packages/models/src/schema/SubAgent.d.ts +30 -0
  150. package/dist-vue/style.css +1 -1
  151. package/package.json +3 -3
  152. package/dist/_chunks/PkStreamingMarkdown-Djw604Ny.js.map +0 -1
  153. package/dist/_chunks/PkToolRequestConfirm-FQ9nDFXy.js +0 -48
  154. package/dist/_chunks/PkToolRequestConfirm-FQ9nDFXy.js.map +0 -1
  155. package/dist/_chunks/PkToolShowForm-BNV4Ja6g.js.map +0 -1
  156. package/dist/_chunks/VvCombobox.es-CFA-K-cQ.js.map +0 -1
  157. package/dist/_chunks/VvInputText.es-csEQ-bSG.js.map +0 -1
  158. package/dist/_chunks/VvRadioGroup.es-CSNzOJKx.js.map +0 -1
  159. package/dist/_chunks/VvTextarea.es-eEyRRpuT.js +0 -1109
  160. package/dist/_chunks/VvTextarea.es-eEyRRpuT.js.map +0 -1
  161. package/dist/_chunks/dist-BNET2z7b.js.map +0 -1
  162. package/dist/_chunks/dot-prop-BXrC9bAX.js +0 -131
  163. package/dist/_chunks/dot-prop-BXrC9bAX.js.map +0 -1
  164. package/dist/_chunks/floating-ui.vue-CIKvCpTA.js.map +0 -1
  165. package/dist/_chunks/index.es-BYny0uhz.js.map +0 -1
  166. package/dist-vue/_chunks/PkChatbot-DHkhT0Jf.js +0 -236
  167. package/dist-vue/_chunks/PkChatbotMessages-B4qfTNOJ.js +0 -630
  168. package/dist-vue/_chunks/PkChatbotMessages-B4qfTNOJ.js.map +0 -1
  169. package/dist-vue/_chunks/PkChatbotSteps-BpqdFhsG.js +0 -172
  170. package/dist-vue/_chunks/PkChatbotViewChat-C08TsXiL.js.map +0 -1
  171. package/dist-vue/_chunks/PkStreamingMarkdown-DEhbK-3c.js.map +0 -1
  172. package/dist-vue/_chunks/PkToolRequestConfirm-CQNa3seA.js +0 -48
  173. package/dist-vue/_chunks/PkToolRequestConfirm-CQNa3seA.js.map +0 -1
  174. package/dist-vue/_chunks/PkToolShowForm-C-mWyeka.js.map +0 -1
  175. package/dist-vue/_chunks/createChatbotApiClient-BOBdBxmf.js.map +0 -1
  176. package/dist-vue/_chunks/index.es-XfWQ82pb.js.map +0 -1
  177. package/dist-vue/_chunks/useChatbotStore-BJ-EDmND.js.map +0 -1
  178. package/dist-vue/_chunks/utils-BMa8jwJS.js.map +0 -1
@@ -298,6 +298,12 @@ export declare function useChatbotStore(agentId: string): Store<`chatbot-${strin
298
298
  maxSteps: number;
299
299
  maxOptionsPerStep: number;
300
300
  };
301
+ suggestedReply: {
302
+ mode: "required" | "optional";
303
+ };
304
+ showSources: {
305
+ mode: "required" | "optional";
306
+ };
301
307
  webSearch: {
302
308
  enabled: boolean;
303
309
  provider: WebSearchProvider;
@@ -349,12 +355,21 @@ export declare function useChatbotStore(agentId: string): Store<`chatbot-${strin
349
355
  userFiles: {
350
356
  useAllUserFiles: boolean;
351
357
  };
358
+ approval: {
359
+ tools: string[];
360
+ };
352
361
  } | undefined, {
353
362
  disabled: AgentBuiltInTool[];
354
363
  showForm: {
355
364
  maxSteps: number;
356
365
  maxOptionsPerStep: number;
357
366
  };
367
+ suggestedReply: {
368
+ mode: "required" | "optional";
369
+ };
370
+ showSources: {
371
+ mode: "required" | "optional";
372
+ };
358
373
  webSearch: {
359
374
  enabled: boolean;
360
375
  provider: WebSearchProvider;
@@ -406,6 +421,9 @@ export declare function useChatbotStore(agentId: string): Store<`chatbot-${strin
406
421
  userFiles: {
407
422
  useAllUserFiles: boolean;
408
423
  };
424
+ approval: {
425
+ tools: string[];
426
+ };
409
427
  } | undefined>;
410
428
  headers: globalThis.Ref<Record<string, string> | undefined, Record<string, string> | undefined>;
411
429
  revisedAnswers: globalThis.Ref<{
@@ -1512,6 +1530,11 @@ export declare function useChatbotStore(agentId: string): Store<`chatbot-${strin
1512
1530
  toolCallId: string;
1513
1531
  output: unknown;
1514
1532
  }) => void;
1533
+ addToolApprovalResponse: (params: {
1534
+ id: string;
1535
+ approved: boolean;
1536
+ reason?: string;
1537
+ }) => void;
1515
1538
  handleFileSelect: (file: File) => Promise<void>;
1516
1539
  clearFileLimitError: () => void;
1517
1540
  clearPendingAttachments: (revokeAll?: boolean) => void;
@@ -1813,6 +1836,12 @@ export declare function useChatbotStore(agentId: string): Store<`chatbot-${strin
1813
1836
  maxSteps: number;
1814
1837
  maxOptionsPerStep: number;
1815
1838
  };
1839
+ suggestedReply: {
1840
+ mode: "required" | "optional";
1841
+ };
1842
+ showSources: {
1843
+ mode: "required" | "optional";
1844
+ };
1816
1845
  webSearch: {
1817
1846
  enabled: boolean;
1818
1847
  provider: WebSearchProvider;
@@ -1864,12 +1893,21 @@ export declare function useChatbotStore(agentId: string): Store<`chatbot-${strin
1864
1893
  userFiles: {
1865
1894
  useAllUserFiles: boolean;
1866
1895
  };
1896
+ approval: {
1897
+ tools: string[];
1898
+ };
1867
1899
  } | undefined, {
1868
1900
  disabled: AgentBuiltInTool[];
1869
1901
  showForm: {
1870
1902
  maxSteps: number;
1871
1903
  maxOptionsPerStep: number;
1872
1904
  };
1905
+ suggestedReply: {
1906
+ mode: "required" | "optional";
1907
+ };
1908
+ showSources: {
1909
+ mode: "required" | "optional";
1910
+ };
1873
1911
  webSearch: {
1874
1912
  enabled: boolean;
1875
1913
  provider: WebSearchProvider;
@@ -1921,6 +1959,9 @@ export declare function useChatbotStore(agentId: string): Store<`chatbot-${strin
1921
1959
  userFiles: {
1922
1960
  useAllUserFiles: boolean;
1923
1961
  };
1962
+ approval: {
1963
+ tools: string[];
1964
+ };
1924
1965
  } | undefined>;
1925
1966
  headers: globalThis.Ref<Record<string, string> | undefined, Record<string, string> | undefined>;
1926
1967
  revisedAnswers: globalThis.Ref<{
@@ -3027,6 +3068,11 @@ export declare function useChatbotStore(agentId: string): Store<`chatbot-${strin
3027
3068
  toolCallId: string;
3028
3069
  output: unknown;
3029
3070
  }) => void;
3071
+ addToolApprovalResponse: (params: {
3072
+ id: string;
3073
+ approved: boolean;
3074
+ reason?: string;
3075
+ }) => void;
3030
3076
  handleFileSelect: (file: File) => Promise<void>;
3031
3077
  clearFileLimitError: () => void;
3032
3078
  clearPendingAttachments: (revokeAll?: boolean) => void;
@@ -3328,6 +3374,12 @@ export declare function useChatbotStore(agentId: string): Store<`chatbot-${strin
3328
3374
  maxSteps: number;
3329
3375
  maxOptionsPerStep: number;
3330
3376
  };
3377
+ suggestedReply: {
3378
+ mode: "required" | "optional";
3379
+ };
3380
+ showSources: {
3381
+ mode: "required" | "optional";
3382
+ };
3331
3383
  webSearch: {
3332
3384
  enabled: boolean;
3333
3385
  provider: WebSearchProvider;
@@ -3379,12 +3431,21 @@ export declare function useChatbotStore(agentId: string): Store<`chatbot-${strin
3379
3431
  userFiles: {
3380
3432
  useAllUserFiles: boolean;
3381
3433
  };
3434
+ approval: {
3435
+ tools: string[];
3436
+ };
3382
3437
  } | undefined, {
3383
3438
  disabled: AgentBuiltInTool[];
3384
3439
  showForm: {
3385
3440
  maxSteps: number;
3386
3441
  maxOptionsPerStep: number;
3387
3442
  };
3443
+ suggestedReply: {
3444
+ mode: "required" | "optional";
3445
+ };
3446
+ showSources: {
3447
+ mode: "required" | "optional";
3448
+ };
3388
3449
  webSearch: {
3389
3450
  enabled: boolean;
3390
3451
  provider: WebSearchProvider;
@@ -3436,6 +3497,9 @@ export declare function useChatbotStore(agentId: string): Store<`chatbot-${strin
3436
3497
  userFiles: {
3437
3498
  useAllUserFiles: boolean;
3438
3499
  };
3500
+ approval: {
3501
+ tools: string[];
3502
+ };
3439
3503
  } | undefined>;
3440
3504
  headers: globalThis.Ref<Record<string, string> | undefined, Record<string, string> | undefined>;
3441
3505
  revisedAnswers: globalThis.Ref<{
@@ -4542,6 +4606,11 @@ export declare function useChatbotStore(agentId: string): Store<`chatbot-${strin
4542
4606
  toolCallId: string;
4543
4607
  output: unknown;
4544
4608
  }) => void;
4609
+ addToolApprovalResponse: (params: {
4610
+ id: string;
4611
+ approved: boolean;
4612
+ reason?: string;
4613
+ }) => void;
4545
4614
  handleFileSelect: (file: File) => Promise<void>;
4546
4615
  clearFileLimitError: () => void;
4547
4616
  clearPendingAttachments: (revokeAll?: boolean) => void;
@@ -4553,4 +4622,4 @@ export declare function useChatbotStore(agentId: string): Store<`chatbot-${strin
4553
4622
  navigate: (view: ChatbotView) => void;
4554
4623
  renameChatTitle: (chatId: string, title: string) => Promise<void>;
4555
4624
  deleteChat: (chatId: string) => Promise<void>;
4556
- }, "regenerate" | "initialize" | "loadConversations" | "loadChatFiles" | "getChatFileUrl" | "getChatFilePreviewUrl" | "deleteChatFile" | "handleSubmit" | "sendMessage" | "stopGeneration" | "startNewChat" | "addToolOutput" | "handleFileSelect" | "clearFileLimitError" | "clearPendingAttachments" | "onUpvote" | "onDownvote" | "onFeedback" | "onFeedbackSubmit" | "onLeadSubmit" | "navigate" | "renameChatTitle" | "deleteChat">>;
4625
+ }, "regenerate" | "initialize" | "loadConversations" | "loadChatFiles" | "getChatFileUrl" | "getChatFilePreviewUrl" | "deleteChatFile" | "handleSubmit" | "sendMessage" | "stopGeneration" | "startNewChat" | "addToolOutput" | "addToolApprovalResponse" | "handleFileSelect" | "clearFileLimitError" | "clearPendingAttachments" | "onUpvote" | "onDownvote" | "onFeedback" | "onFeedbackSubmit" | "onLeadSubmit" | "navigate" | "renameChatTitle" | "deleteChat">>;
@@ -1,5 +1,6 @@
1
1
  export * from './chatbot';
2
2
  export * from './useChatbotError';
3
+ export * from './useConnectivity';
3
4
  export * from './useDialog';
4
5
  export * from './useDialogConfirm';
5
6
  export * from './useFileRow';
@@ -0,0 +1,28 @@
1
+ export interface UseConnectivityOptions {
2
+ /**
3
+ * Absolute URL hit to confirm a real network failure. Without it the
4
+ * browser's own flag is the only signal, which is not enough to lock the
5
+ * UI behind a full-screen state.
6
+ */
7
+ probeUrl?: string;
8
+ /** How often to re-probe while offline. */
9
+ retryIntervalMs?: number;
10
+ /** How long to wait for the probe before calling it a failure. */
11
+ timeoutMs?: number;
12
+ }
13
+ /**
14
+ * Connectivity state confirmed against the network, not just declared by the
15
+ * browser.
16
+ *
17
+ * `navigator.onLine` (behind VueUse's `useOnline`) is a hint, not an answer: it
18
+ * reports "connected" on a network with no route to the internet (captive
19
+ * portals) and "disconnected" on some VPN and virtual-adapter setups. A wrong
20
+ * toast is harmless, a wrong full-screen state locks the user out of the app,
21
+ * so `isOffline` only flips once an actual request has failed.
22
+ */
23
+ export declare function useConnectivity({ probeUrl, retryIntervalMs, timeoutMs, }?: UseConnectivityOptions): {
24
+ isOffline: Readonly<globalThis.Ref<boolean, boolean>>;
25
+ isChecking: Readonly<globalThis.Ref<boolean, boolean>>;
26
+ /** Re-run the probe now: the "retry" affordance. */
27
+ check: () => Promise<void>;
28
+ };
@@ -176,6 +176,28 @@ export declare enum AgentBuiltInTool {
176
176
  ShowWebPages = "showWebPages",
177
177
  ShowMultipleChoice = "showMultipleChoice"
178
178
  }
179
+ /**
180
+ * Prefixes the runtime tool set uses for the tools an agent configures. They are
181
+ * part of a contract shared by three places: the services that build the tool
182
+ * set, the approval list that matches names against it, and the backoffice UI
183
+ * that writes those names. A mismatch is silent (a name matching no tool simply
184
+ * never gates anything), so the prefixes live here and nowhere else.
185
+ */
186
+ export declare const MCP_TOOL_PREFIX = "mcp-";
187
+ export declare const API_TOOL_PREFIX = "api-";
188
+ /** Tool-set key of an MCP tool, from the name the server advertises. */
189
+ export declare const mcpToolKey: (toolName: string) => string;
190
+ /** Tool-set key of an agent API tool, from its configured name. */
191
+ export declare const apiToolKey: (toolName: string) => string;
192
+ /**
193
+ * Returns true if the tool can be put behind the user-approval gate
194
+ * (`settings.tools.approval.tools`, see docs/specs/tool-approval-interface.md).
195
+ *
196
+ * Only tools that run server-side qualify: a presentation tool has nothing to
197
+ * approve, and a client-resolved one (geolocation, OAuth connect) already asks
198
+ * the user by construction, since it is the browser or the user who answers it.
199
+ */
200
+ export declare function canRequireApproval(toolName: string): boolean;
179
201
  /**
180
202
  * Returns true if the tool renders a UI element (card, form, list, etc.).
181
203
  * Used in `prepareStep` to prevent duplicate UI elements across streaming steps.
@@ -195,6 +217,39 @@ export declare const AgentFormSettingsSchema: z.ZodObject<{
195
217
  maxOptionsPerStep: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
196
218
  }, z.core.$strip>;
197
219
  export type AgentFormSettings = z.infer<typeof AgentFormSettingsSchema>;
220
+ /**
221
+ * Suggested-reply closure requirement (spec presentation-tool-prompt-contract,
222
+ * fase 4). Structured replacement for inferring the requirement from the
223
+ * agent prompt text: 'optional' keeps the legacy behavior (the model may
224
+ * propose quick replies, typically when the agent prompt asks for them),
225
+ * 'required' makes the closure part of the response contract on every
226
+ * answered turn, measurable and enforceable by the orchestrator.
227
+ * "Unavailable" is expressed by disabling the tool, as for any other tool.
228
+ */
229
+ export declare const AgentSuggestedReplySettingsSchema: z.ZodObject<{
230
+ mode: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
231
+ required: "required";
232
+ optional: "optional";
233
+ }>>>;
234
+ }, z.core.$strip>;
235
+ export type AgentSuggestedReplySettings = z.infer<typeof AgentSuggestedReplySettingsSchema>;
236
+ export type SuggestedReplyMode = AgentSuggestedReplySettings['mode'];
237
+ /**
238
+ * Sources closure requirement, the showSources twin of the suggested-reply
239
+ * setting: 'required' (default, the historical product intent) makes the
240
+ * sources widget part of the response contract whenever the answer used
241
+ * knowledge base chunks, enforced by the orchestrator (synthesized
242
+ * server-side when the model omits the call); 'optional' leaves it to the
243
+ * model's prompt guidance with no runtime enforcement.
244
+ */
245
+ export declare const AgentShowSourcesSettingsSchema: z.ZodObject<{
246
+ mode: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
247
+ required: "required";
248
+ optional: "optional";
249
+ }>>>;
250
+ }, z.core.$strip>;
251
+ export type AgentShowSourcesSettings = z.infer<typeof AgentShowSourcesSettingsSchema>;
252
+ export type ShowSourcesMode = AgentShowSourcesSettings['mode'];
198
253
  export declare const DEFAULT_MAX_STEP_COUNT = 10;
199
254
  export declare const DEFAULT_SUB_AGENT_MAX_STEP_COUNT = 6;
200
255
  export declare const DEFAULT_ENDPOINT_MAX_STEP_COUNT = 5;
@@ -317,12 +372,38 @@ export declare const AgentUserFilesSchema: z.ZodObject<{
317
372
  useAllUserFiles: z.ZodDefault<z.ZodBoolean>;
318
373
  }, z.core.$strip>;
319
374
  export type AgentUserFiles = z.infer<typeof AgentUserFilesSchema>;
375
+ /**
376
+ * Human-in-the-loop approval settings. Lists the tools whose calls must be
377
+ * approved by the user before they execute. Names are matched against the tool
378
+ * set of the turn, so any tool can be listed: built-in (`sendEmail`), API tools
379
+ * (`api-<name>`) and MCP tools (`mcp-<server>_<tool>`).
380
+ *
381
+ * The gate is UX, not security: it only suspends execution on interactive
382
+ * channels. On non-interactive ones (messaging platforms, API, scheduled runs)
383
+ * a listed tool is denied instead of hanging forever, see `toolApproval.ts`.
384
+ */
385
+ export declare const AgentToolApprovalSchema: z.ZodObject<{
386
+ tools: z.ZodDefault<z.ZodArray<z.ZodString>>;
387
+ }, z.core.$strip>;
388
+ export type AgentToolApproval = z.infer<typeof AgentToolApprovalSchema>;
320
389
  export declare const AgentToolsSchema: z.ZodObject<{
321
390
  disabled: z.ZodDefault<z.ZodArray<z.ZodEnum<typeof AgentBuiltInTool>>>;
322
391
  showForm: z.ZodDefault<z.ZodOptional<z.ZodObject<{
323
392
  maxSteps: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
324
393
  maxOptionsPerStep: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
325
394
  }, z.core.$strip>>>;
395
+ suggestedReply: z.ZodDefault<z.ZodOptional<z.ZodObject<{
396
+ mode: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
397
+ required: "required";
398
+ optional: "optional";
399
+ }>>>;
400
+ }, z.core.$strip>>>;
401
+ showSources: z.ZodDefault<z.ZodOptional<z.ZodObject<{
402
+ mode: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
403
+ required: "required";
404
+ optional: "optional";
405
+ }>>>;
406
+ }, z.core.$strip>>>;
326
407
  webSearch: z.ZodDefault<z.ZodOptional<z.ZodObject<{
327
408
  enabled: z.ZodDefault<z.ZodBoolean>;
328
409
  provider: z.ZodDefault<z.ZodOptional<z.ZodEnum<typeof WebSearchProvider>>>;
@@ -382,6 +463,9 @@ export declare const AgentToolsSchema: z.ZodObject<{
382
463
  userFiles: z.ZodDefault<z.ZodOptional<z.ZodObject<{
383
464
  useAllUserFiles: z.ZodDefault<z.ZodBoolean>;
384
465
  }, z.core.$strip>>>;
466
+ approval: z.ZodDefault<z.ZodOptional<z.ZodObject<{
467
+ tools: z.ZodDefault<z.ZodArray<z.ZodString>>;
468
+ }, z.core.$strip>>>;
385
469
  }, z.core.$strip>;
386
470
  export type AgentTools = z.infer<typeof AgentToolsSchema>;
387
471
  /**
@@ -849,6 +933,18 @@ export declare const AgentSettingsSchema: z.ZodObject<{
849
933
  maxSteps: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
850
934
  maxOptionsPerStep: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
851
935
  }, z.core.$strip>>>;
936
+ suggestedReply: z.ZodDefault<z.ZodOptional<z.ZodObject<{
937
+ mode: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
938
+ required: "required";
939
+ optional: "optional";
940
+ }>>>;
941
+ }, z.core.$strip>>>;
942
+ showSources: z.ZodDefault<z.ZodOptional<z.ZodObject<{
943
+ mode: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
944
+ required: "required";
945
+ optional: "optional";
946
+ }>>>;
947
+ }, z.core.$strip>>>;
852
948
  webSearch: z.ZodDefault<z.ZodOptional<z.ZodObject<{
853
949
  enabled: z.ZodDefault<z.ZodBoolean>;
854
950
  provider: z.ZodDefault<z.ZodOptional<z.ZodEnum<typeof WebSearchProvider>>>;
@@ -908,6 +1004,9 @@ export declare const AgentSettingsSchema: z.ZodObject<{
908
1004
  userFiles: z.ZodDefault<z.ZodOptional<z.ZodObject<{
909
1005
  useAllUserFiles: z.ZodDefault<z.ZodBoolean>;
910
1006
  }, z.core.$strip>>>;
1007
+ approval: z.ZodDefault<z.ZodOptional<z.ZodObject<{
1008
+ tools: z.ZodDefault<z.ZodArray<z.ZodString>>;
1009
+ }, z.core.$strip>>>;
911
1010
  }, z.core.$strip>>>;
912
1011
  fileUpload: z.ZodDefault<z.ZodOptional<z.ZodObject<{
913
1012
  enabled: z.ZodDefault<z.ZodBoolean>;
@@ -1154,6 +1253,18 @@ export declare const AgentDtoSchema: z.ZodObject<{
1154
1253
  maxSteps: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
1155
1254
  maxOptionsPerStep: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
1156
1255
  }, z.core.$strip>>>;
1256
+ suggestedReply: z.ZodDefault<z.ZodOptional<z.ZodObject<{
1257
+ mode: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
1258
+ required: "required";
1259
+ optional: "optional";
1260
+ }>>>;
1261
+ }, z.core.$strip>>>;
1262
+ showSources: z.ZodDefault<z.ZodOptional<z.ZodObject<{
1263
+ mode: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
1264
+ required: "required";
1265
+ optional: "optional";
1266
+ }>>>;
1267
+ }, z.core.$strip>>>;
1157
1268
  webSearch: z.ZodDefault<z.ZodOptional<z.ZodObject<{
1158
1269
  enabled: z.ZodDefault<z.ZodBoolean>;
1159
1270
  provider: z.ZodDefault<z.ZodOptional<z.ZodEnum<typeof WebSearchProvider>>>;
@@ -1213,6 +1324,9 @@ export declare const AgentDtoSchema: z.ZodObject<{
1213
1324
  userFiles: z.ZodDefault<z.ZodOptional<z.ZodObject<{
1214
1325
  useAllUserFiles: z.ZodDefault<z.ZodBoolean>;
1215
1326
  }, z.core.$strip>>>;
1327
+ approval: z.ZodDefault<z.ZodOptional<z.ZodObject<{
1328
+ tools: z.ZodDefault<z.ZodArray<z.ZodString>>;
1329
+ }, z.core.$strip>>>;
1216
1330
  }, z.core.$strip>>>;
1217
1331
  fileUpload: z.ZodDefault<z.ZodOptional<z.ZodObject<{
1218
1332
  enabled: z.ZodDefault<z.ZodBoolean>;
@@ -1460,6 +1574,18 @@ export declare const AgentSchema: z.ZodLazy<z.ZodObject<{
1460
1574
  maxSteps: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
1461
1575
  maxOptionsPerStep: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
1462
1576
  }, z.core.$strip>>>;
1577
+ suggestedReply: z.ZodDefault<z.ZodOptional<z.ZodObject<{
1578
+ mode: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
1579
+ required: "required";
1580
+ optional: "optional";
1581
+ }>>>;
1582
+ }, z.core.$strip>>>;
1583
+ showSources: z.ZodDefault<z.ZodOptional<z.ZodObject<{
1584
+ mode: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
1585
+ required: "required";
1586
+ optional: "optional";
1587
+ }>>>;
1588
+ }, z.core.$strip>>>;
1463
1589
  webSearch: z.ZodDefault<z.ZodOptional<z.ZodObject<{
1464
1590
  enabled: z.ZodDefault<z.ZodBoolean>;
1465
1591
  provider: z.ZodDefault<z.ZodOptional<z.ZodEnum<typeof WebSearchProvider>>>;
@@ -1519,6 +1645,9 @@ export declare const AgentSchema: z.ZodLazy<z.ZodObject<{
1519
1645
  userFiles: z.ZodDefault<z.ZodOptional<z.ZodObject<{
1520
1646
  useAllUserFiles: z.ZodDefault<z.ZodBoolean>;
1521
1647
  }, z.core.$strip>>>;
1648
+ approval: z.ZodDefault<z.ZodOptional<z.ZodObject<{
1649
+ tools: z.ZodDefault<z.ZodArray<z.ZodString>>;
1650
+ }, z.core.$strip>>>;
1522
1651
  }, z.core.$strip>>>;
1523
1652
  fileUpload: z.ZodDefault<z.ZodOptional<z.ZodObject<{
1524
1653
  enabled: z.ZodDefault<z.ZodBoolean>;
@@ -236,6 +236,18 @@ export declare const ReasoningChatSchema: z.ZodObject<{
236
236
  maxSteps: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
237
237
  maxOptionsPerStep: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
238
238
  }, z.core.$strip>>>;
239
+ suggestedReply: z.ZodDefault<z.ZodOptional<z.ZodObject<{
240
+ mode: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
241
+ required: "required";
242
+ optional: "optional";
243
+ }>>>;
244
+ }, z.core.$strip>>>;
245
+ showSources: z.ZodDefault<z.ZodOptional<z.ZodObject<{
246
+ mode: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
247
+ required: "required";
248
+ optional: "optional";
249
+ }>>>;
250
+ }, z.core.$strip>>>;
239
251
  webSearch: z.ZodDefault<z.ZodOptional<z.ZodObject<{
240
252
  enabled: z.ZodDefault<z.ZodBoolean>;
241
253
  provider: z.ZodDefault<z.ZodOptional<z.ZodEnum< WebSearchProvider>>>;
@@ -295,6 +307,9 @@ export declare const ReasoningChatSchema: z.ZodObject<{
295
307
  userFiles: z.ZodDefault<z.ZodOptional<z.ZodObject<{
296
308
  useAllUserFiles: z.ZodDefault<z.ZodBoolean>;
297
309
  }, z.core.$strip>>>;
310
+ approval: z.ZodDefault<z.ZodOptional<z.ZodObject<{
311
+ tools: z.ZodDefault<z.ZodArray<z.ZodString>>;
312
+ }, z.core.$strip>>>;
298
313
  }, z.core.$strip>>>;
299
314
  fileUpload: z.ZodDefault<z.ZodOptional<z.ZodObject<{
300
315
  enabled: z.ZodDefault<z.ZodBoolean>;
@@ -593,6 +608,18 @@ export declare const ReasoningChatSchema: z.ZodObject<{
593
608
  maxSteps: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
594
609
  maxOptionsPerStep: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
595
610
  }, z.core.$strip>>>;
611
+ suggestedReply: z.ZodDefault<z.ZodOptional<z.ZodObject<{
612
+ mode: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
613
+ required: "required";
614
+ optional: "optional";
615
+ }>>>;
616
+ }, z.core.$strip>>>;
617
+ showSources: z.ZodDefault<z.ZodOptional<z.ZodObject<{
618
+ mode: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
619
+ required: "required";
620
+ optional: "optional";
621
+ }>>>;
622
+ }, z.core.$strip>>>;
596
623
  webSearch: z.ZodDefault<z.ZodOptional<z.ZodObject<{
597
624
  enabled: z.ZodDefault<z.ZodBoolean>;
598
625
  provider: z.ZodDefault<z.ZodOptional<z.ZodEnum< WebSearchProvider>>>;
@@ -652,6 +679,9 @@ export declare const ReasoningChatSchema: z.ZodObject<{
652
679
  userFiles: z.ZodDefault<z.ZodOptional<z.ZodObject<{
653
680
  useAllUserFiles: z.ZodDefault<z.ZodBoolean>;
654
681
  }, z.core.$strip>>>;
682
+ approval: z.ZodDefault<z.ZodOptional<z.ZodObject<{
683
+ tools: z.ZodDefault<z.ZodArray<z.ZodString>>;
684
+ }, z.core.$strip>>>;
655
685
  }, z.core.$strip>>>;
656
686
  fileUpload: z.ZodDefault<z.ZodOptional<z.ZodObject<{
657
687
  enabled: z.ZodDefault<z.ZodBoolean>;
@@ -236,6 +236,18 @@ export declare const SubAgentSchema: z.ZodObject<{
236
236
  maxSteps: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
237
237
  maxOptionsPerStep: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
238
238
  }, z.core.$strip>>>;
239
+ suggestedReply: z.ZodDefault<z.ZodOptional<z.ZodObject<{
240
+ mode: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
241
+ required: "required";
242
+ optional: "optional";
243
+ }>>>;
244
+ }, z.core.$strip>>>;
245
+ showSources: z.ZodDefault<z.ZodOptional<z.ZodObject<{
246
+ mode: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
247
+ required: "required";
248
+ optional: "optional";
249
+ }>>>;
250
+ }, z.core.$strip>>>;
239
251
  webSearch: z.ZodDefault<z.ZodOptional<z.ZodObject<{
240
252
  enabled: z.ZodDefault<z.ZodBoolean>;
241
253
  provider: z.ZodDefault<z.ZodOptional<z.ZodEnum< WebSearchProvider>>>;
@@ -295,6 +307,9 @@ export declare const SubAgentSchema: z.ZodObject<{
295
307
  userFiles: z.ZodDefault<z.ZodOptional<z.ZodObject<{
296
308
  useAllUserFiles: z.ZodDefault<z.ZodBoolean>;
297
309
  }, z.core.$strip>>>;
310
+ approval: z.ZodDefault<z.ZodOptional<z.ZodObject<{
311
+ tools: z.ZodDefault<z.ZodArray<z.ZodString>>;
312
+ }, z.core.$strip>>>;
298
313
  }, z.core.$strip>>>;
299
314
  fileUpload: z.ZodDefault<z.ZodOptional<z.ZodObject<{
300
315
  enabled: z.ZodDefault<z.ZodBoolean>;
@@ -551,6 +566,18 @@ export declare const SubAgentSchema: z.ZodObject<{
551
566
  maxSteps: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
552
567
  maxOptionsPerStep: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
553
568
  }, z.core.$strip>>>;
569
+ suggestedReply: z.ZodDefault<z.ZodOptional<z.ZodObject<{
570
+ mode: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
571
+ required: "required";
572
+ optional: "optional";
573
+ }>>>;
574
+ }, z.core.$strip>>>;
575
+ showSources: z.ZodDefault<z.ZodOptional<z.ZodObject<{
576
+ mode: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
577
+ required: "required";
578
+ optional: "optional";
579
+ }>>>;
580
+ }, z.core.$strip>>>;
554
581
  webSearch: z.ZodDefault<z.ZodOptional<z.ZodObject<{
555
582
  enabled: z.ZodDefault<z.ZodBoolean>;
556
583
  provider: z.ZodDefault<z.ZodOptional<z.ZodEnum< WebSearchProvider>>>;
@@ -610,6 +637,9 @@ export declare const SubAgentSchema: z.ZodObject<{
610
637
  userFiles: z.ZodDefault<z.ZodOptional<z.ZodObject<{
611
638
  useAllUserFiles: z.ZodDefault<z.ZodBoolean>;
612
639
  }, z.core.$strip>>>;
640
+ approval: z.ZodDefault<z.ZodOptional<z.ZodObject<{
641
+ tools: z.ZodDefault<z.ZodArray<z.ZodString>>;
642
+ }, z.core.$strip>>>;
613
643
  }, z.core.$strip>>>;
614
644
  fileUpload: z.ZodDefault<z.ZodOptional<z.ZodObject<{
615
645
  enabled: z.ZodDefault<z.ZodBoolean>;