@epam/ai-dial-chat-hooks 1.3.0-dev.14 → 1.3.0-dev.141

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 (514) 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-error/api-error.js +2 -2
  4. package/api-transport/create-csrf-middleware.d.ts +15 -0
  5. package/api-transport/create-csrf-middleware.d.ts.map +1 -0
  6. package/api-transport/create-unauthorized-middleware.d.ts +40 -0
  7. package/api-transport/create-unauthorized-middleware.d.ts.map +1 -0
  8. package/api-transport/create-unauthorized-middleware.js +4 -1
  9. package/attachment/useAttachmentAction/useAttachmentAction.d.ts +32 -0
  10. package/attachment/useAttachmentAction/useAttachmentAction.d.ts.map +1 -0
  11. package/attachment/useAttachmentAction/useAttachmentAction.js +5 -8
  12. package/attachment/useAttachmentValidation/useAttachmentValidation.d.ts +50 -0
  13. package/attachment/useAttachmentValidation/useAttachmentValidation.d.ts.map +1 -0
  14. package/attachments.d.ts +2 -94
  15. package/catalog/catalog-derivations.d.ts +27 -0
  16. package/catalog/catalog-derivations.d.ts.map +1 -0
  17. package/catalog/catalog-derivations.js +1 -1
  18. package/catalog/catalog-primary-action.d.ts +47 -0
  19. package/catalog/catalog-primary-action.d.ts.map +1 -0
  20. package/catalog/create-publish-api.d.ts +34 -0
  21. package/catalog/create-publish-api.d.ts.map +1 -0
  22. package/catalog/create-publish-api.js +4 -0
  23. package/catalog/deployment-endpoint-url.d.ts +19 -0
  24. package/catalog/deployment-endpoint-url.d.ts.map +1 -0
  25. package/catalog/deployment-id.d.ts +42 -0
  26. package/catalog/deployment-id.d.ts.map +1 -0
  27. package/catalog/entity-details.d.ts +146 -0
  28. package/catalog/entity-details.d.ts.map +1 -0
  29. package/catalog/map-deployment-limits-to-catalog.d.ts +34 -0
  30. package/catalog/map-deployment-limits-to-catalog.d.ts.map +1 -0
  31. package/catalog/map-deployment-limits-to-input.d.ts +28 -0
  32. package/catalog/map-deployment-limits-to-input.d.ts.map +1 -0
  33. package/catalog/map-deployment-to-catalog-item.d.ts +61 -0
  34. package/catalog/map-deployment-to-catalog-item.d.ts.map +1 -0
  35. package/catalog/map-entity-details-to-catalog.d.ts +81 -0
  36. package/catalog/map-entity-details-to-catalog.d.ts.map +1 -0
  37. package/catalog/map-entity-details-to-catalog.js +1 -1
  38. package/catalog/map-prompt-to-catalog-item.d.ts +43 -0
  39. package/catalog/map-prompt-to-catalog-item.d.ts.map +1 -0
  40. package/catalog/map-skill-to-catalog-item.d.ts +113 -0
  41. package/catalog/map-skill-to-catalog-item.d.ts.map +1 -0
  42. package/catalog/map-skill-to-catalog-item.js +1 -5
  43. package/catalog/mcp-endpoint-url.d.ts +18 -0
  44. package/catalog/mcp-endpoint-url.d.ts.map +1 -0
  45. package/catalog/publish.d.ts +35 -0
  46. package/catalog/publish.d.ts.map +1 -0
  47. package/catalog/useApplicationCredentials/useApplicationCredentials.d.ts +19 -0
  48. package/catalog/useApplicationCredentials/useApplicationCredentials.d.ts.map +1 -0
  49. package/catalog/useCatalogEditNavigation/useCatalogEditNavigation.d.ts +107 -0
  50. package/catalog/useCatalogEditNavigation/useCatalogEditNavigation.d.ts.map +1 -0
  51. package/catalog/useCatalogEditNavigation/useCatalogEditNavigation.js +90 -71
  52. package/catalog/useCatalogItemDetails.d.ts +70 -0
  53. package/catalog/useCatalogItemDetails.d.ts.map +1 -0
  54. package/catalog/useCatalogToolsetCredentials/useCatalogToolsetCredentials.d.ts +76 -0
  55. package/catalog/useCatalogToolsetCredentials/useCatalogToolsetCredentials.d.ts.map +1 -0
  56. package/catalog/useFavoriteEntitiesState/useFavoriteEntitiesState.d.ts +37 -0
  57. package/catalog/useFavoriteEntitiesState/useFavoriteEntitiesState.d.ts.map +1 -0
  58. package/catalog/useFavoriteEntitiesState/useFavoriteEntitiesState.js +1 -1
  59. package/catalog/usePublishFolders/usePublishFolders.d.ts +73 -0
  60. package/catalog/usePublishFolders/usePublishFolders.d.ts.map +1 -0
  61. package/catalog/usePublishFolders/usePublishFolders.js +1 -1
  62. package/catalog/useSkillDetailsPanelData/useSkillDetailsPanelData.d.ts +54 -0
  63. package/catalog/useSkillDetailsPanelData/useSkillDetailsPanelData.d.ts.map +1 -0
  64. package/catalog/useSkillItemDetails.d.ts +64 -0
  65. package/catalog/useSkillItemDetails.d.ts.map +1 -0
  66. package/catalog/useSkillItemDetails.js +3 -3
  67. package/catalog.d.ts +2 -1436
  68. package/conversation/announcement-message.d.ts +61 -0
  69. package/conversation/announcement-message.d.ts.map +1 -0
  70. package/conversation/conversation-draft/conversation-draft-store.d.ts +21 -0
  71. package/conversation/conversation-draft/conversation-draft-store.d.ts.map +1 -0
  72. package/conversation/conversation-draft/conversation-draft-store.js +84 -0
  73. package/conversation/conversation-draft/conversation-draft.d.ts +48 -0
  74. package/conversation/conversation-draft/conversation-draft.d.ts.map +1 -0
  75. package/conversation/conversation-transfer/async.d.ts +10 -0
  76. package/conversation/conversation-transfer/async.d.ts.map +1 -0
  77. package/conversation/conversation-transfer/attachment-refs.d.ts +42 -0
  78. package/conversation/conversation-transfer/attachment-refs.d.ts.map +1 -0
  79. package/conversation/conversation-transfer/build-upload-path.d.ts +42 -0
  80. package/conversation/conversation-transfer/build-upload-path.d.ts.map +1 -0
  81. package/conversation/conversation-transfer/date.d.ts +5 -0
  82. package/conversation/conversation-transfer/date.d.ts.map +1 -0
  83. package/conversation/conversation-transfer/dial-file-resolve.d.ts +10 -0
  84. package/conversation/conversation-transfer/dial-file-resolve.d.ts.map +1 -0
  85. package/conversation/conversation-transfer/export-conversation.d.ts +10 -0
  86. package/conversation/conversation-transfer/export-conversation.d.ts.map +1 -0
  87. package/conversation/conversation-transfer/import-conversation.d.ts +106 -0
  88. package/conversation/conversation-transfer/import-conversation.d.ts.map +1 -0
  89. package/conversation/conversation-transfer/import-conversation.js +7 -8
  90. package/conversation/conversation-transfer/progress.d.ts +60 -0
  91. package/conversation/conversation-transfer/progress.d.ts.map +1 -0
  92. package/conversation/conversation-transfer/progress.js +1 -1
  93. package/conversation/conversation-transfer/queue.d.ts +54 -0
  94. package/conversation/conversation-transfer/queue.d.ts.map +1 -0
  95. package/conversation/conversation-transfer/types.d.ts +36 -0
  96. package/conversation/conversation-transfer/types.d.ts.map +1 -0
  97. package/conversation/conversation-transfer/zip-export.d.ts +31 -0
  98. package/conversation/conversation-transfer/zip-export.d.ts.map +1 -0
  99. package/conversation/conversation-transfer/zip-export.js +1 -7
  100. package/conversation/conversation-transfer/zip-import.d.ts +17 -0
  101. package/conversation/conversation-transfer/zip-import.d.ts.map +1 -0
  102. package/conversation/conversation-transfer/zip-import.js +1 -1
  103. package/conversation/create-chat-stream-api.d.ts +98 -0
  104. package/conversation/create-chat-stream-api.d.ts.map +1 -0
  105. package/conversation/create-chat-stream-api.js +29 -28
  106. package/conversation/deriveConversationRowActionState/deriveConversationRowActionState.d.ts +39 -0
  107. package/conversation/deriveConversationRowActionState/deriveConversationRowActionState.d.ts.map +1 -0
  108. package/conversation/display-name-watch.d.ts +4 -0
  109. package/conversation/display-name-watch.d.ts.map +1 -0
  110. package/conversation/footer-message.d.ts +10 -0
  111. package/conversation/footer-message.d.ts.map +1 -0
  112. package/conversation/get-model-id-from-conversation-id.d.ts +38 -0
  113. package/conversation/get-model-id-from-conversation-id.d.ts.map +1 -0
  114. package/conversation/get-model-id-from-conversation-id.js +1 -1
  115. package/conversation/greeting.d.ts +18 -0
  116. package/conversation/greeting.d.ts.map +1 -0
  117. package/conversation/message-factory.d.ts +7 -0
  118. package/conversation/message-factory.d.ts.map +1 -0
  119. package/conversation/message-utils.d.ts +67 -0
  120. package/conversation/message-utils.d.ts.map +1 -0
  121. package/conversation/overlay-messages.d.ts +5 -0
  122. package/conversation/overlay-messages.d.ts.map +1 -0
  123. package/conversation/quick-app-conversation-starters.d.ts +10 -0
  124. package/conversation/quick-app-conversation-starters.d.ts.map +1 -0
  125. package/conversation/stage.d.ts +77 -0
  126. package/conversation/stage.d.ts.map +1 -0
  127. package/conversation/starter-option.d.ts +21 -0
  128. package/conversation/starter-option.d.ts.map +1 -0
  129. package/conversation/useActiveConversationSync/useActiveConversationSync.d.ts +35 -0
  130. package/conversation/useActiveConversationSync/useActiveConversationSync.d.ts.map +1 -0
  131. package/conversation/useAsyncConfirmDialog/useAsyncConfirmDialog.d.ts +46 -0
  132. package/conversation/useAsyncConfirmDialog/useAsyncConfirmDialog.d.ts.map +1 -0
  133. package/conversation/useAttachmentUpload/useAttachmentUpload.d.ts +27 -0
  134. package/conversation/useAttachmentUpload/useAttachmentUpload.d.ts.map +1 -0
  135. package/conversation/useAttachmentUpload/useAttachmentUpload.js +4 -1
  136. package/conversation/useConversationComposerDraft/useConversationComposerDraft.d.ts +39 -0
  137. package/conversation/useConversationComposerDraft/useConversationComposerDraft.d.ts.map +1 -0
  138. package/conversation/useConversationComposerDraft/useConversationComposerDraft.js +128 -0
  139. package/conversation/useConversationExport/useConversationExport.d.ts +72 -0
  140. package/conversation/useConversationExport/useConversationExport.d.ts.map +1 -0
  141. package/conversation/useConversationExport/useConversationExport.js +11 -12
  142. package/conversation/useConversationHandlers/attachment-to-dto.d.ts +7 -0
  143. package/conversation/useConversationHandlers/attachment-to-dto.d.ts.map +1 -0
  144. package/conversation/useConversationHandlers/message-factory.d.ts +9 -0
  145. package/conversation/useConversationHandlers/message-factory.d.ts.map +1 -0
  146. package/conversation/useConversationHandlers/message-utils.d.ts +38 -0
  147. package/conversation/useConversationHandlers/message-utils.d.ts.map +1 -0
  148. package/conversation/useConversationHandlers/message-utils.js +2 -2
  149. package/conversation/useConversationHandlers/starter-option.d.ts +24 -0
  150. package/conversation/useConversationHandlers/starter-option.d.ts.map +1 -0
  151. package/conversation/useConversationHandlers/useConversationHandlers.d.ts +66 -0
  152. package/conversation/useConversationHandlers/useConversationHandlers.d.ts.map +1 -0
  153. package/conversation/useConversationHandlers/useConversationHandlers.js +2 -2
  154. package/conversation/useConversationImport/useConversationImport.d.ts +54 -0
  155. package/conversation/useConversationImport/useConversationImport.d.ts.map +1 -0
  156. package/conversation/useConversationImport/useConversationImport.js +24 -24
  157. package/conversation/useConversationLookupMaps/useConversationLookupMaps.d.ts +24 -0
  158. package/conversation/useConversationLookupMaps/useConversationLookupMaps.d.ts.map +1 -0
  159. package/conversation/useConversationPanelItems/useConversationPanelItems.d.ts +65 -0
  160. package/conversation/useConversationPanelItems/useConversationPanelItems.d.ts.map +1 -0
  161. package/conversation/useConversationPanelItems/useConversationPanelItems.js +31 -30
  162. package/conversation/useConversationScroll/useConversationScroll.d.ts +46 -0
  163. package/conversation/useConversationScroll/useConversationScroll.d.ts.map +1 -0
  164. package/conversation/useConversationScroll/useConversationScroll.js +2 -6
  165. package/conversation/useConversationStream/apply-chunk.d.ts +35 -0
  166. package/conversation/useConversationStream/apply-chunk.d.ts.map +1 -0
  167. package/conversation/useConversationStream/buffered-generation.d.ts +15 -0
  168. package/conversation/useConversationStream/buffered-generation.d.ts.map +1 -0
  169. package/conversation/useConversationStream/conversation-path.d.ts +7 -0
  170. package/conversation/useConversationStream/conversation-path.d.ts.map +1 -0
  171. package/conversation/useConversationStream/conversation-path.js +2 -2
  172. package/conversation/useConversationStream/frame-scheduler.d.ts +14 -0
  173. package/conversation/useConversationStream/frame-scheduler.d.ts.map +1 -0
  174. package/conversation/useConversationStream/frame-scheduler.js +17 -17
  175. package/conversation/useConversationStream/generation-resume.d.ts +85 -0
  176. package/conversation/useConversationStream/generation-resume.d.ts.map +1 -0
  177. package/conversation/useConversationStream/generation-resume.js +11 -21
  178. package/conversation/useConversationStream/useConversationStream.d.ts +145 -0
  179. package/conversation/useConversationStream/useConversationStream.d.ts.map +1 -0
  180. package/conversation/useConversationStream/useConversationStream.js +241 -248
  181. package/conversation/useImportFilePicker/useImportFilePicker.d.ts +32 -0
  182. package/conversation/useImportFilePicker/useImportFilePicker.d.ts.map +1 -0
  183. package/conversation/useMessageSelectionReply/useMessageSelectionReply.d.ts +42 -0
  184. package/conversation/useMessageSelectionReply/useMessageSelectionReply.d.ts.map +1 -0
  185. package/conversation/useMessageSelectionReply/useMessageSelectionReply.js +4 -10
  186. package/conversation/useTranscribeAudio/audio-transcription-error.d.ts +19 -0
  187. package/conversation/useTranscribeAudio/audio-transcription-error.d.ts.map +1 -0
  188. package/conversation/useTranscribeAudio/transcription-retry.d.ts +2 -0
  189. package/conversation/useTranscribeAudio/transcription-retry.d.ts.map +1 -0
  190. package/conversation/useTranscribeAudio/useTranscribeAudio.d.ts +43 -0
  191. package/conversation/useTranscribeAudio/useTranscribeAudio.d.ts.map +1 -0
  192. package/conversation/useTranscribeAudio/useTranscribeAudio.js +30 -27
  193. package/conversation-overlay.d.ts +2 -7
  194. package/conversation-overlay.js +1 -2
  195. package/conversation-sources/useConversationSources/useConversationSources.d.ts +20 -0
  196. package/conversation-sources/useConversationSources/useConversationSources.d.ts.map +1 -0
  197. package/conversation-sources.d.ts +2 -25
  198. package/conversation-sources.js +1 -2
  199. package/conversation-transfer.d.ts +2 -190
  200. package/conversation.d.ts +2 -1372
  201. package/conversation.js +34 -32
  202. package/entry-points/attachments.d.ts +3 -0
  203. package/entry-points/attachments.d.ts.map +1 -0
  204. package/entry-points/catalog.d.ts +25 -0
  205. package/entry-points/catalog.d.ts.map +1 -0
  206. package/entry-points/conversation-overlay.d.ts +2 -0
  207. package/entry-points/conversation-overlay.d.ts.map +1 -0
  208. package/entry-points/conversation-sources.d.ts +2 -0
  209. package/entry-points/conversation-sources.d.ts.map +1 -0
  210. package/entry-points/conversation-transfer.d.ts +7 -0
  211. package/entry-points/conversation-transfer.d.ts.map +1 -0
  212. package/entry-points/conversation.d.ts +36 -0
  213. package/entry-points/conversation.d.ts.map +1 -0
  214. package/entry-points/file-manager-canvas.d.ts +2 -0
  215. package/entry-points/file-manager-canvas.d.ts.map +1 -0
  216. package/entry-points/file-manager.d.ts +31 -0
  217. package/entry-points/file-manager.d.ts.map +1 -0
  218. package/entry-points/mcp-apps.d.ts +6 -0
  219. package/entry-points/mcp-apps.d.ts.map +1 -0
  220. package/entry-points/oauth.d.ts +10 -0
  221. package/entry-points/oauth.d.ts.map +1 -0
  222. package/entry-points/offline-credentials.d.ts +5 -0
  223. package/entry-points/offline-credentials.d.ts.map +1 -0
  224. package/entry-points/scheduled-tasks.d.ts +9 -0
  225. package/entry-points/scheduled-tasks.d.ts.map +1 -0
  226. package/entry-points/scroll-anchoring.d.ts +2 -0
  227. package/entry-points/scroll-anchoring.d.ts.map +1 -0
  228. package/entry-points/sharing.d.ts +3 -0
  229. package/entry-points/sharing.d.ts.map +1 -0
  230. package/entry-points/skill-editor.d.ts +9 -0
  231. package/entry-points/skill-editor.d.ts.map +1 -0
  232. package/entry-points/skills-state.d.ts +2 -0
  233. package/entry-points/skills-state.d.ts.map +1 -0
  234. package/entry-points/source-content.d.ts +2 -0
  235. package/entry-points/source-content.d.ts.map +1 -0
  236. package/entry-points/usage-limits.d.ts +8 -0
  237. package/entry-points/usage-limits.d.ts.map +1 -0
  238. package/entry-points/usage.d.ts +3 -0
  239. package/entry-points/usage.d.ts.map +1 -0
  240. package/entry-points/utils.d.ts +17 -0
  241. package/entry-points/utils.d.ts.map +1 -0
  242. package/entry-points/viewport-layout.d.ts +4 -0
  243. package/entry-points/viewport-layout.d.ts.map +1 -0
  244. package/file-manager-canvas.d.ts +2 -418
  245. package/file-manager-canvas.js +1 -2
  246. package/file-manager.d.ts +2 -1250
  247. package/file-manager.js +21 -21
  248. package/files/annotation.d.ts +10 -0
  249. package/files/annotation.d.ts.map +1 -0
  250. package/files/attachment-canvas.d.ts +123 -0
  251. package/files/attachment-canvas.d.ts.map +1 -0
  252. package/files/attachment-dto-to-display.d.ts +10 -0
  253. package/files/attachment-dto-to-display.d.ts.map +1 -0
  254. package/files/attachment-types.d.ts +21 -0
  255. package/files/attachment-types.d.ts.map +1 -0
  256. package/files/attachment-types.js +1 -1
  257. package/files/create-files-api.d.ts +52 -0
  258. package/files/create-files-api.d.ts.map +1 -0
  259. package/files/create-files-api.js +1 -1
  260. package/files/create-upload-file-with-progress.d.ts +27 -0
  261. package/files/create-upload-file-with-progress.d.ts.map +1 -0
  262. package/files/create-upload-file-with-progress.js +42 -34
  263. package/files/dial-file-manager-copy-move.util.d.ts +15 -0
  264. package/files/dial-file-manager-copy-move.util.d.ts.map +1 -0
  265. package/files/dial-file-manager-mapping.util.d.ts +55 -0
  266. package/files/dial-file-manager-mapping.util.d.ts.map +1 -0
  267. package/files/dial-file-manager-mapping.util.js +97 -69
  268. package/files/dial-file-manager-path.util.d.ts +48 -0
  269. package/files/dial-file-manager-path.util.d.ts.map +1 -0
  270. package/files/dial-file-manager.model.d.ts +36 -0
  271. package/files/dial-file-manager.model.d.ts.map +1 -0
  272. package/files/dial-file-manager.types.d.ts +335 -0
  273. package/files/dial-file-manager.types.d.ts.map +1 -0
  274. package/files/dial-file-to-attachment.d.ts +26 -0
  275. package/files/dial-file-to-attachment.d.ts.map +1 -0
  276. package/files/dial-file-to-attachment.js +3 -3
  277. package/files/dial-file.d.ts +17 -0
  278. package/files/dial-file.d.ts.map +1 -0
  279. package/files/dial-files-api.d.ts +71 -0
  280. package/files/dial-files-api.d.ts.map +1 -0
  281. package/files/download-destination.d.ts +31 -0
  282. package/files/download-destination.d.ts.map +1 -0
  283. package/files/download-progress.d.ts +33 -0
  284. package/files/download-progress.d.ts.map +1 -0
  285. package/files/download-progress.js +28 -0
  286. package/files/file-manager-variant.d.ts +3 -0
  287. package/files/file-manager-variant.d.ts.map +1 -0
  288. package/files/file-name.d.ts +19 -0
  289. package/files/file-name.d.ts.map +1 -0
  290. package/files/prepare-download-destination.d.ts +8 -0
  291. package/files/prepare-download-destination.d.ts.map +1 -0
  292. package/files/resolve-dial-file-api-path.d.ts +12 -0
  293. package/files/resolve-dial-file-api-path.d.ts.map +1 -0
  294. package/files/source-content.d.ts +28 -0
  295. package/files/source-content.d.ts.map +1 -0
  296. package/files/source-content.js +1 -1
  297. package/files/useDialFileListing/useDialFileListing.d.ts +82 -0
  298. package/files/useDialFileListing/useDialFileListing.d.ts.map +1 -0
  299. package/files/useDialFileListing/useDialFileListing.js +95 -107
  300. package/files/useDialFileManager/useDialFileManager.d.ts +16 -0
  301. package/files/useDialFileManager/useDialFileManager.d.ts.map +1 -0
  302. package/files/useDialFileManager/useDialFileManager.js +5 -2
  303. package/files/useDialFileManagerSections/useDialFileManagerSections.d.ts +25 -0
  304. package/files/useDialFileManagerSections/useDialFileManagerSections.d.ts.map +1 -0
  305. package/files/useDialFileManagerSections/useDialFileManagerSections.js +59 -68
  306. package/files/useDialFileManagerTabConfig/useDialFileManagerTabConfig.d.ts +15 -0
  307. package/files/useDialFileManagerTabConfig/useDialFileManagerTabConfig.d.ts.map +1 -0
  308. package/files/useDialFileManagerTabConfig/useDialFileManagerTabConfig.js +1 -1
  309. package/files/useDialFileMetadata/useDialFileMetadata.d.ts +28 -0
  310. package/files/useDialFileMetadata/useDialFileMetadata.d.ts.map +1 -0
  311. package/files/useDialFileMetadata/useDialFileMetadata.js +3 -3
  312. package/files/useDialFileMutations/useDialFileMutations.d.ts +77 -0
  313. package/files/useDialFileMutations/useDialFileMutations.d.ts.map +1 -0
  314. package/files/useDialFileMutations/useDialFileMutations.js +230 -159
  315. package/files/useDialFileSharing/useDialFileSharing.d.ts +34 -0
  316. package/files/useDialFileSharing/useDialFileSharing.d.ts.map +1 -0
  317. package/files/useDialFileUploadBatch/useDialFileUploadBatch.d.ts +47 -0
  318. package/files/useDialFileUploadBatch/useDialFileUploadBatch.d.ts.map +1 -0
  319. package/files/useDialFileUploadBatch/useDialFileUploadBatch.js +105 -97
  320. package/files/useFileAttachmentPicker/useFileAttachmentPicker.d.ts +59 -0
  321. package/files/useFileAttachmentPicker/useFileAttachmentPicker.d.ts.map +1 -0
  322. package/files/useFileAttachmentPicker/useFileAttachmentPicker.js +2 -2
  323. package/index.d.ts +167 -6990
  324. package/index.d.ts.map +1 -0
  325. package/index.js +115 -101
  326. package/mcp-apps/mcp-apps-api-client.d.ts +28 -0
  327. package/mcp-apps/mcp-apps-api-client.d.ts.map +1 -0
  328. package/mcp-apps/mcp-apps-api-client.js +18 -17
  329. package/mcp-apps/useMcpAppHostAdapter/useMcpAppHostAdapter.d.ts +14 -0
  330. package/mcp-apps/useMcpAppHostAdapter/useMcpAppHostAdapter.d.ts.map +1 -0
  331. package/mcp-apps/useMcpAppHostContext/useMcpAppHostContext.d.ts +29 -0
  332. package/mcp-apps/useMcpAppHostContext/useMcpAppHostContext.d.ts.map +1 -0
  333. package/mcp-apps/useMcpAppTools/useMcpAppTools.d.ts +22 -0
  334. package/mcp-apps/useMcpAppTools/useMcpAppTools.d.ts.map +1 -0
  335. package/mcp-apps/useMcpAppTools/useMcpAppTools.js +28 -31
  336. package/mcp-apps/useOpenMcpAppCanvas/useOpenMcpAppCanvas.d.ts +36 -0
  337. package/mcp-apps/useOpenMcpAppCanvas/useOpenMcpAppCanvas.d.ts.map +1 -0
  338. package/mcp-apps.d.ts +2 -256
  339. package/oauth/authorize-url.d.ts +16 -0
  340. package/oauth/authorize-url.d.ts.map +1 -0
  341. package/oauth/authorize-url.js +1 -1
  342. package/oauth/handshake.d.ts +30 -0
  343. package/oauth/handshake.d.ts.map +1 -0
  344. package/oauth/handshake.js +3 -10
  345. package/oauth/models.d.ts +81 -0
  346. package/oauth/models.d.ts.map +1 -0
  347. package/oauth/popup.d.ts +30 -0
  348. package/oauth/popup.d.ts.map +1 -0
  349. package/oauth/popup.js +19 -17
  350. package/oauth/toolset-id.d.ts +53 -0
  351. package/oauth/toolset-id.d.ts.map +1 -0
  352. package/oauth/types.d.ts +84 -0
  353. package/oauth/types.d.ts.map +1 -0
  354. package/oauth/useOAuthCallbackCompletion/useOAuthCallbackCompletion.d.ts +54 -0
  355. package/oauth/useOAuthCallbackCompletion/useOAuthCallbackCompletion.d.ts.map +1 -0
  356. package/oauth/useOAuthCallbackCompletion/useOAuthCallbackCompletion.js +41 -42
  357. package/oauth/useToolsetLogin/useToolsetLogin.d.ts +79 -0
  358. package/oauth/useToolsetLogin/useToolsetLogin.d.ts.map +1 -0
  359. package/oauth/useToolsetLogin/useToolsetLogin.js +2 -1
  360. package/oauth.d.ts +2 -472
  361. package/offline-credentials/map-offline-credentials-response.d.ts +17 -0
  362. package/offline-credentials/map-offline-credentials-response.d.ts.map +1 -0
  363. package/offline-credentials/map-offline-credentials-response.js +15 -0
  364. package/offline-credentials/useOfflineCredentialsAuth/useOfflineCredentialsAuth.d.ts +58 -0
  365. package/offline-credentials/useOfflineCredentialsAuth/useOfflineCredentialsAuth.d.ts.map +1 -0
  366. package/offline-credentials/useOfflineCredentialsAuth/useOfflineCredentialsAuth.js +37 -0
  367. package/offline-credentials/useOfflineCredentialsGate/useOfflineCredentialsGate.d.ts +57 -0
  368. package/offline-credentials/useOfflineCredentialsGate/useOfflineCredentialsGate.d.ts.map +1 -0
  369. package/offline-credentials/useOfflineCredentialsGate/useOfflineCredentialsGate.js +34 -0
  370. package/offline-credentials/useOfflineCredentialsLogin/useOfflineCredentialsLogin.d.ts +28 -0
  371. package/offline-credentials/useOfflineCredentialsLogin/useOfflineCredentialsLogin.d.ts.map +1 -0
  372. package/offline-credentials/useOfflineCredentialsLogin/useOfflineCredentialsLogin.js +29 -0
  373. package/offline-credentials.d.ts +2 -0
  374. package/offline-credentials.js +5 -0
  375. package/package.json +31 -17
  376. package/prompt/export-prompt.d.ts +31 -0
  377. package/prompt/export-prompt.d.ts.map +1 -0
  378. package/prompt/prompt-resource.d.ts +30 -0
  379. package/prompt/prompt-resource.d.ts.map +1 -0
  380. package/prompt/prompt.d.ts +34 -0
  381. package/prompt/prompt.d.ts.map +1 -0
  382. package/prompt/usePromptsState/usePromptsState.d.ts +34 -0
  383. package/prompt/usePromptsState/usePromptsState.d.ts.map +1 -0
  384. package/scheduled-task/check-scheduled-task-auth-session-error.d.ts +27 -0
  385. package/scheduled-task/check-scheduled-task-auth-session-error.d.ts.map +1 -0
  386. package/scheduled-task/check-scheduled-task-auth-session-error.js +17 -0
  387. package/scheduled-task/scheduled-task-description.d.ts +38 -0
  388. package/scheduled-task/scheduled-task-description.d.ts.map +1 -0
  389. package/scheduled-task/scheduled-task-description.js +1 -1
  390. package/scheduled-task/scheduled-task-mapping.d.ts +19 -0
  391. package/scheduled-task/scheduled-task-mapping.d.ts.map +1 -0
  392. package/scheduled-task/scheduled-task-preparation.d.ts +19 -0
  393. package/scheduled-task/scheduled-task-preparation.d.ts.map +1 -0
  394. package/scheduled-task/scheduled-task-trigger.d.ts +26 -0
  395. package/scheduled-task/scheduled-task-trigger.d.ts.map +1 -0
  396. package/scheduled-task/scheduled-task-trigger.js +1 -1
  397. package/scheduled-task/scheduled-tasks-api-client.d.ts +67 -0
  398. package/scheduled-task/scheduled-tasks-api-client.d.ts.map +1 -0
  399. package/scheduled-task/use-scheduled-task-runs.d.ts +40 -0
  400. package/scheduled-task/use-scheduled-task-runs.d.ts.map +1 -0
  401. package/scheduled-task/use-scheduled-task-runs.js +67 -79
  402. package/scheduled-task/use-scheduled-tasks.d.ts +28 -0
  403. package/scheduled-task/use-scheduled-tasks.d.ts.map +1 -0
  404. package/scheduled-task/use-scheduled-tasks.js +1 -1
  405. package/scheduled-tasks.d.ts +2 -250
  406. package/scheduled-tasks.js +2 -1
  407. package/scroll-anchoring.d.ts +2 -50
  408. package/scroll-anchoring.js +1 -2
  409. package/shared/application-schema.d.ts +16 -0
  410. package/shared/application-schema.d.ts.map +1 -0
  411. package/shared/application-schema.js +3 -3
  412. package/shared/browser-timezone.d.ts +7 -0
  413. package/shared/browser-timezone.d.ts.map +1 -0
  414. package/shared/cron-day-of-month.d.ts +21 -0
  415. package/shared/cron-day-of-month.d.ts.map +1 -0
  416. package/shared/cron-day-of-month.js +10 -10
  417. package/shared/cron-weekday.d.ts +5 -0
  418. package/shared/cron-weekday.d.ts.map +1 -0
  419. package/shared/custom-apps.d.ts +7 -0
  420. package/shared/custom-apps.d.ts.map +1 -0
  421. package/shared/external-services.d.ts +16 -0
  422. package/shared/external-services.d.ts.map +1 -0
  423. package/shared/formatting.d.ts +5 -0
  424. package/shared/formatting.d.ts.map +1 -0
  425. package/shared/locale.d.ts +45 -0
  426. package/shared/locale.d.ts.map +1 -0
  427. package/shared/locale.js +2 -2
  428. package/shared/string-utils.d.ts +11 -0
  429. package/shared/string-utils.d.ts.map +1 -0
  430. package/shared/toolset-login-events.d.ts +15 -0
  431. package/shared/toolset-login-events.d.ts.map +1 -0
  432. package/sharing.d.ts +2 -65
  433. package/skill/skill-archive.d.ts +7 -0
  434. package/skill/skill-archive.d.ts.map +1 -0
  435. package/skill/skill-file-batch-validation.d.ts +70 -0
  436. package/skill/skill-file-batch-validation.d.ts.map +1 -0
  437. package/skill/skill-file-batch-validation.js +18 -17
  438. package/skill/skill-file-preview.d.ts +25 -0
  439. package/skill/skill-file-preview.d.ts.map +1 -0
  440. package/skill/skill-manifest.d.ts +28 -0
  441. package/skill/skill-manifest.d.ts.map +1 -0
  442. package/skill/skill-types.d.ts +46 -0
  443. package/skill/skill-types.d.ts.map +1 -0
  444. package/skill/skill-types.js +1 -1
  445. package/skill/skill.d.ts +160 -0
  446. package/skill/skill.d.ts.map +1 -0
  447. package/skill/skill.js +12 -15
  448. package/skill/useSkillArchiveImport/useSkillArchiveImport.d.ts +65 -0
  449. package/skill/useSkillArchiveImport/useSkillArchiveImport.d.ts.map +1 -0
  450. package/skill/useSkillArchiveImport/useSkillArchiveImport.js +1 -7
  451. package/skill/useSkillEditorLoad.d.ts +74 -0
  452. package/skill/useSkillEditorLoad.d.ts.map +1 -0
  453. package/skill/useSkillEditorSubmit.d.ts +125 -0
  454. package/skill/useSkillEditorSubmit.d.ts.map +1 -0
  455. package/skill/useSkillEditorSubmit.js +1 -5
  456. package/skill/useSkillFileActions.d.ts +60 -0
  457. package/skill/useSkillFileActions.d.ts.map +1 -0
  458. package/skill/useSkillFilePreview.d.ts +38 -0
  459. package/skill/useSkillFilePreview.d.ts.map +1 -0
  460. package/skill/useSkillsState/useSkillsState.d.ts +35 -0
  461. package/skill/useSkillsState/useSkillsState.d.ts.map +1 -0
  462. package/skill-editor.d.ts +2 -655
  463. package/skills-state.d.ts +2 -40
  464. package/skills-state.js +1 -2
  465. package/source-content.d.ts +2 -29
  466. package/source-content.js +1 -2
  467. package/usage/map-usage-data-to-dashboard.d.ts +39 -0
  468. package/usage/map-usage-data-to-dashboard.d.ts.map +1 -0
  469. package/usage/map-user-usage-to-model-limits.d.ts +62 -0
  470. package/usage/map-user-usage-to-model-limits.d.ts.map +1 -0
  471. package/usage/usage-banner-source.d.ts +23 -0
  472. package/usage/usage-banner-source.d.ts.map +1 -0
  473. package/usage/usage-banner-source.js +36 -0
  474. package/usage/usage-period.d.ts +7 -0
  475. package/usage/usage-period.d.ts.map +1 -0
  476. package/usage/usage-period.js +6 -0
  477. package/usage/usage-reset-time.d.ts +69 -0
  478. package/usage/usage-reset-time.d.ts.map +1 -0
  479. package/usage/usage-reset-time.js +72 -0
  480. package/usage/useDeploymentUsageLimits/useDeploymentUsageLimits.d.ts +32 -0
  481. package/usage/useDeploymentUsageLimits/useDeploymentUsageLimits.d.ts.map +1 -0
  482. package/usage/useDeploymentUsageLimits/useDeploymentUsageLimits.js +39 -0
  483. package/usage/useRefreshUsageAfterGeneration/useRefreshUsageAfterGeneration.d.ts +16 -0
  484. package/usage/useRefreshUsageAfterGeneration/useRefreshUsageAfterGeneration.d.ts.map +1 -0
  485. package/usage/useRefreshUsageAfterGeneration/useRefreshUsageAfterGeneration.js +14 -0
  486. package/usage/useUsageData/useUsageData.d.ts +28 -0
  487. package/usage/useUsageData/useUsageData.d.ts.map +1 -0
  488. package/usage/useUsageLimitBanner/useUsageLimitBanner.d.ts +56 -0
  489. package/usage/useUsageLimitBanner/useUsageLimitBanner.d.ts.map +1 -0
  490. package/usage/useUsageLimitBanner/useUsageLimitBanner.js +67 -0
  491. package/usage/useUsageLimitBannerDismissal/useUsageLimitBannerDismissal.d.ts +14 -0
  492. package/usage/useUsageLimitBannerDismissal/useUsageLimitBannerDismissal.d.ts.map +1 -0
  493. package/usage/useUsageLimitBannerDismissal/useUsageLimitBannerDismissal.js +19 -0
  494. package/usage-limits.d.ts +2 -0
  495. package/usage-limits.js +8 -0
  496. package/usage.d.ts +2 -125
  497. package/useChatSettingsFormConfig/useChatSettingsFormConfig.d.ts +128 -0
  498. package/useChatSettingsFormConfig/useChatSettingsFormConfig.d.ts.map +1 -0
  499. package/usePageFileDrag/usePageFileDrag.d.ts +16 -0
  500. package/usePageFileDrag/usePageFileDrag.d.ts.map +1 -0
  501. package/usePageFileDrag/usePageFileDrag.js +3 -3
  502. package/usePanelMaxWidth/usePanelMaxWidth.d.ts +6 -0
  503. package/usePanelMaxWidth/usePanelMaxWidth.d.ts.map +1 -0
  504. package/useShareLink/useShareLink.d.ts +23 -0
  505. package/useShareLink/useShareLink.d.ts.map +1 -0
  506. package/useShareLink/useShareLink.js +1 -0
  507. package/useShareRecipientsCount/useShareRecipientsCount.d.ts +36 -0
  508. package/useShareRecipientsCount/useShareRecipientsCount.d.ts.map +1 -0
  509. package/useToolsMenu/useToolsMenu.d.ts +31 -0
  510. package/useToolsMenu/useToolsMenu.d.ts.map +1 -0
  511. package/useViewportWidth/useViewportWidth.d.ts +3 -0
  512. package/useViewportWidth/useViewportWidth.d.ts.map +1 -0
  513. package/utils.d.ts +2 -404
  514. package/viewport-layout.d.ts +2 -27
