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

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 (138) 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/{PkToolShowVideo-Djr8Ofsz.js → PkToolShowVideo-p6Y9j3-B.js} +3 -3
  21. package/dist/_chunks/PkToolShowVideo-p6Y9j3-B.js.map +1 -0
  22. package/dist/_chunks/{browser-B0Xnbqi7.js → browser-Ct5TRDgj.js} +521 -518
  23. package/dist/_chunks/{browser-B0Xnbqi7.js.map → browser-Ct5TRDgj.js.map} +1 -1
  24. package/dist/_chunks/{Document-Bmx6774B.js → markdown-BRD-hDrH.js} +70 -72
  25. package/dist/_chunks/markdown-BRD-hDrH.js.map +1 -0
  26. package/dist/ai-elements.es.js +1571 -1481
  27. package/dist/ai-elements.es.js.map +1 -1
  28. package/dist-vue/PkChatbot.js +1 -1
  29. package/dist-vue/PkChatbotEmptyState.js +1 -1
  30. package/dist-vue/PkChatbotError.js +1 -1
  31. package/dist-vue/PkChatbotInput.js +1 -1
  32. package/dist-vue/PkChatbotMessages.js +1 -1
  33. package/dist-vue/PkChatbotStepPayload.js +1 -1
  34. package/dist-vue/PkChatbotStepToolDetail.js +1 -1
  35. package/dist-vue/PkChatbotSteps.js +1 -1
  36. package/dist-vue/PkChatbotViewChat.js +1 -1
  37. package/dist-vue/PkChatbotViewConversations.js +1 -1
  38. package/dist-vue/PkChatbotViewFiles.js +1 -1
  39. package/dist-vue/PkChatbotViewProfile.js +1 -1
  40. package/dist-vue/_chunks/{Agent-De2gFNjR.js → Agent-BNlmK-uJ.js} +96 -87
  41. package/dist-vue/_chunks/Agent-BNlmK-uJ.js.map +1 -0
  42. package/dist-vue/_chunks/{Document-8umjeTVS.js → Document-B6RpxFr9.js} +69 -71
  43. package/dist-vue/_chunks/Document-B6RpxFr9.js.map +1 -0
  44. package/dist-vue/_chunks/{PkChatbot-CloRPTIX.js → PkChatbot-C0pf6xeZ.js} +8 -8
  45. package/dist-vue/_chunks/{PkChatbot-CloRPTIX.js.map → PkChatbot-C0pf6xeZ.js.map} +1 -1
  46. package/dist-vue/_chunks/{PkChatbotEmptyState-BtzBYOHJ.js → PkChatbotEmptyState-CacY4o02.js} +2 -2
  47. package/dist-vue/_chunks/{PkChatbotEmptyState-BtzBYOHJ.js.map → PkChatbotEmptyState-CacY4o02.js.map} +1 -1
  48. package/dist-vue/_chunks/PkChatbotError-CuX9C_b9.js +89 -0
  49. package/dist-vue/_chunks/PkChatbotError-CuX9C_b9.js.map +1 -0
  50. package/dist-vue/_chunks/{PkChatbotInput-MSpF6SB6.js → PkChatbotInput-Dkz3SNAk.js} +2 -2
  51. package/dist-vue/_chunks/{PkChatbotInput-MSpF6SB6.js.map → PkChatbotInput-Dkz3SNAk.js.map} +1 -1
  52. package/dist-vue/_chunks/{PkChatbotMessages-r9D-kFvX.js → PkChatbotMessages-HbKhrhbg.js} +182 -182
  53. package/dist-vue/_chunks/{PkChatbotMessages-r9D-kFvX.js.map → PkChatbotMessages-HbKhrhbg.js.map} +1 -1
  54. package/dist-vue/_chunks/{PkChatbotStepPayload-XW4gT9AZ.js → PkChatbotStepPayload-DU0W-eUp.js} +2 -2
  55. package/dist-vue/_chunks/{PkChatbotStepPayload-XW4gT9AZ.js.map → PkChatbotStepPayload-DU0W-eUp.js.map} +1 -1
  56. package/dist-vue/_chunks/{PkChatbotStepToolDetail-C4-K6Glw.js → PkChatbotStepToolDetail-etlBryOg.js} +3 -3
  57. package/dist-vue/_chunks/{PkChatbotStepToolDetail-C4-K6Glw.js.map → PkChatbotStepToolDetail-etlBryOg.js.map} +1 -1
  58. package/dist-vue/_chunks/{PkChatbotSteps-CrqjWpv0.js → PkChatbotSteps-jW07Q-4x.js} +5 -5
  59. package/dist-vue/_chunks/{PkChatbotSteps-CrqjWpv0.js.map → PkChatbotSteps-jW07Q-4x.js.map} +1 -1
  60. package/dist-vue/_chunks/{PkChatbotViewChat-DP0EUTDu.js → PkChatbotViewChat-DdxvITNb.js} +7 -7
  61. package/dist-vue/_chunks/{PkChatbotViewChat-DP0EUTDu.js.map → PkChatbotViewChat-DdxvITNb.js.map} +1 -1
  62. package/dist-vue/_chunks/{PkChatbotViewConversations-DRKaeLbv.js → PkChatbotViewConversations-CWSrP36z.js} +2 -2
  63. package/dist-vue/_chunks/{PkChatbotViewConversations-DRKaeLbv.js.map → PkChatbotViewConversations-CWSrP36z.js.map} +1 -1
  64. package/dist-vue/_chunks/{PkChatbotViewFiles-hzlJUf0f.js → PkChatbotViewFiles-DzLp1WfU.js} +3 -3
  65. package/dist-vue/_chunks/{PkChatbotViewFiles-hzlJUf0f.js.map → PkChatbotViewFiles-DzLp1WfU.js.map} +1 -1
  66. package/dist-vue/_chunks/{PkChatbotViewProfile-D2XZ8Czi.js → PkChatbotViewProfile-CHbn3W6F.js} +2 -2
  67. package/dist-vue/_chunks/{PkChatbotViewProfile-D2XZ8Czi.js.map → PkChatbotViewProfile-CHbn3W6F.js.map} +1 -1
  68. package/dist-vue/_chunks/{PkStreamingMarkdown-D0IOaETI.js → PkStreamingMarkdown-BoEpwaYQ.js} +2 -2
  69. package/dist-vue/_chunks/{PkStreamingMarkdown-D0IOaETI.js.map → PkStreamingMarkdown-BoEpwaYQ.js.map} +1 -1
  70. package/dist-vue/_chunks/{PkToolRequestGeolocation-Q3N3jlO8.js → PkToolRequestGeolocation-9vfYNaQo.js} +2 -2
  71. package/dist-vue/_chunks/{PkToolRequestGeolocation-Q3N3jlO8.js.map → PkToolRequestGeolocation-9vfYNaQo.js.map} +1 -1
  72. package/dist-vue/_chunks/{PkToolRequestOAuthConnection-lYoTJIF_.js → PkToolRequestOAuthConnection-BorR5NmZ.js} +2 -2
  73. package/dist-vue/_chunks/{PkToolRequestOAuthConnection-lYoTJIF_.js.map → PkToolRequestOAuthConnection-BorR5NmZ.js.map} +1 -1
  74. package/dist-vue/_chunks/{PkToolShowArtifact-DHdJuzDi.js → PkToolShowArtifact-BnwU7CV2.js} +2 -2
  75. package/dist-vue/_chunks/{PkToolShowArtifact-DHdJuzDi.js.map → PkToolShowArtifact-BnwU7CV2.js.map} +1 -1
  76. package/dist-vue/_chunks/{PkToolShowContactForm-CotIwNhi.js → PkToolShowContactForm-_x_dbiHn.js} +2 -2
  77. package/dist-vue/_chunks/{PkToolShowContactForm-CotIwNhi.js.map → PkToolShowContactForm-_x_dbiHn.js.map} +1 -1
  78. package/dist-vue/_chunks/{PkToolShowDiagram-BAdJMmt7.js → PkToolShowDiagram-BWCBuXH8.js} +2 -2
  79. package/dist-vue/_chunks/{PkToolShowDiagram-BAdJMmt7.js.map → PkToolShowDiagram-BWCBuXH8.js.map} +1 -1
  80. package/dist-vue/_chunks/{PkToolShowEmail-DF__nKpR.js → PkToolShowEmail-CRQjoJr1.js} +2 -2
  81. package/dist-vue/_chunks/{PkToolShowEmail-DF__nKpR.js.map → PkToolShowEmail-CRQjoJr1.js.map} +1 -1
  82. package/dist-vue/_chunks/{PkToolShowForm-Dx10jOXm.js → PkToolShowForm-IPAkJIXh.js} +4 -4
  83. package/dist-vue/_chunks/{PkToolShowForm-Dx10jOXm.js.map → PkToolShowForm-IPAkJIXh.js.map} +1 -1
  84. package/dist-vue/_chunks/{PkToolShowMessage-Ck6VP-gw.js → PkToolShowMessage-joTzAg9N.js} +2 -2
  85. package/dist-vue/_chunks/{PkToolShowMessage-Ck6VP-gw.js.map → PkToolShowMessage-joTzAg9N.js.map} +1 -1
  86. package/dist-vue/_chunks/{PkToolShowProductList-zfM8cx-l.js → PkToolShowProductList-tOYjd2bq.js} +2 -2
  87. package/dist-vue/_chunks/{PkToolShowProductList-zfM8cx-l.js.map → PkToolShowProductList-tOYjd2bq.js.map} +1 -1
  88. package/dist-vue/_chunks/{PkToolShowSources-Dlaz2Y77.js → PkToolShowSources-Cc26LzRd.js} +4 -4
  89. package/dist-vue/_chunks/{PkToolShowSources-Dlaz2Y77.js.map → PkToolShowSources-Cc26LzRd.js.map} +1 -1
  90. package/dist-vue/_chunks/{PkToolShowSuggestedReply-DWLkUh2L.js → PkToolShowSuggestedReply-DA4NEjHB.js} +2 -2
  91. package/dist-vue/_chunks/{PkToolShowSuggestedReply-DWLkUh2L.js.map → PkToolShowSuggestedReply-DA4NEjHB.js.map} +1 -1
  92. package/dist-vue/_chunks/{PkToolShowVideo-Bv9kMd88.js → PkToolShowVideo-BZOTu2Qe.js} +3 -3
  93. package/dist-vue/_chunks/PkToolShowVideo-BZOTu2Qe.js.map +1 -0
  94. package/dist-vue/_chunks/{PkToolShowWebPages-CosBYLrE.js → PkToolShowWebPages-D3Xy4iUs.js} +2 -2
  95. package/dist-vue/_chunks/{PkToolShowWebPages-CosBYLrE.js.map → PkToolShowWebPages-D3Xy4iUs.js.map} +1 -1
  96. package/dist-vue/_chunks/{PkUrl-B5CNTQj9.js → PkUrl-BgMBemSz.js} +2 -2
  97. package/dist-vue/_chunks/{PkUrl-B5CNTQj9.js.map → PkUrl-BgMBemSz.js.map} +1 -1
  98. package/dist-vue/_chunks/StreamError-D1AtGgS3.js +22 -0
  99. package/dist-vue/_chunks/StreamError-D1AtGgS3.js.map +1 -0
  100. package/dist-vue/_chunks/{createChatbotApiClient-MkaPbGWB.js → createChatbotApiClient-CaVLm5W9.js} +162 -126
  101. package/dist-vue/_chunks/createChatbotApiClient-CaVLm5W9.js.map +1 -0
  102. package/dist-vue/_chunks/{useChatbotStore-BowmAdfD.js → useChatbotStore-CMS2zFht.js} +861 -889
  103. package/dist-vue/_chunks/useChatbotStore-CMS2zFht.js.map +1 -0
  104. package/dist-vue/_chunks/{utils-C1666_6C.js → utils-h4C7rRcu.js} +3 -3
  105. package/dist-vue/_chunks/{utils-C1666_6C.js.map → utils-h4C7rRcu.js.map} +1 -1
  106. package/dist-vue/api.js +1 -1
  107. package/dist-vue/composables.js +3 -3
  108. package/dist-vue/index.js +3676 -3451
  109. package/dist-vue/index.js.map +1 -1
  110. package/dist-vue/locales.js +38 -0
  111. package/dist-vue/packages/components/src/chat/PkAgentSettingsPanel.d.ts +6 -3
  112. package/dist-vue/packages/components/src/chat/PkLanguageModelCombobox.d.ts +7 -0
  113. package/dist-vue/packages/components/src/chat/PkMessageParts.d.ts +6 -6
  114. package/dist-vue/packages/components/src/chat/PkToolSelection.d.ts +8 -0
  115. package/dist-vue/packages/components/src/types.d.ts +7 -2
  116. package/dist-vue/packages/composable/src/chatbot/useChatbotStore.d.ts +139 -1
  117. package/dist-vue/packages/models/src/schema/Agent.d.ts +38 -0
  118. package/dist-vue/packages/models/src/schema/Chat.d.ts +120 -0
  119. package/dist-vue/packages/models/src/schema/ModelProvider.d.ts +130 -8
  120. package/dist-vue/packages/models/src/schema/Organization.d.ts +3 -3
  121. package/dist-vue/packages/models/src/schema/ReasoningChat.d.ts +7 -1
  122. package/dist-vue/packages/models/src/schema/StreamError.d.ts +13 -0
  123. package/dist-vue/packages/models/src/schema/SubAgent.d.ts +7 -1
  124. package/dist-vue/packages/models/src/schema/constants.d.ts +11 -1
  125. package/dist-vue/packages/models/src/utils.d.ts +17 -0
  126. package/dist-vue/style.css +1 -1
  127. package/package.json +2 -2
  128. package/dist/_chunks/Agent-tE7ZJPxG.js.map +0 -1
  129. package/dist/_chunks/Document-Bmx6774B.js.map +0 -1
  130. package/dist/_chunks/PkStreamingMarkdown-CNI8aV8t.js.map +0 -1
  131. package/dist/_chunks/PkToolShowVideo-Djr8Ofsz.js.map +0 -1
  132. package/dist-vue/_chunks/Agent-De2gFNjR.js.map +0 -1
  133. package/dist-vue/_chunks/Document-8umjeTVS.js.map +0 -1
  134. package/dist-vue/_chunks/PkChatbotError-gvDpRcEz.js +0 -106
  135. package/dist-vue/_chunks/PkChatbotError-gvDpRcEz.js.map +0 -1
  136. package/dist-vue/_chunks/PkToolShowVideo-Bv9kMd88.js.map +0 -1
  137. package/dist-vue/_chunks/createChatbotApiClient-MkaPbGWB.js.map +0 -1
  138. package/dist-vue/_chunks/useChatbotStore-BowmAdfD.js.map +0 -1
