@epam/ai-dial-chat-hooks 1.3.0-dev.10 → 1.3.0-dev.102

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 (458) 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-derivations.js +1 -1
  15. package/catalog/catalog-primary-action.d.ts +47 -0
  16. package/catalog/catalog-primary-action.d.ts.map +1 -0
  17. package/catalog/create-publish-api.d.ts +32 -0
  18. package/catalog/create-publish-api.d.ts.map +1 -0
  19. package/catalog/deployment-endpoint-url.d.ts +19 -0
  20. package/catalog/deployment-endpoint-url.d.ts.map +1 -0
  21. package/catalog/deployment-id.d.ts +42 -0
  22. package/catalog/deployment-id.d.ts.map +1 -0
  23. package/catalog/entity-details.d.ts +146 -0
  24. package/catalog/entity-details.d.ts.map +1 -0
  25. package/catalog/map-deployment-limits-to-catalog.d.ts +34 -0
  26. package/catalog/map-deployment-limits-to-catalog.d.ts.map +1 -0
  27. package/catalog/map-deployment-limits-to-input.d.ts +28 -0
  28. package/catalog/map-deployment-limits-to-input.d.ts.map +1 -0
  29. package/catalog/map-deployment-to-catalog-item.d.ts +61 -0
  30. package/catalog/map-deployment-to-catalog-item.d.ts.map +1 -0
  31. package/catalog/map-entity-details-to-catalog.d.ts +81 -0
  32. package/catalog/map-entity-details-to-catalog.d.ts.map +1 -0
  33. package/catalog/map-prompt-to-catalog-item.d.ts +43 -0
  34. package/catalog/map-prompt-to-catalog-item.d.ts.map +1 -0
  35. package/catalog/map-skill-to-catalog-item.d.ts +113 -0
  36. package/catalog/map-skill-to-catalog-item.d.ts.map +1 -0
  37. package/catalog/mcp-endpoint-url.d.ts +18 -0
  38. package/catalog/mcp-endpoint-url.d.ts.map +1 -0
  39. package/catalog/publish.d.ts +35 -0
  40. package/catalog/publish.d.ts.map +1 -0
  41. package/catalog/useApplicationCredentials/useApplicationCredentials.d.ts +19 -0
  42. package/catalog/useApplicationCredentials/useApplicationCredentials.d.ts.map +1 -0
  43. package/catalog/useCatalogEditNavigation/useCatalogEditNavigation.d.ts +107 -0
  44. package/catalog/useCatalogEditNavigation/useCatalogEditNavigation.d.ts.map +1 -0
  45. package/catalog/useCatalogEditNavigation/useCatalogEditNavigation.js +155 -119
  46. package/catalog/useCatalogItemDetails.d.ts +70 -0
  47. package/catalog/useCatalogItemDetails.d.ts.map +1 -0
  48. package/catalog/useCatalogToolsetCredentials/useCatalogToolsetCredentials.d.ts +76 -0
  49. package/catalog/useCatalogToolsetCredentials/useCatalogToolsetCredentials.d.ts.map +1 -0
  50. package/catalog/useFavoriteEntitiesState/useFavoriteEntitiesState.d.ts +37 -0
  51. package/catalog/useFavoriteEntitiesState/useFavoriteEntitiesState.d.ts.map +1 -0
  52. package/catalog/usePublishFolders/usePublishFolders.d.ts +73 -0
  53. package/catalog/usePublishFolders/usePublishFolders.d.ts.map +1 -0
  54. package/catalog/useSkillDetailsPanelData/useSkillDetailsPanelData.d.ts +54 -0
  55. package/catalog/useSkillDetailsPanelData/useSkillDetailsPanelData.d.ts.map +1 -0
  56. package/catalog/useSkillItemDetails.d.ts +64 -0
  57. package/catalog/useSkillItemDetails.d.ts.map +1 -0
  58. package/catalog.d.ts +2 -1433
  59. package/conversation/announcement-message.d.ts +61 -0
  60. package/conversation/announcement-message.d.ts.map +1 -0
  61. package/conversation/conversation-draft/conversation-draft-store.d.ts +21 -0
  62. package/conversation/conversation-draft/conversation-draft-store.d.ts.map +1 -0
  63. package/conversation/conversation-draft/conversation-draft-store.js +84 -0
  64. package/conversation/conversation-draft/conversation-draft.d.ts +48 -0
  65. package/conversation/conversation-draft/conversation-draft.d.ts.map +1 -0
  66. package/conversation/conversation-transfer/async.d.ts +10 -0
  67. package/conversation/conversation-transfer/async.d.ts.map +1 -0
  68. package/conversation/conversation-transfer/attachment-refs.d.ts +42 -0
  69. package/conversation/conversation-transfer/attachment-refs.d.ts.map +1 -0
  70. package/conversation/conversation-transfer/build-upload-path.d.ts +42 -0
  71. package/conversation/conversation-transfer/build-upload-path.d.ts.map +1 -0
  72. package/conversation/conversation-transfer/date.d.ts +5 -0
  73. package/conversation/conversation-transfer/date.d.ts.map +1 -0
  74. package/conversation/conversation-transfer/dial-file-resolve.d.ts +10 -0
  75. package/conversation/conversation-transfer/dial-file-resolve.d.ts.map +1 -0
  76. package/conversation/conversation-transfer/export-conversation.d.ts +10 -0
  77. package/conversation/conversation-transfer/export-conversation.d.ts.map +1 -0
  78. package/conversation/conversation-transfer/import-conversation.d.ts +106 -0
  79. package/conversation/conversation-transfer/import-conversation.d.ts.map +1 -0
  80. package/conversation/conversation-transfer/progress.d.ts +60 -0
  81. package/conversation/conversation-transfer/progress.d.ts.map +1 -0
  82. package/conversation/conversation-transfer/queue.d.ts +54 -0
  83. package/conversation/conversation-transfer/queue.d.ts.map +1 -0
  84. package/conversation/conversation-transfer/types.d.ts +36 -0
  85. package/conversation/conversation-transfer/types.d.ts.map +1 -0
  86. package/conversation/conversation-transfer/zip-export.d.ts +31 -0
  87. package/conversation/conversation-transfer/zip-export.d.ts.map +1 -0
  88. package/conversation/conversation-transfer/zip-import.d.ts +17 -0
  89. package/conversation/conversation-transfer/zip-import.d.ts.map +1 -0
  90. package/conversation/create-chat-stream-api.d.ts +98 -0
  91. package/conversation/create-chat-stream-api.d.ts.map +1 -0
  92. package/conversation/create-chat-stream-api.js +28 -23
  93. package/conversation/deriveConversationRowActionState/deriveConversationRowActionState.d.ts +39 -0
  94. package/conversation/deriveConversationRowActionState/deriveConversationRowActionState.d.ts.map +1 -0
  95. package/conversation/display-name-watch.d.ts +4 -0
  96. package/conversation/display-name-watch.d.ts.map +1 -0
  97. package/conversation/footer-message.d.ts +10 -0
  98. package/conversation/footer-message.d.ts.map +1 -0
  99. package/conversation/get-model-id-from-conversation-id.d.ts +38 -0
  100. package/conversation/get-model-id-from-conversation-id.d.ts.map +1 -0
  101. package/conversation/get-model-id-from-conversation-id.js +1 -1
  102. package/conversation/greeting.d.ts +18 -0
  103. package/conversation/greeting.d.ts.map +1 -0
  104. package/conversation/message-factory.d.ts +7 -0
  105. package/conversation/message-factory.d.ts.map +1 -0
  106. package/conversation/message-utils.d.ts +67 -0
  107. package/conversation/message-utils.d.ts.map +1 -0
  108. package/conversation/overlay-messages.d.ts +5 -0
  109. package/conversation/overlay-messages.d.ts.map +1 -0
  110. package/conversation/quick-app-conversation-starters.d.ts +10 -0
  111. package/conversation/quick-app-conversation-starters.d.ts.map +1 -0
  112. package/conversation/stage.d.ts +77 -0
  113. package/conversation/stage.d.ts.map +1 -0
  114. package/conversation/starter-option.d.ts +21 -0
  115. package/conversation/starter-option.d.ts.map +1 -0
  116. package/conversation/useActiveConversationSync/useActiveConversationSync.d.ts +35 -0
  117. package/conversation/useActiveConversationSync/useActiveConversationSync.d.ts.map +1 -0
  118. package/conversation/useAsyncConfirmDialog/useAsyncConfirmDialog.d.ts +46 -0
  119. package/conversation/useAsyncConfirmDialog/useAsyncConfirmDialog.d.ts.map +1 -0
  120. package/conversation/useAttachmentUpload/useAttachmentUpload.d.ts +27 -0
  121. package/conversation/useAttachmentUpload/useAttachmentUpload.d.ts.map +1 -0
  122. package/conversation/useConversationComposerDraft/useConversationComposerDraft.d.ts +39 -0
  123. package/conversation/useConversationComposerDraft/useConversationComposerDraft.d.ts.map +1 -0
  124. package/conversation/useConversationComposerDraft/useConversationComposerDraft.js +132 -0
  125. package/conversation/useConversationExport/useConversationExport.d.ts +72 -0
  126. package/conversation/useConversationExport/useConversationExport.d.ts.map +1 -0
  127. package/conversation/useConversationHandlers/attachment-to-dto.d.ts +7 -0
  128. package/conversation/useConversationHandlers/attachment-to-dto.d.ts.map +1 -0
  129. package/conversation/useConversationHandlers/message-factory.d.ts +9 -0
  130. package/conversation/useConversationHandlers/message-factory.d.ts.map +1 -0
  131. package/conversation/useConversationHandlers/message-utils.d.ts +38 -0
  132. package/conversation/useConversationHandlers/message-utils.d.ts.map +1 -0
  133. package/conversation/useConversationHandlers/starter-option.d.ts +24 -0
  134. package/conversation/useConversationHandlers/starter-option.d.ts.map +1 -0
  135. package/conversation/useConversationHandlers/useConversationHandlers.d.ts +66 -0
  136. package/conversation/useConversationHandlers/useConversationHandlers.d.ts.map +1 -0
  137. package/conversation/useConversationImport/useConversationImport.d.ts +54 -0
  138. package/conversation/useConversationImport/useConversationImport.d.ts.map +1 -0
  139. package/conversation/useConversationLookupMaps/useConversationLookupMaps.d.ts +24 -0
  140. package/conversation/useConversationLookupMaps/useConversationLookupMaps.d.ts.map +1 -0
  141. package/conversation/useConversationPanelItems/useConversationPanelItems.d.ts +64 -0
  142. package/conversation/useConversationPanelItems/useConversationPanelItems.d.ts.map +1 -0
  143. package/conversation/useConversationScroll/useConversationScroll.d.ts +46 -0
  144. package/conversation/useConversationScroll/useConversationScroll.d.ts.map +1 -0
  145. package/conversation/useConversationStream/apply-chunk.d.ts +35 -0
  146. package/conversation/useConversationStream/apply-chunk.d.ts.map +1 -0
  147. package/conversation/useConversationStream/buffered-generation.d.ts +15 -0
  148. package/conversation/useConversationStream/buffered-generation.d.ts.map +1 -0
  149. package/conversation/useConversationStream/conversation-path.d.ts +7 -0
  150. package/conversation/useConversationStream/conversation-path.d.ts.map +1 -0
  151. package/conversation/useConversationStream/frame-scheduler.d.ts +14 -0
  152. package/conversation/useConversationStream/frame-scheduler.d.ts.map +1 -0
  153. package/conversation/useConversationStream/generation-resume.d.ts +85 -0
  154. package/conversation/useConversationStream/generation-resume.d.ts.map +1 -0
  155. package/conversation/useConversationStream/useConversationStream.d.ts +145 -0
  156. package/conversation/useConversationStream/useConversationStream.d.ts.map +1 -0
  157. package/conversation/useConversationStream/useConversationStream.js +233 -219
  158. package/conversation/useImportFilePicker/useImportFilePicker.d.ts +32 -0
  159. package/conversation/useImportFilePicker/useImportFilePicker.d.ts.map +1 -0
  160. package/conversation/useMessageSelectionReply/useMessageSelectionReply.d.ts +42 -0
  161. package/conversation/useMessageSelectionReply/useMessageSelectionReply.d.ts.map +1 -0
  162. package/conversation/useTranscribeAudio/audio-transcription-error.d.ts +19 -0
  163. package/conversation/useTranscribeAudio/audio-transcription-error.d.ts.map +1 -0
  164. package/conversation/useTranscribeAudio/transcription-retry.d.ts +2 -0
  165. package/conversation/useTranscribeAudio/transcription-retry.d.ts.map +1 -0
  166. package/conversation/useTranscribeAudio/useTranscribeAudio.d.ts +43 -0
  167. package/conversation/useTranscribeAudio/useTranscribeAudio.d.ts.map +1 -0
  168. package/conversation/useTranscribeAudio/useTranscribeAudio.js +30 -27
  169. package/conversation-overlay.d.ts +2 -7
  170. package/conversation-sources/useConversationSources/useConversationSources.d.ts +20 -0
  171. package/conversation-sources/useConversationSources/useConversationSources.d.ts.map +1 -0
  172. package/conversation-sources.d.ts +2 -25
  173. package/conversation-transfer.d.ts +2 -190
  174. package/conversation.d.ts +2 -1372
  175. package/conversation.js +34 -32
  176. package/entry-points/attachments.d.ts +3 -0
  177. package/entry-points/attachments.d.ts.map +1 -0
  178. package/entry-points/catalog.d.ts +25 -0
  179. package/entry-points/catalog.d.ts.map +1 -0
  180. package/entry-points/conversation-overlay.d.ts +2 -0
  181. package/entry-points/conversation-overlay.d.ts.map +1 -0
  182. package/entry-points/conversation-sources.d.ts +2 -0
  183. package/entry-points/conversation-sources.d.ts.map +1 -0
  184. package/entry-points/conversation-transfer.d.ts +7 -0
  185. package/entry-points/conversation-transfer.d.ts.map +1 -0
  186. package/entry-points/conversation.d.ts +36 -0
  187. package/entry-points/conversation.d.ts.map +1 -0
  188. package/entry-points/file-manager-canvas.d.ts +2 -0
  189. package/entry-points/file-manager-canvas.d.ts.map +1 -0
  190. package/entry-points/file-manager.d.ts +31 -0
  191. package/entry-points/file-manager.d.ts.map +1 -0
  192. package/entry-points/mcp-apps.d.ts +6 -0
  193. package/entry-points/mcp-apps.d.ts.map +1 -0
  194. package/entry-points/oauth.d.ts +10 -0
  195. package/entry-points/oauth.d.ts.map +1 -0
  196. package/entry-points/offline-credentials.d.ts +5 -0
  197. package/entry-points/offline-credentials.d.ts.map +1 -0
  198. package/entry-points/scheduled-tasks.d.ts +9 -0
  199. package/entry-points/scheduled-tasks.d.ts.map +1 -0
  200. package/entry-points/scroll-anchoring.d.ts +2 -0
  201. package/entry-points/scroll-anchoring.d.ts.map +1 -0
  202. package/entry-points/sharing.d.ts +3 -0
  203. package/entry-points/sharing.d.ts.map +1 -0
  204. package/entry-points/skill-editor.d.ts +9 -0
  205. package/entry-points/skill-editor.d.ts.map +1 -0
  206. package/entry-points/skills-state.d.ts +2 -0
  207. package/entry-points/skills-state.d.ts.map +1 -0
  208. package/entry-points/source-content.d.ts +2 -0
  209. package/entry-points/source-content.d.ts.map +1 -0
  210. package/entry-points/usage-limits.d.ts +8 -0
  211. package/entry-points/usage-limits.d.ts.map +1 -0
  212. package/entry-points/usage.d.ts +3 -0
  213. package/entry-points/usage.d.ts.map +1 -0
  214. package/entry-points/utils.d.ts +17 -0
  215. package/entry-points/utils.d.ts.map +1 -0
  216. package/entry-points/viewport-layout.d.ts +4 -0
  217. package/entry-points/viewport-layout.d.ts.map +1 -0
  218. package/file-manager-canvas.d.ts +2 -418
  219. package/file-manager.d.ts +2 -1239
  220. package/file-manager.js +21 -21
  221. package/files/annotation.d.ts +10 -0
  222. package/files/annotation.d.ts.map +1 -0
  223. package/files/attachment-canvas.d.ts +123 -0
  224. package/files/attachment-canvas.d.ts.map +1 -0
  225. package/files/attachment-dto-to-display.d.ts +10 -0
  226. package/files/attachment-dto-to-display.d.ts.map +1 -0
  227. package/files/attachment-types.d.ts +21 -0
  228. package/files/attachment-types.d.ts.map +1 -0
  229. package/files/create-files-api.d.ts +52 -0
  230. package/files/create-files-api.d.ts.map +1 -0
  231. package/files/create-upload-file-with-progress.d.ts +24 -0
  232. package/files/create-upload-file-with-progress.d.ts.map +1 -0
  233. package/files/dial-file-manager-copy-move.util.d.ts +15 -0
  234. package/files/dial-file-manager-copy-move.util.d.ts.map +1 -0
  235. package/files/dial-file-manager-mapping.util.d.ts +51 -0
  236. package/files/dial-file-manager-mapping.util.d.ts.map +1 -0
  237. package/files/dial-file-manager-mapping.util.js +77 -62
  238. package/files/dial-file-manager-path.util.d.ts +48 -0
  239. package/files/dial-file-manager-path.util.d.ts.map +1 -0
  240. package/files/dial-file-manager.model.d.ts +36 -0
  241. package/files/dial-file-manager.model.d.ts.map +1 -0
  242. package/files/dial-file-manager.types.d.ts +327 -0
  243. package/files/dial-file-manager.types.d.ts.map +1 -0
  244. package/files/dial-file-manager.types.js +1 -1
  245. package/files/dial-file-to-attachment.d.ts +26 -0
  246. package/files/dial-file-to-attachment.d.ts.map +1 -0
  247. package/files/dial-file.d.ts +17 -0
  248. package/files/dial-file.d.ts.map +1 -0
  249. package/files/dial-files-api.d.ts +71 -0
  250. package/files/dial-files-api.d.ts.map +1 -0
  251. package/files/download-destination.d.ts +31 -0
  252. package/files/download-destination.d.ts.map +1 -0
  253. package/files/file-manager-variant.d.ts +3 -0
  254. package/files/file-manager-variant.d.ts.map +1 -0
  255. package/files/file-name.d.ts +19 -0
  256. package/files/file-name.d.ts.map +1 -0
  257. package/files/prepare-download-destination.d.ts +8 -0
  258. package/files/prepare-download-destination.d.ts.map +1 -0
  259. package/files/resolve-dial-file-api-path.d.ts +12 -0
  260. package/files/resolve-dial-file-api-path.d.ts.map +1 -0
  261. package/files/source-content.d.ts +28 -0
  262. package/files/source-content.d.ts.map +1 -0
  263. package/files/useDialFileListing/useDialFileListing.d.ts +82 -0
  264. package/files/useDialFileListing/useDialFileListing.d.ts.map +1 -0
  265. package/files/useDialFileListing/useDialFileListing.js +64 -51
  266. package/files/useDialFileManager/useDialFileManager.d.ts +16 -0
  267. package/files/useDialFileManager/useDialFileManager.d.ts.map +1 -0
  268. package/files/useDialFileManager/useDialFileManager.js +3 -1
  269. package/files/useDialFileManagerSections/useDialFileManagerSections.d.ts +25 -0
  270. package/files/useDialFileManagerSections/useDialFileManagerSections.d.ts.map +1 -0
  271. package/files/useDialFileManagerTabConfig/useDialFileManagerTabConfig.d.ts +15 -0
  272. package/files/useDialFileManagerTabConfig/useDialFileManagerTabConfig.d.ts.map +1 -0
  273. package/files/useDialFileMetadata/useDialFileMetadata.d.ts +28 -0
  274. package/files/useDialFileMetadata/useDialFileMetadata.d.ts.map +1 -0
  275. package/files/useDialFileMutations/useDialFileMutations.d.ts +68 -0
  276. package/files/useDialFileMutations/useDialFileMutations.d.ts.map +1 -0
  277. package/files/useDialFileSharing/useDialFileSharing.d.ts +34 -0
  278. package/files/useDialFileSharing/useDialFileSharing.d.ts.map +1 -0
  279. package/files/useDialFileSharing/useDialFileSharing.js +45 -39
  280. package/files/useDialFileUploadBatch/useDialFileUploadBatch.d.ts +47 -0
  281. package/files/useDialFileUploadBatch/useDialFileUploadBatch.d.ts.map +1 -0
  282. package/files/useDialFileUploadBatch/useDialFileUploadBatch.js +8 -4
  283. package/files/useFileAttachmentPicker/useFileAttachmentPicker.d.ts +59 -0
  284. package/files/useFileAttachmentPicker/useFileAttachmentPicker.d.ts.map +1 -0
  285. package/index.d.ts +167 -6976
  286. package/index.d.ts.map +1 -0
  287. package/index.js +115 -101
  288. package/mcp-apps/mcp-apps-api-client.d.ts +28 -0
  289. package/mcp-apps/mcp-apps-api-client.d.ts.map +1 -0
  290. package/mcp-apps/mcp-apps-api-client.js +18 -17
  291. package/mcp-apps/useMcpAppHostAdapter/useMcpAppHostAdapter.d.ts +14 -0
  292. package/mcp-apps/useMcpAppHostAdapter/useMcpAppHostAdapter.d.ts.map +1 -0
  293. package/mcp-apps/useMcpAppHostContext/useMcpAppHostContext.d.ts +29 -0
  294. package/mcp-apps/useMcpAppHostContext/useMcpAppHostContext.d.ts.map +1 -0
  295. package/mcp-apps/useMcpAppTools/useMcpAppTools.d.ts +22 -0
  296. package/mcp-apps/useMcpAppTools/useMcpAppTools.d.ts.map +1 -0
  297. package/mcp-apps/useMcpAppTools/useMcpAppTools.js +29 -29
  298. package/mcp-apps/useOpenMcpAppCanvas/useOpenMcpAppCanvas.d.ts +36 -0
  299. package/mcp-apps/useOpenMcpAppCanvas/useOpenMcpAppCanvas.d.ts.map +1 -0
  300. package/mcp-apps.d.ts +2 -256
  301. package/oauth/authorize-url.d.ts +16 -0
  302. package/oauth/authorize-url.d.ts.map +1 -0
  303. package/oauth/handshake.d.ts +30 -0
  304. package/oauth/handshake.d.ts.map +1 -0
  305. package/oauth/models.d.ts +81 -0
  306. package/oauth/models.d.ts.map +1 -0
  307. package/oauth/popup.d.ts +30 -0
  308. package/oauth/popup.d.ts.map +1 -0
  309. package/oauth/popup.js +19 -17
  310. package/oauth/toolset-id.d.ts +53 -0
  311. package/oauth/toolset-id.d.ts.map +1 -0
  312. package/oauth/types.d.ts +84 -0
  313. package/oauth/types.d.ts.map +1 -0
  314. package/oauth/useOAuthCallbackCompletion/useOAuthCallbackCompletion.d.ts +54 -0
  315. package/oauth/useOAuthCallbackCompletion/useOAuthCallbackCompletion.d.ts.map +1 -0
  316. package/oauth/useOAuthCallbackCompletion/useOAuthCallbackCompletion.js +40 -38
  317. package/oauth/useToolsetLogin/useToolsetLogin.d.ts +79 -0
  318. package/oauth/useToolsetLogin/useToolsetLogin.d.ts.map +1 -0
  319. package/oauth.d.ts +2 -472
  320. package/offline-credentials/map-offline-credentials-response.d.ts +17 -0
  321. package/offline-credentials/map-offline-credentials-response.d.ts.map +1 -0
  322. package/offline-credentials/map-offline-credentials-response.js +15 -0
  323. package/offline-credentials/useOfflineCredentialsAuth/useOfflineCredentialsAuth.d.ts +58 -0
  324. package/offline-credentials/useOfflineCredentialsAuth/useOfflineCredentialsAuth.d.ts.map +1 -0
  325. package/offline-credentials/useOfflineCredentialsAuth/useOfflineCredentialsAuth.js +37 -0
  326. package/offline-credentials/useOfflineCredentialsGate/useOfflineCredentialsGate.d.ts +57 -0
  327. package/offline-credentials/useOfflineCredentialsGate/useOfflineCredentialsGate.d.ts.map +1 -0
  328. package/offline-credentials/useOfflineCredentialsGate/useOfflineCredentialsGate.js +34 -0
  329. package/offline-credentials/useOfflineCredentialsLogin/useOfflineCredentialsLogin.d.ts +28 -0
  330. package/offline-credentials/useOfflineCredentialsLogin/useOfflineCredentialsLogin.d.ts.map +1 -0
  331. package/offline-credentials/useOfflineCredentialsLogin/useOfflineCredentialsLogin.js +29 -0
  332. package/offline-credentials.d.ts +2 -0
  333. package/offline-credentials.js +5 -0
  334. package/package.json +31 -17
  335. package/prompt/export-prompt.d.ts +31 -0
  336. package/prompt/export-prompt.d.ts.map +1 -0
  337. package/prompt/prompt-resource.d.ts +30 -0
  338. package/prompt/prompt-resource.d.ts.map +1 -0
  339. package/prompt/prompt.d.ts +34 -0
  340. package/prompt/prompt.d.ts.map +1 -0
  341. package/prompt/usePromptsState/usePromptsState.d.ts +34 -0
  342. package/prompt/usePromptsState/usePromptsState.d.ts.map +1 -0
  343. package/scheduled-task/check-scheduled-task-auth-session-error.d.ts +27 -0
  344. package/scheduled-task/check-scheduled-task-auth-session-error.d.ts.map +1 -0
  345. package/scheduled-task/check-scheduled-task-auth-session-error.js +17 -0
  346. package/scheduled-task/scheduled-task-description.d.ts +38 -0
  347. package/scheduled-task/scheduled-task-description.d.ts.map +1 -0
  348. package/scheduled-task/scheduled-task-mapping.d.ts +19 -0
  349. package/scheduled-task/scheduled-task-mapping.d.ts.map +1 -0
  350. package/scheduled-task/scheduled-task-preparation.d.ts +19 -0
  351. package/scheduled-task/scheduled-task-preparation.d.ts.map +1 -0
  352. package/scheduled-task/scheduled-task-trigger.d.ts +26 -0
  353. package/scheduled-task/scheduled-task-trigger.d.ts.map +1 -0
  354. package/scheduled-task/scheduled-tasks-api-client.d.ts +67 -0
  355. package/scheduled-task/scheduled-tasks-api-client.d.ts.map +1 -0
  356. package/scheduled-task/use-scheduled-task-runs.d.ts +40 -0
  357. package/scheduled-task/use-scheduled-task-runs.d.ts.map +1 -0
  358. package/scheduled-task/use-scheduled-task-runs.js +67 -67
  359. package/scheduled-task/use-scheduled-tasks.d.ts +28 -0
  360. package/scheduled-task/use-scheduled-tasks.d.ts.map +1 -0
  361. package/scheduled-tasks.d.ts +2 -250
  362. package/scheduled-tasks.js +2 -1
  363. package/scroll-anchoring.d.ts +2 -50
  364. package/shared/application-schema.d.ts +16 -0
  365. package/shared/application-schema.d.ts.map +1 -0
  366. package/shared/browser-timezone.d.ts +7 -0
  367. package/shared/browser-timezone.d.ts.map +1 -0
  368. package/shared/cron-day-of-month.d.ts +21 -0
  369. package/shared/cron-day-of-month.d.ts.map +1 -0
  370. package/shared/cron-weekday.d.ts +5 -0
  371. package/shared/cron-weekday.d.ts.map +1 -0
  372. package/shared/custom-apps.d.ts +7 -0
  373. package/shared/custom-apps.d.ts.map +1 -0
  374. package/shared/external-services.d.ts +16 -0
  375. package/shared/external-services.d.ts.map +1 -0
  376. package/shared/formatting.d.ts +5 -0
  377. package/shared/formatting.d.ts.map +1 -0
  378. package/shared/locale.d.ts +45 -0
  379. package/shared/locale.d.ts.map +1 -0
  380. package/shared/string-utils.d.ts +11 -0
  381. package/shared/string-utils.d.ts.map +1 -0
  382. package/shared/toolset-login-events.d.ts +15 -0
  383. package/shared/toolset-login-events.d.ts.map +1 -0
  384. package/sharing.d.ts +2 -65
  385. package/skill/skill-archive.d.ts +7 -0
  386. package/skill/skill-archive.d.ts.map +1 -0
  387. package/skill/skill-file-batch-validation.d.ts +70 -0
  388. package/skill/skill-file-batch-validation.d.ts.map +1 -0
  389. package/skill/skill-file-preview.d.ts +25 -0
  390. package/skill/skill-file-preview.d.ts.map +1 -0
  391. package/skill/skill-manifest.d.ts +28 -0
  392. package/skill/skill-manifest.d.ts.map +1 -0
  393. package/skill/skill-types.d.ts +46 -0
  394. package/skill/skill-types.d.ts.map +1 -0
  395. package/skill/skill.d.ts +160 -0
  396. package/skill/skill.d.ts.map +1 -0
  397. package/skill/useSkillArchiveImport/useSkillArchiveImport.d.ts +65 -0
  398. package/skill/useSkillArchiveImport/useSkillArchiveImport.d.ts.map +1 -0
  399. package/skill/useSkillEditorLoad.d.ts +74 -0
  400. package/skill/useSkillEditorLoad.d.ts.map +1 -0
  401. package/skill/useSkillEditorSubmit.d.ts +125 -0
  402. package/skill/useSkillEditorSubmit.d.ts.map +1 -0
  403. package/skill/useSkillFileActions.d.ts +60 -0
  404. package/skill/useSkillFileActions.d.ts.map +1 -0
  405. package/skill/useSkillFilePreview.d.ts +38 -0
  406. package/skill/useSkillFilePreview.d.ts.map +1 -0
  407. package/skill/useSkillsState/useSkillsState.d.ts +35 -0
  408. package/skill/useSkillsState/useSkillsState.d.ts.map +1 -0
  409. package/skill-editor.d.ts +2 -655
  410. package/skills-state.d.ts +2 -40
  411. package/source-content.d.ts +2 -29
  412. package/usage/map-usage-data-to-dashboard.d.ts +39 -0
  413. package/usage/map-usage-data-to-dashboard.d.ts.map +1 -0
  414. package/usage/map-user-usage-to-model-limits.d.ts +62 -0
  415. package/usage/map-user-usage-to-model-limits.d.ts.map +1 -0
  416. package/usage/usage-banner-source.d.ts +23 -0
  417. package/usage/usage-banner-source.d.ts.map +1 -0
  418. package/usage/usage-banner-source.js +36 -0
  419. package/usage/usage-period.d.ts +7 -0
  420. package/usage/usage-period.d.ts.map +1 -0
  421. package/usage/usage-period.js +6 -0
  422. package/usage/usage-reset-time.d.ts +69 -0
  423. package/usage/usage-reset-time.d.ts.map +1 -0
  424. package/usage/usage-reset-time.js +72 -0
  425. package/usage/useDeploymentUsageLimits/useDeploymentUsageLimits.d.ts +32 -0
  426. package/usage/useDeploymentUsageLimits/useDeploymentUsageLimits.d.ts.map +1 -0
  427. package/usage/useDeploymentUsageLimits/useDeploymentUsageLimits.js +39 -0
  428. package/usage/useRefreshUsageAfterGeneration/useRefreshUsageAfterGeneration.d.ts +16 -0
  429. package/usage/useRefreshUsageAfterGeneration/useRefreshUsageAfterGeneration.d.ts.map +1 -0
  430. package/usage/useRefreshUsageAfterGeneration/useRefreshUsageAfterGeneration.js +14 -0
  431. package/usage/useUsageData/useUsageData.d.ts +28 -0
  432. package/usage/useUsageData/useUsageData.d.ts.map +1 -0
  433. package/usage/useUsageLimitBanner/useUsageLimitBanner.d.ts +56 -0
  434. package/usage/useUsageLimitBanner/useUsageLimitBanner.d.ts.map +1 -0
  435. package/usage/useUsageLimitBanner/useUsageLimitBanner.js +67 -0
  436. package/usage/useUsageLimitBannerDismissal/useUsageLimitBannerDismissal.d.ts +14 -0
  437. package/usage/useUsageLimitBannerDismissal/useUsageLimitBannerDismissal.d.ts.map +1 -0
  438. package/usage/useUsageLimitBannerDismissal/useUsageLimitBannerDismissal.js +19 -0
  439. package/usage-limits.d.ts +2 -0
  440. package/usage-limits.js +8 -0
  441. package/usage.d.ts +2 -125
  442. package/useChatSettingsFormConfig/useChatSettingsFormConfig.d.ts +128 -0
  443. package/useChatSettingsFormConfig/useChatSettingsFormConfig.d.ts.map +1 -0
  444. package/usePageFileDrag/usePageFileDrag.d.ts +16 -0
  445. package/usePageFileDrag/usePageFileDrag.d.ts.map +1 -0
  446. package/usePanelMaxWidth/usePanelMaxWidth.d.ts +6 -0
  447. package/usePanelMaxWidth/usePanelMaxWidth.d.ts.map +1 -0
  448. package/useShareLink/useShareLink.d.ts +23 -0
  449. package/useShareLink/useShareLink.d.ts.map +1 -0
  450. package/useShareLink/useShareLink.js +1 -0
  451. package/useShareRecipientsCount/useShareRecipientsCount.d.ts +36 -0
  452. package/useShareRecipientsCount/useShareRecipientsCount.d.ts.map +1 -0
  453. package/useToolsMenu/useToolsMenu.d.ts +31 -0
  454. package/useToolsMenu/useToolsMenu.d.ts.map +1 -0
  455. package/useViewportWidth/useViewportWidth.d.ts +3 -0
  456. package/useViewportWidth/useViewportWidth.d.ts.map +1 -0
  457. package/utils.d.ts +2 -404
  458. package/viewport-layout.d.ts +2 -27
