@epam/ai-dial-chat-hooks 1.3.0-dev.5 → 1.3.0-dev.55

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 (422) hide show
  1. package/api-error/api-error.d.ts +30 -0
  2. package/api-error/api-error.d.ts.map +1 -0
  3. package/api-transport/create-csrf-middleware.d.ts +15 -0
  4. package/api-transport/create-csrf-middleware.d.ts.map +1 -0
  5. package/api-transport/create-unauthorized-middleware.d.ts +40 -0
  6. package/api-transport/create-unauthorized-middleware.d.ts.map +1 -0
  7. package/attachment/useAttachmentAction/useAttachmentAction.d.ts +32 -0
  8. package/attachment/useAttachmentAction/useAttachmentAction.d.ts.map +1 -0
  9. package/attachment/useAttachmentValidation/useAttachmentValidation.d.ts +50 -0
  10. package/attachment/useAttachmentValidation/useAttachmentValidation.d.ts.map +1 -0
  11. package/attachments.d.ts +2 -94
  12. package/catalog/catalog-derivations.d.ts +27 -0
  13. package/catalog/catalog-derivations.d.ts.map +1 -0
  14. package/catalog/catalog-primary-action.d.ts +47 -0
  15. package/catalog/catalog-primary-action.d.ts.map +1 -0
  16. package/catalog/create-publish-api.d.ts +32 -0
  17. package/catalog/create-publish-api.d.ts.map +1 -0
  18. package/catalog/deployment-endpoint-url.d.ts +19 -0
  19. package/catalog/deployment-endpoint-url.d.ts.map +1 -0
  20. package/catalog/deployment-id.d.ts +42 -0
  21. package/catalog/deployment-id.d.ts.map +1 -0
  22. package/catalog/entity-details.d.ts +146 -0
  23. package/catalog/entity-details.d.ts.map +1 -0
  24. package/catalog/map-deployment-limits-to-catalog.d.ts +34 -0
  25. package/catalog/map-deployment-limits-to-catalog.d.ts.map +1 -0
  26. package/catalog/map-deployment-limits-to-input.d.ts +28 -0
  27. package/catalog/map-deployment-limits-to-input.d.ts.map +1 -0
  28. package/catalog/map-deployment-to-catalog-item.d.ts +61 -0
  29. package/catalog/map-deployment-to-catalog-item.d.ts.map +1 -0
  30. package/catalog/map-entity-details-to-catalog.d.ts +81 -0
  31. package/catalog/map-entity-details-to-catalog.d.ts.map +1 -0
  32. package/catalog/map-prompt-to-catalog-item.d.ts +43 -0
  33. package/catalog/map-prompt-to-catalog-item.d.ts.map +1 -0
  34. package/catalog/map-skill-to-catalog-item.d.ts +113 -0
  35. package/catalog/map-skill-to-catalog-item.d.ts.map +1 -0
  36. package/catalog/mcp-endpoint-url.d.ts +18 -0
  37. package/catalog/mcp-endpoint-url.d.ts.map +1 -0
  38. package/catalog/publish.d.ts +35 -0
  39. package/catalog/publish.d.ts.map +1 -0
  40. package/catalog/useApplicationCredentials/useApplicationCredentials.d.ts +19 -0
  41. package/catalog/useApplicationCredentials/useApplicationCredentials.d.ts.map +1 -0
  42. package/catalog/useCatalogEditNavigation/useCatalogEditNavigation.d.ts +100 -0
  43. package/catalog/useCatalogEditNavigation/useCatalogEditNavigation.d.ts.map +1 -0
  44. package/catalog/useCatalogEditNavigation/useCatalogEditNavigation.js +139 -122
  45. package/catalog/useCatalogItemDetails.d.ts +70 -0
  46. package/catalog/useCatalogItemDetails.d.ts.map +1 -0
  47. package/catalog/useCatalogToolsetCredentials/useCatalogToolsetCredentials.d.ts +76 -0
  48. package/catalog/useCatalogToolsetCredentials/useCatalogToolsetCredentials.d.ts.map +1 -0
  49. package/catalog/useFavoriteEntitiesState/useFavoriteEntitiesState.d.ts +37 -0
  50. package/catalog/useFavoriteEntitiesState/useFavoriteEntitiesState.d.ts.map +1 -0
  51. package/catalog/usePublishFolders/usePublishFolders.d.ts +73 -0
  52. package/catalog/usePublishFolders/usePublishFolders.d.ts.map +1 -0
  53. package/catalog/useSkillDetailsPanelData/useSkillDetailsPanelData.d.ts +54 -0
  54. package/catalog/useSkillDetailsPanelData/useSkillDetailsPanelData.d.ts.map +1 -0
  55. package/catalog/useSkillItemDetails.d.ts +64 -0
  56. package/catalog/useSkillItemDetails.d.ts.map +1 -0
  57. package/catalog.d.ts +2 -1433
  58. package/conversation/announcement-message.d.ts +61 -0
  59. package/conversation/announcement-message.d.ts.map +1 -0
  60. package/conversation/conversation-transfer/async.d.ts +10 -0
  61. package/conversation/conversation-transfer/async.d.ts.map +1 -0
  62. package/conversation/conversation-transfer/attachment-refs.d.ts +42 -0
  63. package/conversation/conversation-transfer/attachment-refs.d.ts.map +1 -0
  64. package/conversation/conversation-transfer/build-upload-path.d.ts +42 -0
  65. package/conversation/conversation-transfer/build-upload-path.d.ts.map +1 -0
  66. package/conversation/conversation-transfer/date.d.ts +5 -0
  67. package/conversation/conversation-transfer/date.d.ts.map +1 -0
  68. package/conversation/conversation-transfer/dial-file-resolve.d.ts +10 -0
  69. package/conversation/conversation-transfer/dial-file-resolve.d.ts.map +1 -0
  70. package/conversation/conversation-transfer/export-conversation.d.ts +10 -0
  71. package/conversation/conversation-transfer/export-conversation.d.ts.map +1 -0
  72. package/conversation/conversation-transfer/import-conversation.d.ts +106 -0
  73. package/conversation/conversation-transfer/import-conversation.d.ts.map +1 -0
  74. package/conversation/conversation-transfer/progress.d.ts +60 -0
  75. package/conversation/conversation-transfer/progress.d.ts.map +1 -0
  76. package/conversation/conversation-transfer/queue.d.ts +54 -0
  77. package/conversation/conversation-transfer/queue.d.ts.map +1 -0
  78. package/conversation/conversation-transfer/types.d.ts +36 -0
  79. package/conversation/conversation-transfer/types.d.ts.map +1 -0
  80. package/conversation/conversation-transfer/zip-export.d.ts +31 -0
  81. package/conversation/conversation-transfer/zip-export.d.ts.map +1 -0
  82. package/conversation/conversation-transfer/zip-import.d.ts +17 -0
  83. package/conversation/conversation-transfer/zip-import.d.ts.map +1 -0
  84. package/conversation/create-chat-stream-api.d.ts +92 -0
  85. package/conversation/create-chat-stream-api.d.ts.map +1 -0
  86. package/conversation/deriveConversationRowActionState/deriveConversationRowActionState.d.ts +39 -0
  87. package/conversation/deriveConversationRowActionState/deriveConversationRowActionState.d.ts.map +1 -0
  88. package/conversation/display-name-watch.d.ts +4 -0
  89. package/conversation/display-name-watch.d.ts.map +1 -0
  90. package/conversation/footer-message.d.ts +10 -0
  91. package/conversation/footer-message.d.ts.map +1 -0
  92. package/conversation/get-model-id-from-conversation-id.d.ts +38 -0
  93. package/conversation/get-model-id-from-conversation-id.d.ts.map +1 -0
  94. package/conversation/greeting.d.ts +18 -0
  95. package/conversation/greeting.d.ts.map +1 -0
  96. package/conversation/message-factory.d.ts +7 -0
  97. package/conversation/message-factory.d.ts.map +1 -0
  98. package/conversation/message-utils.d.ts +67 -0
  99. package/conversation/message-utils.d.ts.map +1 -0
  100. package/conversation/overlay-messages.d.ts +5 -0
  101. package/conversation/overlay-messages.d.ts.map +1 -0
  102. package/conversation/quick-app-conversation-starters.d.ts +10 -0
  103. package/conversation/quick-app-conversation-starters.d.ts.map +1 -0
  104. package/conversation/stage.d.ts +77 -0
  105. package/conversation/stage.d.ts.map +1 -0
  106. package/conversation/starter-option.d.ts +21 -0
  107. package/conversation/starter-option.d.ts.map +1 -0
  108. package/conversation/useActiveConversationSync/useActiveConversationSync.d.ts +35 -0
  109. package/conversation/useActiveConversationSync/useActiveConversationSync.d.ts.map +1 -0
  110. package/conversation/useAsyncConfirmDialog/useAsyncConfirmDialog.d.ts +46 -0
  111. package/conversation/useAsyncConfirmDialog/useAsyncConfirmDialog.d.ts.map +1 -0
  112. package/conversation/useAttachmentUpload/useAttachmentUpload.d.ts +27 -0
  113. package/conversation/useAttachmentUpload/useAttachmentUpload.d.ts.map +1 -0
  114. package/conversation/useConversationExport/useConversationExport.d.ts +72 -0
  115. package/conversation/useConversationExport/useConversationExport.d.ts.map +1 -0
  116. package/conversation/useConversationHandlers/attachment-to-dto.d.ts +7 -0
  117. package/conversation/useConversationHandlers/attachment-to-dto.d.ts.map +1 -0
  118. package/conversation/useConversationHandlers/message-factory.d.ts +9 -0
  119. package/conversation/useConversationHandlers/message-factory.d.ts.map +1 -0
  120. package/conversation/useConversationHandlers/message-utils.d.ts +38 -0
  121. package/conversation/useConversationHandlers/message-utils.d.ts.map +1 -0
  122. package/conversation/useConversationHandlers/starter-option.d.ts +24 -0
  123. package/conversation/useConversationHandlers/starter-option.d.ts.map +1 -0
  124. package/conversation/useConversationHandlers/useConversationHandlers.d.ts +66 -0
  125. package/conversation/useConversationHandlers/useConversationHandlers.d.ts.map +1 -0
  126. package/conversation/useConversationImport/useConversationImport.d.ts +54 -0
  127. package/conversation/useConversationImport/useConversationImport.d.ts.map +1 -0
  128. package/conversation/useConversationLookupMaps/useConversationLookupMaps.d.ts +24 -0
  129. package/conversation/useConversationLookupMaps/useConversationLookupMaps.d.ts.map +1 -0
  130. package/conversation/useConversationPanelItems/useConversationPanelItems.d.ts +64 -0
  131. package/conversation/useConversationPanelItems/useConversationPanelItems.d.ts.map +1 -0
  132. package/conversation/useConversationScroll/useConversationScroll.d.ts +46 -0
  133. package/conversation/useConversationScroll/useConversationScroll.d.ts.map +1 -0
  134. package/conversation/useConversationStream/apply-chunk.d.ts +35 -0
  135. package/conversation/useConversationStream/apply-chunk.d.ts.map +1 -0
  136. package/conversation/useConversationStream/buffered-generation.d.ts +15 -0
  137. package/conversation/useConversationStream/buffered-generation.d.ts.map +1 -0
  138. package/conversation/useConversationStream/conversation-path.d.ts +7 -0
  139. package/conversation/useConversationStream/conversation-path.d.ts.map +1 -0
  140. package/conversation/useConversationStream/frame-scheduler.d.ts +14 -0
  141. package/conversation/useConversationStream/frame-scheduler.d.ts.map +1 -0
  142. package/conversation/useConversationStream/generation-resume.d.ts +85 -0
  143. package/conversation/useConversationStream/generation-resume.d.ts.map +1 -0
  144. package/conversation/useConversationStream/useConversationStream.d.ts +145 -0
  145. package/conversation/useConversationStream/useConversationStream.d.ts.map +1 -0
  146. package/conversation/useImportFilePicker/useImportFilePicker.d.ts +32 -0
  147. package/conversation/useImportFilePicker/useImportFilePicker.d.ts.map +1 -0
  148. package/conversation/useMessageSelectionReply/useMessageSelectionReply.d.ts +42 -0
  149. package/conversation/useMessageSelectionReply/useMessageSelectionReply.d.ts.map +1 -0
  150. package/conversation/useTranscribeAudio/audio-transcription-error.d.ts +19 -0
  151. package/conversation/useTranscribeAudio/audio-transcription-error.d.ts.map +1 -0
  152. package/conversation/useTranscribeAudio/transcription-retry.d.ts +2 -0
  153. package/conversation/useTranscribeAudio/transcription-retry.d.ts.map +1 -0
  154. package/conversation/useTranscribeAudio/useTranscribeAudio.d.ts +43 -0
  155. package/conversation/useTranscribeAudio/useTranscribeAudio.d.ts.map +1 -0
  156. package/conversation-overlay.d.ts +2 -7
  157. package/conversation-sources/useConversationSources/useConversationSources.d.ts +20 -0
  158. package/conversation-sources/useConversationSources/useConversationSources.d.ts.map +1 -0
  159. package/conversation-sources.d.ts +2 -25
  160. package/conversation-transfer.d.ts +2 -190
  161. package/conversation.d.ts +2 -1372
  162. package/entry-points/attachments.d.ts +3 -0
  163. package/entry-points/attachments.d.ts.map +1 -0
  164. package/entry-points/catalog.d.ts +25 -0
  165. package/entry-points/catalog.d.ts.map +1 -0
  166. package/entry-points/conversation-overlay.d.ts +2 -0
  167. package/entry-points/conversation-overlay.d.ts.map +1 -0
  168. package/entry-points/conversation-sources.d.ts +2 -0
  169. package/entry-points/conversation-sources.d.ts.map +1 -0
  170. package/entry-points/conversation-transfer.d.ts +7 -0
  171. package/entry-points/conversation-transfer.d.ts.map +1 -0
  172. package/entry-points/conversation.d.ts +33 -0
  173. package/entry-points/conversation.d.ts.map +1 -0
  174. package/entry-points/file-manager-canvas.d.ts +2 -0
  175. package/entry-points/file-manager-canvas.d.ts.map +1 -0
  176. package/entry-points/file-manager.d.ts +31 -0
  177. package/entry-points/file-manager.d.ts.map +1 -0
  178. package/entry-points/mcp-apps.d.ts +6 -0
  179. package/entry-points/mcp-apps.d.ts.map +1 -0
  180. package/entry-points/oauth.d.ts +10 -0
  181. package/entry-points/oauth.d.ts.map +1 -0
  182. package/entry-points/scheduled-tasks.d.ts +8 -0
  183. package/entry-points/scheduled-tasks.d.ts.map +1 -0
  184. package/entry-points/scroll-anchoring.d.ts +2 -0
  185. package/entry-points/scroll-anchoring.d.ts.map +1 -0
  186. package/entry-points/sharing.d.ts +3 -0
  187. package/entry-points/sharing.d.ts.map +1 -0
  188. package/entry-points/skill-editor.d.ts +9 -0
  189. package/entry-points/skill-editor.d.ts.map +1 -0
  190. package/entry-points/skills-state.d.ts +2 -0
  191. package/entry-points/skills-state.d.ts.map +1 -0
  192. package/entry-points/source-content.d.ts +2 -0
  193. package/entry-points/source-content.d.ts.map +1 -0
  194. package/entry-points/usage-limits.d.ts +8 -0
  195. package/entry-points/usage-limits.d.ts.map +1 -0
  196. package/entry-points/usage.d.ts +3 -0
  197. package/entry-points/usage.d.ts.map +1 -0
  198. package/entry-points/utils.d.ts +17 -0
  199. package/entry-points/utils.d.ts.map +1 -0
  200. package/entry-points/viewport-layout.d.ts +4 -0
  201. package/entry-points/viewport-layout.d.ts.map +1 -0
  202. package/file-manager-canvas.d.ts +2 -418
  203. package/file-manager.d.ts +2 -1237
  204. package/file-manager.js +25 -25
  205. package/files/annotation.d.ts +10 -0
  206. package/files/annotation.d.ts.map +1 -0
  207. package/files/attachment-canvas.d.ts +123 -0
  208. package/files/attachment-canvas.d.ts.map +1 -0
  209. package/files/attachment-dto-to-display.d.ts +10 -0
  210. package/files/attachment-dto-to-display.d.ts.map +1 -0
  211. package/files/attachment-types.d.ts +21 -0
  212. package/files/attachment-types.d.ts.map +1 -0
  213. package/files/create-files-api.d.ts +52 -0
  214. package/files/create-files-api.d.ts.map +1 -0
  215. package/files/create-upload-file-with-progress.d.ts +24 -0
  216. package/files/create-upload-file-with-progress.d.ts.map +1 -0
  217. package/files/dial-file-manager-copy-move.util.d.ts +15 -0
  218. package/files/dial-file-manager-copy-move.util.d.ts.map +1 -0
  219. package/files/dial-file-manager-mapping.util.d.ts +35 -0
  220. package/files/dial-file-manager-mapping.util.d.ts.map +1 -0
  221. package/files/dial-file-manager-path.util.d.ts +48 -0
  222. package/files/dial-file-manager-path.util.d.ts.map +1 -0
  223. package/files/dial-file-manager.model.d.ts +36 -0
  224. package/files/dial-file-manager.model.d.ts.map +1 -0
  225. package/files/dial-file-manager.model.js +7 -3
  226. package/files/dial-file-manager.types.d.ts +327 -0
  227. package/files/dial-file-manager.types.d.ts.map +1 -0
  228. package/files/dial-file-manager.types.js +1 -1
  229. package/files/dial-file-to-attachment.d.ts +26 -0
  230. package/files/dial-file-to-attachment.d.ts.map +1 -0
  231. package/files/dial-file.d.ts +17 -0
  232. package/files/dial-file.d.ts.map +1 -0
  233. package/files/dial-files-api.d.ts +71 -0
  234. package/files/dial-files-api.d.ts.map +1 -0
  235. package/files/download-destination.d.ts +31 -0
  236. package/files/download-destination.d.ts.map +1 -0
  237. package/files/file-manager-variant.d.ts +3 -0
  238. package/files/file-manager-variant.d.ts.map +1 -0
  239. package/files/file-name.d.ts +19 -0
  240. package/files/file-name.d.ts.map +1 -0
  241. package/files/prepare-download-destination.d.ts +8 -0
  242. package/files/prepare-download-destination.d.ts.map +1 -0
  243. package/files/resolve-dial-file-api-path.d.ts +12 -0
  244. package/files/resolve-dial-file-api-path.d.ts.map +1 -0
  245. package/files/source-content.d.ts +28 -0
  246. package/files/source-content.d.ts.map +1 -0
  247. package/files/useDialFileListing/useDialFileListing.d.ts +82 -0
  248. package/files/useDialFileListing/useDialFileListing.d.ts.map +1 -0
  249. package/files/useDialFileListing/useDialFileListing.js +24 -14
  250. package/files/useDialFileManager/useDialFileManager.d.ts +16 -0
  251. package/files/useDialFileManager/useDialFileManager.d.ts.map +1 -0
  252. package/files/useDialFileManager/useDialFileManager.js +148 -140
  253. package/files/useDialFileManagerSections/useDialFileManagerSections.d.ts +25 -0
  254. package/files/useDialFileManagerSections/useDialFileManagerSections.d.ts.map +1 -0
  255. package/files/useDialFileManagerTabConfig/useDialFileManagerTabConfig.d.ts +15 -0
  256. package/files/useDialFileManagerTabConfig/useDialFileManagerTabConfig.d.ts.map +1 -0
  257. package/files/useDialFileMetadata/useDialFileMetadata.d.ts +28 -0
  258. package/files/useDialFileMetadata/useDialFileMetadata.d.ts.map +1 -0
  259. package/files/useDialFileMutations/useDialFileMutations.d.ts +68 -0
  260. package/files/useDialFileMutations/useDialFileMutations.d.ts.map +1 -0
  261. package/files/useDialFileMutations/useDialFileMutations.js +206 -204
  262. package/files/useDialFileSharing/useDialFileSharing.d.ts +34 -0
  263. package/files/useDialFileSharing/useDialFileSharing.d.ts.map +1 -0
  264. package/files/useDialFileSharing/useDialFileSharing.js +45 -39
  265. package/files/useDialFileUploadBatch/useDialFileUploadBatch.d.ts +47 -0
  266. package/files/useDialFileUploadBatch/useDialFileUploadBatch.d.ts.map +1 -0
  267. package/files/useDialFileUploadBatch/useDialFileUploadBatch.js +8 -4
  268. package/files/useFileAttachmentPicker/useFileAttachmentPicker.d.ts +59 -0
  269. package/files/useFileAttachmentPicker/useFileAttachmentPicker.d.ts.map +1 -0
  270. package/index.d.ts +159 -6974
  271. package/index.d.ts.map +1 -0
  272. package/index.js +124 -117
  273. package/mcp-apps/mcp-apps-api-client.d.ts +28 -0
  274. package/mcp-apps/mcp-apps-api-client.d.ts.map +1 -0
  275. package/mcp-apps/useMcpAppHostAdapter/useMcpAppHostAdapter.d.ts +14 -0
  276. package/mcp-apps/useMcpAppHostAdapter/useMcpAppHostAdapter.d.ts.map +1 -0
  277. package/mcp-apps/useMcpAppHostContext/useMcpAppHostContext.d.ts +29 -0
  278. package/mcp-apps/useMcpAppHostContext/useMcpAppHostContext.d.ts.map +1 -0
  279. package/mcp-apps/useMcpAppTools/useMcpAppTools.d.ts +22 -0
  280. package/mcp-apps/useMcpAppTools/useMcpAppTools.d.ts.map +1 -0
  281. package/mcp-apps/useOpenMcpAppCanvas/useOpenMcpAppCanvas.d.ts +36 -0
  282. package/mcp-apps/useOpenMcpAppCanvas/useOpenMcpAppCanvas.d.ts.map +1 -0
  283. package/mcp-apps.d.ts +2 -256
  284. package/oauth/authorize-url.d.ts +16 -0
  285. package/oauth/authorize-url.d.ts.map +1 -0
  286. package/oauth/handshake.d.ts +30 -0
  287. package/oauth/handshake.d.ts.map +1 -0
  288. package/oauth/models.d.ts +81 -0
  289. package/oauth/models.d.ts.map +1 -0
  290. package/oauth/popup.d.ts +30 -0
  291. package/oauth/popup.d.ts.map +1 -0
  292. package/oauth/toolset-id.d.ts +53 -0
  293. package/oauth/toolset-id.d.ts.map +1 -0
  294. package/oauth/types.d.ts +84 -0
  295. package/oauth/types.d.ts.map +1 -0
  296. package/oauth/useOAuthCallbackCompletion/useOAuthCallbackCompletion.d.ts +54 -0
  297. package/oauth/useOAuthCallbackCompletion/useOAuthCallbackCompletion.d.ts.map +1 -0
  298. package/oauth/useToolsetLogin/useToolsetLogin.d.ts +79 -0
  299. package/oauth/useToolsetLogin/useToolsetLogin.d.ts.map +1 -0
  300. package/oauth.d.ts +2 -472
  301. package/package.json +26 -17
  302. package/prompt/export-prompt.d.ts +31 -0
  303. package/prompt/export-prompt.d.ts.map +1 -0
  304. package/prompt/prompt-resource.d.ts +30 -0
  305. package/prompt/prompt-resource.d.ts.map +1 -0
  306. package/prompt/prompt.d.ts +34 -0
  307. package/prompt/prompt.d.ts.map +1 -0
  308. package/prompt/usePromptsState/usePromptsState.d.ts +34 -0
  309. package/prompt/usePromptsState/usePromptsState.d.ts.map +1 -0
  310. package/scheduled-task/scheduled-task-description.d.ts +38 -0
  311. package/scheduled-task/scheduled-task-description.d.ts.map +1 -0
  312. package/scheduled-task/scheduled-task-mapping.d.ts +19 -0
  313. package/scheduled-task/scheduled-task-mapping.d.ts.map +1 -0
  314. package/scheduled-task/scheduled-task-preparation.d.ts +19 -0
  315. package/scheduled-task/scheduled-task-preparation.d.ts.map +1 -0
  316. package/scheduled-task/scheduled-task-trigger.d.ts +26 -0
  317. package/scheduled-task/scheduled-task-trigger.d.ts.map +1 -0
  318. package/scheduled-task/scheduled-tasks-api-client.d.ts +67 -0
  319. package/scheduled-task/scheduled-tasks-api-client.d.ts.map +1 -0
  320. package/scheduled-task/use-scheduled-task-runs.d.ts +40 -0
  321. package/scheduled-task/use-scheduled-task-runs.d.ts.map +1 -0
  322. package/scheduled-task/use-scheduled-task-runs.js +67 -67
  323. package/scheduled-task/use-scheduled-tasks.d.ts +28 -0
  324. package/scheduled-task/use-scheduled-tasks.d.ts.map +1 -0
  325. package/scheduled-tasks.d.ts +2 -250
  326. package/scroll-anchoring.d.ts +2 -50
  327. package/shared/application-schema.d.ts +18 -0
  328. package/shared/application-schema.d.ts.map +1 -0
  329. package/shared/application-schema.js +2 -2
  330. package/shared/browser-timezone.d.ts +7 -0
  331. package/shared/browser-timezone.d.ts.map +1 -0
  332. package/shared/cron-day-of-month.d.ts +21 -0
  333. package/shared/cron-day-of-month.d.ts.map +1 -0
  334. package/shared/cron-weekday.d.ts +5 -0
  335. package/shared/cron-weekday.d.ts.map +1 -0
  336. package/shared/custom-apps.d.ts +7 -0
  337. package/shared/custom-apps.d.ts.map +1 -0
  338. package/shared/external-services.d.ts +16 -0
  339. package/shared/external-services.d.ts.map +1 -0
  340. package/shared/formatting.d.ts +5 -0
  341. package/shared/formatting.d.ts.map +1 -0
  342. package/shared/locale.d.ts +45 -0
  343. package/shared/locale.d.ts.map +1 -0
  344. package/shared/string-utils.d.ts +11 -0
  345. package/shared/string-utils.d.ts.map +1 -0
  346. package/shared/toolset-login-events.d.ts +15 -0
  347. package/shared/toolset-login-events.d.ts.map +1 -0
  348. package/sharing.d.ts +2 -65
  349. package/skill/skill-archive.d.ts +7 -0
  350. package/skill/skill-archive.d.ts.map +1 -0
  351. package/skill/skill-file-batch-validation.d.ts +70 -0
  352. package/skill/skill-file-batch-validation.d.ts.map +1 -0
  353. package/skill/skill-file-preview.d.ts +25 -0
  354. package/skill/skill-file-preview.d.ts.map +1 -0
  355. package/skill/skill-manifest.d.ts +28 -0
  356. package/skill/skill-manifest.d.ts.map +1 -0
  357. package/skill/skill-types.d.ts +46 -0
  358. package/skill/skill-types.d.ts.map +1 -0
  359. package/skill/skill.d.ts +160 -0
  360. package/skill/skill.d.ts.map +1 -0
  361. package/skill/useSkillArchiveImport/useSkillArchiveImport.d.ts +65 -0
  362. package/skill/useSkillArchiveImport/useSkillArchiveImport.d.ts.map +1 -0
  363. package/skill/useSkillEditorLoad.d.ts +74 -0
  364. package/skill/useSkillEditorLoad.d.ts.map +1 -0
  365. package/skill/useSkillEditorSubmit.d.ts +125 -0
  366. package/skill/useSkillEditorSubmit.d.ts.map +1 -0
  367. package/skill/useSkillFileActions.d.ts +60 -0
  368. package/skill/useSkillFileActions.d.ts.map +1 -0
  369. package/skill/useSkillFilePreview.d.ts +38 -0
  370. package/skill/useSkillFilePreview.d.ts.map +1 -0
  371. package/skill/useSkillsState/useSkillsState.d.ts +35 -0
  372. package/skill/useSkillsState/useSkillsState.d.ts.map +1 -0
  373. package/skill-editor.d.ts +2 -655
  374. package/skills-state.d.ts +2 -40
  375. package/source-content.d.ts +2 -29
  376. package/usage/map-usage-data-to-dashboard.d.ts +39 -0
  377. package/usage/map-usage-data-to-dashboard.d.ts.map +1 -0
  378. package/usage/map-user-usage-to-model-limits.d.ts +62 -0
  379. package/usage/map-user-usage-to-model-limits.d.ts.map +1 -0
  380. package/usage/usage-banner-source.d.ts +23 -0
  381. package/usage/usage-banner-source.d.ts.map +1 -0
  382. package/usage/usage-banner-source.js +36 -0
  383. package/usage/usage-period.d.ts +7 -0
  384. package/usage/usage-period.d.ts.map +1 -0
  385. package/usage/usage-period.js +6 -0
  386. package/usage/usage-reset-time.d.ts +69 -0
  387. package/usage/usage-reset-time.d.ts.map +1 -0
  388. package/usage/usage-reset-time.js +72 -0
  389. package/usage/useDeploymentUsageLimits/useDeploymentUsageLimits.d.ts +32 -0
  390. package/usage/useDeploymentUsageLimits/useDeploymentUsageLimits.d.ts.map +1 -0
  391. package/usage/useDeploymentUsageLimits/useDeploymentUsageLimits.js +39 -0
  392. package/usage/useRefreshUsageAfterGeneration/useRefreshUsageAfterGeneration.d.ts +16 -0
  393. package/usage/useRefreshUsageAfterGeneration/useRefreshUsageAfterGeneration.d.ts.map +1 -0
  394. package/usage/useRefreshUsageAfterGeneration/useRefreshUsageAfterGeneration.js +14 -0
  395. package/usage/useUsageData/useUsageData.d.ts +28 -0
  396. package/usage/useUsageData/useUsageData.d.ts.map +1 -0
  397. package/usage/useUsageLimitBanner/useUsageLimitBanner.d.ts +56 -0
  398. package/usage/useUsageLimitBanner/useUsageLimitBanner.d.ts.map +1 -0
  399. package/usage/useUsageLimitBanner/useUsageLimitBanner.js +67 -0
  400. package/usage/useUsageLimitBannerDismissal/useUsageLimitBannerDismissal.d.ts +14 -0
  401. package/usage/useUsageLimitBannerDismissal/useUsageLimitBannerDismissal.d.ts.map +1 -0
  402. package/usage/useUsageLimitBannerDismissal/useUsageLimitBannerDismissal.js +19 -0
  403. package/usage-limits.d.ts +2 -0
  404. package/usage-limits.js +8 -0
  405. package/usage.d.ts +2 -125
  406. package/useChatSettingsFormConfig/useChatSettingsFormConfig.d.ts +128 -0
  407. package/useChatSettingsFormConfig/useChatSettingsFormConfig.d.ts.map +1 -0
  408. package/usePageFileDrag/usePageFileDrag.d.ts +16 -0
  409. package/usePageFileDrag/usePageFileDrag.d.ts.map +1 -0
  410. package/usePanelMaxWidth/usePanelMaxWidth.d.ts +6 -0
  411. package/usePanelMaxWidth/usePanelMaxWidth.d.ts.map +1 -0
  412. package/useShareLink/useShareLink.d.ts +23 -0
  413. package/useShareLink/useShareLink.d.ts.map +1 -0
  414. package/useShareRecipientsCount/useShareRecipientsCount.d.ts +36 -0
  415. package/useShareRecipientsCount/useShareRecipientsCount.d.ts.map +1 -0
  416. package/useToolsMenu/useToolsMenu.d.ts +31 -0
  417. package/useToolsMenu/useToolsMenu.d.ts.map +1 -0
  418. package/useViewportWidth/useViewportWidth.d.ts +3 -0
  419. package/useViewportWidth/useViewportWidth.d.ts.map +1 -0
  420. package/utils.d.ts +2 -404
  421. package/utils.js +10 -10
  422. package/viewport-layout.d.ts +2 -27
