@epam/ai-dial-chat-hooks 1.3.0-dev.7 → 1.3.0-dev.79

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 (456) hide show
  1. package/api-error/api-error.d.ts +30 -0
  2. package/api-error/api-error.d.ts.map +1 -0
  3. package/api-transport/create-csrf-middleware.d.ts +15 -0
  4. package/api-transport/create-csrf-middleware.d.ts.map +1 -0
  5. package/api-transport/create-unauthorized-middleware.d.ts +40 -0
  6. package/api-transport/create-unauthorized-middleware.d.ts.map +1 -0
  7. package/attachment/useAttachmentAction/useAttachmentAction.d.ts +32 -0
  8. package/attachment/useAttachmentAction/useAttachmentAction.d.ts.map +1 -0
  9. package/attachment/useAttachmentValidation/useAttachmentValidation.d.ts +50 -0
  10. package/attachment/useAttachmentValidation/useAttachmentValidation.d.ts.map +1 -0
  11. package/attachments.d.ts +2 -94
  12. package/catalog/catalog-derivations.d.ts +27 -0
  13. package/catalog/catalog-derivations.d.ts.map +1 -0
  14. package/catalog/catalog-primary-action.d.ts +47 -0
  15. package/catalog/catalog-primary-action.d.ts.map +1 -0
  16. package/catalog/create-publish-api.d.ts +32 -0
  17. package/catalog/create-publish-api.d.ts.map +1 -0
  18. package/catalog/deployment-endpoint-url.d.ts +19 -0
  19. package/catalog/deployment-endpoint-url.d.ts.map +1 -0
  20. package/catalog/deployment-id.d.ts +42 -0
  21. package/catalog/deployment-id.d.ts.map +1 -0
  22. package/catalog/entity-details.d.ts +146 -0
  23. package/catalog/entity-details.d.ts.map +1 -0
  24. package/catalog/map-deployment-limits-to-catalog.d.ts +34 -0
  25. package/catalog/map-deployment-limits-to-catalog.d.ts.map +1 -0
  26. package/catalog/map-deployment-limits-to-input.d.ts +28 -0
  27. package/catalog/map-deployment-limits-to-input.d.ts.map +1 -0
  28. package/catalog/map-deployment-to-catalog-item.d.ts +61 -0
  29. package/catalog/map-deployment-to-catalog-item.d.ts.map +1 -0
  30. package/catalog/map-entity-details-to-catalog.d.ts +81 -0
  31. package/catalog/map-entity-details-to-catalog.d.ts.map +1 -0
  32. package/catalog/map-prompt-to-catalog-item.d.ts +43 -0
  33. package/catalog/map-prompt-to-catalog-item.d.ts.map +1 -0
  34. package/catalog/map-skill-to-catalog-item.d.ts +113 -0
  35. package/catalog/map-skill-to-catalog-item.d.ts.map +1 -0
  36. package/catalog/mcp-endpoint-url.d.ts +18 -0
  37. package/catalog/mcp-endpoint-url.d.ts.map +1 -0
  38. package/catalog/publish.d.ts +35 -0
  39. package/catalog/publish.d.ts.map +1 -0
  40. package/catalog/useApplicationCredentials/useApplicationCredentials.d.ts +19 -0
  41. package/catalog/useApplicationCredentials/useApplicationCredentials.d.ts.map +1 -0
  42. package/catalog/useCatalogEditNavigation/useCatalogEditNavigation.d.ts +100 -0
  43. package/catalog/useCatalogEditNavigation/useCatalogEditNavigation.d.ts.map +1 -0
  44. package/catalog/useCatalogEditNavigation/useCatalogEditNavigation.js +139 -122
  45. package/catalog/useCatalogItemDetails.d.ts +70 -0
  46. package/catalog/useCatalogItemDetails.d.ts.map +1 -0
  47. package/catalog/useCatalogToolsetCredentials/useCatalogToolsetCredentials.d.ts +76 -0
  48. package/catalog/useCatalogToolsetCredentials/useCatalogToolsetCredentials.d.ts.map +1 -0
  49. package/catalog/useFavoriteEntitiesState/useFavoriteEntitiesState.d.ts +37 -0
  50. package/catalog/useFavoriteEntitiesState/useFavoriteEntitiesState.d.ts.map +1 -0
  51. package/catalog/usePublishFolders/usePublishFolders.d.ts +73 -0
  52. package/catalog/usePublishFolders/usePublishFolders.d.ts.map +1 -0
  53. package/catalog/useSkillDetailsPanelData/useSkillDetailsPanelData.d.ts +54 -0
  54. package/catalog/useSkillDetailsPanelData/useSkillDetailsPanelData.d.ts.map +1 -0
  55. package/catalog/useSkillItemDetails.d.ts +64 -0
  56. package/catalog/useSkillItemDetails.d.ts.map +1 -0
  57. package/catalog.d.ts +2 -1433
  58. package/conversation/announcement-message.d.ts +61 -0
  59. package/conversation/announcement-message.d.ts.map +1 -0
  60. package/conversation/conversation-draft/conversation-draft-store.d.ts +21 -0
  61. package/conversation/conversation-draft/conversation-draft-store.d.ts.map +1 -0
  62. package/conversation/conversation-draft/conversation-draft-store.js +84 -0
  63. package/conversation/conversation-draft/conversation-draft.d.ts +48 -0
  64. package/conversation/conversation-draft/conversation-draft.d.ts.map +1 -0
  65. package/conversation/conversation-transfer/async.d.ts +10 -0
  66. package/conversation/conversation-transfer/async.d.ts.map +1 -0
  67. package/conversation/conversation-transfer/attachment-refs.d.ts +42 -0
  68. package/conversation/conversation-transfer/attachment-refs.d.ts.map +1 -0
  69. package/conversation/conversation-transfer/build-upload-path.d.ts +42 -0
  70. package/conversation/conversation-transfer/build-upload-path.d.ts.map +1 -0
  71. package/conversation/conversation-transfer/date.d.ts +5 -0
  72. package/conversation/conversation-transfer/date.d.ts.map +1 -0
  73. package/conversation/conversation-transfer/dial-file-resolve.d.ts +10 -0
  74. package/conversation/conversation-transfer/dial-file-resolve.d.ts.map +1 -0
  75. package/conversation/conversation-transfer/export-conversation.d.ts +10 -0
  76. package/conversation/conversation-transfer/export-conversation.d.ts.map +1 -0
  77. package/conversation/conversation-transfer/import-conversation.d.ts +106 -0
  78. package/conversation/conversation-transfer/import-conversation.d.ts.map +1 -0
  79. package/conversation/conversation-transfer/progress.d.ts +60 -0
  80. package/conversation/conversation-transfer/progress.d.ts.map +1 -0
  81. package/conversation/conversation-transfer/queue.d.ts +54 -0
  82. package/conversation/conversation-transfer/queue.d.ts.map +1 -0
  83. package/conversation/conversation-transfer/types.d.ts +36 -0
  84. package/conversation/conversation-transfer/types.d.ts.map +1 -0
  85. package/conversation/conversation-transfer/zip-export.d.ts +31 -0
  86. package/conversation/conversation-transfer/zip-export.d.ts.map +1 -0
  87. package/conversation/conversation-transfer/zip-import.d.ts +17 -0
  88. package/conversation/conversation-transfer/zip-import.d.ts.map +1 -0
  89. package/conversation/create-chat-stream-api.d.ts +92 -0
  90. package/conversation/create-chat-stream-api.d.ts.map +1 -0
  91. package/conversation/deriveConversationRowActionState/deriveConversationRowActionState.d.ts +39 -0
  92. package/conversation/deriveConversationRowActionState/deriveConversationRowActionState.d.ts.map +1 -0
  93. package/conversation/display-name-watch.d.ts +4 -0
  94. package/conversation/display-name-watch.d.ts.map +1 -0
  95. package/conversation/footer-message.d.ts +10 -0
  96. package/conversation/footer-message.d.ts.map +1 -0
  97. package/conversation/get-model-id-from-conversation-id.d.ts +38 -0
  98. package/conversation/get-model-id-from-conversation-id.d.ts.map +1 -0
  99. package/conversation/get-model-id-from-conversation-id.js +1 -1
  100. package/conversation/greeting.d.ts +18 -0
  101. package/conversation/greeting.d.ts.map +1 -0
  102. package/conversation/message-factory.d.ts +7 -0
  103. package/conversation/message-factory.d.ts.map +1 -0
  104. package/conversation/message-utils.d.ts +67 -0
  105. package/conversation/message-utils.d.ts.map +1 -0
  106. package/conversation/overlay-messages.d.ts +5 -0
  107. package/conversation/overlay-messages.d.ts.map +1 -0
  108. package/conversation/quick-app-conversation-starters.d.ts +10 -0
  109. package/conversation/quick-app-conversation-starters.d.ts.map +1 -0
  110. package/conversation/stage.d.ts +77 -0
  111. package/conversation/stage.d.ts.map +1 -0
  112. package/conversation/starter-option.d.ts +21 -0
  113. package/conversation/starter-option.d.ts.map +1 -0
  114. package/conversation/useActiveConversationSync/useActiveConversationSync.d.ts +35 -0
  115. package/conversation/useActiveConversationSync/useActiveConversationSync.d.ts.map +1 -0
  116. package/conversation/useAsyncConfirmDialog/useAsyncConfirmDialog.d.ts +46 -0
  117. package/conversation/useAsyncConfirmDialog/useAsyncConfirmDialog.d.ts.map +1 -0
  118. package/conversation/useAttachmentUpload/useAttachmentUpload.d.ts +27 -0
  119. package/conversation/useAttachmentUpload/useAttachmentUpload.d.ts.map +1 -0
  120. package/conversation/useConversationComposerDraft/useConversationComposerDraft.d.ts +39 -0
  121. package/conversation/useConversationComposerDraft/useConversationComposerDraft.d.ts.map +1 -0
  122. package/conversation/useConversationComposerDraft/useConversationComposerDraft.js +132 -0
  123. package/conversation/useConversationExport/useConversationExport.d.ts +72 -0
  124. package/conversation/useConversationExport/useConversationExport.d.ts.map +1 -0
  125. package/conversation/useConversationHandlers/attachment-to-dto.d.ts +7 -0
  126. package/conversation/useConversationHandlers/attachment-to-dto.d.ts.map +1 -0
  127. package/conversation/useConversationHandlers/message-factory.d.ts +9 -0
  128. package/conversation/useConversationHandlers/message-factory.d.ts.map +1 -0
  129. package/conversation/useConversationHandlers/message-utils.d.ts +38 -0
  130. package/conversation/useConversationHandlers/message-utils.d.ts.map +1 -0
  131. package/conversation/useConversationHandlers/starter-option.d.ts +24 -0
  132. package/conversation/useConversationHandlers/starter-option.d.ts.map +1 -0
  133. package/conversation/useConversationHandlers/useConversationHandlers.d.ts +66 -0
  134. package/conversation/useConversationHandlers/useConversationHandlers.d.ts.map +1 -0
  135. package/conversation/useConversationImport/useConversationImport.d.ts +54 -0
  136. package/conversation/useConversationImport/useConversationImport.d.ts.map +1 -0
  137. package/conversation/useConversationLookupMaps/useConversationLookupMaps.d.ts +24 -0
  138. package/conversation/useConversationLookupMaps/useConversationLookupMaps.d.ts.map +1 -0
  139. package/conversation/useConversationPanelItems/useConversationPanelItems.d.ts +64 -0
  140. package/conversation/useConversationPanelItems/useConversationPanelItems.d.ts.map +1 -0
  141. package/conversation/useConversationScroll/useConversationScroll.d.ts +46 -0
  142. package/conversation/useConversationScroll/useConversationScroll.d.ts.map +1 -0
  143. package/conversation/useConversationStream/apply-chunk.d.ts +35 -0
  144. package/conversation/useConversationStream/apply-chunk.d.ts.map +1 -0
  145. package/conversation/useConversationStream/buffered-generation.d.ts +15 -0
  146. package/conversation/useConversationStream/buffered-generation.d.ts.map +1 -0
  147. package/conversation/useConversationStream/conversation-path.d.ts +7 -0
  148. package/conversation/useConversationStream/conversation-path.d.ts.map +1 -0
  149. package/conversation/useConversationStream/frame-scheduler.d.ts +14 -0
  150. package/conversation/useConversationStream/frame-scheduler.d.ts.map +1 -0
  151. package/conversation/useConversationStream/generation-resume.d.ts +85 -0
  152. package/conversation/useConversationStream/generation-resume.d.ts.map +1 -0
  153. package/conversation/useConversationStream/useConversationStream.d.ts +145 -0
  154. package/conversation/useConversationStream/useConversationStream.d.ts.map +1 -0
  155. package/conversation/useImportFilePicker/useImportFilePicker.d.ts +32 -0
  156. package/conversation/useImportFilePicker/useImportFilePicker.d.ts.map +1 -0
  157. package/conversation/useMessageSelectionReply/useMessageSelectionReply.d.ts +42 -0
  158. package/conversation/useMessageSelectionReply/useMessageSelectionReply.d.ts.map +1 -0
  159. package/conversation/useTranscribeAudio/audio-transcription-error.d.ts +19 -0
  160. package/conversation/useTranscribeAudio/audio-transcription-error.d.ts.map +1 -0
  161. package/conversation/useTranscribeAudio/transcription-retry.d.ts +2 -0
  162. package/conversation/useTranscribeAudio/transcription-retry.d.ts.map +1 -0
  163. package/conversation/useTranscribeAudio/useTranscribeAudio.d.ts +43 -0
  164. package/conversation/useTranscribeAudio/useTranscribeAudio.d.ts.map +1 -0
  165. package/conversation/useTranscribeAudio/useTranscribeAudio.js +30 -27
  166. package/conversation-overlay.d.ts +2 -7
  167. package/conversation-sources/useConversationSources/useConversationSources.d.ts +20 -0
  168. package/conversation-sources/useConversationSources/useConversationSources.d.ts.map +1 -0
  169. package/conversation-sources.d.ts +2 -25
  170. package/conversation-transfer.d.ts +2 -190
  171. package/conversation.d.ts +2 -1372
  172. package/conversation.js +34 -32
  173. package/entry-points/attachments.d.ts +3 -0
  174. package/entry-points/attachments.d.ts.map +1 -0
  175. package/entry-points/catalog.d.ts +25 -0
  176. package/entry-points/catalog.d.ts.map +1 -0
  177. package/entry-points/conversation-overlay.d.ts +2 -0
  178. package/entry-points/conversation-overlay.d.ts.map +1 -0
  179. package/entry-points/conversation-sources.d.ts +2 -0
  180. package/entry-points/conversation-sources.d.ts.map +1 -0
  181. package/entry-points/conversation-transfer.d.ts +7 -0
  182. package/entry-points/conversation-transfer.d.ts.map +1 -0
  183. package/entry-points/conversation.d.ts +36 -0
  184. package/entry-points/conversation.d.ts.map +1 -0
  185. package/entry-points/file-manager-canvas.d.ts +2 -0
  186. package/entry-points/file-manager-canvas.d.ts.map +1 -0
  187. package/entry-points/file-manager.d.ts +31 -0
  188. package/entry-points/file-manager.d.ts.map +1 -0
  189. package/entry-points/mcp-apps.d.ts +6 -0
  190. package/entry-points/mcp-apps.d.ts.map +1 -0
  191. package/entry-points/oauth.d.ts +10 -0
  192. package/entry-points/oauth.d.ts.map +1 -0
  193. package/entry-points/offline-credentials.d.ts +5 -0
  194. package/entry-points/offline-credentials.d.ts.map +1 -0
  195. package/entry-points/scheduled-tasks.d.ts +9 -0
  196. package/entry-points/scheduled-tasks.d.ts.map +1 -0
  197. package/entry-points/scroll-anchoring.d.ts +2 -0
  198. package/entry-points/scroll-anchoring.d.ts.map +1 -0
  199. package/entry-points/sharing.d.ts +3 -0
  200. package/entry-points/sharing.d.ts.map +1 -0
  201. package/entry-points/skill-editor.d.ts +9 -0
  202. package/entry-points/skill-editor.d.ts.map +1 -0
  203. package/entry-points/skills-state.d.ts +2 -0
  204. package/entry-points/skills-state.d.ts.map +1 -0
  205. package/entry-points/source-content.d.ts +2 -0
  206. package/entry-points/source-content.d.ts.map +1 -0
  207. package/entry-points/usage-limits.d.ts +8 -0
  208. package/entry-points/usage-limits.d.ts.map +1 -0
  209. package/entry-points/usage.d.ts +3 -0
  210. package/entry-points/usage.d.ts.map +1 -0
  211. package/entry-points/utils.d.ts +17 -0
  212. package/entry-points/utils.d.ts.map +1 -0
  213. package/entry-points/viewport-layout.d.ts +4 -0
  214. package/entry-points/viewport-layout.d.ts.map +1 -0
  215. package/file-manager-canvas.d.ts +2 -418
  216. package/file-manager.d.ts +2 -1237
  217. package/file-manager.js +25 -25
  218. package/files/annotation.d.ts +10 -0
  219. package/files/annotation.d.ts.map +1 -0
  220. package/files/attachment-canvas.d.ts +123 -0
  221. package/files/attachment-canvas.d.ts.map +1 -0
  222. package/files/attachment-dto-to-display.d.ts +10 -0
  223. package/files/attachment-dto-to-display.d.ts.map +1 -0
  224. package/files/attachment-types.d.ts +21 -0
  225. package/files/attachment-types.d.ts.map +1 -0
  226. package/files/create-files-api.d.ts +52 -0
  227. package/files/create-files-api.d.ts.map +1 -0
  228. package/files/create-upload-file-with-progress.d.ts +24 -0
  229. package/files/create-upload-file-with-progress.d.ts.map +1 -0
  230. package/files/dial-file-manager-copy-move.util.d.ts +15 -0
  231. package/files/dial-file-manager-copy-move.util.d.ts.map +1 -0
  232. package/files/dial-file-manager-mapping.util.d.ts +51 -0
  233. package/files/dial-file-manager-mapping.util.d.ts.map +1 -0
  234. package/files/dial-file-manager-mapping.util.js +77 -62
  235. package/files/dial-file-manager-path.util.d.ts +48 -0
  236. package/files/dial-file-manager-path.util.d.ts.map +1 -0
  237. package/files/dial-file-manager.model.d.ts +36 -0
  238. package/files/dial-file-manager.model.d.ts.map +1 -0
  239. package/files/dial-file-manager.model.js +7 -3
  240. package/files/dial-file-manager.types.d.ts +327 -0
  241. package/files/dial-file-manager.types.d.ts.map +1 -0
  242. package/files/dial-file-manager.types.js +1 -1
  243. package/files/dial-file-to-attachment.d.ts +26 -0
  244. package/files/dial-file-to-attachment.d.ts.map +1 -0
  245. package/files/dial-file.d.ts +17 -0
  246. package/files/dial-file.d.ts.map +1 -0
  247. package/files/dial-files-api.d.ts +71 -0
  248. package/files/dial-files-api.d.ts.map +1 -0
  249. package/files/download-destination.d.ts +31 -0
  250. package/files/download-destination.d.ts.map +1 -0
  251. package/files/file-manager-variant.d.ts +3 -0
  252. package/files/file-manager-variant.d.ts.map +1 -0
  253. package/files/file-name.d.ts +19 -0
  254. package/files/file-name.d.ts.map +1 -0
  255. package/files/prepare-download-destination.d.ts +8 -0
  256. package/files/prepare-download-destination.d.ts.map +1 -0
  257. package/files/resolve-dial-file-api-path.d.ts +12 -0
  258. package/files/resolve-dial-file-api-path.d.ts.map +1 -0
  259. package/files/source-content.d.ts +28 -0
  260. package/files/source-content.d.ts.map +1 -0
  261. package/files/useDialFileListing/useDialFileListing.d.ts +82 -0
  262. package/files/useDialFileListing/useDialFileListing.d.ts.map +1 -0
  263. package/files/useDialFileListing/useDialFileListing.js +64 -51
  264. package/files/useDialFileManager/useDialFileManager.d.ts +16 -0
  265. package/files/useDialFileManager/useDialFileManager.d.ts.map +1 -0
  266. package/files/useDialFileManager/useDialFileManager.js +148 -140
  267. package/files/useDialFileManagerSections/useDialFileManagerSections.d.ts +25 -0
  268. package/files/useDialFileManagerSections/useDialFileManagerSections.d.ts.map +1 -0
  269. package/files/useDialFileManagerTabConfig/useDialFileManagerTabConfig.d.ts +15 -0
  270. package/files/useDialFileManagerTabConfig/useDialFileManagerTabConfig.d.ts.map +1 -0
  271. package/files/useDialFileMetadata/useDialFileMetadata.d.ts +28 -0
  272. package/files/useDialFileMetadata/useDialFileMetadata.d.ts.map +1 -0
  273. package/files/useDialFileMutations/useDialFileMutations.d.ts +68 -0
  274. package/files/useDialFileMutations/useDialFileMutations.d.ts.map +1 -0
  275. package/files/useDialFileMutations/useDialFileMutations.js +206 -204
  276. package/files/useDialFileSharing/useDialFileSharing.d.ts +34 -0
  277. package/files/useDialFileSharing/useDialFileSharing.d.ts.map +1 -0
  278. package/files/useDialFileSharing/useDialFileSharing.js +45 -39
  279. package/files/useDialFileUploadBatch/useDialFileUploadBatch.d.ts +47 -0
  280. package/files/useDialFileUploadBatch/useDialFileUploadBatch.d.ts.map +1 -0
  281. package/files/useDialFileUploadBatch/useDialFileUploadBatch.js +8 -4
  282. package/files/useFileAttachmentPicker/useFileAttachmentPicker.d.ts +59 -0
  283. package/files/useFileAttachmentPicker/useFileAttachmentPicker.d.ts.map +1 -0
  284. package/index.d.ts +167 -6974
  285. package/index.d.ts.map +1 -0
  286. package/index.js +131 -117
  287. package/mcp-apps/mcp-apps-api-client.d.ts +28 -0
  288. package/mcp-apps/mcp-apps-api-client.d.ts.map +1 -0
  289. package/mcp-apps/useMcpAppHostAdapter/useMcpAppHostAdapter.d.ts +14 -0
  290. package/mcp-apps/useMcpAppHostAdapter/useMcpAppHostAdapter.d.ts.map +1 -0
  291. package/mcp-apps/useMcpAppHostContext/useMcpAppHostContext.d.ts +29 -0
  292. package/mcp-apps/useMcpAppHostContext/useMcpAppHostContext.d.ts.map +1 -0
  293. package/mcp-apps/useMcpAppTools/useMcpAppTools.d.ts +22 -0
  294. package/mcp-apps/useMcpAppTools/useMcpAppTools.d.ts.map +1 -0
  295. package/mcp-apps/useOpenMcpAppCanvas/useOpenMcpAppCanvas.d.ts +36 -0
  296. package/mcp-apps/useOpenMcpAppCanvas/useOpenMcpAppCanvas.d.ts.map +1 -0
  297. package/mcp-apps.d.ts +2 -256
  298. package/oauth/authorize-url.d.ts +16 -0
  299. package/oauth/authorize-url.d.ts.map +1 -0
  300. package/oauth/handshake.d.ts +30 -0
  301. package/oauth/handshake.d.ts.map +1 -0
  302. package/oauth/models.d.ts +81 -0
  303. package/oauth/models.d.ts.map +1 -0
  304. package/oauth/popup.d.ts +30 -0
  305. package/oauth/popup.d.ts.map +1 -0
  306. package/oauth/popup.js +19 -17
  307. package/oauth/toolset-id.d.ts +53 -0
  308. package/oauth/toolset-id.d.ts.map +1 -0
  309. package/oauth/types.d.ts +84 -0
  310. package/oauth/types.d.ts.map +1 -0
  311. package/oauth/useOAuthCallbackCompletion/useOAuthCallbackCompletion.d.ts +54 -0
  312. package/oauth/useOAuthCallbackCompletion/useOAuthCallbackCompletion.d.ts.map +1 -0
  313. package/oauth/useOAuthCallbackCompletion/useOAuthCallbackCompletion.js +40 -38
  314. package/oauth/useToolsetLogin/useToolsetLogin.d.ts +79 -0
  315. package/oauth/useToolsetLogin/useToolsetLogin.d.ts.map +1 -0
  316. package/oauth.d.ts +2 -472
  317. package/offline-credentials/map-offline-credentials-response.d.ts +17 -0
  318. package/offline-credentials/map-offline-credentials-response.d.ts.map +1 -0
  319. package/offline-credentials/map-offline-credentials-response.js +15 -0
  320. package/offline-credentials/useOfflineCredentialsAuth/useOfflineCredentialsAuth.d.ts +58 -0
  321. package/offline-credentials/useOfflineCredentialsAuth/useOfflineCredentialsAuth.d.ts.map +1 -0
  322. package/offline-credentials/useOfflineCredentialsAuth/useOfflineCredentialsAuth.js +37 -0
  323. package/offline-credentials/useOfflineCredentialsGate/useOfflineCredentialsGate.d.ts +57 -0
  324. package/offline-credentials/useOfflineCredentialsGate/useOfflineCredentialsGate.d.ts.map +1 -0
  325. package/offline-credentials/useOfflineCredentialsGate/useOfflineCredentialsGate.js +34 -0
  326. package/offline-credentials/useOfflineCredentialsLogin/useOfflineCredentialsLogin.d.ts +28 -0
  327. package/offline-credentials/useOfflineCredentialsLogin/useOfflineCredentialsLogin.d.ts.map +1 -0
  328. package/offline-credentials/useOfflineCredentialsLogin/useOfflineCredentialsLogin.js +29 -0
  329. package/offline-credentials.d.ts +2 -0
  330. package/offline-credentials.js +5 -0
  331. package/package.json +31 -17
  332. package/prompt/export-prompt.d.ts +31 -0
  333. package/prompt/export-prompt.d.ts.map +1 -0
  334. package/prompt/prompt-resource.d.ts +30 -0
  335. package/prompt/prompt-resource.d.ts.map +1 -0
  336. package/prompt/prompt.d.ts +34 -0
  337. package/prompt/prompt.d.ts.map +1 -0
  338. package/prompt/usePromptsState/usePromptsState.d.ts +34 -0
  339. package/prompt/usePromptsState/usePromptsState.d.ts.map +1 -0
  340. package/scheduled-task/check-scheduled-task-auth-session-error.d.ts +27 -0
  341. package/scheduled-task/check-scheduled-task-auth-session-error.d.ts.map +1 -0
  342. package/scheduled-task/check-scheduled-task-auth-session-error.js +17 -0
  343. package/scheduled-task/scheduled-task-description.d.ts +38 -0
  344. package/scheduled-task/scheduled-task-description.d.ts.map +1 -0
  345. package/scheduled-task/scheduled-task-mapping.d.ts +19 -0
  346. package/scheduled-task/scheduled-task-mapping.d.ts.map +1 -0
  347. package/scheduled-task/scheduled-task-preparation.d.ts +19 -0
  348. package/scheduled-task/scheduled-task-preparation.d.ts.map +1 -0
  349. package/scheduled-task/scheduled-task-trigger.d.ts +26 -0
  350. package/scheduled-task/scheduled-task-trigger.d.ts.map +1 -0
  351. package/scheduled-task/scheduled-tasks-api-client.d.ts +67 -0
  352. package/scheduled-task/scheduled-tasks-api-client.d.ts.map +1 -0
  353. package/scheduled-task/use-scheduled-task-runs.d.ts +40 -0
  354. package/scheduled-task/use-scheduled-task-runs.d.ts.map +1 -0
  355. package/scheduled-task/use-scheduled-task-runs.js +67 -67
  356. package/scheduled-task/use-scheduled-tasks.d.ts +28 -0
  357. package/scheduled-task/use-scheduled-tasks.d.ts.map +1 -0
  358. package/scheduled-tasks.d.ts +2 -250
  359. package/scheduled-tasks.js +2 -1
  360. package/scroll-anchoring.d.ts +2 -50
  361. package/shared/application-schema.d.ts +18 -0
  362. package/shared/application-schema.d.ts.map +1 -0
  363. package/shared/application-schema.js +2 -2
  364. package/shared/browser-timezone.d.ts +7 -0
  365. package/shared/browser-timezone.d.ts.map +1 -0
  366. package/shared/cron-day-of-month.d.ts +21 -0
  367. package/shared/cron-day-of-month.d.ts.map +1 -0
  368. package/shared/cron-weekday.d.ts +5 -0
  369. package/shared/cron-weekday.d.ts.map +1 -0
  370. package/shared/custom-apps.d.ts +7 -0
  371. package/shared/custom-apps.d.ts.map +1 -0
  372. package/shared/external-services.d.ts +16 -0
  373. package/shared/external-services.d.ts.map +1 -0
  374. package/shared/formatting.d.ts +5 -0
  375. package/shared/formatting.d.ts.map +1 -0
  376. package/shared/locale.d.ts +45 -0
  377. package/shared/locale.d.ts.map +1 -0
  378. package/shared/string-utils.d.ts +11 -0
  379. package/shared/string-utils.d.ts.map +1 -0
  380. package/shared/toolset-login-events.d.ts +15 -0
  381. package/shared/toolset-login-events.d.ts.map +1 -0
  382. package/sharing.d.ts +2 -65
  383. package/skill/skill-archive.d.ts +7 -0
  384. package/skill/skill-archive.d.ts.map +1 -0
  385. package/skill/skill-file-batch-validation.d.ts +70 -0
  386. package/skill/skill-file-batch-validation.d.ts.map +1 -0
  387. package/skill/skill-file-preview.d.ts +25 -0
  388. package/skill/skill-file-preview.d.ts.map +1 -0
  389. package/skill/skill-manifest.d.ts +28 -0
  390. package/skill/skill-manifest.d.ts.map +1 -0
  391. package/skill/skill-types.d.ts +46 -0
  392. package/skill/skill-types.d.ts.map +1 -0
  393. package/skill/skill.d.ts +160 -0
  394. package/skill/skill.d.ts.map +1 -0
  395. package/skill/useSkillArchiveImport/useSkillArchiveImport.d.ts +65 -0
  396. package/skill/useSkillArchiveImport/useSkillArchiveImport.d.ts.map +1 -0
  397. package/skill/useSkillEditorLoad.d.ts +74 -0
  398. package/skill/useSkillEditorLoad.d.ts.map +1 -0
  399. package/skill/useSkillEditorSubmit.d.ts +125 -0
  400. package/skill/useSkillEditorSubmit.d.ts.map +1 -0
  401. package/skill/useSkillFileActions.d.ts +60 -0
  402. package/skill/useSkillFileActions.d.ts.map +1 -0
  403. package/skill/useSkillFilePreview.d.ts +38 -0
  404. package/skill/useSkillFilePreview.d.ts.map +1 -0
  405. package/skill/useSkillsState/useSkillsState.d.ts +35 -0
  406. package/skill/useSkillsState/useSkillsState.d.ts.map +1 -0
  407. package/skill-editor.d.ts +2 -655
  408. package/skills-state.d.ts +2 -40
  409. package/source-content.d.ts +2 -29
  410. package/usage/map-usage-data-to-dashboard.d.ts +39 -0
  411. package/usage/map-usage-data-to-dashboard.d.ts.map +1 -0
  412. package/usage/map-user-usage-to-model-limits.d.ts +62 -0
  413. package/usage/map-user-usage-to-model-limits.d.ts.map +1 -0
  414. package/usage/usage-banner-source.d.ts +23 -0
  415. package/usage/usage-banner-source.d.ts.map +1 -0
  416. package/usage/usage-banner-source.js +36 -0
  417. package/usage/usage-period.d.ts +7 -0
  418. package/usage/usage-period.d.ts.map +1 -0
  419. package/usage/usage-period.js +6 -0
  420. package/usage/usage-reset-time.d.ts +69 -0
  421. package/usage/usage-reset-time.d.ts.map +1 -0
  422. package/usage/usage-reset-time.js +72 -0
  423. package/usage/useDeploymentUsageLimits/useDeploymentUsageLimits.d.ts +32 -0
  424. package/usage/useDeploymentUsageLimits/useDeploymentUsageLimits.d.ts.map +1 -0
  425. package/usage/useDeploymentUsageLimits/useDeploymentUsageLimits.js +39 -0
  426. package/usage/useRefreshUsageAfterGeneration/useRefreshUsageAfterGeneration.d.ts +16 -0
  427. package/usage/useRefreshUsageAfterGeneration/useRefreshUsageAfterGeneration.d.ts.map +1 -0
  428. package/usage/useRefreshUsageAfterGeneration/useRefreshUsageAfterGeneration.js +14 -0
  429. package/usage/useUsageData/useUsageData.d.ts +28 -0
  430. package/usage/useUsageData/useUsageData.d.ts.map +1 -0
  431. package/usage/useUsageLimitBanner/useUsageLimitBanner.d.ts +56 -0
  432. package/usage/useUsageLimitBanner/useUsageLimitBanner.d.ts.map +1 -0
  433. package/usage/useUsageLimitBanner/useUsageLimitBanner.js +67 -0
  434. package/usage/useUsageLimitBannerDismissal/useUsageLimitBannerDismissal.d.ts +14 -0
  435. package/usage/useUsageLimitBannerDismissal/useUsageLimitBannerDismissal.d.ts.map +1 -0
  436. package/usage/useUsageLimitBannerDismissal/useUsageLimitBannerDismissal.js +19 -0
  437. package/usage-limits.d.ts +2 -0
  438. package/usage-limits.js +8 -0
  439. package/usage.d.ts +2 -125
  440. package/useChatSettingsFormConfig/useChatSettingsFormConfig.d.ts +128 -0
  441. package/useChatSettingsFormConfig/useChatSettingsFormConfig.d.ts.map +1 -0
  442. package/usePageFileDrag/usePageFileDrag.d.ts +16 -0
  443. package/usePageFileDrag/usePageFileDrag.d.ts.map +1 -0
  444. package/usePanelMaxWidth/usePanelMaxWidth.d.ts +6 -0
  445. package/usePanelMaxWidth/usePanelMaxWidth.d.ts.map +1 -0
  446. package/useShareLink/useShareLink.d.ts +23 -0
  447. package/useShareLink/useShareLink.d.ts.map +1 -0
  448. package/useShareRecipientsCount/useShareRecipientsCount.d.ts +36 -0
  449. package/useShareRecipientsCount/useShareRecipientsCount.d.ts.map +1 -0
  450. package/useToolsMenu/useToolsMenu.d.ts +31 -0
  451. package/useToolsMenu/useToolsMenu.d.ts.map +1 -0
  452. package/useViewportWidth/useViewportWidth.d.ts +3 -0
  453. package/useViewportWidth/useViewportWidth.d.ts.map +1 -0
  454. package/utils.d.ts +2 -404
  455. package/utils.js +10 -10
  456. package/viewport-layout.d.ts +2 -27