@@ -10,7 +10,7 @@ import { ConversationTransferErrorCode as g, ConversationTransferSubjectKind as
10
10
  import { useCallback as b } from "react";
11
11
  import { ResponseError as x } from "@epam/ai-dial-chat-api-client";
12
12
  //#region src/conversation/useConversationExport/useConversationExport.ts
13
- var S = 5, C = 512 * 1024 * 1024, w = 429, T = 5, E = 2e3, D = (e) => e instanceof x && e.response.status === w, O = (e, t) => {
13
+ var S = 5, C = 536870912, w = 429, T = 5, E = 2e3, D = (e) => e instanceof x && e.response.status === w, O = (e, t) => {
14
14
  let n = Number(e.response.headers.get("Retry-After"));
15
15
  return Number.isFinite(n) && n > 0 ? n * 1e3 : E * t;
16
16
  }, k = (e, t) => new Promise((n) => {
@@ -38,11 +38,8 @@ var S = 5, C = 512 * 1024 * 1024, w = 429, T = 5, E = 2e3, D = (e) => e instance
38
38
  entries: await u(e, S, async (e) => {
39
39
  if (t.aborted || i) return;
40
40
  let n = l(e.fileId);
41
- if (!n) {
42
- r = !0, o();
43
- return;
44
- }
45
- try {
41
+ if (!n) r = !0, o();
42
+ else try {
46
43
  let e = await w.downloadFileRaw({
47
44
  bucket: n.bucket,
48
45
  path: n.path
@@ -93,7 +90,8 @@ var S = 5, C = 512 * 1024 * 1024, w = 429, T = 5, E = 2e3, D = (e) => e instance
93
90
  }));
94
91
  try {
95
92
  if (l === e.WithoutAttachments) {
96
- y(o(i([s(_)], [])), u), k?.({
93
+ let e = i([s(_)], []), t = o(e);
94
+ y(t, u), k?.({
97
95
  jobId: n,
98
96
  titles: [a]
99
97
  }), I.succeedJob(n);
@@ -134,14 +132,14 @@ var S = 5, C = 512 * 1024 * 1024, w = 429, T = 5, E = 2e3, D = (e) => e instance
134
132
  }), I.failJob(n, g.FileTooLarge), console.error(`Refused to build an export archive of ${C} bytes: over the ${O}-byte limit`);
135
133
  return;
136
134
  }
137
- let { blob: w, skippedPaths: T } = h(i([_], []), b), E = x || T.length > 0;
138
- E && P?.({
135
+ let w = i([_], []), { blob: T, skippedPaths: E } = h(w, b), D = x || E.length > 0;
136
+ D && P?.({
139
137
  jobId: n,
140
138
  code: t.AttachmentSkipped
141
- }), y(w, u), k?.({
139
+ }), y(T, u), k?.({
142
140
  jobId: n,
143
141
  titles: [a]
144
- }), E ? I.warnJob(n, t.AttachmentSkipped) : I.succeedJob(n);
142
+ }), D ? I.warnJob(n, t.AttachmentSkipped) : I.succeedJob(n);
145
143
  } catch (e) {
146
144
  if (d.aborted) return;
147
145
  let t = M(e) ? g.FileTooLarge : g.Unknown, r = await D(e);
@@ -250,7 +248,8 @@ var S = 5, C = 512 * 1024 * 1024, w = 429, T = 5, E = 2e3, D = (e) => e instance
250
248
  }
251
249
  }
252
250
  if (!n.aborted) try {
253
- y(o(i(l.map(s), [])), t), k?.({ jobId: e }), I.succeedJob(e);
251
+ let n = i(l.map(s), []), r = o(n);
252
+ y(r, t), k?.({ jobId: e }), I.succeedJob(e);
254
253
  } catch (t) {
255
254
  let n = M(t) ? g.FileTooLarge : g.Unknown, r = await D(t);
256
255
  F?.({
@@ -0,0 +1,7 @@
1
+ import { AttachmentDto } from '@epam/ai-dial-chat-api-client';
2
+ import { Attachment } from '@epam/ai-dial-chat-shared';
3
+ /** Maps an already-uploaded attachment to its DTO shape. Throws if the attachment has no `url` yet. */
4
+ export declare const attachmentToDto: (attachment: Attachment) => AttachmentDto;
5
+ /** Maps a list of already-uploaded attachments to DTOs, or `undefined` when the list is empty. */
6
+ export declare const attachmentsToDtos: (attachments: Attachment[]) => AttachmentDto[] | undefined;
7
+ //# sourceMappingURL=attachment-to-dto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attachment-to-dto.d.ts","sourceRoot":"","sources":["../../../src/conversation/useConversationHandlers/attachment-to-dto.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAE5D,uGAAuG;AACvG,eAAO,MAAM,eAAe,GAAI,YAAY,UAAU,KAAG,aAUxD,CAAC;AAEF,kGAAkG;AAClG,eAAO,MAAM,iBAAiB,GAC5B,aAAa,UAAU,EAAE,KACxB,aAAa,EAAE,GAAG,SAGpB,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { Message, MessageCustomContent } from '@epam/ai-dial-chat-shared';
2
+ /** A newly-created user message paired with its empty assistant placeholder. */
3
+ export interface MessagePair {
4
+ userMessage: Message;
5
+ assistantMessage: Message;
6
+ }
7
+ /** Builds a user message and its empty assistant placeholder, both timestamped `now`. */
8
+ export declare const createMessagePair: (content: string, customContent?: MessageCustomContent, deploymentId?: string | null) => MessagePair;
9
+ //# sourceMappingURL=message-factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-factory.d.ts","sourceRoot":"","sources":["../../../src/conversation/useConversationHandlers/message-factory.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,oBAAoB,EAE1B,MAAM,2BAA2B,CAAC;AAEnC,gFAAgF;AAChF,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,OAAO,CAAC;IACrB,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAED,yFAAyF;AACzF,eAAO,MAAM,iBAAiB,GAC5B,SAAS,MAAM,EACf,gBAAgB,oBAAoB,EACpC,eAAe,MAAM,GAAG,IAAI,KAC3B,WAoBF,CAAC"}
@@ -0,0 +1,38 @@
1
+ import { Attachment, DisplayAttachment, Message, MessageCustomContent, RequestSkill } from '@epam/ai-dial-chat-shared';
2
+ /** Whether at least one tool toggle in `value` is active. */
3
+ export declare const hasActiveToolConfig: (value: Record<string, boolean> | undefined) => boolean;
4
+ /** Returns `customContent` with `configuration_value` set to the active tool toggles, or `customContent` unchanged when none is active. */
5
+ export declare const withToolConfiguration: (customContent: MessageCustomContent | undefined, toolConfigurationValue: Record<string, boolean> | undefined) => MessageCustomContent | undefined;
6
+ /**
7
+ * Returns `true` when the edited text, attachment list, or skills list differs
8
+ * from the original message, meaning a regeneration is needed.
9
+ *
10
+ * `skills` is the skills state the edit will write: `undefined` leaves the
11
+ * original skills out of the comparison (nothing about them changes), while an
12
+ * array — including an empty one — is compared against the original.
13
+ *
14
+ * @param originalMessage - The unmodified message stored in the conversation.
15
+ * @param newText - The text the user submitted from the edit area.
16
+ * @param keptDisplayAttachments - Attachments the user kept (not removed).
17
+ * @param newAttachments - Brand-new attachments the user added during editing.
18
+ * @param skills - The skills the edited message will carry, or `undefined` to leave them unchanged.
19
+ */
20
+ export declare const isMessageChanged: (originalMessage: Message, newText: string, keptDisplayAttachments: DisplayAttachment[], newAttachments: Attachment[], skills?: RequestSkill[]) => boolean;
21
+ /**
22
+ * Whether the assistant answer that follows an edited user message is missing
23
+ * or incomplete: no message at all, a non-assistant message, an answer the
24
+ * user stopped, or one that ended with a stream error.
25
+ */
26
+ export declare const isAnswerIncomplete: (answer: Message | undefined) => boolean;
27
+ /**
28
+ * Whether submitting an edit has to re-run the generation.
29
+ *
30
+ * True whenever the message itself changed, and also when it is unchanged but
31
+ * its answer never completed — after stopping a generation the user submits
32
+ * the same message precisely to get a full answer, so treating that as "no
33
+ * change" would leave the conversation stuck with the partial one.
34
+ *
35
+ * @param skills - The skills the edited message will carry, or `undefined` to leave them unchanged — see {@link isMessageChanged}.
36
+ */
37
+ export declare const shouldRerunGenerationOnEdit: (messages: Message[], messageIndex: number, newText: string, keptDisplayAttachments: DisplayAttachment[], newAttachments: Attachment[], skills?: RequestSkill[]) => boolean;
38
+ //# sourceMappingURL=message-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-utils.d.ts","sourceRoot":"","sources":["../../../src/conversation/useConversationHandlers/message-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,UAAU,EACf,KAAK,iBAAiB,EACtB,KAAK,OAAO,EACZ,KAAK,oBAAoB,EAEzB,KAAK,YAAY,EAClB,MAAM,2BAA2B,CAAC;AAEnC,6DAA6D;AAC7D,eAAO,MAAM,mBAAmB,GAC9B,OAAO,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,KACzC,OAAyD,CAAC;AAE7D,2IAA2I;AAC3I,eAAO,MAAM,qBAAqB,GAChC,eAAe,oBAAoB,GAAG,SAAS,EAC/C,wBAAwB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,KAC1D,oBAAoB,GAAG,SAGP,CAAC;AAWpB;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,gBAAgB,GAC3B,iBAAiB,OAAO,EACxB,SAAS,MAAM,EACf,wBAAwB,iBAAiB,EAAE,EAC3C,gBAAgB,UAAU,EAAE,EAC5B,SAAS,YAAY,EAAE,KACtB,OAUF,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,GAAI,QAAQ,OAAO,GAAG,SAAS,KAAG,OAI9B,CAAC;AAEpC;;;;;;;;;GASG;AACH,eAAO,MAAM,2BAA2B,GACtC,UAAU,OAAO,EAAE,EACnB,cAAc,MAAM,EACpB,SAAS,MAAM,EACf,wBAAwB,iBAAiB,EAAE,EAC3C,gBAAgB,UAAU,EAAE,EAC5B,SAAS,YAAY,EAAE,KACtB,OAaF,CAAC"}
@@ -3,10 +3,10 @@ import { MessageRole as e } from "@epam/ai-dial-chat-shared";
3
3
  var t = (e) => e != null && Object.keys(e).length > 0, n = (e, n) => t(n) ? {
4
4
  ...e,
5
5
  configuration_value: n
6
- } : e, r = (e, t) => (e?.length ?? 0) === (t?.length ?? 0) ? (e ?? []).some((e, n) => e.url !== t?.[n]?.url) : !0, i = (e, t, n, i, a) => {
6
+ } : e, r = (e, t) => (e?.length ?? 0) !== (t?.length ?? 0) || (e ?? []).some((e, n) => e.url !== t?.[n]?.url), i = (e, t, n, i, a) => {
7
7
  if (t !== e.content || i.length > 0) return !0;
8
8
  let o = e.custom_content?.attachments?.length ?? 0;
9
- return n.length === o ? a != null && r(e.custom_content?.skills, a) : !0;
9
+ return n.length !== o || a != null && r(e.custom_content?.skills, a);
10
10
  }, a = (t) => t == null || t.role !== e.Assistant || !!t.wasStoppedByUser || t.streamErrorMessage != null, o = (e, t, n, r, o, s) => {
11
11
  let c = e[t];
12
12
  return c ? i(c, n, r, o, s) || a(e[t + 1]) : !1;
@@ -0,0 +1,24 @@
1
+ import { StarterOption } from '@epam/ai-dial-chat-shared';
2
+ /**
3
+ * Returns the text to start/populate a conversation from a selected starter button.
4
+ * `description` (the schema property's shared intro/question text) is used only
5
+ * as a fallback when the starter's own `populateText` is explicitly `null` — it
6
+ * must never override a starter's own configured prompt.
7
+ */
8
+ export declare const getStarterConversationText: (starter: StarterOption, description?: string) => string;
9
+ /**
10
+ * Returns submitted text for DIAL starter/form buttons.
11
+ * For submit buttons, `populateText: null` explicitly means "submit no text".
12
+ * `description` (the schema property's shared intro/question text) is used only
13
+ * as a fallback when the starter carries no text of its own — it must never
14
+ * override a starter's own configured prompt, or every button in a group would
15
+ * submit the same message.
16
+ */
17
+ export declare const getStarterSubmitText: (starter: StarterOption, description?: string) => string;
18
+ /**
19
+ * Returns the text shown in the user's message bubble for a selected
20
+ * starter/form button. Falls back to the button label for submit buttons that
21
+ * send no text of their own.
22
+ */
23
+ export declare const getStarterDisplayText: (starter: StarterOption, description?: string) => string;
24
+ //# sourceMappingURL=starter-option.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"starter-option.d.ts","sourceRoot":"","sources":["../../../src/conversation/useConversationHandlers/starter-option.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAG/D;;;;;GAKG;AACH,eAAO,MAAM,0BAA0B,GACrC,SAAS,aAAa,EACtB,cAAc,MAAM,KACnB,MAQF,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB,GAC/B,SAAS,aAAa,EACtB,cAAc,MAAM,KACnB,MAQF,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,GAChC,SAAS,aAAa,EACtB,cAAc,MAAM,KACnB,MAAqE,CAAC"}
@@ -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":"AAAA,OAAO,KAAK,EAEV,gBAAgB,EAChB,QAAQ,EACR,OAAO,EACP,yBAAyB,EAC1B,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EACL,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,iBAAiB,EAEtB,KAAK,oBAAoB,EACzB,aAAa,EAEb,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,wBAAwB,EAC9B,MAAM,2BAA2B,CAAC;AAInC,OAAO,KAAK,EACV,yBAAyB,EACzB,kBAAkB,EACnB,MAAM,gDAAgD,CAAC;AAUxD,qEAAqE;AACrE,MAAM,MAAM,yBAAyB,GAAG,CACtC,gBAAgB,EAAE,MAAM,EACxB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,MAAM,EACb,aAAa,CAAC,EAAE,oBAAoB,EACpC,YAAY,CAAC,EAAE,MAAM,EACrB,IAAI,CAAC,EAAE,yBAAyB,EAChC,OAAO,CAAC,EAAE,kBAAkB,KACzB,IAAI,CAAC;AAEV,sDAAsD;AACtD,MAAM,WAAW,6BAA6B;IAC5C,YAAY,EAAE,YAAY,GAAG,IAAI,CAAC;IAClC,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,WAAW,EAAE,OAAO,CAAC;IACrB,sEAAsE;IACtE,WAAW,EAAE,yBAAyB,CAAC;IACvC,8GAA8G;IAC9G,KAAK,EAAE,yBAAyB,CAAC;IACjC,+EAA+E;IAC/E,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IACvC,yFAAyF;IACzF,gBAAgB,EAAE,IAAI,CACpB,gBAAgB,EAChB,kBAAkB,GAAG,oBAAoB,CAC1C,CAAC;IACF,2EAA2E;IAC3E,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IACtC,yGAAyG;IACzG,cAAc,EAAE,MAAM,MAAM,CAAC;IAC7B,iFAAiF;IACjF,qBAAqB,CAAC,EAAE,MAAM,IAAI,CAAC;IACnC,oFAAoF;IACpF,gBAAgB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACjD,sFAAsF;IACtF,sBAAsB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClD;AAED,uDAAuD;AACvD,MAAM,WAAW,6BAA6B;IAC5C,UAAU,EAAE,CACV,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,UAAU,EAAE,EACzB,MAAM,CAAC,EAAE,YAAY,EAAE,KACpB,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,sBAAsB,EAAE,CACtB,UAAU,EAAE,UAAU,KACnB,OAAO,CAAC,wBAAwB,CAAC,CAAC;IACvC,uBAAuB,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IACxD,mBAAmB,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IACpD,mBAAmB,EAAE,MAAM,IAAI,CAAC;IAChC,iBAAiB,EAAE,CACjB,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,aAAa,GAAG,IAAI,EAC5B,OAAO,CAAC,EAAE,MAAM,KACb,OAAO,CAAC,OAAO,CAAC,CAAC;IACtB,kBAAkB,EAAE,CAClB,OAAO,EAAE,aAAa,EACtB,WAAW,CAAC,EAAE,MAAM,EACpB,WAAW,CAAC,EAAE,MAAM,KACjB,IAAI,CAAC;IACV,oBAAoB,EAAE,MAAM,IAAI,CAAC;IACjC,eAAe,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD,gBAAgB,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IACjD,iBAAiB,EAAE,CACjB,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,EACZ,sBAAsB,EAAE,iBAAiB,EAAE,EAC3C,cAAc,EAAE,UAAU,EAAE,EAC5B,MAAM,CAAC,EAAE,YAAY,EAAE,KACpB,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,qBAAqB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACnC,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,qBAAqB,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACtD,qBAAqB,EAAE;QACrB,OAAO,EAAE,aAAa,CAAC;QACvB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,GAAG,IAAI,CAAC;IACT,wBAAwB,EAAE,CACxB,OAAO,EAAE;QACP,OAAO,EAAE,aAAa,CAAC;QACvB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,GAAG,IAAI,KACL,IAAI,CAAC;CACX;AAED;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB,GAAI,wOAcrC,6BAA6B,KAAG,6BA+gBlC,CAAC"}
@@ -184,7 +184,7 @@ var m = ({ conversation: m, conversationId: h, bucket: g, isStreaming: _, startS
184
184
  handleRateMessage: z,
185
185
  handleButtonSelect: d((e, t, n) => {
186
186
  let r = b.current;
187
- !h || !r || _ || (e["dial:widgetOptions"].confirmationMessage ? N({
187
+ h && r && !_ && (e["dial:widgetOptions"].confirmationMessage ? N({
188
188
  starter: e,
189
189
  propertyKey: t,
190
190
  description: n
@@ -201,7 +201,7 @@ var m = ({ conversation: m, conversationId: h, bucket: g, isStreaming: _, startS
201
201
  N(null), B(e, t, n);
202
202
  }, [M, B]),
203
203
  handleStartEdit: d((e) => {
204
- j((t) => new Set([...t, e]));
204
+ j((t) => /* @__PURE__ */ new Set([...t, e]));
205
205
  }, []),
206
206
  handleCancelEdit: d((e) => {
207
207
  j((t) => {
@@ -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"}
@@ -21,8 +21,9 @@ var x = 5, S = 5, C = (e) => /\.(dial|zip)$/i.test(e.name), w = (e) => new Promi
21
21
  isArchive: !0
22
22
  };
23
23
  }
24
+ let t = await w(e);
24
25
  return {
25
- history: a(await w(e)).history,
26
+ history: a(t).history,
26
27
  attachments: /* @__PURE__ */ new Map(),
27
28
  isArchive: !1
28
29
  };
@@ -168,32 +169,31 @@ var x = 5, S = 5, C = (e) => /\.(dial|zip)$/i.test(e.name), w = (e) => new Promi
168
169
  k(A.length + j.length);
169
170
  }
170
171
  if (!m.aborted) {
171
- if (N) {
172
- D?.({
172
+ if (N) D?.({
173
+ jobId: n,
174
+ code: g.Unauthorized
175
+ }), O.failJob(n, g.Unauthorized);
176
+ else {
177
+ if (A.length > 0) {
178
+ try {
179
+ await h?.();
180
+ } catch {}
181
+ C?.({
182
+ jobId: n,
183
+ titles: A
184
+ });
185
+ }
186
+ j.length > 0 && D?.({
173
187
  jobId: n,
174
- code: g.Unauthorized
175
- }), O.failJob(n, g.Unauthorized);
176
- return;
177
- }
178
- if (A.length > 0) {
179
- try {
180
- await h?.();
181
- } catch {}
182
- C?.({
188
+ code: g.Unknown,
189
+ titles: j,
190
+ traceId: P
191
+ }), M.size > 0 && w?.({
183
192
  jobId: n,
184
- titles: A
185
- });
193
+ code: t.AttachmentSkipped,
194
+ names: [...M]
195
+ }), j.length > 0 ? O.failJob(n, g.Unknown) : M.size > 0 ? O.warnJob(n, t.AttachmentSkipped, [...M]) : O.succeedJob(n);
186
196
  }
187
- j.length > 0 && D?.({
188
- jobId: n,
189
- code: g.Unknown,
190
- titles: j,
191
- traceId: P
192
- }), M.size > 0 && w?.({
193
- jobId: n,
194
- code: t.AttachmentSkipped,
195
- names: [...M]
196
- }), j.length > 0 ? O.failJob(n, g.Unknown) : M.size > 0 ? O.warnJob(n, t.AttachmentSkipped, [...M]) : O.succeedJob(n);
197
197
  }
198
198
  }, [
199
199
  u,
@@ -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,65 @@
1
+ import { ConversationListItemDto, DeploymentItemDto } from '@epam/ai-dial-chat-api-client';
2
+ import { ConversationKind, 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
+ kind: ConversationKind;
63
+ href: string;
64
+ }[];
65
+ //# 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,gBAAgB,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACxE,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;;;;;;;;;;;;GAiFjC,CAAC"}
@@ -1,53 +1,54 @@
1
1
  import { safeDecodeURIComponent as e } from "../../shared/string-utils.js";
2
2
  import { getModelIdCandidatesFromConversationId as t, getModelIdFromConversationId as n } from "../get-model-id-from-conversation-id.js";
3
- import { FilterTab as r } from "@epam/ai-dial-chat-shared";
4
- import { useEffect as i, useMemo as a, useRef as o } from "react";
3
+ import { ConversationKind as r, FilterTab as i } from "@epam/ai-dial-chat-shared";
4
+ import { useEffect as a, useMemo as o, useRef as s } from "react";
5
5
  //#region src/conversation/useConversationPanelItems/useConversationPanelItems.ts
6
- var s = (e) => e.sharedWithMe ? r.Shared : e.publishedWithMe ? r.Organization : r.MyChats, c = (e) => {
6
+ var c = (e) => e.sharedWithMe ? i.Shared : e.publishedWithMe ? i.Organization : i.MyChats, l = (e) => {
7
7
  let t = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Map();
8
8
  for (let r of e) t.has(r.id) || t.set(r.id, r), r.reference && !n.has(r.reference) && n.set(r.reference, r);
9
9
  return (e) => t.get(e) ?? n.get(e);
10
- }, l = ({ items: r, deployments: l, isDeploymentsLoading: u, toPanelConversationId: d, resolveIconUrl: f, resolveIconTooltip: p, resolveHref: m, resolveTaskPresentation: h }) => {
11
- let g = a(() => c(l), [l]), _ = a(() => (r) => {
12
- let i = d(r.id), a = n(r.id), o = t(r.id).map(g).find(Boolean), c = a ? e(a.split("/").pop() ?? a) : "", l = h?.(r);
10
+ }, u = ({ items: i, deployments: u, isDeploymentsLoading: d, toPanelConversationId: f, resolveIconUrl: p, resolveIconTooltip: m, resolveHref: h, resolveTaskPresentation: g }) => {
11
+ let _ = o(() => l(u), [u]), v = o(() => (i) => {
12
+ let a = f(i.id), o = n(i.id), s = t(i.id).map(_).find(Boolean), l = o ? e(o.split("/").pop() ?? o) : "", u = g?.(i);
13
13
  return {
14
- id: i,
15
- title: r.title,
16
- isPinned: r.isPinned ?? !1,
17
- iconUrl: f(o),
18
- iconTooltip: p(o, c),
19
- isIconLoading: u,
20
- source: s(r),
21
- href: m(i),
22
- ...l == null ? {} : {
23
- leadingIcon: l.leadingIcon,
24
- isUnread: l.isUnread
14
+ id: a,
15
+ title: i.title,
16
+ isPinned: i.isPinned ?? !1,
17
+ iconUrl: p(s),
18
+ iconTooltip: m(s, l),
19
+ isIconLoading: d,
20
+ source: c(i),
21
+ kind: u == null ? r.Chat : r.Task,
22
+ href: h(a),
23
+ ...u == null ? {} : {
24
+ leadingIcon: u.leadingIcon,
25
+ isUnread: u.isUnread
25
26
  }
26
27
  };
27
28
  }, [
28
- g,
29
- u,
29
+ _,
30
30
  d,
31
31
  f,
32
32
  p,
33
33
  m,
34
- h
35
- ]), v = o(null), y = a(() => {
36
- let e = v.current, t = e?.mapItem === _ ? e.byDto : void 0, n = /* @__PURE__ */ new Map();
34
+ h,
35
+ g
36
+ ]), y = s(null), b = o(() => {
37
+ let e = y.current, t = e?.mapItem === v ? e.byDto : void 0, n = /* @__PURE__ */ new Map();
37
38
  return {
38
- mapped: r.map((e) => {
39
- let r = t?.get(e) ?? _(e);
39
+ mapped: i.map((e) => {
40
+ let r = t?.get(e) ?? v(e);
40
41
  return n.set(e, r), r;
41
42
  }),
42
43
  cache: {
43
- mapItem: _,
44
+ mapItem: v,
44
45
  byDto: n
45
46
  }
46
47
  };
47
- }, [r, _]);
48
- return i(() => {
49
- v.current = y.cache;
50
- }, [y]), y.mapped;
48
+ }, [i, v]);
49
+ return a(() => {
50
+ y.current = b.cache;
51
+ }, [b]), b.mapped;
51
52
  };
52
53
  //#endregion
53
- export { s as getConversationSource, l as useConversationPanelItems };
54
+ export { c as getConversationSource, u as useConversationPanelItems };
@@ -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