@8wave/ai-elements 0.111.0 → 0.112.0-beta.10

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 (129) hide show
  1. package/dist/_chunks/{Agent-tE7ZJPxG.js → Agent-DTLrWpzX.js} +138 -135
  2. package/dist/_chunks/Agent-DTLrWpzX.js.map +1 -0
  3. package/dist/_chunks/Media-Cft7Pwrh.js.map +1 -1
  4. package/dist/_chunks/{PkStreamingMarkdown-CNI8aV8t.js → PkStreamingMarkdown-CRlRDGYl.js} +3 -3
  5. package/dist/_chunks/PkStreamingMarkdown-CRlRDGYl.js.map +1 -0
  6. package/dist/_chunks/{PkToolRequestGeolocation-BP5yJQIW.js → PkToolRequestGeolocation-BbxYKt-9.js} +5 -5
  7. package/dist/_chunks/{PkToolRequestGeolocation-BP5yJQIW.js.map → PkToolRequestGeolocation-BbxYKt-9.js.map} +1 -1
  8. package/dist/_chunks/{PkToolRequestOAuthConnection-4SqtPTCS.js → PkToolRequestOAuthConnection-CTp2w60F.js} +5 -5
  9. package/dist/_chunks/{PkToolRequestOAuthConnection-4SqtPTCS.js.map → PkToolRequestOAuthConnection-CTp2w60F.js.map} +1 -1
  10. package/dist/_chunks/{PkToolShowArtifact-6f-Kx9AS.js → PkToolShowArtifact-CNnt82aH.js} +2 -2
  11. package/dist/_chunks/{PkToolShowArtifact-6f-Kx9AS.js.map → PkToolShowArtifact-CNnt82aH.js.map} +1 -1
  12. package/dist/_chunks/{PkToolShowContactForm-BewhenPx.js → PkToolShowContactForm-D77gyjQG.js} +2 -2
  13. package/dist/_chunks/{PkToolShowContactForm-BewhenPx.js.map → PkToolShowContactForm-D77gyjQG.js.map} +1 -1
  14. package/dist/_chunks/{PkToolShowForm-C45JD6jS.js → PkToolShowForm-DP4LLAk3.js} +22 -22
  15. package/dist/_chunks/{PkToolShowForm-C45JD6jS.js.map → PkToolShowForm-DP4LLAk3.js.map} +1 -1
  16. package/dist/_chunks/{PkToolShowSources-DlBfHwkg.js → PkToolShowSources-Bwy0Ptmi.js} +5 -5
  17. package/dist/_chunks/{PkToolShowSources-DlBfHwkg.js.map → PkToolShowSources-Bwy0Ptmi.js.map} +1 -1
  18. package/dist/_chunks/{PkToolShowSuggestedReply-DzoRQESi.js → PkToolShowSuggestedReply-CFO8wV1b.js} +5 -5
  19. package/dist/_chunks/{PkToolShowSuggestedReply-DzoRQESi.js.map → PkToolShowSuggestedReply-CFO8wV1b.js.map} +1 -1
  20. package/dist/_chunks/{Document-Bmx6774B.js → markdown-BRD-hDrH.js} +70 -72
  21. package/dist/_chunks/markdown-BRD-hDrH.js.map +1 -0
  22. package/dist/ai-elements.es.js +1564 -1478
  23. package/dist/ai-elements.es.js.map +1 -1
  24. package/dist-vue/PkChatbot.js +1 -1
  25. package/dist-vue/PkChatbotEmptyState.js +1 -1
  26. package/dist-vue/PkChatbotError.js +1 -1
  27. package/dist-vue/PkChatbotInput.js +1 -1
  28. package/dist-vue/PkChatbotMessages.js +1 -1
  29. package/dist-vue/PkChatbotStepPayload.js +1 -1
  30. package/dist-vue/PkChatbotStepToolDetail.js +1 -1
  31. package/dist-vue/PkChatbotSteps.js +1 -1
  32. package/dist-vue/PkChatbotViewChat.js +1 -1
  33. package/dist-vue/PkChatbotViewConversations.js +1 -1
  34. package/dist-vue/PkChatbotViewFiles.js +1 -1
  35. package/dist-vue/PkChatbotViewProfile.js +1 -1
  36. package/dist-vue/_chunks/{Agent-De2gFNjR.js → Agent-BNlmK-uJ.js} +96 -87
  37. package/dist-vue/_chunks/Agent-BNlmK-uJ.js.map +1 -0
  38. package/dist-vue/_chunks/{Document-8umjeTVS.js → Document-B6RpxFr9.js} +69 -71
  39. package/dist-vue/_chunks/Document-B6RpxFr9.js.map +1 -0
  40. package/dist-vue/_chunks/{PkChatbot-CloRPTIX.js → PkChatbot-CI9ucJ2M.js} +8 -8
  41. package/dist-vue/_chunks/{PkChatbot-CloRPTIX.js.map → PkChatbot-CI9ucJ2M.js.map} +1 -1
  42. package/dist-vue/_chunks/{PkChatbotEmptyState-BtzBYOHJ.js → PkChatbotEmptyState-CacY4o02.js} +2 -2
  43. package/dist-vue/_chunks/{PkChatbotEmptyState-BtzBYOHJ.js.map → PkChatbotEmptyState-CacY4o02.js.map} +1 -1
  44. package/dist-vue/_chunks/PkChatbotError-CuX9C_b9.js +89 -0
  45. package/dist-vue/_chunks/PkChatbotError-CuX9C_b9.js.map +1 -0
  46. package/dist-vue/_chunks/{PkChatbotInput-MSpF6SB6.js → PkChatbotInput-Dkz3SNAk.js} +2 -2
  47. package/dist-vue/_chunks/{PkChatbotInput-MSpF6SB6.js.map → PkChatbotInput-Dkz3SNAk.js.map} +1 -1
  48. package/dist-vue/_chunks/{PkChatbotMessages-r9D-kFvX.js → PkChatbotMessages-BsT48S-h.js} +181 -181
  49. package/dist-vue/_chunks/{PkChatbotMessages-r9D-kFvX.js.map → PkChatbotMessages-BsT48S-h.js.map} +1 -1
  50. package/dist-vue/_chunks/{PkChatbotStepPayload-XW4gT9AZ.js → PkChatbotStepPayload-DU0W-eUp.js} +2 -2
  51. package/dist-vue/_chunks/{PkChatbotStepPayload-XW4gT9AZ.js.map → PkChatbotStepPayload-DU0W-eUp.js.map} +1 -1
  52. package/dist-vue/_chunks/{PkChatbotStepToolDetail-C4-K6Glw.js → PkChatbotStepToolDetail-etlBryOg.js} +3 -3
  53. package/dist-vue/_chunks/{PkChatbotStepToolDetail-C4-K6Glw.js.map → PkChatbotStepToolDetail-etlBryOg.js.map} +1 -1
  54. package/dist-vue/_chunks/{PkChatbotSteps-CrqjWpv0.js → PkChatbotSteps-jW07Q-4x.js} +5 -5
  55. package/dist-vue/_chunks/{PkChatbotSteps-CrqjWpv0.js.map → PkChatbotSteps-jW07Q-4x.js.map} +1 -1
  56. package/dist-vue/_chunks/{PkChatbotViewChat-DP0EUTDu.js → PkChatbotViewChat-jEBBPmSo.js} +7 -7
  57. package/dist-vue/_chunks/{PkChatbotViewChat-DP0EUTDu.js.map → PkChatbotViewChat-jEBBPmSo.js.map} +1 -1
  58. package/dist-vue/_chunks/{PkChatbotViewConversations-DRKaeLbv.js → PkChatbotViewConversations-CWSrP36z.js} +2 -2
  59. package/dist-vue/_chunks/{PkChatbotViewConversations-DRKaeLbv.js.map → PkChatbotViewConversations-CWSrP36z.js.map} +1 -1
  60. package/dist-vue/_chunks/{PkChatbotViewFiles-hzlJUf0f.js → PkChatbotViewFiles-DzLp1WfU.js} +3 -3
  61. package/dist-vue/_chunks/{PkChatbotViewFiles-hzlJUf0f.js.map → PkChatbotViewFiles-DzLp1WfU.js.map} +1 -1
  62. package/dist-vue/_chunks/{PkChatbotViewProfile-D2XZ8Czi.js → PkChatbotViewProfile-CHbn3W6F.js} +2 -2
  63. package/dist-vue/_chunks/{PkChatbotViewProfile-D2XZ8Czi.js.map → PkChatbotViewProfile-CHbn3W6F.js.map} +1 -1
  64. package/dist-vue/_chunks/{PkStreamingMarkdown-D0IOaETI.js → PkStreamingMarkdown-BoEpwaYQ.js} +2 -2
  65. package/dist-vue/_chunks/{PkStreamingMarkdown-D0IOaETI.js.map → PkStreamingMarkdown-BoEpwaYQ.js.map} +1 -1
  66. package/dist-vue/_chunks/{PkToolRequestGeolocation-Q3N3jlO8.js → PkToolRequestGeolocation-9vfYNaQo.js} +2 -2
  67. package/dist-vue/_chunks/{PkToolRequestGeolocation-Q3N3jlO8.js.map → PkToolRequestGeolocation-9vfYNaQo.js.map} +1 -1
  68. package/dist-vue/_chunks/{PkToolRequestOAuthConnection-lYoTJIF_.js → PkToolRequestOAuthConnection-BorR5NmZ.js} +2 -2
  69. package/dist-vue/_chunks/{PkToolRequestOAuthConnection-lYoTJIF_.js.map → PkToolRequestOAuthConnection-BorR5NmZ.js.map} +1 -1
  70. package/dist-vue/_chunks/{PkToolShowArtifact-DHdJuzDi.js → PkToolShowArtifact-BnwU7CV2.js} +2 -2
  71. package/dist-vue/_chunks/{PkToolShowArtifact-DHdJuzDi.js.map → PkToolShowArtifact-BnwU7CV2.js.map} +1 -1
  72. package/dist-vue/_chunks/{PkToolShowContactForm-CotIwNhi.js → PkToolShowContactForm-_x_dbiHn.js} +2 -2
  73. package/dist-vue/_chunks/{PkToolShowContactForm-CotIwNhi.js.map → PkToolShowContactForm-_x_dbiHn.js.map} +1 -1
  74. package/dist-vue/_chunks/{PkToolShowDiagram-BAdJMmt7.js → PkToolShowDiagram-CjJcLvWs.js} +2 -2
  75. package/dist-vue/_chunks/{PkToolShowDiagram-BAdJMmt7.js.map → PkToolShowDiagram-CjJcLvWs.js.map} +1 -1
  76. package/dist-vue/_chunks/{PkToolShowEmail-DF__nKpR.js → PkToolShowEmail-CRQjoJr1.js} +2 -2
  77. package/dist-vue/_chunks/{PkToolShowEmail-DF__nKpR.js.map → PkToolShowEmail-CRQjoJr1.js.map} +1 -1
  78. package/dist-vue/_chunks/{PkToolShowForm-Dx10jOXm.js → PkToolShowForm-IPAkJIXh.js} +4 -4
  79. package/dist-vue/_chunks/{PkToolShowForm-Dx10jOXm.js.map → PkToolShowForm-IPAkJIXh.js.map} +1 -1
  80. package/dist-vue/_chunks/{PkToolShowMessage-Ck6VP-gw.js → PkToolShowMessage-joTzAg9N.js} +2 -2
  81. package/dist-vue/_chunks/{PkToolShowMessage-Ck6VP-gw.js.map → PkToolShowMessage-joTzAg9N.js.map} +1 -1
  82. package/dist-vue/_chunks/{PkToolShowProductList-zfM8cx-l.js → PkToolShowProductList-tOYjd2bq.js} +2 -2
  83. package/dist-vue/_chunks/{PkToolShowProductList-zfM8cx-l.js.map → PkToolShowProductList-tOYjd2bq.js.map} +1 -1
  84. package/dist-vue/_chunks/{PkToolShowSources-Dlaz2Y77.js → PkToolShowSources-Cc26LzRd.js} +4 -4
  85. package/dist-vue/_chunks/{PkToolShowSources-Dlaz2Y77.js.map → PkToolShowSources-Cc26LzRd.js.map} +1 -1
  86. package/dist-vue/_chunks/{PkToolShowSuggestedReply-DWLkUh2L.js → PkToolShowSuggestedReply-DA4NEjHB.js} +2 -2
  87. package/dist-vue/_chunks/{PkToolShowSuggestedReply-DWLkUh2L.js.map → PkToolShowSuggestedReply-DA4NEjHB.js.map} +1 -1
  88. package/dist-vue/_chunks/{PkToolShowWebPages-CosBYLrE.js → PkToolShowWebPages-D3Xy4iUs.js} +2 -2
  89. package/dist-vue/_chunks/{PkToolShowWebPages-CosBYLrE.js.map → PkToolShowWebPages-D3Xy4iUs.js.map} +1 -1
  90. package/dist-vue/_chunks/{PkUrl-B5CNTQj9.js → PkUrl-BgMBemSz.js} +2 -2
  91. package/dist-vue/_chunks/{PkUrl-B5CNTQj9.js.map → PkUrl-BgMBemSz.js.map} +1 -1
  92. package/dist-vue/_chunks/StreamError-D1AtGgS3.js +22 -0
  93. package/dist-vue/_chunks/StreamError-D1AtGgS3.js.map +1 -0
  94. package/dist-vue/_chunks/{createChatbotApiClient-MkaPbGWB.js → createChatbotApiClient-CaVLm5W9.js} +162 -126
  95. package/dist-vue/_chunks/createChatbotApiClient-CaVLm5W9.js.map +1 -0
  96. package/dist-vue/_chunks/{useChatbotStore-BowmAdfD.js → useChatbotStore-CMS2zFht.js} +861 -889
  97. package/dist-vue/_chunks/useChatbotStore-CMS2zFht.js.map +1 -0
  98. package/dist-vue/_chunks/{utils-C1666_6C.js → utils-h4C7rRcu.js} +3 -3
  99. package/dist-vue/_chunks/{utils-C1666_6C.js.map → utils-h4C7rRcu.js.map} +1 -1
  100. package/dist-vue/api.js +1 -1
  101. package/dist-vue/composables.js +3 -3
  102. package/dist-vue/index.js +3678 -3453
  103. package/dist-vue/index.js.map +1 -1
  104. package/dist-vue/locales.js +38 -0
  105. package/dist-vue/packages/components/src/chat/PkAgentSettingsPanel.d.ts +6 -3
  106. package/dist-vue/packages/components/src/chat/PkLanguageModelCombobox.d.ts +7 -0
  107. package/dist-vue/packages/components/src/chat/PkMessageParts.d.ts +6 -6
  108. package/dist-vue/packages/components/src/chat/PkToolSelection.d.ts +8 -0
  109. package/dist-vue/packages/components/src/types.d.ts +7 -2
  110. package/dist-vue/packages/composable/src/chatbot/useChatbotStore.d.ts +139 -1
  111. package/dist-vue/packages/models/src/schema/Agent.d.ts +38 -0
  112. package/dist-vue/packages/models/src/schema/Chat.d.ts +120 -0
  113. package/dist-vue/packages/models/src/schema/ModelProvider.d.ts +130 -8
  114. package/dist-vue/packages/models/src/schema/ReasoningChat.d.ts +7 -1
  115. package/dist-vue/packages/models/src/schema/StreamError.d.ts +13 -0
  116. package/dist-vue/packages/models/src/schema/SubAgent.d.ts +7 -1
  117. package/dist-vue/packages/models/src/schema/constants.d.ts +11 -1
  118. package/dist-vue/packages/models/src/utils.d.ts +17 -0
  119. package/dist-vue/style.css +1 -1
  120. package/package.json +2 -2
  121. package/dist/_chunks/Agent-tE7ZJPxG.js.map +0 -1
  122. package/dist/_chunks/Document-Bmx6774B.js.map +0 -1
  123. package/dist/_chunks/PkStreamingMarkdown-CNI8aV8t.js.map +0 -1
  124. package/dist-vue/_chunks/Agent-De2gFNjR.js.map +0 -1
  125. package/dist-vue/_chunks/Document-8umjeTVS.js.map +0 -1
  126. package/dist-vue/_chunks/PkChatbotError-gvDpRcEz.js +0 -106
  127. package/dist-vue/_chunks/PkChatbotError-gvDpRcEz.js.map +0 -1
  128. package/dist-vue/_chunks/createChatbotApiClient-MkaPbGWB.js.map +0 -1
  129. package/dist-vue/_chunks/useChatbotStore-BowmAdfD.js.map +0 -1