package/conversation.d.ts CHANGED
@@ -1,1372 +1,2 @@
1
- import { Attachment } from '@epam/ai-dial-chat-shared';
2
- import { AttachmentDto } from '@epam/ai-dial-chat-api-client';
3
- import { ChangeEvent } from 'react';
4
- import { Conversation } from '@epam/ai-dial-chat-shared';
5
- import { ConversationListItemDto } from '@epam/ai-dial-chat-api-client';
6
- import { ConversationsApi } from '@epam/ai-dial-chat-api-client';
7
- import { DeploymentConfigurationSchema } from '@epam/ai-dial-chat-shared';
8
- import { DeploymentFeatures } from '@epam/ai-dial-chat-shared';
9
- import { DeploymentItemDto } from '@epam/ai-dial-chat-api-client';
10
- import { Dispatch } from 'react';
11
- import { DisplayAttachment } from '@epam/ai-dial-chat-shared';
12
- import { FilesApi } from '@epam/ai-dial-chat-api-client';
13
- import { FilterTab } from '@epam/ai-dial-chat-shared';
14
- import { Message } from '@epam/ai-dial-chat-shared';
15
- import { MessageCustomContent } from '@epam/ai-dial-chat-shared';
16
- import { MessageRating } from '@epam/ai-dial-chat-shared';
17
- import { MutableRefObject } from 'react';
18
- import { PublishHistoryEntry } from '@epam/ai-dial-publish-panel';
19
- import { RateApi } from '@epam/ai-dial-chat-api-client';
20
- import { ReactNode } from 'react';
21
- import { RefObject } from 'react';
22
- import { RequestSkill } from '@epam/ai-dial-chat-shared';
23
- import { ResponseFormat } from '@epam/ai-dial-chat-shared';
24
- import { SendCompletionDtoModeEnum } from '@epam/ai-dial-chat-api-client';
25
- import { SetStateAction } from 'react';
26
- import { Stage } from '@epam/ai-dial-chat-shared';
27
- import { StarterOption } from '@epam/ai-dial-chat-shared';
28
- import { StatusMessage } from '@epam/ai-dial-chat-shared';
29
- import { StreamChunk } from '@epam/ai-dial-chat-shared';
30
- import { ToolMenuItem } from '@epam/ai-dial-chat-shared';
31
- import { TranscriptionApi } from '@epam/ai-dial-chat-api-client';
32
- import { UploadedAttachmentResult } from '@epam/ai-dial-chat-shared';
33
-
34
- /** Structured announcement banner content. */
35
- export declare interface AnnouncementContent {
36
- title: string | null;
37
- description: string | null;
38
- html: string | null;
39
- /** Entries of the popover the banner opens. */
40
- items?: readonly AnnouncementListItem[];
41
- }
42
-
43
- /** One entry of the announcements popover behind the banner's `+N` pill. */
44
- export declare interface AnnouncementListItem {
45
- /** Plain-text heading of the entry. */
46
- title: string;
47
- /** Supporting copy of the entry, sanitized before it is rendered. */
48
- description?: string | null;
49
- /** Optional call to action shown at the end of the entry. */
50
- link?: AnnouncementListItemLink | null;
51
- }
52
-
53
- /** A link rendered as the call to action of an announcements-popover entry. */
54
- export declare interface AnnouncementListItemLink {
55
- /** Visible text of the call to action. */
56
- label: string;
57
- /** Absolute `http`/`https` target the call to action opens. */
58
- href: string;
59
- }
60
-
61
- /**
62
- * Applies a single SSE stream chunk to the message list.
63
- *
64
- *
65
- * Attachments are accumulated: each chunk's attachments are appended to the
66
- * existing array rather than replacing it.
67
- *
68
- * Annotations are merged by `index`: partial `body.title` and `body.quote`
69
- * strings are concatenated across chunks, matching the same delta-merge
70
- * semantics used for stages.
71
- *
72
- * `state` is overwritten (not merged) by each chunk that carries one,
73
- * matching the DIAL stateful-app contract.
74
- *
75
- * @returns Updated message array, or `null` when the chunk carries no
76
- * actionable data (empty content, no form_schema, and no attachments).
77
- */
78
- export declare const applyChunkToMessages: (messages: Message[], messageIndex: number, chunk: StreamChunk) => Message[] | null;
79
-
80
- /** State and controls returned by `useAsyncConfirmDialog`. */
81
- export declare interface AsyncConfirmDialogControls<T> {
82
- /**
83
- * The value currently awaiting confirmation, or `null` when no dialog is
84
- * open.
85
- */
86
- pending: T | null;
87
- /** `true` when `pending` is not `null`. */
88
- isPending: boolean;
89
- /** `true` while the async operation started by `confirm` is in-flight. */
90
- isRunning: boolean;
91
- /** Error message set when the last `confirm` run threw, or `null` otherwise. */
92
- error: string | null;
93
- /**
94
- * Opens the dialog by setting `pending` to `value` and clearing any prior
95
- * error.
96
- *
97
- * Pass `returnFocusTo` when the control that opened the dialog will not
98
- * survive it — a row menu item, for instance, unmounts with its menu, so
99
- * restoring focus to it is impossible and the caller should name a stable
100
- * element such as the menu's own trigger. When omitted, whatever held focus
101
- * at the moment of the call is used.
102
- */
103
- open: (value: T, returnFocusTo?: HTMLElement | null) => void;
104
- /** Closes the dialog by resetting `pending`, `error`, and `isRunning` to their initial values. */
105
- close: () => void;
106
- /**
107
- * Runs `run(pending)` while enforcing a re-entry guard.
108
- *
109
- * - No-op when `isRunning` is already `true` or `pending` is `null`.
110
- * - On success: calls `close()` to reset all state.
111
- * - On failure: sets `error` to `onError(caughtError)` and leaves `pending`
112
- * set so the caller may retry.
113
- */
114
- confirm: (run: (value: T) => Promise<void>, onError: (error: unknown) => string) => Promise<void>;
115
- }
116
-
117
- /** Maps a list of already-uploaded attachments to DTOs, or `undefined` when the list is empty. */
118
- export declare const attachmentsToDtos: (attachments: Attachment[]) => AttachmentDto[] | undefined;
119
-
120
- /** Maps an already-uploaded attachment to its DTO shape. Throws if the attachment has no `url` yet. */
121
- export declare const attachmentToDto: (attachment: Attachment) => AttachmentDto;
122
-
123
- /** Thrown by `transcribeAudio`; carries a machine-readable `reason` instead of translated text. */
124
- export declare class AudioTranscriptionError extends Error {
125
- readonly reason: AudioTranscriptionErrorReason;
126
- /** The size limit that was exceeded, present only when `reason` is `TooLarge`. */
127
- readonly limitBytes?: number;
128
- constructor(reason: AudioTranscriptionErrorReason, limitBytes?: number);
129
- }
130
-
131
- /** Reason a {@link useTranscribeAudio} call failed, translation-free — the host maps it to text. */
132
- export declare enum AudioTranscriptionErrorReason {
133
- /** No usable ASR model or deployment is configured for the current bucket. */
134
- Unavailable = "unavailable",
135
- /** The recording exceeds the caller's configured size limit. */
136
- TooLarge = "tooLarge",
137
- /** Recognition is rate-limited, unavailable, or exhausted short gateway retries. */
138
- Busy = "busy",
139
- /** Recognition failed for any other reason. */
140
- Failed = "failed"
141
- }
142
-
143
- /**
144
- * Builds the value persisted under `StorageKey.TextOfClosedAnnouncement` when
145
- * the user dismisses the banner. Dismissal is content-keyed: the banner stays
146
- * hidden only while the current announcement produces the same signature, so
147
- * editing any part of it brings the banner back with no version counter.
148
- *
149
- * Every piece of content the banner surface renders feeds the signature — the
150
- * title, the description, and the popover entries behind the pill, which live
151
- * inside the banner and are hidden along with it. Publishing a new entry in
152
- * that list therefore invalidates an earlier dismissal on its own, even when
153
- * the banner line itself is untouched.
154
- *
155
- * A legacy-only announcement returns the raw HTML string — byte-identical to
156
- * what shipped before the structured fields existed — so dismissals recorded
157
- * by older builds keep working without a storage migration. `items` is left
158
- * out of the payload entirely when the list is empty for the same reason: a
159
- * deployment that never configured the popover keeps matching the signatures
160
- * its users already have stored.
161
- */
162
- export declare const buildAnnouncementSignature: (content: AnnouncementContent) => string;
163
-
164
- /**
165
- * Translatable strings the chat-settings form surfaces. Every field defaults
166
- * to an English fallback inside the hook; pass translated values from the
167
- * consuming app (e.g. via a `useTranslation`-backed labels hook).
168
- */
169
- export declare interface ChatSettingsFormLabels {
170
- /** Dropdown item label and modal title. */
171
- settings: string;
172
- /** Toast/message text announced after a successful save. */
173
- savedNotification: string;
174
- /** Label for the response-format field. */
175
- responseFormatLabel: string;
176
- /** Helper text shown below the response-format field. */
177
- responseFormatHint: string;
178
- /** Label for the Markdown radio option. */
179
- responseFormatMarkdown: string;
180
- /** Label for the plain-text radio option. */
181
- responseFormatPlainText: string;
182
- /** Label for the system-prompt field. */
183
- systemPromptLabel: string;
184
- /** Tooltip for the system-prompt field. */
185
- systemPromptTooltip: string;
186
- /** Label for the temperature field. */
187
- temperatureLabel: string;
188
- /** Label for the precise end of the temperature slider. */
189
- temperaturePrecise: string;
190
- /** Label for the neutral midpoint of the temperature slider. */
191
- temperatureNeutral: string;
192
- /** Label for the creative end of the temperature slider. */
193
- temperatureCreative: string;
194
- /** Hint text shown below the temperature field. */
195
- temperatureHint: string;
196
- /** Save button label. */
197
- saveLabel: string;
198
- /** Tooltip shown on the disabled Save button. */
199
- saveDisabledTooltip: string;
200
- }
201
-
202
- /** Values emitted by the chat-settings modal when the user clicks Save. */
203
- export declare interface ChatSettingsValues {
204
- /** Updated response format, present when the response-format field was shown. */
205
- responseFormat?: ResponseFormat;
206
- /** Updated system prompt, present when the system-prompt field was shown. */
207
- systemPrompt?: string;
208
- /** Updated temperature, present when the temperature field was shown. */
209
- temperature?: number;
210
- }
211
-
212
- /** DIAL Core completion streaming transport produced by {@link createChatStreamApi}. */
213
- export declare interface ChatStreamApi {
214
- streamCompletion: (path: string, message: string | undefined, model: string, options: ChatStreamCompletionOptions, customContent?: MessageCustomContent, generationId?: string, mode?: SendCompletionDtoModeEnum, messageIndex?: number, clientChannelId?: string) => void;
215
- stopCompletion: (dto: {
216
- generationId: string;
217
- path: string;
218
- content?: string;
219
- }) => Promise<void>;
220
- }
221
-
222
- /** Callbacks {@link streamCompletion} reports streamed completion events through. */
223
- export declare interface ChatStreamCompletionOptions {
224
- onChunk: (chunk: StreamChunk) => void;
225
- onComplete: () => void;
226
- onError: (error: Error) => void;
227
- signal?: AbortSignal;
228
- }
229
-
230
- /** Host-owned generation lifecycle, backing cross-navigation `AbortController` ownership. */
231
- export declare interface ConversationGenerationLifecycle {
232
- /** Starts (or replaces) tracking for a generation on `path`, returning its `AbortController`. */
233
- startGeneration: (path: string, generationId: string) => AbortController;
234
- /** Marks the generation identified by `path`/`generationId` complete, if it is still the active one. */
235
- completeGeneration: (path: string, generationId: string) => void;
236
- }
237
-
238
- /** Stable reverse-lookup maps returned by `useConversationLookupMaps`. */
239
- export declare interface ConversationLookupMaps {
240
- /** Returns the raw context id for a panel-space conversation id, or `undefined` when not found. */
241
- toContextId: (panelId: string) => string | undefined;
242
- /** Returns the raw `ConversationListItemDto` for a panel-space conversation id, or `undefined` when not found. */
243
- getRawItem: (panelId: string) => ConversationListItemDto | undefined;
244
- }
245
-
246
- declare interface ConversationModeParams {
247
- mode: 'conversation';
248
- conversation: Conversation;
249
- onConversationChange: (conversation: Conversation) => void;
250
- deploymentFeatures?: DeploymentFeatures;
251
- /** True when the conversation's deployment is a Quick App. Its orchestrator sets its own fixed temperature, so the temperature field is forced off regardless of `deploymentFeatures`. */
252
- isQuickApp?: boolean;
253
- }
254
-
255
- /** Distilled row-action state for a single conversation item. */
256
- export declare interface ConversationRowActionState {
257
- /** `true` when the item is read-only (shared-with-me, published-with-me, or explicitly readonly). */
258
- isReadonly: boolean;
259
- /**
260
- * Deduplicated list of folder paths (as joined slash-delimited strings)
261
- * to which this conversation has been published. Empty when the conversation
262
- * is unowned, readonly, or publish history is unavailable.
263
- */
264
- publishedFolders: string[];
265
- /**
266
- * `true` when the revoke-access action should be shown: either the
267
- * recipient count is unknown (lookup pending/failed) or at least one
268
- * recipient exists.
269
- */
270
- isRevokeVisible: boolean;
271
- /** `true` when publish is applicable (no published folders yet). */
272
- isPublishApplicable: boolean;
273
- /** `true` when unpublish is applicable (at least one published folder exists). */
274
- isUnpublishApplicable: boolean;
275
- }
276
-
277
- /** Shared mutable channel through which the displayed conversation's state is read/written. */
278
- export declare interface ConversationStateAccessor {
279
- setConversation: Dispatch<SetStateAction<Conversation | null>>;
280
- conversationRef: MutableRefObject<Conversation | null>;
281
- }
282
-
283
- /** Optional host-owned client-channel connection, used to nudge tool-signin delivery. */
284
- export declare interface ConversationStreamChannel {
285
- channelId: string | null;
286
- ensureConnected: () => void;
287
- /** Resolves with a channel id, waiting for an in-flight subscribe if one isn't established yet, so a completion sent immediately after mount can still carry it. */
288
- waitForChannel: (timeoutMs?: number) => Promise<string | null>;
289
- /** Notifies the host that a generation just ended (completed or errored), so it can consider disconnecting an idle channel. */
290
- notifyGenerationSettled?: () => void;
291
- }
292
-
293
- /** Optional host-owned overlay generation-lifecycle notifications. Each method is independently optional. */
294
- export declare interface ConversationStreamOverlayNotifier {
295
- notifyGenerationStart?: () => void;
296
- notifyGenerationEnd?: () => void;
297
- notifyStopGenerating?: () => void;
298
- }
299
-
300
- /** The exact `startStream` shape `useConversationStream` returns. */
301
- export declare type ConversationStreamStarter = (conversationPath: string, userContent: string, messageIndex: number, model: string, customContent?: MessageCustomContent, generationId?: string, mode?: SendCompletionDtoModeEnum, options?: StartStreamOptions) => void;
302
-
303
- /**
304
- * Host-owned transport for the DIAL Core completion protocol. Implemented at
305
- * the app edge — never hardcodes an `/api` path, CSRF handling, or a
306
- * `server-api` import; the library only depends on this interface's shape.
307
- */
308
- export declare interface ConversationStreamTransport {
309
- /** Starts a completion; delivers chunks/completion/error through `options`, aborted via `options.signal`. */
310
- streamCompletion(path: string, message: string | undefined, model: string, options: StreamCompletionOptions, customContent?: MessageCustomContent, generationId?: string, mode?: SendCompletionDtoModeEnum, messageIndex?: number, clientChannelId?: string): void;
311
- /**
312
- * Requests the backend stop an active generation. `content` is the answer text shown
313
- * so far; the backend saves it for a generation whose text it does not hold.
314
- */
315
- stopCompletion(params: {
316
- generationId: string;
317
- path: string;
318
- content?: string;
319
- }): Promise<void>;
320
- /** Opens a stream of resource-update events for `path`, until aborted via `signal`. */
321
- watchConversation(path: string, signal: AbortSignal): Promise<ReadableStream<Uint8Array>>;
322
- /**
323
- * Attaches to an active generation's live replay: a `snapshot` event
324
- * carrying the assistant message as assembled so far, then a `chunk` event
325
- * per subsequent delta, then exactly one terminal event (`done`/`error`/
326
- * `stopped`), until aborted via `signal`. Rejects when no active
327
- * generation exists for `path` — including one that already finished —
328
- * so the caller can fall back to `watchConversation`.
329
- */
330
- attachToGeneration(path: string, signal: AbortSignal): Promise<ReadableStream<Uint8Array>>;
331
- /** Reloads the persisted conversation by its full (bucket-qualified) id. */
332
- getConversation(conversationId: string, signal?: AbortSignal): Promise<Conversation>;
333
- /**
334
- * Saves `conversation` at the bucket-stripped `path`, resolving with the saved
335
- * conversation. Used only for the single recovery save after the backend's
336
- * terminal save was rejected with `401`; without it that failure shows the
337
- * persistence warning immediately.
338
- */
339
- saveConversation?(path: string, conversation: Conversation): Promise<Conversation>;
340
- }
341
-
342
- /**
343
- * Builds the streamed-completion transport `apps/chat/src/server-api/chat-stream.api.ts`
344
- * exposes today: SSE parsing across partial chunks, CSRF header attachment
345
- * and rotation, and an optional timezone header, backed by an injected
346
- * `fetch` implementation and base path.
347
- */
348
- export declare const createChatStreamApi: (deps: CreateChatStreamApiDeps) => ChatStreamApi;
349
-
350
- /** Host capabilities {@link createChatStreamApi} needs to stream and stop completions. */
351
- export declare interface CreateChatStreamApiDeps {
352
- /** Returns the currently held CSRF token, or `null` when none is set. */
353
- getCsrfToken: () => string | null;
354
- /** Stores a CSRF token captured from a response header. */
355
- setCsrfToken: (token: string | null) => void;
356
- /** Base path for the completion/stop endpoints, e.g. `/api/v1/conversations`. */
357
- completionsBasePath: string;
358
- /** Resolves the caller's current timezone, attached as `X-Timezone` when non-empty. */
359
- getTimezone?: () => string | undefined;
360
- /** `fetch` implementation to issue requests through. Defaults to the global `fetch`. */
361
- fetchImpl?: typeof fetch;
362
- /**
363
- * How long an open completion stream may go without receiving a byte
364
- * (keepalive comments included) before it is reported as a
365
- * {@link StreamInterruptedError}. Defaults to {@link DEFAULT_STREAM_IDLE_TIMEOUT_MS}.
366
- */
367
- idleTimeoutMs?: number;
368
- }
369
-
370
- /**
371
- * Creates a status message recording a deployment change in the conversation timeline.
372
- * Status messages are never forwarded to DIAL Core.
373
- */
374
- export declare const createDeploymentChangedMessage: (previousDeploymentId: string | null, newDeploymentId: string) => StatusMessage;
375
-
376
- /** Builds a user message and its empty assistant placeholder, both timestamped `now`. */
377
- export declare const createMessagePair: (content: string, customContent?: MessageCustomContent, deploymentId?: string | null) => MessagePair;
378
-
379
- /** Fallback text of a {@link GenerationConflictError} when no message is supplied. */
380
- export declare const DEFAULT_GENERATION_CONFLICT_MESSAGE = "A response is already being generated in this conversation. Wait for it to finish or stop it before sending another message.";
381
-
382
- /** Safe fallback for hosts that do not supply a translated persistence warning. */
383
- export declare const DEFAULT_GENERATION_PERSISTENCE_ERROR_MESSAGE = "The response could not be saved. It is still shown here, but may be lost if you reload or leave this page. Copy it before continuing.";
384
-
385
- export declare const DEFAULT_STREAM_IDLE_TIMEOUT_MS = 45000;
386
-
387
- /**
388
- * Derives the row-action visibility state for a single conversation item.
389
- *
390
- * Extracted from `getActions` in `ConversationPanelView` to isolate the
391
- * readonly / publish / unpublish / revoke decision logic from the
392
- * `DropdownItem` construction and `t()` calls that remain in the app.
393
- *
394
- * @param item - Conversation DTO fields relevant to ownership classification.
395
- * @param publishHistory - Resolved publish-history entries, or `undefined`
396
- * when history is unavailable or should be treated as empty (e.g. while
397
- * loading or when the item is readonly).
398
- * @param recipients - Current share-recipients count entry for this item.
399
- */
400
- export declare const deriveConversationRowActionState: (item: Pick<ConversationListItemDto, "sharedWithMe" | "publishedWithMe" | "isReadonly">, publishHistory: PublishHistoryEntry[] | undefined, recipients: RecipientsCountEntry) => ConversationRowActionState;
401
-
402
- /**
403
- * Returns the deployment a conversation belongs to, resolved from its id
404
- * alone, or `undefined` when no candidate matches `deployments`.
405
- */
406
- export declare const findDeploymentForConversationId: (deployments: DeploymentItemDto[], conversationId: string) => DeploymentItemDto | undefined;
407
-
408
- /**
409
- * Normalises a version string for display. The server falls back to a bare
410
- * `package.json` version (`0.45.0`), while a CI-supplied `CHAT_VERSION` is
411
- * often already tagged (`v0.45.0`) — prefixing unconditionally would render
412
- * `vv0.45.0`.
413
- */
414
- export declare const formatAppVersion: (version: string) => string;
415
-
416
- /**
417
- * Reported through `onError` when the backend rejects a completion because
418
- * another generation is already active on the same conversation — what a
419
- * second browser tab of the same session hits when it submits into a
420
- * conversation the first tab is still generating. Distinct from a generic
421
- * transport failure so callers can present it as an expected state.
422
- */
423
- export declare class GenerationConflictError extends Error {
424
- constructor(message?: string);
425
- }
426
-
427
- /** Identifies a failed terminal save independently of the model's generation outcome. */
428
- export declare class GenerationPersistenceError extends Error {
429
- static readonly type = "conversation_save_failed";
430
- /** HTTP status of the rejected terminal write, when the backend reported one. */
431
- readonly status?: number;
432
- /**
433
- * Creates the error with the default persistence message.
434
- * @param status - HTTP status of the rejected terminal write, if known
435
- */
436
- constructor(status?: number);
437
- }
438
-
439
- /**
440
- * Strips the leading bucket segment from a conversation id and decodes any
441
- * already-percent-encoded remainder back to raw, so callers that re-encode
442
- * the result once (e.g. an API client) don't double-encode it on the wire.
443
- */
444
- export declare const getConversationPath: (conversationId: string) => string;
445
-
446
- /**
447
- * Classifies a conversation's ownership using the shared filter-tab contract.
448
- */
449
- export declare const getConversationSource: (item: Pick<ConversationListItemDto, "sharedWithMe" | "publishedWithMe">) => FilterTab;
450
-
451
- /**
452
- * Returns the tool values the conversation's last message sets through its
453
- * `form_schema`, restricted to `toolIds`, plus a key identifying that exact
454
- * application. `undefined` when the last message is not an assistant message
455
- * or sets no known tool.
456
- *
457
- * Streamed chunks and reloads re-create an identical `form_schema`; comparing
458
- * keys rather than object identity applies an app's value once and leaves a
459
- * later user toggle alone until the app sends a different value.
460
- */
461
- export declare const getFormSchemaToolSyncKey: (conversationId: string, messages: Message[], toolIds: readonly string[]) => {
462
- key: string;
463
- values: Record<string, boolean>;
464
- } | undefined;
465
-
466
- /**
467
- * Returns the deployment the conversation was last running on: scanning
468
- * backwards, the `new_deployment_id` of a `model_changed` status message or
469
- * the `deploymentId` a message carries in its own right, whichever comes
470
- * later. `null` when neither is present.
471
- *
472
- * Reading only the status messages loses the switch whenever a regenerate or
473
- * an edit truncates past one: the marker is appended at the end of the
474
- * timeline, so truncating at an earlier message drops it, and the model the
475
- * user picked reverted on the next page load even though the answer had been
476
- * regenerated on it ([#8712](https://github.com/epam/ai-dial-chat/issues/8712)). The assistant message the backend writes
477
- * carries the deployment that produced it, which survives that truncation
478
- * because it *is* the regenerated message.
479
- */
480
- export declare const getLastDeploymentId: (messages: Message[]) => string | null;
481
-
482
- /**
483
- * Returns the `configuration_value` stored on the last user message, or
484
- * `undefined` if none exists. Used to restore the tools menu toggle state
485
- * when a conversation is (re-)loaded, mirroring `getLastDeploymentId`.
486
- */
487
- export declare const getLastUserMessageToolConfiguration: (messages: Message[]) => Record<string, unknown> | undefined;
488
-
489
- /**
490
- * Returns the tool configuration a (re-)loaded conversation should show: the
491
- * last user message's `configuration_value`, overlaid in order by the
492
- * `form_schema` values of the assistant messages after it. An app that turned
493
- * a toggle off in its final response must not see it re-armed on reload just
494
- * because the user message that started the run had it on.
495
- */
496
- export declare const getLatestToolConfiguration: (messages: Message[]) => Record<string, unknown> | undefined;
497
-
498
- /**
499
- * Returns every deployment id a conversation id may belong to, longest first,
500
- * or an empty array when the format is unrecognised.
501
- */
502
- export declare const getModelIdCandidatesFromConversationId: (id: string) => string[];
503
-
504
- /**
505
- * Extracts the deployment/model ID from a DIAL Core conversation ID.
506
- *
507
- * The backend builds conversation paths as `{deploymentId}__{title}` then runs
508
- * `encodeDialResourcePath` which splits on `/` and encodes each segment. This
509
- * means both the deployment ID and the title may introduce extra `/`-separated
510
- * URL segments:
511
- *
512
- * - Deployment `anthropic/claude-3`, title `My chat`
513
- * → `conversations/bucket/anthropic/claude-3__My%20chat`
514
- *
515
- * - Deployment `uuid`, title `calc 6/2/2026` (title contains slashes)
516
- * → `conversations/bucket/uuid__calc%206/2/2026`
517
- *
518
- * The `__` separator is present in the first filename segment. Versioned
519
- * application deployments use `{name}__{version}__{title}`, so the version
520
- * suffix still belongs to the deployment ID.
521
- *
522
- * In regular model conversations, the separator is always present in exactly
523
- * one segment — the first one that contains it. Segments before that segment
524
- * are deployment ID path prefixes; segments from that point onward are the
525
- * title (possibly overflowing into further `/`-separated segments).
526
- *
527
- * Returns `undefined` when the format is unrecognised.
528
- */
529
- export declare const getModelIdFromConversationId: (id: string) => string | undefined;
530
-
531
- /** Parses a Quick App's raw `conversationStarters` schema value into starter options. */
532
- export declare const getQuickAppConversationStarters: (conversationStarters: unknown) => QuickAppConversationStartersSettings;
533
-
534
- /**
535
- * Returns the text to start/populate a conversation from a selected starter button.
536
- * `description` (the schema property's shared intro/question text) is used only
537
- * as a fallback when the starter's own `populateText` is explicitly `null` — it
538
- * must never override a starter's own configured prompt.
539
- */
540
- export declare const getStarterConversationText: (starter: StarterOption, description?: string) => string;
541
-
542
- /**
543
- * Returns the text shown in the user's message bubble for a selected
544
- * starter/form button. Falls back to the button label for submit buttons that
545
- * send no text of their own.
546
- */
547
- export declare const getStarterDisplayText: (starter: StarterOption, description?: string) => string;
548
-
549
- /**
550
- * Returns the text to populate in the input when a starter button is selected.
551
- * Falls back to the button title if `populateText` is empty.
552
- */
553
- export declare const getStarterPopulateText: (starter: StarterOption) => string;
554
-
555
- /**
556
- * Extracts starter options, the schema property key (`'starter'` or `'button'`),
557
- * and the optional description text from a deployment configuration schema.
558
- *
559
- * - `propertyKey` — `'starter'` or `'button'`; used to build `configuration_value`.
560
- * - `description` — human-readable prompt shown above the buttons (only present for `button` properties).
561
- *
562
- * Returns an empty starters array and `undefined` fields when no matching property is found.
563
- */
564
- export declare const getStartersFromSchema: (schema: DeploymentConfigurationSchema | null | undefined) => {
565
- starters: StarterOption[];
566
- propertyKey: string | undefined;
567
- description: string | undefined;
568
- };
569
-
570
- /**
571
- * Returns submitted text for DIAL starter/form buttons.
572
- * For submit buttons, `populateText: null` explicitly means "submit no text".
573
- * `description` (the schema property's shared intro/question text) is used only
574
- * as a fallback when the starter carries no text of its own — it must never
575
- * override a starter's own configured prompt, or every button in a group would
576
- * submit the same message.
577
- */
578
- export declare const getStarterSubmitText: (starter: StarterOption, description?: string) => string;
579
-
580
- /**
581
- * Returns a time-of-day greeting string.
582
- * Hour ranges: morning 5–11, afternoon 12–16, evening 17–20, night 21–4.
583
- * When firstName is provided the with-name variant is returned; otherwise the no-name variant.
584
- */
585
- export declare const getTimeOfDayGreeting: (hour: number, translations: GreetingTranslations, firstName?: string) => string;
586
-
587
- /**
588
- * Returns the boolean values an assistant message's `form_schema` sets, keyed
589
- * by property name, or `undefined` when no property resolves to a boolean.
590
- * Lets a DIAL app switch a tools-menu toggle (e.g. `deep_research`) per
591
- * message — on while a run is in progress, off once its result is delivered.
592
- * Not filtered by tool id: `restoreToolConfiguration` ignores unknown ids.
593
- */
594
- export declare const getToolConfigurationFromFormSchema: (formSchema: DeploymentConfigurationSchema | undefined) => Record<string, boolean> | undefined;
595
-
596
- /** Pre-translated greeting phrase strings for each time-of-day period. */
597
- export declare interface GreetingTranslations {
598
- morningWithName: string;
599
- morningNoName: string;
600
- afternoonWithName: string;
601
- afternoonNoName: string;
602
- eveningWithName: string;
603
- eveningNoName: string;
604
- nightWithName: string;
605
- nightNoName: string;
606
- }
607
-
608
- /** Whether at least one tool toggle in `value` is active. */
609
- export declare const hasActiveToolConfig: (value: Record<string, boolean> | undefined) => boolean;
610
-
611
- /** True when the announcement has any renderable content (structured or legacy HTML). */
612
- export declare const hasAnnouncementContent: (content: AnnouncementContent) => boolean;
613
-
614
- /**
615
- * Whether the operator configured the structured banner (title and/or
616
- * description) rather than only the legacy HTML message. Drives which of the
617
- * two banner layouts renders.
618
- */
619
- export declare const hasStructuredAnnouncement: ({ title, description, }: AnnouncementContent) => boolean;
620
-
621
- /**
622
- * Whether the assistant answer that follows an edited user message is missing
623
- * or incomplete: no message at all, a non-assistant message, an answer the
624
- * user stopped, or one that ended with a stream error.
625
- */
626
- export declare const isAnswerIncomplete: (answer: Message | undefined) => boolean;
627
-
628
- /**
629
- * True when the conversation has a pending background message, or its last
630
- * message is an unresolved assistant placeholder: the backend only persists a
631
- * conversation at generation start (empty placeholder) and at generation end
632
- * (final content, or a partial flagged `streamErrorMessage`/`wasStoppedByUser`).
633
- * This can mean generation is still active elsewhere, or that its terminal save
634
- * failed.
635
- */
636
- export declare const isAwaitingGenerationResume: (conversation: Conversation) => boolean;
637
-
638
- /**
639
- * Returns `true` when the edited text, attachment list, or skills list differs
640
- * from the original message, meaning a regeneration is needed.
641
- *
642
- * `skills` is the skills state the edit will write: `undefined` leaves the
643
- * original skills out of the comparison (nothing about them changes), while an
644
- * array — including an empty one — is compared against the original.
645
- *
646
- * @param originalMessage - The unmodified message stored in the conversation.
647
- * @param newText - The text the user submitted from the edit area.
648
- * @param keptDisplayAttachments - Attachments the user kept (not removed).
649
- * @param newAttachments - Brand-new attachments the user added during editing.
650
- * @param skills - The skills the edited message will carry, or `undefined` to leave them unchanged.
651
- */
652
- export declare const isMessageChanged: (originalMessage: Message, newText: string, keptDisplayAttachments: DisplayAttachment[], newAttachments: Attachment[], skills?: RequestSkill[]) => boolean;
653
-
654
- /**
655
- * Returns `true` when `message` is the actively-streaming assistant response.
656
- * Only the last message in the list can be streaming, and only while
657
- * `isAssistantTyping` is `true`.
658
- */
659
- export declare const isMessageStreaming: (message: Message, messageIndex: number, totalMessages: number, isAssistantTyping: boolean) => boolean;
660
-
661
- declare interface LocalModeParams {
662
- mode: 'local';
663
- values: LocalModeValues;
664
- onValuesChange: (values: LocalModeValues) => void;
665
- deploymentFeatures?: DeploymentFeatures;
666
- /** True when the selected deployment is a Quick App. Its orchestrator sets its own fixed temperature, so the temperature field is forced off regardless of `deploymentFeatures`. */
667
- isQuickApp?: boolean;
668
- }
669
-
670
- declare interface LocalModeValues {
671
- responseFormat: ResponseFormat;
672
- systemPrompt: string;
673
- temperature: number;
674
- }
675
-
676
- /**
677
- * Returns the normalized stages of a complete raw stage array or a
678
- * message-like payload (reading `custom_content.stages`, falling back to
679
- * `customContent.stages`), or `undefined` when there are none. An entry
680
- * without an `index` takes its array position — the identity a complete
681
- * non-streaming array's `parent_stage_index` refers to — while explicit
682
- * (possibly sparse) indexes are kept. Not for partial stream deltas.
683
- */
684
- export declare const mapStages: (source: RawStage[] | RawStageSource | null | undefined) => Stage[] | undefined;
685
-
686
- /**
687
- * Merges incoming stage deltas into an existing stage list, keyed by `index`.
688
- *
689
- * Partial `name` and `content` strings are concatenated across chunks;
690
- * attachments are merged by their own `index` (concatenating partial `title`
691
- * and `data`); every other field on the incoming delta overwrites the
692
- * accumulated one. A brand-new stage whose first chunk carries `name: null`
693
- * is normalized to `''`.
694
- *
695
- * Exported for hosts that keep a flattened `Stage[]` on the message instead
696
- * of `Message.custom_content.stages` and therefore cannot reuse
697
- * {@link applyChunkToMessages}. Prefer `useConversationStream` when the host
698
- * can delegate the whole stream loop.
699
- */
700
- export declare const mergeStages: (existing: Stage[], incoming: Stage[]) => Stage[];
701
-
702
- /** True when `message` is an assistant message carrying at least one stage. */
703
- export declare const messageHasStages: (message: Message) => boolean;
704
-
705
- /** A newly-created user message paired with its empty assistant placeholder. */
706
- export declare interface MessagePair {
707
- userMessage: Message;
708
- assistantMessage: Message;
709
- }
710
-
711
- /** A stable snapshot of one eligible native text selection. */
712
- export declare interface MessageSelectionReplySnapshot {
713
- /** Scope that owned the selection when it was captured. */
714
- conversationId: string;
715
- /** Message text root containing the captured range. */
716
- body: HTMLDivElement;
717
- /** Captured native range. */
718
- range: Range;
719
- /** Native selected text preserved for the generated file. */
720
- text: string;
721
- /** Visible fragment of the selected range. */
722
- rect: DOMRect;
723
- }
724
-
725
- /**
726
- * Normalises a stored response-format string to the current enum. Legacy data
727
- * may contain `'Markdown'` or `'PlainText'` (capital-first) instead of the
728
- * current enum values `'markdown'` / `'plain_text'`.
729
- */
730
- export declare const normalizeResponseFormat: (value: string | undefined) => ResponseFormat;
731
-
732
- /** Common, host-injected options shared by both modes. */
733
- declare interface Options {
734
- /** Translatable labels. Fields not provided fall back to English defaults. */
735
- labels?: Partial<ChatSettingsFormLabels>;
736
- /** Called after a successful save so the host can surface its own toast/notification. */
737
- onSaved?: () => void;
738
- }
739
-
740
- declare type Params = LocalModeParams | ConversationModeParams;
741
-
742
- /** Resolved Quick App conversation-starter settings. */
743
- export declare interface QuickAppConversationStartersSettings {
744
- starters: StarterOption[];
745
- introText: string | undefined;
746
- isChatMessageInputDisabled: boolean;
747
- }
748
-
749
- /**
750
- * One stage as it arrives from the REST API or the SSE stream, before
751
- * normalization. Structurally satisfied by the generated `StageDto` and by a
752
- * raw stream delta, both of which omit `index`/`name`/`status` on the chunk
753
- * that opens a stage.
754
- */
755
- export declare interface RawStage {
756
- /** Ordering key. Defaults to `0` when absent. */
757
- index?: number | null;
758
- /** Stage title. `null` on the chunk that opens the stage. */
759
- name?: string | null;
760
- /** Terminal state as a raw wire string; anything other than `'completed'`/`'failed'` means still running. */
761
- status?: string | null;
762
- /** Additional stage text. */
763
- content?: string | null;
764
- /** Short source/category label shown beside the stage name. */
765
- tag?: string | null;
766
- /** Files produced or referenced by this stage. */
767
- attachments?: RawStageAttachment[] | null;
768
- /**
769
- * `index` of the parent stage (its array position in a complete unindexed
770
- * array). Nullish means top level; `0` is a valid parent.
771
- */
772
- parent_stage_index?: number | null;
773
- }
774
-
775
- /**
776
- * One stage attachment as it arrives from the REST API or the SSE stream,
777
- * before normalization: every field is optional and may be `null`.
778
- */
779
- export declare interface RawStageAttachment {
780
- /** Zero-based position in the attachment list. */
781
- index?: number | null;
782
- /** MIME type of the attachment content. */
783
- type?: string | null;
784
- /** Display name shown in the UI. */
785
- title?: string | null;
786
- /** Inline base-64 encoded content. */
787
- data?: string | null;
788
- /** Remote URL pointing to the attachment content. */
789
- url?: string | null;
790
- /** MIME type of the referenced resource. */
791
- reference_type?: string | null;
792
- /** URL of an alternate reference resource. */
793
- reference_url?: string | null;
794
- }
795
-
796
- /**
797
- * Message-like payload carrying stages under either the wire's snake_case
798
- * `custom_content` or a host's camelCased `customContent`.
799
- */
800
- export declare interface RawStageSource {
801
- /** Custom content as the DIAL wire format spells it. */
802
- custom_content?: {
803
- stages?: RawStage[] | null;
804
- } | null;
805
- /** Custom content as a camelCasing host spells it. */
806
- customContent?: {
807
- stages?: RawStage[] | null;
808
- } | null;
809
- }
810
-
811
- /** State of one resource's recipient-count lookup. */
812
- declare interface RecipientsCountEntry {
813
- /** Where the lookup for this resource currently stands. */
814
- status: RecipientsCountStatus;
815
- /** Number of users holding access; present only once the status is `Resolved`. */
816
- count?: number;
817
- }
818
-
819
- /** Lifecycle of an on-demand recipient-count lookup for one resource. */
820
- declare enum RecipientsCountStatus {
821
- /** Nothing requested yet for this resource. */
822
- Idle = "idle",
823
- /** A lookup is in flight. */
824
- Loading = "loading",
825
- /** A count came back and is known exactly. */
826
- Resolved = "resolved",
827
- /** The lookup failed, so the count is unknown. */
828
- Unknown = "unknown"
829
- }
830
-
831
- /** Sanitizes announcement HTML to the allowed inline tag/attribute set. */
832
- export declare const sanitizeAnnouncementHtml: (html: string) => string;
833
-
834
- /**
835
- * Sanitizes the legacy `ANNOUNCEMENT_HTML_MESSAGE` banner, which permits the
836
- * block-level markup the inline pass strips. See
837
- * `ANNOUNCEMENT_MESSAGE_SANITIZE_OPTIONS` for why the two lists differ.
838
- */
839
- export declare const sanitizeAnnouncementMessageHtml: (html: string) => string;
840
-
841
- /** Sanitizes footer message HTML to the allowed tag/attribute set. */
842
- export declare const sanitizeFooterHtml: (html: string) => string;
843
-
844
- /**
845
- * Whether submitting an edit has to re-run the generation.
846
- *
847
- * True whenever the message itself changed, and also when it is unchanged but
848
- * its answer never completed — after stopping a generation the user submits
849
- * the same message precisely to get a full answer, so treating that as "no
850
- * change" would leave the conversation stuck with the partial one.
851
- *
852
- * @param skills - The skills the edited message will carry, or `undefined` to leave them unchanged — see {@link isMessageChanged}.
853
- */
854
- export declare const shouldRerunGenerationOnEdit: (messages: Message[], messageIndex: number, newText: string, keptDisplayAttachments: DisplayAttachment[], newAttachments: Attachment[], skills?: RequestSkill[]) => boolean;
855
-
856
- /** True when the first user/assistant exchange is complete and LLM naming may still run. */
857
- export declare const shouldWatchForDisplayNameUpdate: (conversation: Conversation) => boolean;
858
-
859
- /** Per-start options of {@link UseConversationStreamResult.startStream}. */
860
- export declare interface StartStreamOptions {
861
- /**
862
- * Treats a `GenerationConflictError` as "this turn is already being
863
- * generated" — e.g. a page reloaded before that generation saved its start
864
- * state — and joins the running generation instead of showing the conflict
865
- * message, which remains the fallback. Only for a start that sends no new
866
- * user text; a send the user typed must keep reporting the conflict.
867
- */
868
- resumeOnConflict?: boolean;
869
- }
870
-
871
- /** Options accepted by {@link ConversationStreamTransport.streamCompletion}. */
872
- export declare interface StreamCompletionOptions {
873
- onChunk: (chunk: StreamChunk) => void;
874
- onComplete: () => void | Promise<void>;
875
- onError: (error: Error) => void;
876
- signal: AbortSignal;
877
- }
878
-
879
- /**
880
- * Reported through `onError` when the network connection carrying a
881
- * completion stream is lost (a rejected `fetch`, or a read that fails after a
882
- * 2xx response) or goes silent past the idle timeout — what a laptop sleep or
883
- * a phone lock mid-generation produces. The backend-owned generation may
884
- * still be running, so the caller can recover it rather than treat the
885
- * response as failed. `cause` holds the original error, when there is one.
886
- */
887
- export declare class StreamInterruptedError extends Error {
888
- constructor(cause?: unknown);
889
- }
890
-
891
- /**
892
- * Reported through `onError` when DIAL Core itself signals a failure with an
893
- * in-band `{ error: { message } }` SSE chunk. Its `message` is upstream text
894
- * intended for the user, unlike a transport failure (failed `fetch`, non-OK
895
- * status, broken stream), whose message is technical detail. A custom
896
- * transport raises this for any user-facing upstream error text.
897
- */
898
- export declare class StreamUpstreamError extends Error {
899
- constructor(message: string);
900
- }
901
-
902
- /**
903
- * Returns a renderable `Stage` for one raw payload: `index` defaults to `0`,
904
- * `name` to `''`, an unrecognized `status` to `null` (still running), and
905
- * `content`/`tag`/`attachments`/`parent_stage_index` are passed through when
906
- * present (a parent of `0` included).
907
- */
908
- export declare const toStage: (stage: RawStage) => Stage;
909
-
910
- /** Request shape the host's selected-deployment recognition call accepts. */
911
- export declare interface TranscribeWithDeploymentParams {
912
- audioUrl: string;
913
- mimeType: string;
914
- deployment: string;
915
- signal: AbortSignal;
916
- }
917
-
918
- /**
919
- * Synchronises the active conversation with the conversation list and returns
920
- * the panel-space id of the active conversation, or `undefined` when none is active.
921
- *
922
- * Side effects:
923
- * 1. If the active conversation is not present in the list, requests a
924
- * refresh. The list and refresh callback are intentionally excluded from
925
- * the dependency array to avoid a refresh-loop on every list update.
926
- * 2. Marks the active conversation as viewed when its matching identity becomes
927
- * available. List refreshes and persistence rollback do not retry the write.
928
- */
929
- export declare const useActiveConversationSync: ({ activeConversationId, items, refreshConversations, markConversationViewed, conversationIdsMatch, toPanelConversationId, }: UseActiveConversationSyncParams) => string | undefined;
930
-
931
- /** Parameters for `useActiveConversationSync`. */
932
- export declare interface UseActiveConversationSyncParams {
933
- /**
934
- * The raw context id of the currently active conversation, as tracked by
935
- * the host app. `undefined` when no conversation is active.
936
- */
937
- activeConversationId: string | undefined;
938
- /** Raw conversation list from the API. */
939
- items: ConversationListItemDto[];
940
- /** Refetches the full conversation list. */
941
- refreshConversations: () => Promise<void>;
942
- /** Marks a scheduler-created conversation as viewed by raw context id. */
943
- markConversationViewed: (id: string) => Promise<void>;
944
- /**
945
- * Returns `true` when two ids refer to the same conversation despite
946
- * possible encoding differences. App-specific.
947
- */
948
- conversationIdsMatch: (a: string, b: string) => boolean;
949
- /** Converts a raw context id to the panel-space id. App-specific. */
950
- toPanelConversationId: (id: string) => string;
951
- }
952
-
953
- /**
954
- * Generic single-slot pending / loading / error state machine for
955
- * confirmation dialogs that trigger an async operation.
956
- *
957
- * Replaces the `[pendingXxx, setXxx] / [isXxxing, setIsXxxing] / [xxxError,
958
- * setXxxError]` triads that previously appeared inline at each call site in
959
- * `ConversationPanelView` and `ConversationPanelMenu`.
960
- */
961
- export declare const useAsyncConfirmDialog: <T>() => AsyncConfirmDialogControls<T>;
962
-
963
- /**
964
- * Uploads an attachment's file to DIAL Core storage against an
965
- * already-configured `FilesApi` instance, giving every upload a collision-free
966
- * path so no attachment overwrites another, and coalescing a burst of
967
- * offline/network upload failures into a single debounced callback rather
968
- * than firing one notification per failed file.
969
- */
970
- export declare const useAttachmentUpload: ({ filesApi, bucket, onNetworkError, debounceMs, }: UseAttachmentUploadParams) => UseAttachmentUploadResult;
971
-
972
- /** Parameters for {@link useAttachmentUpload}. */
973
- export declare interface UseAttachmentUploadParams {
974
- /** Already-configured client; optional listing skips stored names after a conflict. */
975
- filesApi: Pick<FilesApi, 'uploadFile'> & Partial<Pick<FilesApi, 'listFiles'>>;
976
- /** DIAL Core bucket the file is uploaded into. */
977
- bucket: string | undefined;
978
- /** Called with batched filenames after a burst of network-error upload failures. */
979
- onNetworkError?: (filenames: string[]) => void;
980
- /** Debounce window, in ms, for coalescing offline-failure batches. Defaults to `700`. */
981
- debounceMs?: number;
982
- }
983
-
984
- /** Return value of {@link useAttachmentUpload}. */
985
- export declare interface UseAttachmentUploadResult {
986
- /** Uploads the given attachment's file and resolves to its DIAL Core file URL and stored name. */
987
- handleUploadAttachment: (attachment: Attachment) => Promise<UploadedAttachmentResult>;
988
- }
989
-
990
- /**
991
- * Assembles the chat-settings form config (feature flags, current values, save
992
- * handler, labels) for either an in-flight local composer or a persisted
993
- * conversation. Headless: translation and notifications are the host's
994
- * responsibility, supplied via `labels` and `onSaved`.
995
- */
996
- export declare const useChatSettingsFormConfig: (params: Params & Options) => UseChatSettingsFormConfigResult;
997
-
998
- /** Configuration the chat-settings popover/modal consumes. */
999
- export declare type UseChatSettingsFormConfigResult = {
1000
- /** Feature flags controlling which fields appear. */
1001
- features: {
1002
- systemPrompt: boolean;
1003
- temperature: boolean;
1004
- responseFormat: boolean;
1005
- };
1006
- /** Current response format pre-selected in the modal. */
1007
- responseFormat: ResponseFormat;
1008
- /** Current system prompt pre-populated in the modal. */
1009
- systemPrompt: string;
1010
- /** Current temperature pre-populated in the modal. */
1011
- temperature: number;
1012
- /** Called with updated values when the user clicks Save. */
1013
- onSave: (values: ChatSettingsValues) => void;
1014
- /** Label for the dropdown menu item. */
1015
- menuItemLabel: string;
1016
- /** Modal title. */
1017
- title: string;
1018
- /** Label for the response-format field. */
1019
- responseFormatLabel: string;
1020
- /** Helper text shown below the response-format field. */
1021
- responseFormatHint: string;
1022
- /** Label for the Markdown radio option. */
1023
- responseFormatMarkdownLabel: string;
1024
- /** Label for the plain-text radio option. */
1025
- responseFormatPlainTextLabel: string;
1026
- /** Label for the system-prompt field. */
1027
- systemPromptLabel: string;
1028
- /** Tooltip for the system-prompt field. */
1029
- systemPromptTooltip: string;
1030
- /** Label for the temperature field. */
1031
- temperatureLabel: string;
1032
- /** Slider endpoint labels, in `[precise, neutral, creative]` order. */
1033
- temperatureLabels: [string, string, string];
1034
- /** Hint text shown below the temperature field. */
1035
- temperatureHint: string;
1036
- /** Save button label. */
1037
- saveLabel: string;
1038
- /** Tooltip shown on the disabled Save button. */
1039
- saveDisabledTooltip: string;
1040
- };
1041
-
1042
- /**
1043
- * Composes send/regenerate/edit/delete/rate/starter-submission orchestration
1044
- * on top of the library's own `useAttachmentUpload` and the injected
1045
- * `startStream` (from `useConversationStream`). Optimistic message-pair
1046
- * insertion, delete confirmation, and rate revert-on-failure all mutate the
1047
- * shared `state` channel directly, in lockstep with the streaming hook.
1048
- */
1049
- export declare const useConversationHandlers: ({ conversation, conversationId, bucket, isStreaming, startStream, state: { setConversation, conversationRef }, filesApi, conversationsApi, rateApi, resolveModelId, onConversationDeleted, showNetworkError, toolConfigurationValue, }: UseConversationHandlersParams) => UseConversationHandlersResult;
1050
-
1051
- /** Parameters for {@link useConversationHandlers}. */
1052
- export declare interface UseConversationHandlersParams {
1053
- conversation: Conversation | null;
1054
- conversationId: string | undefined;
1055
- bucket: string | undefined;
1056
- isStreaming: boolean;
1057
- /** The `startStream` function returned by `useConversationStream`. */
1058
- startStream: ConversationStreamStarter;
1059
- /** Shared mutable channel for the displayed conversation — the same one passed to `useConversationStream`. */
1060
- state: ConversationStateAccessor;
1061
- /** Already-configured generated-client instance used to upload attachments. */
1062
- filesApi: Pick<FilesApi, 'uploadFile'>;
1063
- /** Already-configured generated-client instance used to save/delete the conversation. */
1064
- conversationsApi: Pick<ConversationsApi, 'saveConversation' | 'deleteConversation'>;
1065
- /** Already-configured generated-client instance used to rate a message. */
1066
- rateApi: Pick<RateApi, 'rateMessage'>;
1067
- /** Resolves the model id to send with the next completion. Re-evaluated on every call — never cached. */
1068
- resolveModelId: () => string;
1069
- /** Called when deleting the last message also deletes the whole conversation. */
1070
- onConversationDeleted?: () => void;
1071
- /** Called with batched filenames after a burst of network-error upload failures. */
1072
- showNetworkError?: (filenames: string[]) => void;
1073
- /** Tool toggle configuration values merged into every outgoing completion request. */
1074
- toolConfigurationValue?: Record<string, boolean>;
1075
- }
1076
-
1077
- /** Return value of {@link useConversationHandlers}. */
1078
- export declare interface UseConversationHandlersResult {
1079
- handleSend: (message: string, attachments: Attachment[], skills?: RequestSkill[]) => Promise<void>;
1080
- handleUploadAttachment: (attachment: Attachment) => Promise<UploadedAttachmentResult>;
1081
- handleRegenerateMessage: (messageIndex: number) => void;
1082
- handleDeleteMessage: (messageIndex: number) => void;
1083
- handleConfirmDelete: () => void;
1084
- handleRateMessage: (messageIndex: number, rating: MessageRating | null, comment?: string) => Promise<boolean>;
1085
- handleButtonSelect: (starter: StarterOption, propertyKey?: string, description?: string) => void;
1086
- handleConfirmStarter: () => void;
1087
- handleStartEdit: (messageIndex: number) => void;
1088
- handleCancelEdit: (messageIndex: number) => void;
1089
- handleEditMessage: (messageIndex: number, text: string, keptDisplayAttachments: DisplayAttachment[], newAttachments: Attachment[], skills?: RequestSkill[]) => Promise<void>;
1090
- editingMessageIndexes: Set<number>;
1091
- pendingDeleteIndex: number | null;
1092
- setPendingDeleteIndex: (index: number | null) => void;
1093
- pendingStarterContext: {
1094
- starter: StarterOption;
1095
- propertyKey?: string;
1096
- description?: string;
1097
- } | null;
1098
- setPendingStarterContext: (context: {
1099
- starter: StarterOption;
1100
- propertyKey?: string;
1101
- description?: string;
1102
- } | null) => void;
1103
- }
1104
-
1105
- /**
1106
- * Builds two memoised reverse-lookup maps from the raw conversation list:
1107
- * panel-space id → context id and panel-space id → raw DTO.
1108
- *
1109
- * Replaces the inlined `panelToContextId` map and `items.find` calls that
1110
- * previously appeared at each row-action call site in `ConversationPanelView`.
1111
- */
1112
- export declare const useConversationLookupMaps: ({ items, toPanelConversationId, }: UseConversationLookupMapsParams) => ConversationLookupMaps;
1113
-
1114
- /** Parameters for `useConversationLookupMaps`. */
1115
- export declare interface UseConversationLookupMapsParams {
1116
- /** Raw conversation list from the API. */
1117
- items: ConversationListItemDto[];
1118
- /** Converts a raw conversation id to the panel-space id. App-specific. */
1119
- toPanelConversationId: (id: string) => string;
1120
- }
1121
-
1122
- /**
1123
- * Maps raw `ConversationListItemDto[]` to panel-compatible conversation items.
1124
- *
1125
- * Returns a memoised array whose shape is compatible with the conversation
1126
- * panel's item contract. All app-specific concerns (icon URL resolution,
1127
- * route generation, id normalisation) are injected via resolver callbacks.
1128
- *
1129
- * While every input except `items` is unchanged, a DTO that is referentially
1130
- * the same as in the previous render maps to the same item object, so a list
1131
- * change (or a navigation that re-derives the list) re-renders only the rows
1132
- * whose DTO actually changed.
1133
- */
1134
- export declare const useConversationPanelItems: ({ items, deployments, isDeploymentsLoading, toPanelConversationId, resolveIconUrl, resolveIconTooltip, resolveHref, resolveTaskPresentation, }: UseConversationPanelItemsParams) => {
1135
- leadingIcon?: ReactNode;
1136
- isUnread?: boolean | undefined;
1137
- id: string;
1138
- title: string;
1139
- isPinned: boolean;
1140
- iconUrl: string | undefined;
1141
- iconTooltip: string | undefined;
1142
- isIconLoading: boolean;
1143
- source: FilterTab;
1144
- href: string;
1145
- }[];
1146
-
1147
- /** Parameters accepted by `useConversationPanelItems`. */
1148
- export declare interface UseConversationPanelItemsParams extends UseConversationPanelItemsResolvers {
1149
- /** Raw conversation list from the API. */
1150
- items: ConversationListItemDto[];
1151
- /** Available deployments used to resolve icons and tooltips. */
1152
- deployments: DeploymentItemDto[];
1153
- /** Whether the deployments list is still loading (drives `isIconLoading`). */
1154
- isDeploymentsLoading: boolean;
1155
- }
1156
-
1157
- /** Resolver callbacks injected by the host app into `useConversationPanelItems`. */
1158
- export declare interface UseConversationPanelItemsResolvers {
1159
- /** Converts a raw conversation id to the panel-space id. App-specific. */
1160
- toPanelConversationId: (id: string) => string;
1161
- /** Resolves the icon URL for a deployment. Returns `undefined` when not available. */
1162
- resolveIconUrl: (deployment: DeploymentItemDto | undefined) => string | undefined;
1163
- /**
1164
- * Resolves the icon tooltip text. Receives the matched deployment (or
1165
- * `undefined`) and a decoded fallback string derived from the model path.
1166
- */
1167
- resolveIconTooltip: (deployment: DeploymentItemDto | undefined, fallback: string) => string | undefined;
1168
- /** Resolves the href to navigate to when the conversation row is clicked. */
1169
- resolveHref: (panelConversationId: string) => string;
1170
- /**
1171
- * Returns the row presentation for a scheduled-task conversation — a
1172
- * host-rendered leading icon that replaces the deployment avatar, and the
1173
- * unread flag — or `undefined` for an ordinary conversation.
1174
- */
1175
- resolveTaskPresentation?: (item: ConversationListItemDto) => {
1176
- leadingIcon?: ReactNode;
1177
- isUnread: boolean;
1178
- } | undefined;
1179
- }
1180
-
1181
- /**
1182
- * Owns completion-streaming state: per-path streaming/stoppable tracking,
1183
- * stale-chunk rejection, cross-navigation live-message buffering,
1184
- * reload-after-complete, backend-driven stop, and hard-refresh resume
1185
- * detection — all driven through the injected
1186
- * `transport`/`generation`/`channel`/`overlay` capabilities rather than any
1187
- * app context or `server-api` import.
1188
- */
1189
- export declare const useConversationStream: ({ conversationId, state: { setConversation, conversationRef }, transport, generation: { startGeneration, completeGeneration }, channel, overlay, onStopError, generationConflictMessage, generationPersistenceErrorMessage, onStreamError, batchChunksPerFrame, }: UseConversationStreamParams) => UseConversationStreamResult;
1190
-
1191
- /** Parameters for {@link useConversationStream}. */
1192
- export declare interface UseConversationStreamParams {
1193
- conversationId: string | undefined;
1194
- state: ConversationStateAccessor;
1195
- transport: ConversationStreamTransport;
1196
- generation: ConversationGenerationLifecycle;
1197
- channel?: ConversationStreamChannel;
1198
- overlay?: ConversationStreamOverlayNotifier;
1199
- onStopError?: (error: Error) => void;
1200
- /**
1201
- * Message shown on the message bubble when the backend rejects a completion
1202
- * because this conversation is already generating — the case a second
1203
- * browser tab of the same session hits. Defaults to
1204
- * {@link DEFAULT_GENERATION_CONFLICT_MESSAGE}.
1205
- */
1206
- generationConflictMessage?: string;
1207
- /** Host-translated warning shown when the received answer could not be saved. */
1208
- generationPersistenceErrorMessage?: string;
1209
- /**
1210
- * Receives the original error of every failed stream. The hook shows only
1211
- * host-supplied or upstream-supplied text on the message bubble and hides
1212
- * transport detail (e.g. `Failed to fetch`), so this is where the host can
1213
- * still log or report the raw error.
1214
- */
1215
- onStreamError?: (error: Error) => void;
1216
- /**
1217
- * Coalesces the displayed chunk updates into one `setConversation` per
1218
- * animation frame. Chunks still reach the per-path buffer immediately, and
1219
- * any pending update is flushed before completion, error, stop, or a
1220
- * superseding generation. Defaults to `false` (one update per chunk).
1221
- */
1222
- batchChunksPerFrame?: boolean;
1223
- }
1224
-
1225
- /** Return value of {@link useConversationStream}. */
1226
- export declare interface UseConversationStreamResult {
1227
- startStream: (conversationId: string, userContent: string, messageIndex: number, model: string, customContent?: MessageCustomContent, generationId?: string, mode?: SendCompletionDtoModeEnum, options?: StartStreamOptions) => void;
1228
- handleStop: () => void;
1229
- resumeIfAwaitingGeneration: (currentConversationId: string, conversation: Conversation) => void;
1230
- /** Restores the accumulated live assistant message when its conversation is loaded again before completion. */
1231
- restoreBufferedGeneration: (currentConversationId: string, conversation: Conversation) => Conversation;
1232
- isStreaming: boolean;
1233
- canStopStreaming: boolean;
1234
- /** Whether the displayed conversation's terminal read failed. */
1235
- hasConversationReloadError: boolean;
1236
- /** Whether a retry of that read is in flight. */
1237
- isReloadingConversation: boolean;
1238
- /** Retries the failed read without saving or regenerating the answer. */
1239
- retryConversationReload: () => Promise<void>;
1240
- }
1241
-
1242
- /**
1243
- * Manages the hidden `<input type="file">` pattern used to trigger a native
1244
- * file-picker without a visible control.
1245
- *
1246
- * The host renders `<input ref={inputRef} type="file" onChange={handleFileChange} />`
1247
- * and calls `triggerImport()` when the user initiates an import action. The
1248
- * hook sets the `accept` attribute via a layout effect so re-selecting the
1249
- * same file always fires `onChange` (the value is reset after each selection).
1250
- */
1251
- export declare const useImportFilePicker: ({ accept, onFileSelected, }: UseImportFilePickerParams) => UseImportFilePickerResult;
1252
-
1253
- /** Parameters for `useImportFilePicker`. */
1254
- export declare interface UseImportFilePickerParams {
1255
- /**
1256
- * MIME types / file-extension filter string passed to the hidden input's
1257
- * `accept` attribute. The host resolves any platform-specific policy before
1258
- * passing this value.
1259
- */
1260
- accept?: string;
1261
- /** Called with the selected `File` after the user confirms their choice. */
1262
- onFileSelected: (file: File) => void;
1263
- }
1264
-
1265
- /** Controls returned by `useImportFilePicker`. */
1266
- export declare interface UseImportFilePickerResult {
1267
- /** Ref to attach to the hidden `<input type="file">` element. */
1268
- inputRef: RefObject<HTMLInputElement | null>;
1269
- /** Programmatically opens the native file picker by clicking the hidden input. */
1270
- triggerImport: () => void;
1271
- /** `onChange` handler for the hidden input; calls `onFileSelected` and resets the value. */
1272
- handleFileChange: (event: ChangeEvent<HTMLInputElement>) => void;
1273
- }
1274
-
1275
- /**
1276
- * Captures eligible message text and creates Reply files for an existing composer
1277
- * attachment flow without acquiring host deployment, upload or localization knowledge.
1278
- */
1279
- export declare const useMessageSelectionReply: ({ conversationId, enabled, droppedFiles, onDroppedFilesConsumed, }: UseMessageSelectionReplyParams) => {
1280
- contentRef: (node: HTMLDivElement | null) => (() => void) | undefined;
1281
- actionRef: RefObject<HTMLDivElement | null>;
1282
- selection: MessageSelectionReplySnapshot | null;
1283
- onReply: () => void;
1284
- dismiss: () => void;
1285
- pendingFiles: File[];
1286
- onFilesConsumed: () => void;
1287
- focusRequestId: number | undefined;
1288
- onAttachmentsChange: (attachments: Attachment[]) => void;
1289
- addedRevision: number;
1290
- };
1291
-
1292
- /** Parameters accepted by {@link useMessageSelectionReply}. */
1293
- export declare interface UseMessageSelectionReplyParams {
1294
- /** Identifier used to discard selection and queued files after a scope change. */
1295
- conversationId: string;
1296
- /** Whether the host currently permits a Reply attachment. */
1297
- enabled: boolean;
1298
- /** Files from the host's ordinary page-drop queue. */
1299
- droppedFiles: File[];
1300
- /** Acknowledges the captured page-drop batch after the composer accepts it. */
1301
- onDroppedFilesConsumed: () => void;
1302
- }
1303
-
1304
- /**
1305
- * Derives the tools submenu from the active deployment's configuration schema:
1306
- * every boolean property becomes a toggle. Manages toggle state locally, resets
1307
- * on deployment change, and exposes a stable `toolConfigurationValue` record for
1308
- * inclusion in completion requests. Headless: the tool icon is the host's
1309
- * responsibility, supplied via `toolIcon`.
1310
- */
1311
- export declare const useToolsMenu: (params: UseToolsMenuParams) => UseToolsMenuResult;
1312
-
1313
- /** Host-supplied inputs to {@link useToolsMenu}. */
1314
- export declare interface UseToolsMenuParams {
1315
- /** Id of the currently selected deployment, or `null` when none is selected. */
1316
- selectedItemId: string | null;
1317
- /** JSON-schema configuration for the selected deployment, or `null` when none. */
1318
- selectedDeploymentConfiguration: DeploymentConfigurationSchema | null;
1319
- /** Icon element rendered on every tool menu item. Defaults to `null`. */
1320
- toolIcon?: ReactNode;
1321
- }
1322
-
1323
- /** Result returned by {@link useToolsMenu}. */
1324
- export declare type UseToolsMenuResult = {
1325
- /** One item per boolean property of the deployment configuration schema, in schema order. */
1326
- toolsMenuItems: ToolMenuItem[];
1327
- /** Toggles the tool with the given id; ignores unknown ids. */
1328
- onToolToggle: (id: string) => void;
1329
- /** Stable record of tool ids to their current on/off state, for completion requests. */
1330
- toolConfigurationValue: Record<string, boolean>;
1331
- /** Restores toggle state from a persisted tool configuration record. */
1332
- restoreToolConfiguration: (configurationValue: Record<string, unknown> | undefined) => void;
1333
- };
1334
-
1335
- /**
1336
- * Uploads a complete voice recording to DIAL Core storage and recognizes it,
1337
- * preferring the configured ASR model and falling back to the selected
1338
- * deployment. Retries transient upstream failures. Error text is not this
1339
- * library's concern — callers translate `AudioTranscriptionErrorReason` at
1340
- * the call site.
1341
- */
1342
- export declare const useTranscribeAudio: ({ transcriptionApi, filesApi, transcribeWithDeployment, bucket, asrModelId, selectedDeploymentId, maxSizeBytes, }: UseTranscribeAudioParams) => UseTranscribeAudioResult;
1343
-
1344
- /** Parameters for {@link useTranscribeAudio}. */
1345
- export declare interface UseTranscribeAudioParams {
1346
- /** Already-configured generated-client instance used for the ASR-model path. */
1347
- transcriptionApi?: Pick<TranscriptionApi, 'transcribeAudio'>;
1348
- /** Already-configured generated-client instance used to upload the recording. */
1349
- filesApi: Pick<FilesApi, 'uploadFile'>;
1350
- /**
1351
- * Host-configured call for the selected-deployment path. The generated
1352
- * chat-completions client cannot express this endpoint's `custom_content`
1353
- * request shape, so the host supplies its own raw request.
1354
- */
1355
- transcribeWithDeployment?: (params: TranscribeWithDeploymentParams) => Promise<string>;
1356
- /** DIAL Core bucket the recording is uploaded into. */
1357
- bucket: string | undefined | null;
1358
- /** Recognizes via `transcriptionApi` when set; otherwise `selectedDeploymentId` is used. */
1359
- asrModelId?: string;
1360
- /** Deployment id used for recognition when `asrModelId` is not set. */
1361
- selectedDeploymentId?: string | null;
1362
- /** Recordings larger than this are rejected with `TooLarge` before upload. */
1363
- maxSizeBytes: number;
1364
- }
1365
-
1366
- /** Return value of {@link useTranscribeAudio}. */
1367
- export declare interface UseTranscribeAudioResult {
1368
- /** Uploads and recognizes one complete recording; rejects with an {@link AudioTranscriptionError}. */
1369
- transcribeAudio: (file: File, signal: AbortSignal) => Promise<string>;
1370
- }
1371
-
1372
- export { }
1
+ export * from './entry-points/conversation.js'
2
+ export {}