@@ -68,21 +68,84 @@ export declare const ByokEmbeddingFamilySchema: z.ZodEnum<{
68
68
  "google/gemini-embedding-2": "google/gemini-embedding-2";
69
69
  "openai/text-embedding-3-large": "openai/text-embedding-3-large";
70
70
  }>;
71
+ /**
72
+ * How the two families read on a page: the product name, its producer and
73
+ * the producer's logo (the one the catalog gives its language models). Here
74
+ * with the list, because the gateway catalog the pages read holds the
75
+ * language models only.
76
+ */
77
+ export declare const BYOK_EMBEDDING_FAMILY_NAMES: Record<ByokEmbeddingFamily, {
78
+ label: string;
79
+ brand: string;
80
+ brandIcon: string;
81
+ }>;
82
+ /**
83
+ * The semantic space a vector belongs to. Two vectors are comparable only
84
+ * within one family, whichever endpoint computed them: the identity check at
85
+ * activation is what makes the endpoint's vectors the family's vectors.
86
+ */
87
+ export type EmbeddingFamily = ByokEmbeddingFamily;
88
+ /**
89
+ * The family of every vector the platform computes itself, through the
90
+ * gateway. Derived from `EMBED_MODEL` and typed as a family: the day that
91
+ * constant names a model outside the families, this line stops compiling
92
+ * instead of mislabelling the index.
93
+ */
94
+ export declare const PLATFORM_EMBEDDING_FAMILY: EmbeddingFamily;
95
+ /**
96
+ * Payload field of every Qdrant point (chunks and memories) naming the family
97
+ * of its dense vector. Written with the model that actually computed the
98
+ * vector, never read from the configuration: a search filters on it, so a
99
+ * vector of another family is never compared with the query.
100
+ */
101
+ export declare const EMBEDDING_MODEL_PAYLOAD_KEY = "embedding_model";
102
+ /**
103
+ * The relevance floors of each family, on the dense cosine.
104
+ *
105
+ * Per family and not per organization: a floor describes the distribution of
106
+ * a model's similarities, and the OpenAI family scores 0.10 to 0.15 lower
107
+ * than gemini across the board. Applying gemini's floors to it returns zero
108
+ * results with no error, the failure this table exists to prevent.
109
+ *
110
+ * gemini is the calibration the platform has run on; the OpenAI row was
111
+ * measured on 2026-09-22 and accepted on 2026-09-24
112
+ * (`docs/specs/organization-byok-embedding.md`, D2 and F0), to be checked on
113
+ * the customer's own knowledge base before it is activated for them.
114
+ */
115
+ export declare const DENSE_SIMILARITY_FLOORS: Record<EmbeddingFamily, {
116
+ /** A knowledge base or user-files chunk. */
117
+ kb: number;
118
+ /** A revised answer: higher, a correction must match the question. */
119
+ revisedAnswer: number;
120
+ /** An extracted memory injected into the prompt. */
121
+ memory: number;
122
+ }>;
71
123
  /** Vector width of both families, and of the two Qdrant collections. */