@@ -0,0 +1,66 @@
1
+ import { ConversationsApi, FilesApi, RateApi, SendCompletionDtoModeEnum } from '@epam/ai-dial-chat-api-client';
2
+ import { Attachment, Conversation, DisplayAttachment, MessageCustomContent, MessageRating, RequestSkill, StarterOption, UploadedAttachmentResult } from '@epam/ai-dial-chat-shared';
3
+ import { ConversationStateAccessor, StartStreamOptions } from '../useConversationStream/useConversationStream';
4
+ /** The exact `startStream` shape `useConversationStream` returns. */
5
+ export type ConversationStreamStarter = (conversationPath: string, userContent: string, messageIndex: number, model: string, customContent?: MessageCustomContent, generationId?: string, mode?: SendCompletionDtoModeEnum, options?: StartStreamOptions) => void;
6
+ /** Parameters for {@link useConversationHandlers}. */
7
+ export interface UseConversationHandlersParams {
8
+ conversation: Conversation | null;
9
+ conversationId: string | undefined;
10
+ bucket: string | undefined;
11
+ isStreaming: boolean;
12
+ /** The `startStream` function returned by `useConversationStream`. */
13
+ startStream: ConversationStreamStarter;
14
+ /** Shared mutable channel for the displayed conversation — the same one passed to `useConversationStream`. */
15
+ state: ConversationStateAccessor;
16
+ /** Already-configured generated-client instance used to upload attachments. */
17
+ filesApi: Pick<FilesApi, 'uploadFile'>;
18
+ /** Already-configured generated-client instance used to save/delete the conversation. */
19
+ conversationsApi: Pick<ConversationsApi, 'saveConversation' | 'deleteConversation'>;
20
+ /** Already-configured generated-client instance used to rate a message. */
21
+ rateApi: Pick<RateApi, 'rateMessage'>;
22
+ /** Resolves the model id to send with the next completion. Re-evaluated on every call — never cached. */
23
+ resolveModelId: () => string;
24
+ /** Called when deleting the last message also deletes the whole conversation. */
25
+ onConversationDeleted?: () => void;
26
+ /** Called with batched filenames after a burst of network-error upload failures. */
27
+ showNetworkError?: (filenames: string[]) => void;
28
+ /** Tool toggle configuration values merged into every outgoing completion request. */
29
+ toolConfigurationValue?: Record<string, boolean>;
30
+ }
31
+ /** Return value of {@link useConversationHandlers}. */
32
+ export interface UseConversationHandlersResult {
33
+ handleSend: (message: string, attachments: Attachment[], skills?: RequestSkill[]) => Promise<void>;
34
+ handleUploadAttachment: (attachment: Attachment) => Promise<UploadedAttachmentResult>;
35
+ handleRegenerateMessage: (messageIndex: number) => void;
36
+ handleDeleteMessage: (messageIndex: number) => void;
37
+ handleConfirmDelete: () => void;
38
+ handleRateMessage: (messageIndex: number, rating: MessageRating | null, comment?: string) => Promise<boolean>;
39
+ handleButtonSelect: (starter: StarterOption, propertyKey?: string, description?: string) => void;
40
+ handleConfirmStarter: () => void;
41
+ handleStartEdit: (messageIndex: number) => void;
42
+ handleCancelEdit: (messageIndex: number) => void;
43
+ handleEditMessage: (messageIndex: number, text: string, keptDisplayAttachments: DisplayAttachment[], newAttachments: Attachment[], skills?: RequestSkill[]) => Promise<void>;
44
+ editingMessageIndexes: Set<number>;
45
+ pendingDeleteIndex: number | null;
46
+ setPendingDeleteIndex: (index: number | null) => void;
47
+ pendingStarterContext: {
48
+ starter: StarterOption;
49
+ propertyKey?: string;
50
+ description?: string;
51
+ } | null;
52
+ setPendingStarterContext: (context: {
53
+ starter: StarterOption;
54
+ propertyKey?: string;
55
+ description?: string;
56
+ } | null) => void;
57
+ }
58
+ /**
59
+ * Composes send/regenerate/edit/delete/rate/starter-submission orchestration
60
+ * on top of the library's own `useAttachmentUpload` and the injected
61
+ * `startStream` (from `useConversationStream`). Optimistic message-pair
62
+ * insertion, delete confirmation, and rate revert-on-failure all mutate the
63
+ * shared `state` channel directly, in lockstep with the streaming hook.
64
+ */
65
+ export declare const useConversationHandlers: ({ conversation, conversationId, bucket, isStreaming, startStream, state: { setConversation, conversationRef }, filesApi, conversationsApi, rateApi, resolveModelId, onConversationDeleted, showNetworkError, toolConfigurationValue, }: UseConversationHandlersParams) => UseConversationHandlersResult;
66
+ //# sourceMappingURL=useConversationHandlers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useConversationHandlers.d.ts","sourceRoot":"","sources":["../../../src/conversation/useConversationHandlers/useConversationHandlers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ import { ConversationsApi, FilesApi } from '@epam/ai-dial-chat-api-client';
2
+ import { ConversationTransferJob } from '@epam/ai-dial-chat-shared';
3
+ import { ConversationTransferErrorEvent, ConversationTransferSuccessEvent, ConversationTransferWarningEvent } from '../conversation-transfer/types';
4
+ /** Parameters for {@link useConversationImport}. */
5
+ export interface UseConversationImportParams {
6
+ /** Already-configured generated-client instance used to persist imported conversations. */
7
+ conversationsApi: Pick<ConversationsApi, 'saveConversation'>;
8
+ /** Already-configured generated-client instance used to list/upload attachments. */
9
+ filesApi: Pick<FilesApi, 'listFiles' | 'uploadFile'>;
10
+ /** The current user's DIAL Core storage bucket. Import fails with `MissingBucket` when `undefined`. */
11
+ bucket: string | undefined;
12
+ /** Called after at least one conversation in a job was imported successfully. */
13
+ onImported?: () => Promise<void> | void;
14
+ /** Classifies a thrown error as unauthorized. Host-owned error taxonomy; defaults to never. */
15
+ classifyTransferError?: (error: unknown) => {
16
+ isUnauthorized?: boolean;
17
+ };
18
+ /** Resolves a trace id for a failing request, for display in an error notification. */
19
+ resolveErrorTraceId?: (error: unknown) => Promise<string | undefined>;
20
+ /** Called when a job completes with at least one successfully imported conversation. */
21
+ onSuccess?: (event: ConversationTransferSuccessEvent) => void;
22
+ /** Called when a job succeeds but had to skip an attachment. */
23
+ onWarning?: (event: ConversationTransferWarningEvent) => void;
24
+ /** Called when a job fails, or when some conversations within it failed. */
25
+ onError?: (event: ConversationTransferErrorEvent) => void;
26
+ }
27
+ /** Return value of {@link useConversationImport}. */
28
+ export interface UseConversationImportResult {
29
+ /** Import jobs, most recently added last. Multiple jobs can be in progress concurrently. */
30
+ jobs: ConversationTransferJob[];
31
+ /** Parses the given file and starts importing it as a new job. */
32
+ importConversations: (file: File) => Promise<void>;
33
+ /** Aborts a job's underlying requests and marks it canceled, keeping it in `jobs`. */
34
+ cancelJob: (jobId: string) => void;
35
+ /** Removes a job from the queue. If still in progress, aborts its underlying requests. */
36
+ dismissJob: (jobId: string) => void;
37
+ /** Re-attempts a failed or canceled job in place (same job id, reusing the already-parsed file). */
38
+ retryJob: (jobId: string) => void;
39
+ /** Aborts all in-progress jobs and clears the entire queue. */
40
+ dismissAll: () => void;
41
+ }
42
+ /**
43
+ * Owns the import job queue: parses a selected export file (`.json` or
44
+ * `.dial`/`.zip`, v5 envelope, old- or new-chat origin) once per file, then
45
+ * re-uploads any archive attachments to `uploads/<YYYY-MM>/` —
46
+ * disambiguating a name collision with a ` (n)` suffix instead of rejecting
47
+ * it — rewrites attachment references (and renamed titles), drops any
48
+ * reference still pointing into another user's bucket, regenerates each
49
+ * conversation's id/path with a fresh UUID (collision-free save, no replace
50
+ * dialog), and persists every conversation through the injected
51
+ * `conversationsApi`. One job per imported file, not per conversation.
52
+ */
53
+ export declare const useConversationImport: ({ conversationsApi, filesApi, bucket, onImported, classifyTransferError, resolveErrorTraceId, onSuccess, onWarning, onError, }: UseConversationImportParams) => UseConversationImportResult;
54
+ //# sourceMappingURL=useConversationImport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useConversationImport.d.ts","sourceRoot":"","sources":["../../../src/conversation/useConversationImport/useConversationImport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,gBAAgB,EAChB,QAAQ,EACT,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAEL,KAAK,uBAAuB,EAK7B,MAAM,2BAA2B,CAAC;AAwBnC,OAAO,EACL,KAAK,8BAA8B,EACnC,KAAK,gCAAgC,EAErC,KAAK,gCAAgC,EACtC,MAAM,gCAAgC,CAAC;AAgExC,oDAAoD;AACpD,MAAM,WAAW,2BAA2B;IAC1C,2FAA2F;IAC3F,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,CAAC;IAC7D,oFAAoF;IACpF,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,WAAW,GAAG,YAAY,CAAC,CAAC;IACrD,uGAAuG;IACvG,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,iFAAiF;IACjF,UAAU,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACxC,+FAA+F;IAC/F,qBAAqB,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK;QAAE,cAAc,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IACzE,uFAAuF;IACvF,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACtE,wFAAwF;IACxF,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,gCAAgC,KAAK,IAAI,CAAC;IAC9D,gEAAgE;IAChE,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,gCAAgC,KAAK,IAAI,CAAC;IAC9D,4EAA4E;IAC5E,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,8BAA8B,KAAK,IAAI,CAAC;CAC3D;AA8GD,qDAAqD;AACrD,MAAM,WAAW,2BAA2B;IAC1C,4FAA4F;IAC5F,IAAI,EAAE,uBAAuB,EAAE,CAAC;IAChC,kEAAkE;IAClE,mBAAmB,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,sFAAsF;IACtF,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,0FAA0F;IAC1F,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,oGAAoG;IACpG,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,+DAA+D;IAC/D,UAAU,EAAE,MAAM,IAAI,CAAC;CACxB;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,qBAAqB,GAAI,gIAUnC,2BAA2B,KAAG,2BA+ThC,CAAC"}
@@ -0,0 +1,24 @@
1
+ import { ConversationListItemDto } from '@epam/ai-dial-chat-api-client';
2
+ /** Parameters for `useConversationLookupMaps`. */
3
+ export interface UseConversationLookupMapsParams {
4
+ /** Raw conversation list from the API. */
5
+ items: ConversationListItemDto[];
6
+ /** Converts a raw conversation id to the panel-space id. App-specific. */
7
+ toPanelConversationId: (id: string) => string;
8
+ }
9
+ /** Stable reverse-lookup maps returned by `useConversationLookupMaps`. */
10
+ export interface ConversationLookupMaps {
11
+ /** Returns the raw context id for a panel-space conversation id, or `undefined` when not found. */
12
+ toContextId: (panelId: string) => string | undefined;
13
+ /** Returns the raw `ConversationListItemDto` for a panel-space conversation id, or `undefined` when not found. */
14
+ getRawItem: (panelId: string) => ConversationListItemDto | undefined;
15
+ }
16
+ /**
17
+ * Builds two memoised reverse-lookup maps from the raw conversation list:
18
+ * panel-space id → context id and panel-space id → raw DTO.
19
+ *
20
+ * Replaces the inlined `panelToContextId` map and `items.find` calls that
21
+ * previously appeared at each row-action call site in `ConversationPanelView`.
22
+ */
23
+ export declare const useConversationLookupMaps: ({ items, toPanelConversationId, }: UseConversationLookupMapsParams) => ConversationLookupMaps;
24
+ //# sourceMappingURL=useConversationLookupMaps.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useConversationLookupMaps.d.ts","sourceRoot":"","sources":["../../../src/conversation/useConversationLookupMaps/useConversationLookupMaps.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAG7E,kDAAkD;AAClD,MAAM,WAAW,+BAA+B;IAC9C,0CAA0C;IAC1C,KAAK,EAAE,uBAAuB,EAAE,CAAC;IACjC,0EAA0E;IAC1E,qBAAqB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,MAAM,CAAC;CAC/C;AAED,0EAA0E;AAC1E,MAAM,WAAW,sBAAsB;IACrC,mGAAmG;IACnG,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IACrD,kHAAkH;IAClH,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,uBAAuB,GAAG,SAAS,CAAC;CACtE;AAED;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,GAAI,mCAGvC,+BAA+B,KAAG,sBAaD,CAAC"}
@@ -0,0 +1,64 @@
1
+ import { ConversationListItemDto, DeploymentItemDto } from '@epam/ai-dial-chat-api-client';
2
+ import { FilterTab } from '@epam/ai-dial-chat-shared';
3
+ import { ReactNode } from 'react';
4
+ /**
5
+ * Classifies a conversation's ownership using the shared filter-tab contract.
6
+ */
7
+ export declare const getConversationSource: (item: Pick<ConversationListItemDto, "sharedWithMe" | "publishedWithMe">) => FilterTab;
8
+ /** Resolver callbacks injected by the host app into `useConversationPanelItems`. */
9
+ export interface UseConversationPanelItemsResolvers {
10
+ /** Converts a raw conversation id to the panel-space id. App-specific. */
11
+ toPanelConversationId: (id: string) => string;
12
+ /** Resolves the icon URL for a deployment. Returns `undefined` when not available. */
13
+ resolveIconUrl: (deployment: DeploymentItemDto | undefined) => string | undefined;
14
+ /**
15
+ * Resolves the icon tooltip text. Receives the matched deployment (or
16
+ * `undefined`) and a decoded fallback string derived from the model path.
17
+ */
18
+ resolveIconTooltip: (deployment: DeploymentItemDto | undefined, fallback: string) => string | undefined;
19
+ /** Resolves the href to navigate to when the conversation row is clicked. */
20
+ resolveHref: (panelConversationId: string) => string;
21
+ /**
22
+ * Returns the row presentation for a scheduled-task conversation — a
23
+ * host-rendered leading icon that replaces the deployment avatar, and the
24
+ * unread flag — or `undefined` for an ordinary conversation.
25
+ */
26
+ resolveTaskPresentation?: (item: ConversationListItemDto) => {
27
+ leadingIcon?: ReactNode;
28
+ isUnread: boolean;
29
+ } | undefined;
30
+ }
31
+ /** Parameters accepted by `useConversationPanelItems`. */
32
+ export interface UseConversationPanelItemsParams extends UseConversationPanelItemsResolvers {
33
+ /** Raw conversation list from the API. */
34
+ items: ConversationListItemDto[];
35
+ /** Available deployments used to resolve icons and tooltips. */
36
+ deployments: DeploymentItemDto[];
37
+ /** Whether the deployments list is still loading (drives `isIconLoading`). */
38
+ isDeploymentsLoading: boolean;
39
+ }
40
+ /**
41
+ * Maps raw `ConversationListItemDto[]` to panel-compatible conversation items.
42
+ *
43
+ * Returns a memoised array whose shape is compatible with the conversation
44
+ * panel's item contract. All app-specific concerns (icon URL resolution,
45
+ * route generation, id normalisation) are injected via resolver callbacks.
46
+ *
47
+ * While every input except `items` is unchanged, a DTO that is referentially
48
+ * the same as in the previous render maps to the same item object, so a list
49
+ * change (or a navigation that re-derives the list) re-renders only the rows
50
+ * whose DTO actually changed.
51
+ */
52
+ export declare const useConversationPanelItems: ({ items, deployments, isDeploymentsLoading, toPanelConversationId, resolveIconUrl, resolveIconTooltip, resolveHref, resolveTaskPresentation, }: UseConversationPanelItemsParams) => {
53
+ leadingIcon?: ReactNode;
54
+ isUnread?: boolean | undefined;
55
+ id: string;
56
+ title: string;
57
+ isPinned: boolean;
58
+ iconUrl: string | undefined;
59
+ iconTooltip: string | undefined;
60
+ isIconLoading: boolean;
61
+ source: FilterTab;
62
+ href: string;
63
+ }[];
64
+ //# sourceMappingURL=useConversationPanelItems.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useConversationPanelItems.d.ts","sourceRoot":"","sources":["../../../src/conversation/useConversationPanelItems/useConversationPanelItems.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,uBAAuB,EACvB,iBAAiB,EAClB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAA8B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAOnE;;GAEG;AACH,eAAO,MAAM,qBAAqB,GAChC,MAAM,IAAI,CAAC,uBAAuB,EAAE,cAAc,GAAG,iBAAiB,CAAC,KACtE,SAIF,CAAC;AAEF,oFAAoF;AACpF,MAAM,WAAW,kCAAkC;IACjD,0EAA0E;IAC1E,qBAAqB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,MAAM,CAAC;IAC9C,sFAAsF;IACtF,cAAc,EAAE,CACd,UAAU,EAAE,iBAAiB,GAAG,SAAS,KACtC,MAAM,GAAG,SAAS,CAAC;IACxB;;;OAGG;IACH,kBAAkB,EAAE,CAClB,UAAU,EAAE,iBAAiB,GAAG,SAAS,EACzC,QAAQ,EAAE,MAAM,KACb,MAAM,GAAG,SAAS,CAAC;IACxB,6EAA6E;IAC7E,WAAW,EAAE,CAAC,mBAAmB,EAAE,MAAM,KAAK,MAAM,CAAC;IACrD;;;;OAIG;IACH,uBAAuB,CAAC,EAAE,CACxB,IAAI,EAAE,uBAAuB,KAC1B;QAAE,WAAW,CAAC,EAAE,SAAS,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,GAAG,SAAS,CAAC;CACjE;AAED,0DAA0D;AAC1D,MAAM,WAAW,+BAAgC,SAAQ,kCAAkC;IACzF,0CAA0C;IAC1C,KAAK,EAAE,uBAAuB,EAAE,CAAC;IACjC,gEAAgE;IAChE,WAAW,EAAE,iBAAiB,EAAE,CAAC;IACjC,8EAA8E;IAC9E,oBAAoB,EAAE,OAAO,CAAC;CAC/B;AA+BD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,yBAAyB,GAAI,gJASvC,+BAA+B;;;;;;;;;;;GA6EjC,CAAC"}
@@ -0,0 +1,46 @@
1
+ import { RefObject } from 'react';
2
+ /** Parameters for {@link useConversationScroll}. `T` is never read — only `messages.length` is used to detect growth/reset. */
3
+ export interface UseConversationScrollParams<T> {
4
+ /** Messages currently rendered in the list. */
5
+ messages: T[];
6
+ /** Whether an assistant response is currently streaming in. */
7
+ isAssistantTyping: boolean;
8
+ /** Identifier of the conversation being displayed. */
9
+ conversationId: string;
10
+ }
11
+ /** Return value of {@link useConversationScroll}. */
12
+ export interface UseConversationScrollResult {
13
+ /** Attach to the scrollable message-list element. */
14
+ containerRef: RefObject<HTMLDivElement | null>;
15
+ /** Attach to the element wrapping all rendered messages (used to detect content growth). */
16
+ contentRef: RefObject<HTMLDivElement | null>;
17
+ /**
18
+ * Attach to a spacer element, a sibling rendered right after `contentRef`
19
+ * inside `containerRef`. Its height is set imperatively, not via React
20
+ * state. Render it with `shrink-0` and an initial `style={{ height: 0 }}`.
21
+ */
22
+ spacerRef: RefObject<HTMLDivElement | null>;
23
+ /** Callback ref to register/unregister a rendered message's DOM node by index. */
24
+ setMessageRef: (index: number, el: HTMLDivElement | null) => void;
25
+ /** Whether the scroll-to-bottom button should be shown. */
26
+ isScrollButtonVisible: boolean;
27
+ /** Smoothly scrolls to the current bottom of the actual message content. */
28
+ scrollToBottom: () => void;
29
+ /**
30
+ * Arms the message at `index` to be scrolled near the top of the viewport
31
+ * on the next render — call right before triggering a send, regenerate,
32
+ * or edit-and-resubmit so the resulting message anchors near the top.
33
+ */
34
+ armAnchor: (index: number) => void;
35
+ }
36
+ /**
37
+ * Owns chat-list scrolling: anchors a new turn near the viewport top, keeps
38
+ * the position stable while the response streams, and reports whether the
39
+ * scroll-to-bottom button should be shown.
40
+ *
41
+ * The temporary spacer is technical scroll room, not user-visible content:
42
+ * it is sized to the minimum required to make the anchor reachable and manual
43
+ * scrolling is clamped before the user can move past the real message content.
44
+ */
45
+ export declare const useConversationScroll: <T>({ messages, isAssistantTyping, conversationId, }: UseConversationScrollParams<T>) => UseConversationScrollResult;
46
+ //# sourceMappingURL=useConversationScroll.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useConversationScroll.d.ts","sourceRoot":"","sources":["../../../src/conversation/useConversationScroll/useConversationScroll.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAMf,+HAA+H;AAC/H,MAAM,WAAW,2BAA2B,CAAC,CAAC;IAC5C,+CAA+C;IAC/C,QAAQ,EAAE,CAAC,EAAE,CAAC;IACd,+DAA+D;IAC/D,iBAAiB,EAAE,OAAO,CAAC;IAC3B,sDAAsD;IACtD,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,qDAAqD;AACrD,MAAM,WAAW,2BAA2B;IAC1C,qDAAqD;IACrD,YAAY,EAAE,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IAC/C,4FAA4F;IAC5F,UAAU,EAAE,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IAC7C;;;;OAIG;IACH,SAAS,EAAE,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IAC5C,kFAAkF;IAClF,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,cAAc,GAAG,IAAI,KAAK,IAAI,CAAC;IAClE,2DAA2D;IAC3D,qBAAqB,EAAE,OAAO,CAAC;IAC/B,4EAA4E;IAC5E,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B;;;;OAIG;IACH,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACpC;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,qBAAqB,GAAI,CAAC,EAAE,kDAItC,2BAA2B,CAAC,CAAC,CAAC,KAAG,2BAwTnC,CAAC"}
@@ -0,0 +1,35 @@
1
+ import { Message, Stage, StreamChunk } from '@epam/ai-dial-chat-shared';
2
+ /**
3
+ * Merges incoming stage deltas into an existing stage list, keyed by `index`.
4
+ *
5
+ * Partial `name` and `content` strings are concatenated across chunks;
6
+ * attachments are merged by their own `index` (concatenating partial `title`
7
+ * and `data`); every other field on the incoming delta overwrites the
8
+ * accumulated one. A brand-new stage whose first chunk carries `name: null`
9
+ * is normalized to `''`.
10
+ *
11
+ * Exported for hosts that keep a flattened `Stage[]` on the message instead
12
+ * of `Message.custom_content.stages` and therefore cannot reuse
13
+ * {@link applyChunkToMessages}. Prefer `useConversationStream` when the host
14
+ * can delegate the whole stream loop.
15
+ */
16
+ export declare const mergeStages: (existing: Stage[], incoming: Stage[]) => Stage[];
17
+ /**
18
+ * Applies a single SSE stream chunk to the message list.
19
+ *
20
+ *
21
+ * Attachments are accumulated: each chunk's attachments are appended to the
22
+ * existing array rather than replacing it.
23
+ *
24
+ * Annotations are merged by `index`: partial `body.title` and `body.quote`
25
+ * strings are concatenated across chunks, matching the same delta-merge
26
+ * semantics used for stages.
27
+ *
28
+ * `state` is overwritten (not merged) by each chunk that carries one,
29
+ * matching the DIAL stateful-app contract.
30
+ *
31
+ * @returns Updated message array, or `null` when the chunk carries no
32
+ * actionable data (empty content, no form_schema, and no attachments).
33
+ */
34
+ export declare const applyChunkToMessages: (messages: Message[], messageIndex: number, chunk: StreamChunk) => Message[] | null;
35
+ //# sourceMappingURL=apply-chunk.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apply-chunk.d.ts","sourceRoot":"","sources":["../../../src/conversation/useConversationStream/apply-chunk.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,OAAO,EAEP,KAAK,EACL,WAAW,EACZ,MAAM,2BAA2B,CAAC;AAqFnC;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,WAAW,GAAI,UAAU,KAAK,EAAE,EAAE,UAAU,KAAK,EAAE,KAAG,KAAK,EA+BvE,CAAC;AAEF;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,oBAAoB,GAC/B,UAAU,OAAO,EAAE,EACnB,cAAc,MAAM,EACpB,OAAO,WAAW,KACjB,OAAO,EAAE,GAAG,IAqEd,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { Conversation, Message } from '@epam/ai-dial-chat-shared';
2
+ /**
3
+ * A generation's assistant message accumulated while its conversation isn't
4
+ * the displayed one (a background stream, or a resume attach), keyed by
5
+ * conversation path so it can be restored once that conversation is shown
6
+ * again.
7
+ */
8
+ export interface BufferedGeneration {
9
+ generationId: string;
10
+ messageIndex: number;
11
+ message: Message;
12
+ }
13
+ /** Restores `buffered.message` into `conversation` at `buffered.messageIndex`, merging into whatever message is already there. */
14
+ export declare const restoreBufferedMessage: (conversation: Conversation, buffered: BufferedGeneration) => Conversation;
15
+ //# sourceMappingURL=buffered-generation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buffered-generation.d.ts","sourceRoot":"","sources":["../../../src/conversation/useConversationStream/buffered-generation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAEvE;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;CAClB;AAgBD,kIAAkI;AAClI,eAAO,MAAM,sBAAsB,GACjC,cAAc,YAAY,EAC1B,UAAU,kBAAkB,KAC3B,YAeF,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Strips the leading bucket segment from a conversation id and decodes any
3
+ * already-percent-encoded remainder back to raw, so callers that re-encode
4
+ * the result once (e.g. an API client) don't double-encode it on the wire.
5
+ */
6
+ export declare const getConversationPath: (conversationId: string) => string;
7
+ //# sourceMappingURL=conversation-path.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conversation-path.d.ts","sourceRoot":"","sources":["../../../src/conversation/useConversationStream/conversation-path.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAAI,gBAAgB,MAAM,KAAG,MAO5D,CAAC"}
@@ -0,0 +1,14 @@
1
+ /** Coalesces work per key into at most one run per animation frame. */
2
+ export interface FrameScheduler {
3
+ /** Runs `task` on the next frame, replacing any task still pending for `key`. */
4
+ schedule: (key: string, task: () => void) => void;
5
+ /** Runs the task pending for `key` now, if any; it will not run again. */
6
+ flush: (key: string) => void;
7
+ /** Drops the task pending for `key` without running it. */
8
+ cancel: (key: string) => void;
9
+ /** Drops every pending task without running it. */
10
+ cancelAll: () => void;
11
+ }
12
+ /** Returns a scheduler that runs the latest task per key once per animation frame. */
13
+ export declare const createFrameScheduler: () => FrameScheduler;
14
+ //# sourceMappingURL=frame-scheduler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"frame-scheduler.d.ts","sourceRoot":"","sources":["../../../src/conversation/useConversationStream/frame-scheduler.ts"],"names":[],"mappings":"AAGA,uEAAuE;AACvE,MAAM,WAAW,cAAc;IAC7B,iFAAiF;IACjF,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;IAClD,0EAA0E;IAC1E,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,2DAA2D;IAC3D,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9B,mDAAmD;IACnD,SAAS,EAAE,MAAM,IAAI,CAAC;CACvB;AAgBD,sFAAsF;AACtF,eAAO,MAAM,oBAAoB,QAAO,cAmCvC,CAAC"}
@@ -0,0 +1,85 @@
1
+ import { Conversation, Message } from '@epam/ai-dial-chat-shared';
2
+ import { Dispatch, MutableRefObject, SetStateAction } from 'react';
3
+ import { BufferedGeneration } from './buffered-generation';
4
+ import { FrameScheduler } from './frame-scheduler';
5
+ import { ConversationStreamTransport } from './useConversationStream';
6
+ /**
7
+ * True when the assistant message carries anything the backend's finalize save
8
+ * would have written. Text alone is not enough to tell a finished response from
9
+ * the start-state placeholder: an image-generation answer settles with an empty
10
+ * `content` and only `custom_content.attachments`, and a stage-only or
11
+ * form-only answer is just as text-free.
12
+ */
13
+ export declare const hasGeneratedPayload: (message: Message) => boolean;
14
+ /**
15
+ * Index of the conversation's message that a background generation is still
16
+ * producing (`backgroundGeneration.status` is `pending`), or -1. It can sit
17
+ * anywhere, e.g. before a model-changed status message.
18
+ */
19
+ export declare const findPendingBackgroundMessageIndex: (conversation: Conversation) => number;
20
+ /**
21
+ * True when the conversation has a pending background message, or its last
22
+ * message is an unresolved assistant placeholder: the backend only persists a
23
+ * conversation at generation start (empty placeholder) and at generation end
24
+ * (final content, or a partial flagged `streamErrorMessage`/`wasStoppedByUser`).
25
+ * This can mean generation is still active elsewhere, or that its terminal save
26
+ * failed.
27
+ */
28
+ export declare const isAwaitingGenerationResume: (conversation: Conversation) => boolean;
29
+ export declare const RECOVERY_REFETCH_DELAYS_MS: number[];
30
+ /**
31
+ * Returns the conversation from `load`, retrying rejected attempts — and
32
+ * results `isPending` flags as not yet settled — on the
33
+ * {@link RECOVERY_REFETCH_DELAYS_MS} schedule; `null` once every attempt has
34
+ * failed or stayed pending, or `shouldStop` turns true between attempts.
35
+ */
36
+ export declare const fetchConversationForRecovery: (load: () => Promise<Conversation>, shouldStop: () => boolean, isPending?: (conversation: Conversation) => boolean) => Promise<Conversation | null>;
37
+ /** Internal options a resume started by the stream hook itself passes; the public API passes none. */
38
+ export interface ResumeGenerationOptions {
39
+ /** Initial buffered message, used instead of the stored placeholder — the live partial answer a dropped stream had already shown. */
40
+ seedMessage?: Message;
41
+ /** Called once when the resume has resolved or lost ownership of the path to a newer generation. */
42
+ onSettled?: () => void;
43
+ /** Resumes even though the path is already in `resumingPathsRef`, for a caller that reserved it itself. */
44
+ skipDedupe?: boolean;
45
+ }
46
+ /** Host-owned state {@link createResumeIfAwaitingGeneration} reads/writes through. */
47
+ export interface ResumeIfAwaitingGenerationDeps {
48
+ transport: ConversationStreamTransport;
49
+ setConversation: Dispatch<SetStateAction<Conversation | null>>;
50
+ conversationRef: MutableRefObject<Conversation | null>;
51
+ resumingPathsRef: MutableRefObject<Set<string>>;
52
+ bufferedGenerationsRef: MutableRefObject<Map<string, BufferedGeneration>>;
53
+ addStreamingPath: (path: string) => void;
54
+ removeStreamingPath: (path: string) => void;
55
+ isPathDisplayed: (path: string) => boolean;
56
+ generationPersistenceErrorMessage?: string;
57
+ /** Records a terminal read failure and its guarded read-only retry. */
58
+ onReloadError?: (path: string, retry: () => Promise<void>, isCurrent: () => boolean) => void;
59
+ /** Clears a previous read failure after reconciliation. */
60
+ onReloadSuccess?: (path: string) => void;
61
+ /** When set, replayed chunks are published at most once per frame through it. */
62
+ frameScheduler?: FrameScheduler;
63
+ /**
64
+ * Generation ids the user stopped. A resumed background generation in this set
65
+ * ignores further replayed chunks (DIAL Core does not always honour the cancel), and
66
+ * its id is removed when the resume settles.
67
+ */
68
+ stoppedGenerationIdsRef?: MutableRefObject<Set<string>>;
69
+ }
70
+ /**
71
+ * Builds `resumeIfAwaitingGeneration`: a hard refresh mid-generation loads a
72
+ * conversation whose last message is the backend's empty start-state
73
+ * placeholder (no incremental save exists to show partial content). Rather
74
+ * than leaving that static and forever empty, this marks the path as
75
+ * streaming — for free, reusing the same typing indicator and any
76
+ * `isStreaming` guards a composed handlers hook already applies — and
77
+ * attaches to the backend's live replay of the in-flight generation
78
+ * (`transport.attachToGeneration`), showing the assistant message populate
79
+ * progressively. It falls back to watching the conversation's generic
80
+ * resource-update channel (`transport.watchConversation`) until the
81
+ * backend's finalize save resolves the placeholder whenever attach is
82
+ * unavailable or ends without a terminal event.
83
+ */
84
+ export declare const createResumeIfAwaitingGeneration: ({ transport, setConversation, conversationRef, resumingPathsRef, bufferedGenerationsRef, addStreamingPath, removeStreamingPath, isPathDisplayed, generationPersistenceErrorMessage, frameScheduler, stoppedGenerationIdsRef, onReloadError, onReloadSuccess, }: ResumeIfAwaitingGenerationDeps) => (currentConversationId: string, conversation: Conversation, options?: ResumeGenerationOptions) => void;
85
+ //# sourceMappingURL=generation-resume.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generation-resume.d.ts","sourceRoot":"","sources":["../../../src/conversation/useConversationStream/generation-resume.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,YAAY,EAEjB,KAAK,OAAO,EAEb,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAOxE,OAAO,EACL,KAAK,kBAAkB,EAExB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AAE3E;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,GAAI,SAAS,OAAO,KAAG,OAWtD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,iCAAiC,GAC5C,cAAc,YAAY,KACzB,MAKA,CAAC;AAEJ;;;;;;;GAOG;AACH,eAAO,MAAM,0BAA0B,GACrC,cAAc,YAAY,KACzB,OAUF,CAAC;AA6BF,eAAO,MAAM,0BAA0B,UAAkC,CAAC;AAe1E;;;;;GAKG;AACH,eAAO,MAAM,4BAA4B,GACvC,MAAM,MAAM,OAAO,CAAC,YAAY,CAAC,EACjC,YAAY,MAAM,OAAO,EACzB,YAAY,CAAC,YAAY,EAAE,YAAY,KAAK,OAAO,KAClD,OAAO,CAAC,YAAY,GAAG,IAAI,CAiB7B,CAAC;AAgEF,sGAAsG;AACtG,MAAM,WAAW,uBAAuB;IACtC,qIAAqI;IACrI,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,oGAAoG;IACpG,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,2GAA2G;IAC3G,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,sFAAsF;AACtF,MAAM,WAAW,8BAA8B;IAC7C,SAAS,EAAE,2BAA2B,CAAC;IACvC,eAAe,EAAE,QAAQ,CAAC,cAAc,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC,CAAC;IAC/D,eAAe,EAAE,gBAAgB,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IACvD,gBAAgB,EAAE,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAChD,sBAAsB,EAAE,gBAAgB,CAAC,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAC1E,gBAAgB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,mBAAmB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,eAAe,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IAC3C,iCAAiC,CAAC,EAAE,MAAM,CAAC;IAC3C,uEAAuE;IACvE,aAAa,CAAC,EAAE,CACd,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EAC1B,SAAS,EAAE,MAAM,OAAO,KACrB,IAAI,CAAC;IACV,2DAA2D;IAC3D,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,iFAAiF;IACjF,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC;;;;OAIG;IACH,uBAAuB,CAAC,EAAE,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;CACzD;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,gCAAgC,GAAI,gQAc9C,8BAA8B,MAE7B,uBAAuB,MAAM,EAC7B,cAAc,YAAY,EAC1B,UAAS,uBAA4B,KACpC,IA8QJ,CAAC"}
@@ -0,0 +1,145 @@
1
+ import { SendCompletionDtoModeEnum } from '@epam/ai-dial-chat-api-client';
2
+ import { Conversation, MessageCustomContent, StreamChunk } from '@epam/ai-dial-chat-shared';
3
+ import { Dispatch, MutableRefObject, SetStateAction } from 'react';
4
+ /** Options accepted by {@link ConversationStreamTransport.streamCompletion}. */
5
+ export interface StreamCompletionOptions {
6
+ onChunk: (chunk: StreamChunk) => void;
7
+ onComplete: () => void | Promise<void>;
8
+ onError: (error: Error) => void;
9
+ signal: AbortSignal;
10
+ }
11
+ /**
12
+ * Host-owned transport for the DIAL Core completion protocol. Implemented at
13
+ * the app edge — never hardcodes an `/api` path, CSRF handling, or a
14
+ * `server-api` import; the library only depends on this interface's shape.
15
+ */
16
+ export interface ConversationStreamTransport {
17
+ /** Starts a completion; delivers chunks/completion/error through `options`, aborted via `options.signal`. */
18
+ streamCompletion(path: string, message: string | undefined, model: string, options: StreamCompletionOptions, customContent?: MessageCustomContent, generationId?: string, mode?: SendCompletionDtoModeEnum, messageIndex?: number, clientChannelId?: string): void;
19
+ /**
20
+ * Requests the backend stop an active generation. `content` is the answer text shown
21
+ * so far; the backend saves it for a generation whose text it does not hold.
22
+ */
23
+ stopCompletion(params: {
24
+ generationId: string;
25
+ path: string;
26
+ content?: string;
27
+ }): Promise<void>;
28
+ /** Opens a stream of resource-update events for `path`, until aborted via `signal`. */
29
+ watchConversation(path: string, signal: AbortSignal): Promise<ReadableStream<Uint8Array>>;
30
+ /**
31
+ * Attaches to an active generation's live replay: a `snapshot` event
32
+ * carrying the assistant message as assembled so far, then a `chunk` event
33
+ * per subsequent delta, then exactly one terminal event (`done`/`error`/
34
+ * `stopped`), until aborted via `signal`. Rejects when no active
35
+ * generation exists for `path` — including one that already finished —
36
+ * so the caller can fall back to `watchConversation`.
37
+ */
38
+ attachToGeneration(path: string, signal: AbortSignal): Promise<ReadableStream<Uint8Array>>;
39
+ /** Reloads the persisted conversation by its full (bucket-qualified) id. */
40
+ getConversation(conversationId: string, signal?: AbortSignal): Promise<Conversation>;
41
+ /**
42
+ * Saves `conversation` at the bucket-stripped `path`, resolving with the saved
43
+ * conversation. Used only for the single recovery save after the backend's
44
+ * terminal save was rejected with `401`; without it that failure shows the
45
+ * persistence warning immediately.
46
+ */
47
+ saveConversation?(path: string, conversation: Conversation): Promise<Conversation>;
48
+ }
49
+ /** Host-owned generation lifecycle, backing cross-navigation `AbortController` ownership. */
50
+ export interface ConversationGenerationLifecycle {
51
+ /** Starts (or replaces) tracking for a generation on `path`, returning its `AbortController`. */
52
+ startGeneration: (path: string, generationId: string) => AbortController;
53
+ /** Marks the generation identified by `path`/`generationId` complete, if it is still the active one. */
54
+ completeGeneration: (path: string, generationId: string) => void;
55
+ }
56
+ /** Optional host-owned client-channel connection, used to nudge tool-signin delivery. */
57
+ export interface ConversationStreamChannel {
58
+ channelId: string | null;
59
+ ensureConnected: () => void;
60
+ /** 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. */
61
+ waitForChannel: (timeoutMs?: number) => Promise<string | null>;
62
+ /** Notifies the host that a generation just ended (completed or errored), so it can consider disconnecting an idle channel. */
63
+ notifyGenerationSettled?: () => void;
64
+ }
65
+ /** Optional host-owned overlay generation-lifecycle notifications. Each method is independently optional. */
66
+ export interface ConversationStreamOverlayNotifier {
67
+ notifyGenerationStart?: () => void;
68
+ notifyGenerationEnd?: () => void;
69
+ notifyStopGenerating?: () => void;
70
+ }
71
+ /** Shared mutable channel through which the displayed conversation's state is read/written. */
72
+ export interface ConversationStateAccessor {
73
+ setConversation: Dispatch<SetStateAction<Conversation | null>>;
74
+ conversationRef: MutableRefObject<Conversation | null>;
75
+ }
76
+ /** Parameters for {@link useConversationStream}. */
77
+ export interface UseConversationStreamParams {
78
+ conversationId: string | undefined;
79
+ state: ConversationStateAccessor;
80
+ transport: ConversationStreamTransport;
81
+ generation: ConversationGenerationLifecycle;
82
+ channel?: ConversationStreamChannel;
83
+ overlay?: ConversationStreamOverlayNotifier;
84
+ onStopError?: (error: Error) => void;
85
+ /**
86
+ * Message shown on the message bubble when the backend rejects a completion
87
+ * because this conversation is already generating — the case a second
88
+ * browser tab of the same session hits. Defaults to
89
+ * {@link DEFAULT_GENERATION_CONFLICT_MESSAGE}.
90
+ */
91
+ generationConflictMessage?: string;
92
+ /** Host-translated warning shown when the received answer could not be saved. */
93
+ generationPersistenceErrorMessage?: string;
94
+ /**
95
+ * Receives the original error of every failed stream. The hook shows only
96
+ * host-supplied or upstream-supplied text on the message bubble and hides
97
+ * transport detail (e.g. `Failed to fetch`), so this is where the host can
98
+ * still log or report the raw error.
99
+ */
100
+ onStreamError?: (error: Error) => void;
101
+ /**
102
+ * Coalesces the displayed chunk updates into one `setConversation` per
103
+ * animation frame. Chunks still reach the per-path buffer immediately, and
104
+ * any pending update is flushed before completion, error, stop, or a
105
+ * superseding generation. Defaults to `false` (one update per chunk).
106
+ */
107
+ batchChunksPerFrame?: boolean;
108
+ }
109
+ /** Per-start options of {@link UseConversationStreamResult.startStream}. */
110
+ export interface StartStreamOptions {
111
+ /**
112
+ * Treats a `GenerationConflictError` as "this turn is already being
113
+ * generated" — e.g. a page reloaded before that generation saved its start
114
+ * state — and joins the running generation instead of showing the conflict
115
+ * message, which remains the fallback. Only for a start that sends no new
116
+ * user text; a send the user typed must keep reporting the conflict.
117
+ */
118
+ resumeOnConflict?: boolean;
119
+ }
120
+ /** Return value of {@link useConversationStream}. */
121
+ export interface UseConversationStreamResult {
122
+ startStream: (conversationId: string, userContent: string, messageIndex: number, model: string, customContent?: MessageCustomContent, generationId?: string, mode?: SendCompletionDtoModeEnum, options?: StartStreamOptions) => void;
123
+ handleStop: () => void;
124
+ resumeIfAwaitingGeneration: (currentConversationId: string, conversation: Conversation) => void;
125
+ /** Restores the accumulated live assistant message when its conversation is loaded again before completion. */
126
+ restoreBufferedGeneration: (currentConversationId: string, conversation: Conversation) => Conversation;
127
+ isStreaming: boolean;
128
+ canStopStreaming: boolean;
129
+ /** Whether the displayed conversation's terminal read failed. */
130
+ hasConversationReloadError: boolean;
131
+ /** Whether a retry of that read is in flight. */
132
+ isReloadingConversation: boolean;
133
+ /** Retries the failed read without saving or regenerating the answer. */
134
+ retryConversationReload: () => Promise<void>;
135
+ }
136
+ /**
137
+ * Owns completion-streaming state: per-path streaming/stoppable tracking,
138
+ * stale-chunk rejection, cross-navigation live-message buffering,
139
+ * reload-after-complete, backend-driven stop, and hard-refresh resume
140
+ * detection — all driven through the injected
141
+ * `transport`/`generation`/`channel`/`overlay` capabilities rather than any
142
+ * app context or `server-api` import.
143
+ */
144
+ export declare const useConversationStream: ({ conversationId, state: { setConversation, conversationRef }, transport, generation: { startGeneration, completeGeneration }, channel, overlay, onStopError, generationConflictMessage, generationPersistenceErrorMessage, onStreamError, batchChunksPerFrame, }: UseConversationStreamParams) => UseConversationStreamResult;
145
+ //# sourceMappingURL=useConversationStream.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useConversationStream.d.ts","sourceRoot":"","sources":["../../../src/conversation/useConversationStream/useConversationStream.ts"],"names":[],"mappings":"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"}