@@ -228,6 +228,8 @@ var e = {
228
228
  fileUploadMaxFilesPerMessage: "Max files per message",
229
229
  fileUploadMaxFilesPerChat: "Max files per chat",
230
230
  webSearch: "Web search",
231
+ toolWorkingSet: "Tool selection",
232
+ toolWorkingSetMode: "Mode",
231
233
  deprecated: "Deprecated",
232
234
  whatsapp: "WhatsApp",
233
235
  teams: "Microsoft Teams",
@@ -499,6 +501,7 @@ var e = {
499
501
  runSubagent: "Delegating to a sub-agent...",
500
502
  runWorker: "Delegating to a worker...",
501
503
  fetchTeamsChannelHistory: "Reading channel history...",
504
+ enableTools: "Enabling tools...",
502
505
  searchingDocuments: "Memory search...",
503
506
  expandChunkContext: "Reading more context...",
504
507
  readDocumentFile: "Reading the original document...",
@@ -537,6 +540,22 @@ var e = {
537
540
  expired: "This request is no longer answerable: the action was not performed.",
538
541
  prompt: "Your confirmation is needed to continue:"
539
542
  },
543
+ toolSelection: {
544
+ exposed: "Groups exposed to the model: probability {threshold} or higher, or used earlier",
545
+ latency: "Evaluation time, limit {budget} ms",
546
+ cost: "Cost charged to the organization: {cost}",
547
+ notCharged: "Not charged",
548
+ inputTokens: "Input tokens",
549
+ title: "Tool selection",
550
+ failed: "Failed",
551
+ leadFailed: "The evaluation failed or did not answer within {budget} ms: every group stayed exposed.",
552
+ tools: "{n} tool | {n} tools",
553
+ missed: "Missed",
554
+ used: "Used",
555
+ enabled: "Brought back",
556
+ seeded: "Used earlier",
557
+ probability: "Probability that the message needs the group; exposed from {threshold}"
558
+ },
540
559
  validation: { invalidPhoneNumber: "The number entered is incorrect" },
541
560
  showForm: {
542
561
  step: "Step {current} of {total}",
@@ -778,6 +797,8 @@ var e = {
778
797
  fileUploadMaxFilesPerMessage: "File massimi per messaggio",
779
798
  fileUploadMaxFilesPerChat: "File massimi per chat",
780
799
  webSearch: "Ricerca web",
800
+ toolWorkingSet: "Selezione dei tool",
801
+ toolWorkingSetMode: "Modalità",
781
802
  deprecated: "Deprecato",
782
803
  whatsapp: "WhatsApp",
783
804
  teams: "Microsoft Teams",
@@ -1049,6 +1070,7 @@ var e = {
1049
1070
  runSubagent: "Delega a un sotto-agente...",
1050
1071
  runWorker: "Delega a un worker...",
1051
1072
  fetchTeamsChannelHistory: "Lettura cronologia canale...",
1073
+ enableTools: "Attivazione dei tool...",
1052
1074
  searchingDocuments: "Ricerca nella memoria...",
1053
1075
  expandChunkContext: "Lettura di altro contesto...",
1054
1076
  readDocumentFile: "Lettura del documento originale...",
@@ -1087,6 +1109,22 @@ var e = {
1087
1109
  expired: "Questa richiesta non è più confermabile: l'azione non è stata eseguita.",
1088
1110
  prompt: "Per continuare serve la tua conferma:"
1089
1111
  },
1112
+ toolSelection: {
1113
+ exposed: "Gruppi esposti al modello: probabilità da {threshold} in su, o usati prima",
1114
+ latency: "Tempo della valutazione, limite {budget} ms",
1115
+ cost: "Costo addebitato all’organizzazione: {cost}",
1116
+ notCharged: "Non addebitata",
1117
+ inputTokens: "Token in ingresso",
1118
+ title: "Selezione dei tool",
1119
+ failed: "Non riuscita",
1120
+ leadFailed: "La valutazione non è riuscita o non ha risposto entro {budget} ms: tutti i gruppi sono rimasti esposti.",
1121
+ tools: "{n} tool | {n} tool",
1122
+ missed: "Mancato",
1123
+ used: "Usato",
1124
+ enabled: "Riattivato",
1125
+ seeded: "Usato prima",
1126
+ probability: "Probabilità che il messaggio abbia bisogno del gruppo; esposto da {threshold}"
1127
+ },
1090
1128
  validation: { invalidPhoneNumber: "Il numero inserito non è corretto" },
1091
1129
  showForm: {
1092
1130
  step: "Domanda {current} di {total}",
@@ -1,4 +1,4 @@
1
- import { AgentFormSettings, AgentReasoning, AgentWebSearch, LocalizedString, Media, ModelCatalogEntry, OrganizationFeature, VoiceOption, AgentBuiltInTool, AgentChannel, AgentLoaderStrategy, AgentType, WebSearchProvider, StoragePolicy } from '../../../models/src';
1
+ import { AgentFormSettings, AgentReasoning, AgentWebSearch, LocalizedString, Media, ModelCatalogEntry, OrganizationFeature, VoiceOption, AgentBuiltInTool, AgentChannel, AgentToolWorkingSetMode, AgentLoaderStrategy, AgentType, WebSearchProvider, StoragePolicy } from '../../../models/src';
2
2
  import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
3
3
  type __VLS_Props = {
4
4
  organizationSlug?: string;
@@ -76,6 +76,7 @@ type __VLS_ModelProps = {
76
76
  'loadDelay'?: number | undefined;
77
77
  'loaderStrategy'?: AgentLoaderStrategy | undefined;
78
78
  'fileUploadEnabled'?: boolean;
79
+ 'toolWorkingSetMode'?: AgentToolWorkingSetMode;
79
80
  'voiceEnabled'?: boolean;
80
81
  'voiceMaxSessionSeconds'?: number;
81
82
  'voiceId'?: string | undefined;
@@ -118,9 +119,9 @@ type __VLS_ModelProps = {
118
119
  } | undefined;
119
120
  };
120
121
  type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
121
- declare var __VLS_749: {};
122
+ declare var __VLS_766: {};
122
123
  type __VLS_Slots = {} & {
123
- default?: (props: typeof __VLS_749) => any;
124
+ default?: (props: typeof __VLS_766) => any;
124
125
  };
125
126
  declare const __VLS_base: DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
126
127
  "update:reasoning": (value: {
@@ -320,6 +321,7 @@ declare const __VLS_base: DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, Com
320
321
  "update:loadDelay": (value: number | undefined) => any;
321
322
  "update:loaderStrategy": (value: AgentLoaderStrategy | undefined) => any;
322
323
  "update:fileUploadEnabled": (value: boolean) => any;
324
+ "update:toolWorkingSetMode": (value: AgentToolWorkingSetMode) => any;
323
325
  "update:voiceEnabled": (value: boolean) => any;
324
326
  "update:voiceMaxSessionSeconds": (value: number) => any;
325
327
  "update:voiceId": (value: string | undefined) => any;
@@ -558,6 +560,7 @@ declare const __VLS_base: DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, Com
558
560
  "onUpdate:loadDelay"?: ((value: number | undefined) => any) | undefined;
559
561
  "onUpdate:loaderStrategy"?: ((value: AgentLoaderStrategy | undefined) => any) | undefined;
560
562
  "onUpdate:fileUploadEnabled"?: ((value: boolean) => any) | undefined;
563
+ "onUpdate:toolWorkingSetMode"?: ((value: AgentToolWorkingSetMode) => any) | undefined;
561
564
  "onUpdate:voiceEnabled"?: ((value: boolean) => any) | undefined;
562
565
  "onUpdate:voiceMaxSessionSeconds"?: ((value: number) => any) | undefined;
563
566
  "onUpdate:voiceId"?: ((value: string | undefined) => any) | undefined;
@@ -40,6 +40,13 @@ type __VLS_Props = {
40
40
  * valid price reference.
41
41
  */
42
42
  offerDisabled?: boolean;
43
+ /**
44
+ * What the chosen model has to read, as the gateway listing spells it
45
+ * (`pdf`, `image`): a model whose listing says it does not is not
46
+ * offered. One the listing knows nothing about (an endpoint model
47
+ * with no match) stays, and the call says whether it reads it.
48
+ */
49
+ inputModality?: string;
43
50
  /**
44
51
  * Declared so it cannot fall through, never read. This component owns
45
52
  * its option list: it builds it from the catalog, filters it by the
@@ -14,21 +14,21 @@ interface SubAgentSlotPart {
14
14
  type __VLS_Props = {
15
15
  message: UIChatMessage;
16
16
  };
17
- declare var __VLS_107: {
17
+ declare var __VLS_112: {
18
18
  part: SubAgentSlotPart;
19
- }, __VLS_110: string, __VLS_111: {
19
+ }, __VLS_115: string, __VLS_116: {
20
20
  part: {
21
21
  type: `tool-${string}`;
22
22
  } & UIToolInvocation<UITool>;
23
- }, __VLS_119: {
23
+ }, __VLS_124: {
24
24
  part: TextUIPart | ReasoningUIPart;
25
25
  };
26
26
  type __VLS_Slots = {} & {
27
- [K in NonNullable<typeof __VLS_110>]?: (props: typeof __VLS_111) => any;
27
+ [K in NonNullable<typeof __VLS_115>]?: (props: typeof __VLS_116) => any;
28
28
  } & {
29
- subagent?: (props: typeof __VLS_107) => any;
29
+ subagent?: (props: typeof __VLS_112) => any;
30
30
  } & {
31
- text?: (props: typeof __VLS_119) => any;
31
+ text?: (props: typeof __VLS_124) => any;
32
32
  };
33
33
  declare const __VLS_base: DefineComponent<__VLS_Props, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
34
34
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
@@ -0,0 +1,8 @@
1
+ import { UIChatMessage } from '../../../models/src';
2
+ import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
3
+ type __VLS_Props = {
4
+ message: UIChatMessage;
5
+ };
6
+ declare const __VLS_export: DefineComponent<__VLS_Props, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
7
+ declare const _default: typeof __VLS_export;
8
+ export default _default;
@@ -1,4 +1,4 @@
1
- import { Ref } from 'vue';
1
+ import { Ref, VNode } from 'vue';
2
2
  export type TableColumnRecord<T = Record<string, unknown>> = {
3
3
  name: string;
4
4
  field?: string;
@@ -8,7 +8,12 @@ export type TableColumnRecord<T = Record<string, unknown>> = {
8
8
  classTh?: string;
9
9
  classTd?: string;
10
10
  wrapperClass?: string;
11
- render?: (row: T, index?: number) => unknown;
11
+ /**
12
+ * The cell content, rendered through `<component :is>`: a bare string
13
+ * would be read as a tag name, so return a vnode (`h('span', text)`), or
14
+ * `null` or `undefined` for an empty cell.
15
+ */
16
+ render?: (row: T, index?: number) => VNode | null | undefined;
12
17
  hidden?: boolean | Ref<boolean | undefined>;
13
18
  };
14
19
  export type TableColumn<T = Record<string, unknown>> = TableColumnRecord<T> | string;
@@ -1,5 +1,5 @@
1
1
  import { Chat } from '@ai-sdk/vue';
2
- import { ChatMessageActions, UIChatMessage, AgentLoaderStrategy, StoragePolicy, AgentSearchMode, AgentBuiltInTool, WebSearchProvider, PlatformType, BlockedReasonCode, ConversationAnalysisTrigger, Sentiment, SentimentTrend, UserTone, AbuseCategory, LlmIssueCategory, UserEngagement, AbuseConfidence } from '../../../models/src';
2
+ import { ChatMessageActions, UIChatMessage, AgentLoaderStrategy, StoragePolicy, AgentSearchMode, AgentBuiltInTool, WebSearchProvider, PlatformType, ToolGroupKind, BlockedReasonCode, ConversationAnalysisTrigger, Sentiment, SentimentTrend, UserTone, AbuseCategory, LlmIssueCategory, UserEngagement, AbuseConfidence } from '../../../models/src';
3
3
  import { ChatbotFile } from './api';
4
4
  import { PendingAttachment } from './types';
5
5
  import { Store } from 'pinia';
@@ -612,6 +612,27 @@ export declare function useChatbotStore(agentId: string): Store<`chatbot-${strin
612
612
  cachedTokens?: number | undefined;
613
613
  trafficType?: string | undefined;
614
614
  transport?: string | undefined;
615
+ toolCatalogue?: {
616
+ fingerprint: string;
617
+ groups: {
618
+ id: string;
619
+ kind: ToolGroupKind;
620
+ name: string;
621
+ keys: string[];
622
+ }[];
623
+ workingSet?: {
624
+ mode: "shadow" | "active";
625
+ selected: string[];
626
+ seeded: string[];
627
+ probabilities: Record<string, number>;
628
+ latencyMs: number;
629
+ budgetMs: number;
630
+ threshold: number;
631
+ cost?: number | undefined;
632
+ inputTokens?: number | undefined;
633
+ failed?: boolean | undefined;
634
+ } | undefined;
635
+ } | undefined;
615
636
  } | undefined;
616
637
  parts: ({
617
638
  type: "text";
@@ -637,6 +658,7 @@ export declare function useChatbotStore(agentId: string): Store<`chatbot-${strin
637
658
  providerExecuted?: boolean | undefined;
638
659
  state: "input-streaming";
639
660
  input?: unknown;
661
+ rawInput?: string | undefined;
640
662
  output?: never | undefined;
641
663
  errorText?: never | undefined;
642
664
  callProviderMetadata?: ProviderMetadata | undefined;
@@ -805,6 +827,7 @@ export declare function useChatbotStore(agentId: string): Store<`chatbot-${strin
805
827
  providerExecuted?: boolean | undefined;
806
828
  state: "input-streaming";
807
829
  input?: unknown;
830
+ rawInput?: string | undefined;
808
831
  output?: never | undefined;
809
832
  errorText?: never | undefined;
810
833
  callProviderMetadata?: ProviderMetadata | undefined;
@@ -1095,6 +1118,27 @@ export declare function useChatbotStore(agentId: string): Store<`chatbot-${strin
1095
1118
  cachedTokens?: number | undefined;
1096
1119
  trafficType?: string | undefined;
1097
1120
  transport?: string | undefined;
1121
+ toolCatalogue?: {
1122
+ fingerprint: string;
1123
+ groups: {
1124
+ id: string;
1125
+ kind: ToolGroupKind;
1126
+ name: string;
1127
+ keys: string[];
1128
+ }[];
1129
+ workingSet?: {
1130
+ mode: "shadow" | "active";
1131
+ selected: string[];
1132
+ seeded: string[];
1133
+ probabilities: Record<string, number>;
1134
+ latencyMs: number;
1135
+ budgetMs: number;
1136
+ threshold: number;
1137
+ cost?: number | undefined;
1138
+ inputTokens?: number | undefined;
1139
+ failed?: boolean | undefined;
1140
+ } | undefined;
1141
+ } | undefined;
1098
1142
  } | undefined;
1099
1143
  parts: ({
1100
1144
  type: "text";
@@ -1120,6 +1164,7 @@ export declare function useChatbotStore(agentId: string): Store<`chatbot-${strin
1120
1164
  providerExecuted?: boolean | undefined;
1121
1165
  state: "input-streaming";
1122
1166
  input?: unknown;
1167
+ rawInput?: string | undefined;
1123
1168
  output?: never | undefined;
1124
1169
  errorText?: never | undefined;
1125
1170
  callProviderMetadata?: ProviderMetadata | undefined;
@@ -1288,6 +1333,7 @@ export declare function useChatbotStore(agentId: string): Store<`chatbot-${strin
1288
1333
  providerExecuted?: boolean | undefined;
1289
1334
  state: "input-streaming";
1290
1335
  input?: unknown;
1336
+ rawInput?: string | undefined;
1291
1337
  output?: never | undefined;
1292
1338
  errorText?: never | undefined;
1293
1339
  callProviderMetadata?: ProviderMetadata | undefined;
@@ -2276,6 +2322,27 @@ export declare function useChatbotStore(agentId: string): Store<`chatbot-${strin
2276
2322
  cachedTokens?: number | undefined;
2277
2323
  trafficType?: string | undefined;
2278
2324
  transport?: string | undefined;
2325
+ toolCatalogue?: {
2326
+ fingerprint: string;
2327
+ groups: {
2328
+ id: string;
2329
+ kind: ToolGroupKind;
2330
+ name: string;
2331
+ keys: string[];
2332
+ }[];
2333
+ workingSet?: {
2334
+ mode: "shadow" | "active";
2335
+ selected: string[];
2336
+ seeded: string[];
2337
+ probabilities: Record<string, number>;
2338
+ latencyMs: number;
2339
+ budgetMs: number;
2340
+ threshold: number;
2341
+ cost?: number | undefined;
2342
+ inputTokens?: number | undefined;
2343
+ failed?: boolean | undefined;
2344
+ } | undefined;
2345
+ } | undefined;
2279
2346
  } | undefined;
2280
2347
  parts: ({
2281
2348
  type: "text";
@@ -2301,6 +2368,7 @@ export declare function useChatbotStore(agentId: string): Store<`chatbot-${strin
2301
2368
  providerExecuted?: boolean | undefined;
2302
2369
  state: "input-streaming";
2303
2370
  input?: unknown;
2371
+ rawInput?: string | undefined;
2304
2372
  output?: never | undefined;
2305
2373
  errorText?: never | undefined;
2306
2374
  callProviderMetadata?: ProviderMetadata | undefined;
@@ -2469,6 +2537,7 @@ export declare function useChatbotStore(agentId: string): Store<`chatbot-${strin
2469
2537
  providerExecuted?: boolean | undefined;
2470
2538
  state: "input-streaming";
2471
2539
  input?: unknown;
2540
+ rawInput?: string | undefined;
2472
2541
  output?: never | undefined;
2473
2542
  errorText?: never | undefined;
2474
2543
  callProviderMetadata?: ProviderMetadata | undefined;
@@ -2759,6 +2828,27 @@ export declare function useChatbotStore(agentId: string): Store<`chatbot-${strin
2759
2828
  cachedTokens?: number | undefined;
2760
2829
  trafficType?: string | undefined;
2761
2830
  transport?: string | undefined;
2831
+ toolCatalogue?: {
2832
+ fingerprint: string;
2833
+ groups: {
2834
+ id: string;
2835
+ kind: ToolGroupKind;
2836
+ name: string;
2837
+ keys: string[];
2838
+ }[];
2839
+ workingSet?: {
2840
+ mode: "shadow" | "active";
2841
+ selected: string[];
2842
+ seeded: string[];
2843
+ probabilities: Record<string, number>;
2844
+ latencyMs: number;
2845
+ budgetMs: number;
2846
+ threshold: number;
2847
+ cost?: number | undefined;
2848
+ inputTokens?: number | undefined;
2849
+ failed?: boolean | undefined;
2850
+ } | undefined;
2851
+ } | undefined;
2762
2852
  } | undefined;
2763
2853
  parts: ({
2764
2854
  type: "text";
@@ -2784,6 +2874,7 @@ export declare function useChatbotStore(agentId: string): Store<`chatbot-${strin
2784
2874
  providerExecuted?: boolean | undefined;
2785
2875
  state: "input-streaming";
2786
2876
  input?: unknown;
2877
+ rawInput?: string | undefined;
2787
2878
  output?: never | undefined;
2788
2879
  errorText?: never | undefined;
2789
2880
  callProviderMetadata?: ProviderMetadata | undefined;
@@ -2952,6 +3043,7 @@ export declare function useChatbotStore(agentId: string): Store<`chatbot-${strin
2952
3043
  providerExecuted?: boolean | undefined;
2953
3044
  state: "input-streaming";
2954
3045
  input?: unknown;
3046
+ rawInput?: string | undefined;
2955
3047
  output?: never | undefined;
2956
3048
  errorText?: never | undefined;
2957
3049
  callProviderMetadata?: ProviderMetadata | undefined;
@@ -3940,6 +4032,27 @@ export declare function useChatbotStore(agentId: string): Store<`chatbot-${strin
3940
4032
  cachedTokens?: number | undefined;
3941
4033
  trafficType?: string | undefined;
3942
4034
  transport?: string | undefined;
4035
+ toolCatalogue?: {
4036
+ fingerprint: string;
4037
+ groups: {
4038
+ id: string;
4039
+ kind: ToolGroupKind;
4040
+ name: string;
4041
+ keys: string[];
4042
+ }[];
4043
+ workingSet?: {
4044
+ mode: "shadow" | "active";
4045
+ selected: string[];
4046
+ seeded: string[];
4047
+ probabilities: Record<string, number>;
4048
+ latencyMs: number;
4049
+ budgetMs: number;
4050
+ threshold: number;
4051
+ cost?: number | undefined;
4052
+ inputTokens?: number | undefined;
4053
+ failed?: boolean | undefined;
4054
+ } | undefined;
4055
+ } | undefined;
3943
4056
  } | undefined;
3944
4057
  parts: ({
3945
4058
  type: "text";
@@ -3965,6 +4078,7 @@ export declare function useChatbotStore(agentId: string): Store<`chatbot-${strin
3965
4078
  providerExecuted?: boolean | undefined;
3966
4079
  state: "input-streaming";
3967
4080
  input?: unknown;
4081
+ rawInput?: string | undefined;
3968
4082
  output?: never | undefined;
3969
4083
  errorText?: never | undefined;
3970
4084
  callProviderMetadata?: ProviderMetadata | undefined;
@@ -4133,6 +4247,7 @@ export declare function useChatbotStore(agentId: string): Store<`chatbot-${strin
4133
4247
  providerExecuted?: boolean | undefined;
4134
4248
  state: "input-streaming";
4135
4249
  input?: unknown;
4250
+ rawInput?: string | undefined;
4136
4251
  output?: never | undefined;
4137
4252
  errorText?: never | undefined;
4138
4253
  callProviderMetadata?: ProviderMetadata | undefined;
@@ -4423,6 +4538,27 @@ export declare function useChatbotStore(agentId: string): Store<`chatbot-${strin
4423
4538
  cachedTokens?: number | undefined;
4424
4539
  trafficType?: string | undefined;
4425
4540
  transport?: string | undefined;
4541
+ toolCatalogue?: {
4542
+ fingerprint: string;
4543
+ groups: {
4544
+ id: string;
4545
+ kind: ToolGroupKind;
4546
+ name: string;
4547
+ keys: string[];
4548
+ }[];
4549
+ workingSet?: {
4550
+ mode: "shadow" | "active";
4551
+ selected: string[];
4552
+ seeded: string[];
4553
+ probabilities: Record<string, number>;
4554
+ latencyMs: number;
4555
+ budgetMs: number;
4556
+ threshold: number;
4557
+ cost?: number | undefined;
4558
+ inputTokens?: number | undefined;
4559
+ failed?: boolean | undefined;
4560
+ } | undefined;
4561
+ } | undefined;
4426
4562
  } | undefined;
4427
4563
  parts: ({
4428
4564
  type: "text";
@@ -4448,6 +4584,7 @@ export declare function useChatbotStore(agentId: string): Store<`chatbot-${strin
4448
4584
  providerExecuted?: boolean | undefined;
4449
4585
  state: "input-streaming";
4450
4586
  input?: unknown;
4587
+ rawInput?: string | undefined;
4451
4588
  output?: never | undefined;
4452
4589
  errorText?: never | undefined;
4453
4590
  callProviderMetadata?: ProviderMetadata | undefined;
@@ -4616,6 +4753,7 @@ export declare function useChatbotStore(agentId: string): Store<`chatbot-${strin
4616
4753
  providerExecuted?: boolean | undefined;
4617
4754
  state: "input-streaming";
4618
4755
  input?: unknown;
4756
+ rawInput?: string | undefined;
4619
4757
  output?: never | undefined;
4620
4758
  errorText?: never | undefined;
4621
4759
  callProviderMetadata?: ProviderMetadata | undefined;
@@ -357,6 +357,12 @@ export declare const mcpToolKey: (toolName: string) => string;
357
357
  export declare const apiToolKey: (toolName: string) => string;
358
358
  /** Tool-set key of a sub-agent, from its camel-cased name. */
359
359
  export declare const subAgentToolKey: (subAgentName: string) => string;
360
+ /**
361
+ * The tool that brings back a group the working set hid (spec
362
+ * tool-catalogue-working-set, F4). Not a built-in the agent switches: it
363
+ * exists exactly when the working set is active and hid something.
364
+ */
365
+ export declare const ENABLE_TOOLS_TOOL = "enableTools";
360
366
  /**
361
367
  * Returns true if the tool can be put behind the user-approval gate
362
368
  * (`settings.tools.approval.tools`, see docs/specs/tool-approval-interface.md).
@@ -1103,6 +1109,29 @@ export declare const AgentOpenAiApiSchema: z.ZodObject<{
1103
1109
  enabled: z.ZodDefault<z.ZodBoolean>;
1104
1110
  }, z.core.$strip>;
1105
1111
  export type AgentOpenAiApi = z.infer<typeof AgentOpenAiApiSchema>;
1112
+ /**
1113
+ * Working set of the tool catalogue (spec tool-catalogue-working-set, F4):
1114
+ * before the first step an evaluation model decides which MCP servers, API
1115
+ * tools and sub-agents the turn needs, and the model sees only those plus a
1116
+ * tool to enable the others.
1117
+ * - `off`: every tool is exposed, as before;
1118
+ * - `shadow`: the decision is taken and recorded on the message, every tool
1119
+ * is still exposed, so it can be read against the tools the model called;
1120
+ * - `active`: the decision is applied.
1121
+ *
1122
+ * The evaluation model is served only by the gateway: the setting needs the
1123
+ * organization's `gateway` feature, and an agent on the organization's own
1124
+ * endpoint keeps it off.
1125
+ */
1126
+ export declare enum AgentToolWorkingSetMode {
1127
+ Off = "off",
1128
+ Shadow = "shadow",
1129
+ Active = "active"
1130
+ }
1131
+ export declare const AgentToolWorkingSetSchema: z.ZodObject<{
1132
+ mode: z.ZodDefault<z.ZodEnum<typeof AgentToolWorkingSetMode>>;
1133
+ }, z.core.$strip>;
1134
+ export type AgentToolWorkingSet = z.infer<typeof AgentToolWorkingSetSchema>;
1106
1135
  /**
1107
1136
  * Shortest first-token deadline the provider actually honours. Below it the
1108
1137
  * turn does not fall back on their model, it fails outright with "LLM Cascade
@@ -1595,6 +1624,9 @@ export declare const AgentSettingsSchema: z.ZodObject<{
1595
1624
  providerSecretId: z.ZodOptional<z.ZodString>;
1596
1625
  providerApiKeyId: z.ZodOptional<z.ZodString>;
1597
1626
  }, z.core.$strip>>>;
1627
+ toolWorkingSet: z.ZodDefault<z.ZodOptional<z.ZodObject<{
1628
+ mode: z.ZodDefault<z.ZodEnum<typeof AgentToolWorkingSetMode>>;
1629
+ }, z.core.$strip>>>;
1598
1630
  }, z.core.$strip>;
1599
1631
  export type AgentSettings = z.infer<typeof AgentSettingsSchema>;
1600
1632
  export declare const AgentSecuritySchema: z.ZodObject<{
@@ -1987,6 +2019,9 @@ export declare const AgentDtoSchema: z.ZodObject<{
1987
2019
  providerSecretId: z.ZodOptional<z.ZodString>;
1988
2020
  providerApiKeyId: z.ZodOptional<z.ZodString>;
1989
2021
  }, z.core.$strip>>>;
2022
+ toolWorkingSet: z.ZodDefault<z.ZodOptional<z.ZodObject<{
2023
+ mode: z.ZodDefault<z.ZodEnum<typeof AgentToolWorkingSetMode>>;
2024
+ }, z.core.$strip>>>;
1990
2025
  }, z.core.$strip>;
1991
2026
  security: z.ZodOptional<z.ZodNullable<z.ZodObject<{
1992
2027
  rateLimits: z.ZodObject<{
@@ -2380,6 +2415,9 @@ export declare const AgentSchema: z.ZodLazy<z.ZodObject<{
2380
2415
  providerSecretId: z.ZodOptional<z.ZodString>;
2381
2416
  providerApiKeyId: z.ZodOptional<z.ZodString>;
2382
2417
  }, z.core.$strip>>>;
2418
+ toolWorkingSet: z.ZodDefault<z.ZodOptional<z.ZodObject<{
2419
+ mode: z.ZodDefault<z.ZodEnum<typeof AgentToolWorkingSetMode>>;
2420
+ }, z.core.$strip>>>;
2383
2421
  }, z.core.$strip>;
2384
2422
  security: z.ZodNullable<z.ZodObject<{
2385
2423
  rateLimits: z.ZodObject<{
@@ -334,6 +334,112 @@ export type ChatMessageActions = 'show-info' | 'revise' | 'regenerate' | 'upvote
334
334
  export type Chat = z.infer<typeof ChatSchema>;
335
335
  export type ChatsQuerystring = z.infer<typeof ChatsQuerystringSchema>;
336
336
  export type UIChatMessageDeviceContext = DeviceContext;
337
+ /** Kinds of tool group the working set decides on, one group per MCP server. */
338
+ export type ToolGroupKind = 'mcp' | 'api' | 'subagent';
339
+ /**
340
+ * What the working set decided for a turn (spec tool-catalogue-working-set,
341
+ * F4). Group ids are those of {@link ToolCatalogueRecord}; the groups the model
342
+ * enabled later in the turn are read from its `enableTools` calls.
343
+ */
344
+ export type ToolWorkingSetRecord = {
345
+ /** `shadow` recorded the decision and exposed everything, `active` applied it. */
346
+ mode: 'shadow' | 'active';
347
+ /** Groups exposed from the first step: the judged ones and the seed. */
348
+ selected: string[];
349
+ /** Groups the conversation seeded, exposed whatever the judgment. */
350
+ seeded: string[];
351
+ /** Probability the evaluation model gave each judged group, two decimals. */
352
+ probabilities: Record<string, number>;
353
+ latencyMs: number;
354
+ /**
355
+ * Time the evaluation was given: short in active mode, where the turn
356
+ * waits for it, longer in shadow mode, where it runs alongside.
357
+ */
358
+ budgetMs: number;
359
+ /** Probability from which a judged group is exposed. */
360
+ threshold: number;
361
+ /**
362
+ * What the evaluation cost in USD, the amount charged to the organization.
363
+ * Absent when it failed: nothing is charged then.
364
+ */
365
+ cost?: number;
366
+ inputTokens?: number;
367
+ /**
368
+ * The evaluation answered with an error or not within the budget, and
369
+ * every group stayed exposed.
370
+ */
371
+ failed?: boolean;
372
+ };
373
+ /**
374
+ * The part of a turn's tool catalogue the working set acts on (spec
375
+ * tool-catalogue-working-set, F2): which MCP servers, API tools and sub-agents
376
+ * were eligible, identified by id and not by the public keys, which collide
377
+ * across servers. Enough to make a measurement repeatable without storing the
378
+ * schemas.
379
+ */
380
+ export type ToolCatalogueRecord = {
381
+ /** Short hash of the eligible keys and their groups: two turns with the same set agree on it. */
382
+ fingerprint: string;
383
+ groups: Array<{
384
+ id: string;
385
+ kind: ToolGroupKind;
386
+ name: string;
387
+ /**
388
+ * Keys of the group offered this turn: what attributes a call in the
389
+ * message to its group, since a key names a different server's tool
390
+ * in another turn.
391
+ */
392
+ keys: string[];
393
+ }>;
394
+ workingSet?: ToolWorkingSetRecord;
395
+ };
396
+ /** One group of a turn's catalogue, read against what the turn did with it. */
397
+ export type ToolSelectionGroup = {
398
+ id: string;
399
+ kind: ToolGroupKind;
400
+ name: string;
401
+ tools: number;
402
+ /** Absent when the evaluation failed. */
403
+ probability?: number;
404
+ /** Exposed from the first step in active mode, or would have been in shadow mode. */
405
+ selected: boolean;
406
+ seeded: boolean;
407
+ /**
408
+ * Brought back during the turn, by `enableTools` or by a direct call to
409
+ * one of its tools that the model was refused as unavailable.
410
+ */
411
+ enabled: boolean;
412
+ /**
413
+ * The model called one of its tools, whatever came of the call (an error,
414
+ * a denied approval): the turn needed the group.
415
+ */
416
+ used: boolean;
417
+ };
418
+ export type ToolSelectionSummary = {
419
+ decision: ToolWorkingSetRecord;
420
+ /** Most probable first, then by name. */
421
+ groups: ToolSelectionGroup[];
422
+ /**
423
+ * Groups the turn used that the decision left out. In active mode the
424
+ * model had to bring each one back, in shadow mode it would have had to:
425
+ * the working set's miss, the figure F3 of the spec counts.
426
+ */
427
+ missed: number;
428
+ };
429
+ /**
430
+ * The working set's decision on a turn next to what the turn did: which
431
+ * groups it exposed, which the model brought back and which it used. Read
432
+ * from the stored answer, whose metadata carries the record and whose parts
433
+ * carry the calls, the way the backend read them during the turn: a call
434
+ * counts under the name the repair would give it, and an `enableTools` call
435
+ * only once it ran. Undefined when the working set did not decide.
436
+ */
437
+ export declare function summarizeToolSelection(message: {
438
+ parts?: ReadonlyArray<unknown>;
439
+ metadata?: {
440
+ toolCatalogue?: ToolCatalogueRecord;
441
+ };
442
+ }): ToolSelectionSummary | undefined;
337
443
  export type UIChatMessageMetadata = {
338
444
  /** Unix timestamp (ms) when the stream started */
339
445
  createdAt?: number;
@@ -378,10 +484,24 @@ export type UIChatMessageMetadata = {
378
484
  * `openai-api` an API turn. Absent on plain web messages.
379
485
  */
380
486
  transport?: string;
487
+ /**
488
+ * The MCP servers, API tools and sub-agents this turn could use, and the
489
+ * working set's decision on them. Absent when the agent has none. Kept
490
+ * from a public reader: streamed only to the organization's own audiences
491
+ * (on the closing finish), and removed from whatever else leaves the
492
+ * organization ({@link withoutToolCatalogue}).
493
+ */
494
+ toolCatalogue?: ToolCatalogueRecord;
381
495
  };
382
496
  export type UIChatMessage = UIMessage & {
383
497
  metadata?: UIChatMessageMetadata;
384
498
  };
499
+ /**
500
+ * The history without the tool catalogue records, for a reader outside the
501
+ * organization (a public chat read, the data export): a record names every
502
+ * group the agent has, used or not.
503
+ */
504
+ export declare function withoutToolCatalogue(messages: UIChatMessage[]): UIChatMessage[];
385
505
  /**
386
506
  * States in which a tool invocation part waits for nothing more.
387
507
  *