72
124
  export declare const BYOK_EMBEDDING_DIMENSIONS = 3072;
73
125
  /**
74
- * How close the endpoint's vector has to be to the gateway's, for the same
75
- * sentence, before we believe the endpoint really serves the declared family.
126
+ * How close the endpoint's vector has to be to the family's reference vector,
127
+ * for the same sentence, before we believe the endpoint really serves the
128
+ * declared family.
76
129
  *
77
130
  * Measured on 2026-09-21 against the customer's proxy: the same model scores
78
131
  * 0.999999 and a different model of the same width scores -0.0168, so the
79
132
  * check has the whole range as margin and still discriminates.
80
133
  */
81
134
  export declare const BYOK_EMBEDDING_IDENTITY_FLOOR = 0.99;
82
- export declare enum ByokEmbeddingStatus {
83
- Reindexing = "reindexing",
84
- Ready = "ready"
85
- }
135
+ /**
136
+ * The sentence the identity check embeds. Fixed, because the family's
137
+ * reference vector was computed from exactly this text: changing a character
138
+ * here means recomputing the references (`pnpm --filter backend
139
+ * embedding:references`).
140
+ */
141
+ export declare const BYOK_EMBEDDING_REFERENCE_SENTENCE = "Eight Wave Agent Studio checks that this endpoint serves the embedding model it declares.";
142
+ /**
143
+ * The embedding on the organization's endpoint. Whether the tenant's vectors
144
+ * are already in this family is not said here but in the organization's
145
+ * embedding index ({@link OrganizationEmbeddingIndexSchema}): going back to
146
+ * the platform empties this column, and the reindex that follows still needs a
147
+ * place to say where it stands.
148
+ */
86
149
  export declare const ModelProviderEmbeddingSchema: z.ZodObject<{
87
150
  family: z.ZodEnum<{
88
151
  "google/gemini-embedding-2": "google/gemini-embedding-2";
@@ -101,9 +164,55 @@ export declare const ModelProviderEmbeddingSchema: z.ZodObject<{
101
164
  resolvedAt: z.ZodString;
102
165
  }, z.core.$strip>;
103
166
  verifiedAt: z.ZodString;
104
- status: z.ZodEnum<typeof ByokEmbeddingStatus>;
105
167
  }, z.core.$strip>;
106
168
  export type ModelProviderEmbedding = z.infer<typeof ModelProviderEmbeddingSchema>;
169
+ /**
170
+ * Why an organization cannot embed right now: it does not use the gateway and
171
+ * has no embedding on its endpoint, or its embedding is on an endpoint that is
172
+ * switched off. Never a fallback to the other source: a vector of the wrong
173
+ * family stays in the index, a refused search is only repeated.
174
+ */
175
+ export declare const EMBEDDING_UNAVAILABILITY_REASONS: readonly ["gateway-disabled", "endpoint-off"];
176
+ export type EmbeddingUnavailability = (typeof EMBEDDING_UNAVAILABILITY_REASONS)[number];
177
+ export declare enum EmbeddingIndexStatus {
178
+ /** Some of the tenant's live vectors are still in another family. */
179
+ Reindexing = "reindexing",
180
+ /** Every live vector of the tenant is in `family`. */
181
+ Ready = "ready"
182
+ }
183
+ /** How far one collection of the tenant is. */
184
+ export declare const EmbeddingIndexProgressSchema: z.ZodObject<{
185
+ total: z.ZodNumber;
186
+ remaining: z.ZodNumber;
187
+ }, z.core.$strip>;
188
+ export type EmbeddingIndexProgress = z.infer<typeof EmbeddingIndexProgressSchema>;
189
+ /**
190
+ * Where the tenant's index stands with its embedding family (embedding spec,
191
+ * D5). Written when the family changes, and by the reindex job at every run.
192
+ */
193
+ export declare const OrganizationEmbeddingIndexSchema: z.ZodObject<{
194
+ family: z.ZodEnum<{
195
+ "google/gemini-embedding-2": "google/gemini-embedding-2";
196
+ "openai/text-embedding-3-large": "openai/text-embedding-3-large";
197
+ }>;
198
+ status: z.ZodEnum<typeof EmbeddingIndexStatus>;
199
+ changedAt: z.ZodNullable<z.ZodCoercedDate<unknown>>;
200
+ chunks: z.ZodNullable<z.ZodObject<{
201
+ total: z.ZodNumber;
202
+ remaining: z.ZodNumber;
203
+ }, z.core.$strip>>;
204
+ memories: z.ZodNullable<z.ZodObject<{
205
+ total: z.ZodNumber;
206
+ remaining: z.ZodNumber;
207
+ }, z.core.$strip>>;
208
+ orphanedChunks: z.ZodNumber;
209
+ heldReason: z.ZodNullable<z.ZodEnum<{
210
+ "gateway-disabled": "gateway-disabled";
211
+ "endpoint-off": "endpoint-off";
212
+ }>>;
213
+ checkedAt: z.ZodNullable<z.ZodCoercedDate<unknown>>;
214
+ }, z.core.$strip>;
215
+ export type OrganizationEmbeddingIndex = z.infer<typeof OrganizationEmbeddingIndexSchema>;
107
216
  /**
108
217
  * `http` is allowed for the same reason `McpServer` allows it: the endpoint
109
218
  * that asked for this feature lives inside a VNet. The form warns that the key
@@ -163,7 +272,6 @@ export declare const OrganizationModelProviderSchema: z.ZodObject<{
163
272
  resolvedAt: z.ZodString;
164
273
  }, z.core.$strip>;
165
274
  verifiedAt: z.ZodString;
166
- status: z.ZodEnum<typeof ByokEmbeddingStatus>;
167
275
  }, z.core.$strip>>;
168
276
  enabled: z.ZodBoolean;
169
277
  createdAt: z.ZodCoercedDate<unknown>;
@@ -209,6 +317,13 @@ export declare const OrganizationModelProviderDtoSchema: z.ZodObject<{
209
317
  }, z.core.$strip>>;
210
318
  }, z.core.$strip>>>;
211
319
  enabled: z.ZodDefault<z.ZodBoolean>;
320
+ embedding: z.ZodOptional<z.ZodNullable<z.ZodObject<{
321
+ family: z.ZodEnum<{
322
+ "google/gemini-embedding-2": "google/gemini-embedding-2";
323
+ "openai/text-embedding-3-large": "openai/text-embedding-3-large";
324
+ }>;
325
+ modelId: z.ZodString;
326
+ }, z.core.$strip>>>;
212
327
  }, z.core.$strip>;
213
328
  export type OrganizationModelProviderDto = z.infer<typeof OrganizationModelProviderDtoSchema>;
214
329
  export declare const ModelProviderDiscoverDtoSchema: z.ZodObject<{
@@ -235,6 +350,9 @@ export declare const DiscoveredModelSchema: z.ZodObject<{
235
350
  id: z.ZodString;
236
351
  listingMatch: z.ZodNullable<z.ZodString>;
237
352
  kind: z.ZodEnum<typeof DiscoveredModelKind>;
353
+ brand: z.ZodOptional<z.ZodString>;
354
+ brandIcon: z.ZodOptional<z.ZodString>;
355
+ releasedAt: z.ZodOptional<z.ZodString>;
238
356
  }, z.core.$strip>;
239
357
  export type DiscoveredModel = z.infer<typeof DiscoveredModelSchema>;
240
358
  export declare const ModelProviderDiscoverResponseSchema: z.ZodObject<{
@@ -242,6 +360,9 @@ export declare const ModelProviderDiscoverResponseSchema: z.ZodObject<{
242
360
  id: z.ZodString;
243
361
  listingMatch: z.ZodNullable<z.ZodString>;
244
362
  kind: z.ZodEnum<typeof DiscoveredModelKind>;
363
+ brand: z.ZodOptional<z.ZodString>;
364
+ brandIcon: z.ZodOptional<z.ZodString>;
365
+ releasedAt: z.ZodOptional<z.ZodString>;
245
366
  }, z.core.$strip>>;
246
367
  listingUnavailable: z.ZodBoolean;
247
368
  }, z.core.$strip>;
@@ -286,6 +407,7 @@ export declare const ModelCatalogEntrySchema: z.ZodObject<{
286
407
  priceEstimated: z.ZodBoolean;
287
408
  contextWindow: z.ZodOptional<z.ZodNumber>;
288
409
  maxOutputTokens: z.ZodOptional<z.ZodNumber>;
410
+ releasedAt: z.ZodOptional<z.ZodString>;
289
411
  inputModalities: z.ZodOptional<z.ZodArray<z.ZodString>>;
290
412
  reasoning: z.ZodOptional<z.ZodObject<{
291
413
  effortLevels: z.ZodOptional<z.ZodArray<z.ZodString>>;
@@ -302,9 +302,9 @@ export type OrganizationModelDefaults = z.infer<typeof OrganizationModelDefaults
302
302
  * shape would turn the first switch into a silent change of mode, from
303
303
  * "follow the platform" to "frozen at today's list". The price is on the
304
304
  * other side: a newly curated model appears switched on even for an
305
- * organization that curated its list, which is acceptable because this
306
- * switch is curation, not security (an agent left on a switched off model
307
- * keeps answering).
305
+ * organization that curated its list. A switched off model never answers:
306
+ * an agent left on it answers with the organization's default, and a
307
+ * fallback on it is dropped (`applyModelSwitches` in the backend).
308
308
  */
309
309
  export declare const OrganizationModelSettingsSchema: z.ZodObject<{
310
310
  agentModel: z.ZodOptional<z.ZodString>;
@@ -1,6 +1,6 @@
1
1
  import { UIChatMessage, BlockedReasonCode } from './Chat';
2
2
  import { LanguageModelUsage } from 'ai';
3
- import { AgentStatus, AgentVisibility, AgentSearchMode, AgentLoaderStrategy, AgentBuiltInTool, WebSearchProvider, AgentChannel, AgentType } from './Agent';
3
+ import { AgentStatus, AgentVisibility, AgentSearchMode, AgentLoaderStrategy, AgentBuiltInTool, WebSearchProvider, AgentChannel, AgentToolWorkingSetMode, AgentType } from './Agent';
4
4
  import { StoragePolicy } from './Media';
5
5
  import { ConversationAnalysisTrigger, Sentiment, SentimentTrend, UserTone, AbuseCategory, AbuseConfidence, LlmIssueCategory, UserEngagement } from './ConversationAnalysis';
6
6
  import * as z from 'zod';
@@ -397,6 +397,9 @@ export declare const ReasoningChatSchema: z.ZodObject<{
397
397
  providerSecretId: z.ZodOptional<z.ZodString>;
398
398
  providerApiKeyId: z.ZodOptional<z.ZodString>;
399
399
  }, z.core.$strip>>>;
400
+ toolWorkingSet: z.ZodDefault<z.ZodOptional<z.ZodObject<{
401
+ mode: z.ZodDefault<z.ZodEnum<typeof AgentToolWorkingSetMode>>;
402
+ }, z.core.$strip>>>;
400
403
  }, z.core.$strip>;
401
404
  security: z.ZodNullable<z.ZodObject<{
402
405
  rateLimits: z.ZodObject<{
@@ -841,6 +844,9 @@ export declare const ReasoningChatSchema: z.ZodObject<{
841
844
  providerSecretId: z.ZodOptional<z.ZodString>;
842
845
  providerApiKeyId: z.ZodOptional<z.ZodString>;
843
846
  }, z.core.$strip>>>;
847
+ toolWorkingSet: z.ZodDefault<z.ZodOptional<z.ZodObject<{
848
+ mode: z.ZodDefault<z.ZodEnum<typeof AgentToolWorkingSetMode>>;
849
+ }, z.core.$strip>>>;
844
850
  }, z.core.$strip>;
845
851
  security: z.ZodNullable<z.ZodObject<{
846
852
  rateLimits: z.ZodObject<{
@@ -14,3 +14,16 @@ export declare function parseStreamError(message: string | undefined): {
14
14
  payload: StreamErrorPayload;
15
15
  } | undefined;
16
16
  export declare function matchesStreamErrorCode(message: string | undefined, code: string): boolean;
17
+ /**
18
+ * The SDK refusing a call to a tool the step did not offer
19
+ * (AI_NoSuchToolError), capturing the tool name. One pattern for the backend,
20
+ * which reads the refusal from the step, and for the message detail, which
21
+ * reads it from the stored part (`summarizeToolSelection`).
22
+ */
23
+ export declare const UNAVAILABLE_TOOL_ERROR_PATTERN: RegExp;
24
+ /**
25
+ * The text a refused call is stored and streamed with: the SDK's own first
26
+ * sentence, without its list of the step's tools, so it still matches the
27
+ * pattern above.
28
+ */
29
+ export declare const unavailableToolErrorText: (toolName: string) => string;
@@ -1,4 +1,4 @@
1
- import { AgentStatus, AgentVisibility, AgentSearchMode, AgentLoaderStrategy, AgentBuiltInTool, WebSearchProvider, AgentChannel, AgentType } from './Agent';
1
+ import { AgentStatus, AgentVisibility, AgentSearchMode, AgentLoaderStrategy, AgentBuiltInTool, WebSearchProvider, AgentChannel, AgentToolWorkingSetMode, AgentType } from './Agent';
2
2
  import { StoragePolicy } from './Media';
3
3
  import * as z from 'zod';
4
4
  export declare enum SubAgentStatus {
@@ -397,6 +397,9 @@ export declare const SubAgentSchema: z.ZodObject<{
397
397
  providerSecretId: z.ZodOptional<z.ZodString>;
398
398
  providerApiKeyId: z.ZodOptional<z.ZodString>;
399
399
  }, z.core.$strip>>>;
400
+ toolWorkingSet: z.ZodDefault<z.ZodOptional<z.ZodObject<{
401
+ mode: z.ZodDefault<z.ZodEnum<typeof AgentToolWorkingSetMode>>;
402
+ }, z.core.$strip>>>;
400
403
  }, z.core.$strip>;
401
404
  security: z.ZodNullable<z.ZodObject<{
402
405
  rateLimits: z.ZodObject<{
@@ -799,6 +802,9 @@ export declare const SubAgentSchema: z.ZodObject<{
799
802
  providerSecretId: z.ZodOptional<z.ZodString>;
800
803
  providerApiKeyId: z.ZodOptional<z.ZodString>;
801
804
  }, z.core.$strip>>>;
805
+ toolWorkingSet: z.ZodDefault<z.ZodOptional<z.ZodObject<{
806
+ mode: z.ZodDefault<z.ZodEnum<typeof AgentToolWorkingSetMode>>;
807
+ }, z.core.$strip>>>;
802
808
  }, z.core.$strip>;
803
809
  security: z.ZodNullable<z.ZodObject<{
804
810
  rateLimits: z.ZodObject<{
@@ -17,7 +17,7 @@
17
17
  * A test checks every id against a saved copy of the listing, which is what
18
18
  * replaces the by-hand verification that missed a model on 2026-09-18.
19
19
  */
20
- export declare const GATEWAY_MODELS: readonly ["openai/gpt-5-nano", "openai/gpt-5-mini", "openai/gpt-5.1-thinking", "openai/gpt-5.2", "openai/gpt-5.4-nano", "openai/gpt-5.4-mini", "openai/gpt-5.4", "openai/gpt-5.4-pro", "openai/gpt-5.5", "openai/gpt-5.5-pro", "openai/gpt-5.6-luna", "openai/gpt-5.6-terra", "openai/gpt-5.6-sol", "openai/gpt-5.6-luna-fast", "openai/gpt-5.6-terra-fast", "openai/gpt-5.6-sol-fast", "openai/gpt-6-astra", "openai/gpt-6-astra-fast", "openai/gpt-6-sol", "openai/gpt-6-sol-fast", "openai/gpt-6-luna", "openai/gpt-6-luna-fast", "google/gemini-2.5-flash-lite", "google/gemini-2.5-flash", "google/gemini-2.5-pro", "google/gemini-3-flash", "google/gemini-3.1-pro-preview", "google/gemini-3.1-flash-lite", "google/gemini-3.5-flash", "google/gemini-3.5-flash-lite", "google/gemini-3.6-flash", "google/gemini-3.7-flash", "google/gemini-3.8-flash", "anthropic/claude-haiku-4.5", "anthropic/claude-sonnet-4.6", "anthropic/claude-sonnet-5", "anthropic/claude-opus-4.6", "anthropic/claude-opus-4.7", "anthropic/claude-opus-4.8", "anthropic/claude-opus-5", "anthropic/claude-opus-5-fast", "anthropic/claude-opus-5.5", "anthropic/claude-opus-5.5-fast", "anthropic/claude-fable-5", "anthropic/claude-fable-5.1", "deepseek/deepseek-v3.2", "deepseek/deepseek-v4-flash-0731", "deepseek/deepseek-v4.1-flash", "deepseek/deepseek-v4-pro-0813", "alibaba/qwen3.6-plus", "alibaba/qwen3.7-max", "alibaba/qwen3.7-plus", "alibaba/qwen3.7-flash", "alibaba/qwen3.8-flash", "alibaba/qwen3.8-max", "alibaba/qwen3.8-27b", "alibaba/qwen3.8-max-0902", "alibaba/qwen3.8-omni-flash", "spacexai/grok-4.3", "spacexai/grok-4.6", "spacexai/grok-4.7", "zai/glm-5.2", "zai/glm-5.2-fast", "zai/glm-5.3", "zai/glm-5.3-flash", "zai/glm-5.3-fast", "zai/glm-5.3-flashx", "meta/muse-spark-1.1", "meta/muse-spark-1.2", "meta/muse-spark-1.3", "moonshotai/kimi-k3", "moonshotai/kimi-k3-fast", "mistral/ministral-14b", "mistral/mistral-small", "mistral/mistral-medium-3.5", "mistral/mistral-large-3", "xiaomi/mimo-v2.6-flash", "xiaomi/mimo-v2.6-pro", "xiaomi/mimo-v2.6-pro-ultraspeed"];
20
+ export declare const GATEWAY_MODELS: readonly ["openai/gpt-5-nano", "openai/gpt-5-mini", "openai/gpt-5.1-thinking", "openai/gpt-5.2", "openai/gpt-5.4-nano", "openai/gpt-5.4-mini", "openai/gpt-5.4", "openai/gpt-5.4-pro", "openai/gpt-5.5", "openai/gpt-5.5-pro", "openai/gpt-5.6-luna", "openai/gpt-5.6-terra", "openai/gpt-5.6-sol", "openai/gpt-5.6-luna-fast", "openai/gpt-5.6-terra-fast", "openai/gpt-5.6-sol-fast", "openai/gpt-6-astra", "openai/gpt-6-astra-fast", "openai/gpt-6-sol", "openai/gpt-6-sol-fast", "openai/gpt-6-luna", "openai/gpt-6-luna-fast", "google/gemini-2.5-flash-lite", "google/gemini-2.5-flash", "google/gemini-2.5-pro", "google/gemini-3-flash", "google/gemini-3.1-pro-preview", "google/gemini-3.1-flash-lite", "google/gemini-3.5-flash", "google/gemini-3.5-flash-lite", "google/gemini-3.6-flash", "google/gemini-3.7-flash", "google/gemini-3.8-flash", "anthropic/claude-haiku-4.5", "anthropic/claude-sonnet-4.6", "anthropic/claude-sonnet-5", "anthropic/claude-sonnet-5.5", "anthropic/claude-opus-4.6", "anthropic/claude-opus-4.7", "anthropic/claude-opus-4.8", "anthropic/claude-opus-5", "anthropic/claude-opus-5-fast", "anthropic/claude-opus-5.5", "anthropic/claude-opus-5.5-fast", "anthropic/claude-fable-5", "anthropic/claude-fable-5.1", "deepseek/deepseek-v3.2", "deepseek/deepseek-v4-flash-0731", "deepseek/deepseek-v4.1-flash", "deepseek/deepseek-v4-pro-0813", "alibaba/qwen3.6-plus", "alibaba/qwen3.7-max", "alibaba/qwen3.7-plus", "alibaba/qwen3.7-flash", "alibaba/qwen3.8-flash", "alibaba/qwen3.8-max", "alibaba/qwen3.8-27b", "alibaba/qwen3.8-max-0902", "alibaba/qwen3.8-omni-flash", "alibaba/qwen3.8-max-prime", "spacexai/grok-4.3", "spacexai/grok-4.6", "spacexai/grok-4.7", "zai/glm-5.2", "zai/glm-5.2-fast", "zai/glm-5.3", "zai/glm-5.3-flash", "zai/glm-5.3-fast", "zai/glm-5.3-flashx", "meta/muse-spark-1.1", "meta/muse-spark-1.2", "meta/muse-spark-1.3", "moonshotai/kimi-k3", "moonshotai/kimi-k3-fast", "mistral/ministral-14b", "mistral/mistral-small", "mistral/mistral-medium-3.5", "mistral/mistral-large-3", "xiaomi/mimo-v2.6-flash", "xiaomi/mimo-v2.6-pro", "xiaomi/mimo-v2.6-pro-ultraspeed"];
21
21
  /**
22
22
  * A model id: an entry of {@link GATEWAY_MODELS}, or a `byok/` id served by an
23
23
  * organization's own endpoint. A plain string on purpose, because the second
@@ -47,9 +47,19 @@ export declare const PLATFORM_MODEL_DEFAULTS: {
47
47
  */
48
48
  export declare enum EmbeddingModel {
49
49
  textEmbedding3Small = "openai/text-embedding-3-small",
50
+ textEmbedding3Large = "openai/text-embedding-3-large",
50
51
  geminiEmbedding2 = "google/gemini-embedding-2"
51
52
  }
52
53
  export declare const EMBED_MODEL = EmbeddingModel.geminiEmbedding2;
54
+ /**
55
+ * Model that answers typed questions (yes/no, choice, score) with calibrated
56
+ * probabilities instead of text, through the gateway's `experimental_evaluate`
57
+ * (TypeSafe Jev). Out of the catalog like the embeddings: it decides for the
58
+ * platform, it never answers the user. Its gateway listing reports no ZDR,
59
+ * yet a ZDR request is served, routed to TypeSafe alone (measured
60
+ * 2026-09-28, scripts/spikeJevEvaluation.ts).
61
+ */
62
+ export declare const EVALUATION_MODEL = "typesafe-ai/jev";
53
63
  /**
54
64
  * Supported languages for documents and revised answers
55
65
  */
@@ -52,3 +52,20 @@ export declare const zodQs: {
52
52
  sort: z.ZodDefault<z.ZodOptional<z.ZodEnum<{ [k_1 in S | `-${S}`]: k_1; } extends infer T ? { [k in keyof T]: T[k]; } : never>>>;
53
53
  };
54
54
  };
55
+ /**
56
+ * A tool name without the namespace a model invented for it (Gemini's
57
+ * `default_api:toolName`). One definition, because several readers must
58
+ * agree on it: the repair of a tool call, and the closure acceptance, which
59
+ * reads the call before the repair has run (`createClosureAcceptance`).
60
+ */
61
+ export declare const stripInventedNamespace: (toolName: string) => string;
62
+ /**
63
+ * The registered name a tool name stands for, when the intent is
64
+ * unambiguous: the name without an invented namespace, the name itself, or
65
+ * the one registered name that ends with `-<name>` (a dropped `mcp-` prefix).
66
+ * Shared by the repair of a tool call, by the working set, which must
67
+ * recognize a call to a tool it hid (the repair only sees the tools of the
68
+ * step), and by the message detail, which reads those calls as the working
69
+ * set did (`summarizeToolSelection`).
70
+ */
71
+ export declare const resolveToolName: (toolName: string, names: Iterable<string>) => string | undefined;