@@ -0,0 +1,46 @@
1
+ /** State and controls returned by `useAsyncConfirmDialog`. */
2
+ export interface AsyncConfirmDialogControls<T> {
3
+ /**
4
+ * The value currently awaiting confirmation, or `null` when no dialog is
5
+ * open.
6
+ */
7
+ pending: T | null;
8
+ /** `true` when `pending` is not `null`. */
9
+ isPending: boolean;
10
+ /** `true` while the async operation started by `confirm` is in-flight. */
11
+ isRunning: boolean;
12
+ /** Error message set when the last `confirm` run threw, or `null` otherwise. */
13
+ error: string | null;
14
+ /**
15
+ * Opens the dialog by setting `pending` to `value` and clearing any prior
16
+ * error.
17
+ *
18
+ * Pass `returnFocusTo` when the control that opened the dialog will not
19
+ * survive it — a row menu item, for instance, unmounts with its menu, so
20
+ * restoring focus to it is impossible and the caller should name a stable
21
+ * element such as the menu's own trigger. When omitted, whatever held focus
22
+ * at the moment of the call is used.
23
+ */
24
+ open: (value: T, returnFocusTo?: HTMLElement | null) => void;
25
+ /** Closes the dialog by resetting `pending`, `error`, and `isRunning` to their initial values. */
26
+ close: () => void;
27
+ /**
28
+ * Runs `run(pending)` while enforcing a re-entry guard.
29
+ *
30
+ * - No-op when `isRunning` is already `true` or `pending` is `null`.
31
+ * - On success: calls `close()` to reset all state.
32
+ * - On failure: sets `error` to `onError(caughtError)` and leaves `pending`
33
+ * set so the caller may retry.
34
+ */
35
+ confirm: (run: (value: T) => Promise<void>, onError: (error: unknown) => string) => Promise<void>;
36
+ }
37
+ /**
38
+ * Generic single-slot pending / loading / error state machine for
39
+ * confirmation dialogs that trigger an async operation.
40
+ *
41
+ * Replaces the `[pendingXxx, setXxx] / [isXxxing, setIsXxxing] / [xxxError,
42
+ * setXxxError]` triads that previously appeared inline at each call site in
43
+ * `ConversationPanelView` and `ConversationPanelMenu`.
44
+ */
45
+ export declare const useAsyncConfirmDialog: <T>() => AsyncConfirmDialogControls<T>;
46
+ //# sourceMappingURL=useAsyncConfirmDialog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAsyncConfirmDialog.d.ts","sourceRoot":"","sources":["../../../src/conversation/useAsyncConfirmDialog/useAsyncConfirmDialog.ts"],"names":[],"mappings":"AAEA,8DAA8D;AAC9D,MAAM,WAAW,0BAA0B,CAAC,CAAC;IAC3C;;;OAGG;IACH,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC;IAClB,2CAA2C;IAC3C,SAAS,EAAE,OAAO,CAAC;IACnB,0EAA0E;IAC1E,SAAS,EAAE,OAAO,CAAC;IACnB,gFAAgF;IAChF,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB;;;;;;;;;OASG;IACH,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,aAAa,CAAC,EAAE,WAAW,GAAG,IAAI,KAAK,IAAI,CAAC;IAC7D,kGAAkG;IAClG,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB;;;;;;;OAOG;IACH,OAAO,EAAE,CACP,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,EAChC,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,KAChC,OAAO,CAAC,IAAI,CAAC,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,GAAI,CAAC,OAAK,0BAA0B,CAAC,CAAC,CAwFvE,CAAC"}
@@ -0,0 +1,27 @@
1
+ import { FilesApi } from '@epam/ai-dial-chat-api-client';
2
+ import { Attachment, UploadedAttachmentResult } from '@epam/ai-dial-chat-shared';
3
+ /** Parameters for {@link useAttachmentUpload}. */
4
+ export interface UseAttachmentUploadParams {
5
+ /** Already-configured client; optional listing skips stored names after a conflict. */
6
+ filesApi: Pick<FilesApi, 'uploadFile'> & Partial<Pick<FilesApi, 'listFiles'>>;
7
+ /** DIAL Core bucket the file is uploaded into. */
8
+ bucket: string | undefined;
9
+ /** Called with batched filenames after a burst of network-error upload failures. */
10
+ onNetworkError?: (filenames: string[]) => void;
11
+ /** Debounce window, in ms, for coalescing offline-failure batches. Defaults to `700`. */
12
+ debounceMs?: number;
13
+ }
14
+ /** Return value of {@link useAttachmentUpload}. */
15
+ export interface UseAttachmentUploadResult {
16
+ /** Uploads the given attachment's file and resolves to its DIAL Core file URL and stored name. */
17
+ handleUploadAttachment: (attachment: Attachment) => Promise<UploadedAttachmentResult>;
18
+ }
19
+ /**
20
+ * Uploads an attachment's file to DIAL Core storage against an
21
+ * already-configured `FilesApi` instance, giving every upload a collision-free
22
+ * path so no attachment overwrites another, and coalescing a burst of
23
+ * offline/network upload failures into a single debounced callback rather
24
+ * than firing one notification per failed file.
25
+ */
26
+ export declare const useAttachmentUpload: ({ filesApi, bucket, onNetworkError, debounceMs, }: UseAttachmentUploadParams) => UseAttachmentUploadResult;
27
+ //# sourceMappingURL=useAttachmentUpload.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAttachmentUpload.d.ts","sourceRoot":"","sources":["../../../src/conversation/useAttachmentUpload/useAttachmentUpload.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAEL,KAAK,UAAU,EACf,KAAK,wBAAwB,EAC9B,MAAM,2BAA2B,CAAC;AAYnC,kDAAkD;AAClD,MAAM,WAAW,yBAAyB;IACxC,uFAAuF;IACvF,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;IAC9E,kDAAkD;IAClD,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,oFAAoF;IACpF,cAAc,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC/C,yFAAyF;IACzF,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,mDAAmD;AACnD,MAAM,WAAW,yBAAyB;IACxC,kGAAkG;IAClG,sBAAsB,EAAE,CACtB,UAAU,EAAE,UAAU,KACnB,OAAO,CAAC,wBAAwB,CAAC,CAAC;CACxC;AAyBD;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,GAAI,mDAKjC,yBAAyB,KAAG,yBA6G9B,CAAC"}
@@ -0,0 +1,39 @@
1
+ import { RequestSkill } from '@epam/ai-dial-chat-shared';
2
+ import { ConversationDraft, ConversationDraftStore } from '../conversation-draft/conversation-draft';
3
+ /** Parameters of `useConversationComposerDraft`. */
4
+ export interface UseConversationComposerDraftParams {
5
+ /** Host-owned draft store; `undefined` (e.g. no signed-in user yet) makes every handler a no-op. */
6
+ store: ConversationDraftStore | undefined;
7
+ /** The conversation whose draft is managed. */
8
+ conversationId: string;
9
+ /** Seeds the host's own composer and mention state from a restored draft. */
10
+ restoreDraft: (draft: ConversationDraft) => void;
11
+ /** While `false` the restore is deferred. Defaults to `true`. */
12
+ isRestoreReady?: boolean;
13
+ /** Skips the restore for this conversation, e.g. when external content is pending. Defaults to `false`. */
14
+ shouldSkipRestore?: boolean;
15
+ /** Delay before a change is written to the store, in milliseconds. Defaults to `300`. */
16
+ debounceMs?: number;
17
+ }
18
+ /** Stable handlers returned by `useConversationComposerDraft`. */
19
+ export interface UseConversationComposerDraftResult {
20
+ /** Records a user-driven text change and schedules a save. */
21
+ handleTextChange: (text: string) => void;
22
+ /** Records the current skill mentions and schedules a save when they changed. */
23
+ handleSkillsChange: (skills: RequestSkill[]) => void;
24
+ /** Replaces the draft with host-provided content and no skills, and schedules a save. */
25
+ handleExternalContent: (text: string) => void;
26
+ /** Runs `send`, removing the draft when it resolves unless the user edited meanwhile, and storing `text` again when it rejects (the rejection is rethrown). */
27
+ sendWithDraft: (text: string, send: () => Promise<unknown> | unknown) => Promise<void>;
28
+ /** Discards the draft for the current conversation. */
29
+ clearDraft: () => void;
30
+ }
31
+ /**
32
+ * Headless per-conversation composer draft: saves the text and skill mentions
33
+ * the user leaves behind, restores them once when the conversation is shown
34
+ * again, and discards them on a successful send or an emptied input.
35
+ *
36
+ * All state lives in refs, so the hook never re-renders the host.
37
+ */
38
+ export declare const useConversationComposerDraft: ({ store, conversationId, restoreDraft, isRestoreReady, shouldSkipRestore, debounceMs, }: UseConversationComposerDraftParams) => UseConversationComposerDraftResult;
39
+ //# sourceMappingURL=useConversationComposerDraft.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useConversationComposerDraft.d.ts","sourceRoot":"","sources":["../../../src/conversation/useConversationComposerDraft/useConversationComposerDraft.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAE9D,OAAO,KAAK,EACV,iBAAiB,EACjB,sBAAsB,EACvB,MAAM,0CAA0C,CAAC;AAMlD,oDAAoD;AACpD,MAAM,WAAW,kCAAkC;IACjD,oGAAoG;IACpG,KAAK,EAAE,sBAAsB,GAAG,SAAS,CAAC;IAC1C,+CAA+C;IAC/C,cAAc,EAAE,MAAM,CAAC;IACvB,6EAA6E;IAC7E,YAAY,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;IACjD,iEAAiE;IACjE,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,2GAA2G;IAC3G,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,yFAAyF;IACzF,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,kEAAkE;AAClE,MAAM,WAAW,kCAAkC;IACjD,8DAA8D;IAC9D,gBAAgB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,iFAAiF;IACjF,kBAAkB,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,IAAI,CAAC;IACrD,yFAAyF;IACzF,qBAAqB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,+JAA+J;IAC/J,aAAa,EAAE,CACb,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,KACnC,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,uDAAuD;IACvD,UAAU,EAAE,MAAM,IAAI,CAAC;CACxB;AAgCD;;;;;;GAMG;AACH,eAAO,MAAM,4BAA4B,GAAI,yFAO1C,kCAAkC,KAAG,kCA4KvC,CAAC"}
@@ -0,0 +1,132 @@
1
+ import { useCallback as e, useEffect as t, useRef as n } from "react";
2
+ //#region src/conversation/useConversationComposerDraft/useConversationComposerDraft.ts
3
+ var r = 300, i = {
4
+ text: "",
5
+ skills: [],
6
+ updatedAt: 0
7
+ }, a = (e) => ({
8
+ conversationId: e,
9
+ text: "",
10
+ skills: [],
11
+ hasUserInput: !1,
12
+ isRestored: !1,
13
+ isSendingCleared: !1,
14
+ editRevision: 0
15
+ }), o = (e, t) => e.length === t.length && e.every((e, n) => e.url === t[n].url), s = ({ store: s, conversationId: c, restoreDraft: l, isRestoreReady: u = !0, shouldSkipRestore: d = !1, debounceMs: f = r }) => {
16
+ let p = n(null), m = n(!1), h = n(null), g = n(l), _ = n(f);
17
+ g.current = l, _.current = f;
18
+ let v = e((e) => {
19
+ let t = p.current;
20
+ if (t?.conversationId === e) return t;
21
+ t && (m.current = !0);
22
+ let n = a(e);
23
+ return p.current = n, n;
24
+ }, []), y = e(() => {
25
+ let e = h.current;
26
+ e && (clearTimeout(e.handle), h.current = null);
27
+ }, []), b = e(() => {
28
+ let e = h.current;
29
+ e && (clearTimeout(e.handle), e.run());
30
+ }, []), x = e((e, t) => {
31
+ y();
32
+ let n = () => {
33
+ h.current = null, e.write(t.conversationId, {
34
+ text: t.text,
35
+ skills: t.skills,
36
+ updatedAt: Date.now()
37
+ });
38
+ };
39
+ h.current = {
40
+ handle: setTimeout(n, _.current),
41
+ run: n
42
+ };
43
+ }, [y]);
44
+ return t(() => b, [
45
+ s,
46
+ c,
47
+ b
48
+ ]), t(() => (window.addEventListener("pagehide", b), () => window.removeEventListener("pagehide", b)), [b]), t(() => {
49
+ let e = v(c);
50
+ if (e.isRestored) return;
51
+ if (d) {
52
+ e.isRestored = !0;
53
+ return;
54
+ }
55
+ if (!u || !s || (e.isRestored = !0, e.hasUserInput)) return;
56
+ let t = s.read(c);
57
+ if (t) {
58
+ e.text = t.text, e.skills = t.skills, g.current(t);
59
+ return;
60
+ }
61
+ m.current && g.current(i);
62
+ }, [
63
+ s,
64
+ c,
65
+ u,
66
+ d,
67
+ v
68
+ ]), {
69
+ handleTextChange: e((e) => {
70
+ let t = v(c);
71
+ t.text = e, t.hasUserInput = !0, t.editRevision += 1, t.isSendingCleared = !1, s && x(s, t);
72
+ }, [
73
+ s,
74
+ c,
75
+ v,
76
+ x
77
+ ]),
78
+ handleSkillsChange: e((e) => {
79
+ let t = v(c);
80
+ o(t.skills, e) || (t.skills = e, !(t.isSendingCleared && t.text === "") && (t.hasUserInput = !0, t.editRevision += 1, s && x(s, t)));
81
+ }, [
82
+ s,
83
+ c,
84
+ v,
85
+ x
86
+ ]),
87
+ handleExternalContent: e((e) => {
88
+ let t = v(c);
89
+ t.text = e, t.skills = [], t.hasUserInput = !0, t.editRevision += 1, t.isSendingCleared = !1, s && x(s, t);
90
+ }, [
91
+ s,
92
+ c,
93
+ v,
94
+ x
95
+ ]),
96
+ sendWithDraft: e(async (e, t) => {
97
+ if (!s) {
98
+ await t();
99
+ return;
100
+ }
101
+ let n = v(c);
102
+ y(), n.text = "", n.isSendingCleared = !0;
103
+ let r = n.editRevision;
104
+ try {
105
+ await t();
106
+ } catch (t) {
107
+ throw n.text = e, n.isSendingCleared = !1, s.write(c, {
108
+ text: e,
109
+ skills: n.skills,
110
+ updatedAt: Date.now()
111
+ }), t;
112
+ }
113
+ n.editRevision === r && s.remove(c);
114
+ }, [
115
+ s,
116
+ c,
117
+ v,
118
+ y
119
+ ]),
120
+ clearDraft: e(() => {
121
+ let e = v(c);
122
+ y(), e.text = "", e.skills = [], s?.remove(c);
123
+ }, [
124
+ s,
125
+ c,
126
+ v,
127
+ y
128
+ ])
129
+ };
130
+ };
131
+ //#endregion
132
+ export { s as useConversationComposerDraft };
@@ -0,0 +1,72 @@
1
+ import { ConversationsApi, FilesApi } from '@epam/ai-dial-chat-api-client';
2
+ import { ConversationTransferJob } from '@epam/ai-dial-chat-shared';
3
+ import { ConversationExportMode, ConversationTransferErrorEvent, ConversationTransferSuccessEvent, ConversationTransferWarningEvent } from '../conversation-transfer/types';
4
+ /**
5
+ * Default ceiling on the summed byte length of an export's attachments.
6
+ *
7
+ * The bound is on *input* bytes even though what it protects is peak heap:
8
+ * the archive pipeline holds roughly three copies at once — every attachment
9
+ * in memory, `zipSync`'s output buffer (already-compressed media barely
10
+ * shrinks), and the copy `buildDialArchive` makes before handing it to `Blob`.
11
+ * 512 MiB of input therefore peaks near 1.5 GiB, which fits a 64-bit desktop
12
+ * tab. Sizing this against the ~2 GiB single-`ArrayBuffer` ceiling would be
13
+ * the wrong bound — that limits one buffer, not the three held together.
14
+ */
15
+ export declare const DEFAULT_MAX_ARCHIVE_BYTES: number;
16
+ interface ExportErrorClassification {
17
+ isUnauthorized?: boolean;
18
+ isNotFound?: boolean;
19
+ }
20
+ /** Parameters for {@link useConversationExport}. */
21
+ export interface UseConversationExportParams {
22
+ /** Already-configured generated-client instance used to read conversations. */
23
+ conversationsApi: Pick<ConversationsApi, 'getConversation' | 'listConversations'>;
24
+ /** Already-configured generated-client instance used to download attachments. */
25
+ filesApi: Pick<FilesApi, 'downloadFileRaw'>;
26
+ /** Resolves a conversation id to the bucket-qualified path `getConversation` expects. */
27
+ normalizeConversationPath: (conversationId: string) => string;
28
+ /** Classifies a thrown error as unauthorized/not-found. Host-owned error taxonomy; defaults to neither. */
29
+ classifyTransferError?: (error: unknown) => ExportErrorClassification;
30
+ /** Resolves a trace id for a failing request, for display in an error notification. */
31
+ resolveErrorTraceId?: (error: unknown) => Promise<string | undefined>;
32
+ /**
33
+ * Ceiling on the summed byte length of an export's attachments; a larger
34
+ * export fails with `FileTooLarge` instead of being zipped. Defaults to
35
+ * {@link DEFAULT_MAX_ARCHIVE_BYTES}.
36
+ */
37
+ maxArchiveBytes?: number;
38
+ /** Called when a job completes successfully. */
39
+ onSuccess?: (event: ConversationTransferSuccessEvent) => void;
40
+ /** Called when a job succeeds but had to skip something (e.g. an unreachable attachment). */
41
+ onWarning?: (event: ConversationTransferWarningEvent) => void;
42
+ /** Called when a job fails. */
43
+ onError?: (event: ConversationTransferErrorEvent) => void;
44
+ }
45
+ /** Return value of {@link useConversationExport}. */
46
+ export interface UseConversationExportResult {
47
+ /** Export jobs, most recently added last. Multiple jobs can be in progress concurrently. */
48
+ jobs: ConversationTransferJob[];
49
+ /** Enqueues a single-conversation export job and starts it immediately. */
50
+ exportSingle: (conversationId: string, title: string, mode: ConversationExportMode) => Promise<void>;
51
+ /** Enqueues an export-all job and starts it immediately. */
52
+ exportAll: () => Promise<void>;
53
+ /** Aborts a job's underlying requests and marks it canceled, keeping it in `jobs`. */
54
+ cancelJob: (jobId: string) => void;
55
+ /** Removes a job from the queue. If still in progress, aborts its underlying requests. */
56
+ dismissJob: (jobId: string) => void;
57
+ /** Re-attempts a failed or canceled job in place (same job id, same parameters). */
58
+ retryJob: (jobId: string) => void;
59
+ /** Aborts all in-progress jobs and clears the entire queue. */
60
+ dismissAll: () => void;
61
+ }
62
+ /**
63
+ * Owns the export job queue: fetches conversation data through the injected
64
+ * generated-client operations, builds the JSON v5 / ZIP output via the pure
65
+ * export utils, reports determinate per-job progress and structured
66
+ * success/warning/error events, and tracks each job's lifecycle (in progress /
67
+ * success / failed / canceled) independently so multiple exports can run
68
+ * concurrently.
69
+ */
70
+ export declare const useConversationExport: ({ conversationsApi, filesApi, normalizeConversationPath, classifyTransferError, resolveErrorTraceId, maxArchiveBytes, onSuccess, onWarning, onError, }: UseConversationExportParams) => UseConversationExportResult;
71
+ export {};
72
+ //# sourceMappingURL=useConversationExport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useConversationExport.d.ts","sourceRoot":"","sources":["../../../src/conversation/useConversationExport/useConversationExport.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,gBAAgB,EACrB,KAAK,QAAQ,EACd,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAGL,KAAK,uBAAuB,EAI7B,MAAM,2BAA2B,CAAC;AAqBnC,OAAO,EACL,sBAAsB,EACtB,KAAK,8BAA8B,EACnC,KAAK,gCAAgC,EAErC,KAAK,gCAAgC,EAEtC,MAAM,gCAAgC,CAAC;AASxC;;;;;;;;;;GAUG;AACH,eAAO,MAAM,yBAAyB,QAAoB,CAAC;AA2E3D,UAAU,yBAAyB;IACjC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAsBD,oDAAoD;AACpD,MAAM,WAAW,2BAA2B;IAC1C,+EAA+E;IAC/E,gBAAgB,EAAE,IAAI,CACpB,gBAAgB,EAChB,iBAAiB,GAAG,mBAAmB,CACxC,CAAC;IACF,iFAAiF;IACjF,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;IAC5C,yFAAyF;IACzF,yBAAyB,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,MAAM,CAAC;IAC9D,2GAA2G;IAC3G,qBAAqB,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,yBAAyB,CAAC;IACtE,uFAAuF;IACvF,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACtE;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gDAAgD;IAChD,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,gCAAgC,KAAK,IAAI,CAAC;IAC9D,6FAA6F;IAC7F,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,gCAAgC,KAAK,IAAI,CAAC;IAC9D,+BAA+B;IAC/B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,8BAA8B,KAAK,IAAI,CAAC;CAC3D;AAED,qDAAqD;AACrD,MAAM,WAAW,2BAA2B;IAC1C,4FAA4F;IAC5F,IAAI,EAAE,uBAAuB,EAAE,CAAC;IAChC,2EAA2E;IAC3E,YAAY,EAAE,CACZ,cAAc,EAAE,MAAM,EACtB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,sBAAsB,KACzB,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,4DAA4D;IAC5D,SAAS,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,sFAAsF;IACtF,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,0FAA0F;IAC1F,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,oFAAoF;IACpF,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,+DAA+D;IAC/D,UAAU,EAAE,MAAM,IAAI,CAAC;CACxB;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,GAAI,wJAUnC,2BAA2B,KAAG,2BAuchC,CAAC"}
@@ -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"}
@@ -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"}
@@ -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"}