@epam/ai-dial-chat-hooks 1.3.0-dev.13 → 1.3.0-dev.133

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 (513) 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 +155 -119
  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 -1433
  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 +64 -0
  160. package/conversation/useConversationPanelItems/useConversationPanelItems.d.ts.map +1 -0
  161. package/conversation/useConversationScroll/useConversationScroll.d.ts +46 -0
  162. package/conversation/useConversationScroll/useConversationScroll.d.ts.map +1 -0
  163. package/conversation/useConversationScroll/useConversationScroll.js +2 -6
  164. package/conversation/useConversationStream/apply-chunk.d.ts +35 -0
  165. package/conversation/useConversationStream/apply-chunk.d.ts.map +1 -0
  166. package/conversation/useConversationStream/buffered-generation.d.ts +15 -0
  167. package/conversation/useConversationStream/buffered-generation.d.ts.map +1 -0
  168. package/conversation/useConversationStream/conversation-path.d.ts +7 -0
  169. package/conversation/useConversationStream/conversation-path.d.ts.map +1 -0
  170. package/conversation/useConversationStream/conversation-path.js +2 -2
  171. package/conversation/useConversationStream/frame-scheduler.d.ts +14 -0
  172. package/conversation/useConversationStream/frame-scheduler.d.ts.map +1 -0
  173. package/conversation/useConversationStream/frame-scheduler.js +17 -17
  174. package/conversation/useConversationStream/generation-resume.d.ts +85 -0
  175. package/conversation/useConversationStream/generation-resume.d.ts.map +1 -0
  176. package/conversation/useConversationStream/generation-resume.js +11 -21
  177. package/conversation/useConversationStream/useConversationStream.d.ts +145 -0
  178. package/conversation/useConversationStream/useConversationStream.d.ts.map +1 -0
  179. package/conversation/useConversationStream/useConversationStream.js +241 -248
  180. package/conversation/useImportFilePicker/useImportFilePicker.d.ts +32 -0
  181. package/conversation/useImportFilePicker/useImportFilePicker.d.ts.map +1 -0
  182. package/conversation/useMessageSelectionReply/useMessageSelectionReply.d.ts +42 -0
  183. package/conversation/useMessageSelectionReply/useMessageSelectionReply.d.ts.map +1 -0
  184. package/conversation/useMessageSelectionReply/useMessageSelectionReply.js +4 -10
  185. package/conversation/useTranscribeAudio/audio-transcription-error.d.ts +19 -0
  186. package/conversation/useTranscribeAudio/audio-transcription-error.d.ts.map +1 -0
  187. package/conversation/useTranscribeAudio/transcription-retry.d.ts +2 -0
  188. package/conversation/useTranscribeAudio/transcription-retry.d.ts.map +1 -0
  189. package/conversation/useTranscribeAudio/useTranscribeAudio.d.ts +43 -0
  190. package/conversation/useTranscribeAudio/useTranscribeAudio.d.ts.map +1 -0
  191. package/conversation/useTranscribeAudio/useTranscribeAudio.js +30 -27
  192. package/conversation-overlay.d.ts +2 -7
  193. package/conversation-overlay.js +1 -2
  194. package/conversation-sources/useConversationSources/useConversationSources.d.ts +20 -0
  195. package/conversation-sources/useConversationSources/useConversationSources.d.ts.map +1 -0
  196. package/conversation-sources.d.ts +2 -25
  197. package/conversation-sources.js +1 -2
  198. package/conversation-transfer.d.ts +2 -190
  199. package/conversation.d.ts +2 -1372
  200. package/conversation.js +34 -32
  201. package/entry-points/attachments.d.ts +3 -0
  202. package/entry-points/attachments.d.ts.map +1 -0
  203. package/entry-points/catalog.d.ts +25 -0
  204. package/entry-points/catalog.d.ts.map +1 -0
  205. package/entry-points/conversation-overlay.d.ts +2 -0
  206. package/entry-points/conversation-overlay.d.ts.map +1 -0
  207. package/entry-points/conversation-sources.d.ts +2 -0
  208. package/entry-points/conversation-sources.d.ts.map +1 -0
  209. package/entry-points/conversation-transfer.d.ts +7 -0
  210. package/entry-points/conversation-transfer.d.ts.map +1 -0
  211. package/entry-points/conversation.d.ts +36 -0
  212. package/entry-points/conversation.d.ts.map +1 -0
  213. package/entry-points/file-manager-canvas.d.ts +2 -0
  214. package/entry-points/file-manager-canvas.d.ts.map +1 -0
  215. package/entry-points/file-manager.d.ts +31 -0
  216. package/entry-points/file-manager.d.ts.map +1 -0
  217. package/entry-points/mcp-apps.d.ts +6 -0
  218. package/entry-points/mcp-apps.d.ts.map +1 -0
  219. package/entry-points/oauth.d.ts +10 -0
  220. package/entry-points/oauth.d.ts.map +1 -0
  221. package/entry-points/offline-credentials.d.ts +5 -0
  222. package/entry-points/offline-credentials.d.ts.map +1 -0
  223. package/entry-points/scheduled-tasks.d.ts +9 -0
  224. package/entry-points/scheduled-tasks.d.ts.map +1 -0
  225. package/entry-points/scroll-anchoring.d.ts +2 -0
  226. package/entry-points/scroll-anchoring.d.ts.map +1 -0
  227. package/entry-points/sharing.d.ts +3 -0
  228. package/entry-points/sharing.d.ts.map +1 -0
  229. package/entry-points/skill-editor.d.ts +9 -0
  230. package/entry-points/skill-editor.d.ts.map +1 -0
  231. package/entry-points/skills-state.d.ts +2 -0
  232. package/entry-points/skills-state.d.ts.map +1 -0
  233. package/entry-points/source-content.d.ts +2 -0
  234. package/entry-points/source-content.d.ts.map +1 -0
  235. package/entry-points/usage-limits.d.ts +8 -0
  236. package/entry-points/usage-limits.d.ts.map +1 -0
  237. package/entry-points/usage.d.ts +3 -0
  238. package/entry-points/usage.d.ts.map +1 -0
  239. package/entry-points/utils.d.ts +17 -0
  240. package/entry-points/utils.d.ts.map +1 -0
  241. package/entry-points/viewport-layout.d.ts +4 -0
  242. package/entry-points/viewport-layout.d.ts.map +1 -0
  243. package/file-manager-canvas.d.ts +2 -418
  244. package/file-manager-canvas.js +1 -2
  245. package/file-manager.d.ts +2 -1250
  246. package/file-manager.js +21 -21
  247. package/files/annotation.d.ts +10 -0
  248. package/files/annotation.d.ts.map +1 -0
  249. package/files/attachment-canvas.d.ts +123 -0
  250. package/files/attachment-canvas.d.ts.map +1 -0
  251. package/files/attachment-dto-to-display.d.ts +10 -0
  252. package/files/attachment-dto-to-display.d.ts.map +1 -0
  253. package/files/attachment-types.d.ts +21 -0
  254. package/files/attachment-types.d.ts.map +1 -0
  255. package/files/attachment-types.js +1 -1
  256. package/files/create-files-api.d.ts +52 -0
  257. package/files/create-files-api.d.ts.map +1 -0
  258. package/files/create-files-api.js +1 -1
  259. package/files/create-upload-file-with-progress.d.ts +27 -0
  260. package/files/create-upload-file-with-progress.d.ts.map +1 -0
  261. package/files/create-upload-file-with-progress.js +42 -34
  262. package/files/dial-file-manager-copy-move.util.d.ts +15 -0
  263. package/files/dial-file-manager-copy-move.util.d.ts.map +1 -0
  264. package/files/dial-file-manager-mapping.util.d.ts +55 -0
  265. package/files/dial-file-manager-mapping.util.d.ts.map +1 -0
  266. package/files/dial-file-manager-mapping.util.js +97 -69
  267. package/files/dial-file-manager-path.util.d.ts +48 -0
  268. package/files/dial-file-manager-path.util.d.ts.map +1 -0
  269. package/files/dial-file-manager.model.d.ts +36 -0
  270. package/files/dial-file-manager.model.d.ts.map +1 -0
  271. package/files/dial-file-manager.types.d.ts +335 -0
  272. package/files/dial-file-manager.types.d.ts.map +1 -0
  273. package/files/dial-file-to-attachment.d.ts +26 -0
  274. package/files/dial-file-to-attachment.d.ts.map +1 -0
  275. package/files/dial-file-to-attachment.js +3 -3
  276. package/files/dial-file.d.ts +17 -0
  277. package/files/dial-file.d.ts.map +1 -0
  278. package/files/dial-files-api.d.ts +71 -0
  279. package/files/dial-files-api.d.ts.map +1 -0
  280. package/files/download-destination.d.ts +31 -0
  281. package/files/download-destination.d.ts.map +1 -0
  282. package/files/download-progress.d.ts +33 -0
  283. package/files/download-progress.d.ts.map +1 -0
  284. package/files/download-progress.js +28 -0
  285. package/files/file-manager-variant.d.ts +3 -0
  286. package/files/file-manager-variant.d.ts.map +1 -0
  287. package/files/file-name.d.ts +19 -0
  288. package/files/file-name.d.ts.map +1 -0
  289. package/files/prepare-download-destination.d.ts +8 -0
  290. package/files/prepare-download-destination.d.ts.map +1 -0
  291. package/files/resolve-dial-file-api-path.d.ts +12 -0
  292. package/files/resolve-dial-file-api-path.d.ts.map +1 -0
  293. package/files/source-content.d.ts +28 -0
  294. package/files/source-content.d.ts.map +1 -0
  295. package/files/source-content.js +1 -1
  296. package/files/useDialFileListing/useDialFileListing.d.ts +82 -0
  297. package/files/useDialFileListing/useDialFileListing.d.ts.map +1 -0
  298. package/files/useDialFileListing/useDialFileListing.js +95 -107
  299. package/files/useDialFileManager/useDialFileManager.d.ts +16 -0
  300. package/files/useDialFileManager/useDialFileManager.d.ts.map +1 -0
  301. package/files/useDialFileManager/useDialFileManager.js +5 -2
  302. package/files/useDialFileManagerSections/useDialFileManagerSections.d.ts +25 -0
  303. package/files/useDialFileManagerSections/useDialFileManagerSections.d.ts.map +1 -0
  304. package/files/useDialFileManagerSections/useDialFileManagerSections.js +59 -68
  305. package/files/useDialFileManagerTabConfig/useDialFileManagerTabConfig.d.ts +15 -0
  306. package/files/useDialFileManagerTabConfig/useDialFileManagerTabConfig.d.ts.map +1 -0
  307. package/files/useDialFileManagerTabConfig/useDialFileManagerTabConfig.js +1 -1
  308. package/files/useDialFileMetadata/useDialFileMetadata.d.ts +28 -0
  309. package/files/useDialFileMetadata/useDialFileMetadata.d.ts.map +1 -0
  310. package/files/useDialFileMetadata/useDialFileMetadata.js +3 -3
  311. package/files/useDialFileMutations/useDialFileMutations.d.ts +77 -0
  312. package/files/useDialFileMutations/useDialFileMutations.d.ts.map +1 -0
  313. package/files/useDialFileMutations/useDialFileMutations.js +230 -159
  314. package/files/useDialFileSharing/useDialFileSharing.d.ts +34 -0
  315. package/files/useDialFileSharing/useDialFileSharing.d.ts.map +1 -0
  316. package/files/useDialFileUploadBatch/useDialFileUploadBatch.d.ts +47 -0
  317. package/files/useDialFileUploadBatch/useDialFileUploadBatch.d.ts.map +1 -0
  318. package/files/useDialFileUploadBatch/useDialFileUploadBatch.js +105 -97
  319. package/files/useFileAttachmentPicker/useFileAttachmentPicker.d.ts +59 -0
  320. package/files/useFileAttachmentPicker/useFileAttachmentPicker.d.ts.map +1 -0
  321. package/files/useFileAttachmentPicker/useFileAttachmentPicker.js +2 -2
  322. package/index.d.ts +167 -6987
  323. package/index.d.ts.map +1 -0
  324. package/index.js +115 -101
  325. package/mcp-apps/mcp-apps-api-client.d.ts +28 -0
  326. package/mcp-apps/mcp-apps-api-client.d.ts.map +1 -0
  327. package/mcp-apps/mcp-apps-api-client.js +18 -17
  328. package/mcp-apps/useMcpAppHostAdapter/useMcpAppHostAdapter.d.ts +14 -0
  329. package/mcp-apps/useMcpAppHostAdapter/useMcpAppHostAdapter.d.ts.map +1 -0
  330. package/mcp-apps/useMcpAppHostContext/useMcpAppHostContext.d.ts +29 -0
  331. package/mcp-apps/useMcpAppHostContext/useMcpAppHostContext.d.ts.map +1 -0
  332. package/mcp-apps/useMcpAppTools/useMcpAppTools.d.ts +22 -0
  333. package/mcp-apps/useMcpAppTools/useMcpAppTools.d.ts.map +1 -0
  334. package/mcp-apps/useMcpAppTools/useMcpAppTools.js +28 -31
  335. package/mcp-apps/useOpenMcpAppCanvas/useOpenMcpAppCanvas.d.ts +36 -0
  336. package/mcp-apps/useOpenMcpAppCanvas/useOpenMcpAppCanvas.d.ts.map +1 -0
  337. package/mcp-apps.d.ts +2 -256
  338. package/oauth/authorize-url.d.ts +16 -0
  339. package/oauth/authorize-url.d.ts.map +1 -0
  340. package/oauth/authorize-url.js +1 -1
  341. package/oauth/handshake.d.ts +30 -0
  342. package/oauth/handshake.d.ts.map +1 -0
  343. package/oauth/handshake.js +3 -10
  344. package/oauth/models.d.ts +81 -0
  345. package/oauth/models.d.ts.map +1 -0
  346. package/oauth/popup.d.ts +30 -0
  347. package/oauth/popup.d.ts.map +1 -0
  348. package/oauth/popup.js +19 -17
  349. package/oauth/toolset-id.d.ts +53 -0
  350. package/oauth/toolset-id.d.ts.map +1 -0
  351. package/oauth/types.d.ts +84 -0
  352. package/oauth/types.d.ts.map +1 -0
  353. package/oauth/useOAuthCallbackCompletion/useOAuthCallbackCompletion.d.ts +54 -0
  354. package/oauth/useOAuthCallbackCompletion/useOAuthCallbackCompletion.d.ts.map +1 -0
  355. package/oauth/useOAuthCallbackCompletion/useOAuthCallbackCompletion.js +41 -42
  356. package/oauth/useToolsetLogin/useToolsetLogin.d.ts +79 -0
  357. package/oauth/useToolsetLogin/useToolsetLogin.d.ts.map +1 -0
  358. package/oauth/useToolsetLogin/useToolsetLogin.js +2 -1
  359. package/oauth.d.ts +2 -472
  360. package/offline-credentials/map-offline-credentials-response.d.ts +17 -0
  361. package/offline-credentials/map-offline-credentials-response.d.ts.map +1 -0
  362. package/offline-credentials/map-offline-credentials-response.js +15 -0
  363. package/offline-credentials/useOfflineCredentialsAuth/useOfflineCredentialsAuth.d.ts +58 -0
  364. package/offline-credentials/useOfflineCredentialsAuth/useOfflineCredentialsAuth.d.ts.map +1 -0
  365. package/offline-credentials/useOfflineCredentialsAuth/useOfflineCredentialsAuth.js +37 -0
  366. package/offline-credentials/useOfflineCredentialsGate/useOfflineCredentialsGate.d.ts +57 -0
  367. package/offline-credentials/useOfflineCredentialsGate/useOfflineCredentialsGate.d.ts.map +1 -0
  368. package/offline-credentials/useOfflineCredentialsGate/useOfflineCredentialsGate.js +34 -0
  369. package/offline-credentials/useOfflineCredentialsLogin/useOfflineCredentialsLogin.d.ts +28 -0
  370. package/offline-credentials/useOfflineCredentialsLogin/useOfflineCredentialsLogin.d.ts.map +1 -0
  371. package/offline-credentials/useOfflineCredentialsLogin/useOfflineCredentialsLogin.js +29 -0
  372. package/offline-credentials.d.ts +2 -0
  373. package/offline-credentials.js +5 -0
  374. package/package.json +31 -17
  375. package/prompt/export-prompt.d.ts +31 -0
  376. package/prompt/export-prompt.d.ts.map +1 -0
  377. package/prompt/prompt-resource.d.ts +30 -0
  378. package/prompt/prompt-resource.d.ts.map +1 -0
  379. package/prompt/prompt.d.ts +34 -0
  380. package/prompt/prompt.d.ts.map +1 -0
  381. package/prompt/usePromptsState/usePromptsState.d.ts +34 -0
  382. package/prompt/usePromptsState/usePromptsState.d.ts.map +1 -0
  383. package/scheduled-task/check-scheduled-task-auth-session-error.d.ts +27 -0
  384. package/scheduled-task/check-scheduled-task-auth-session-error.d.ts.map +1 -0
  385. package/scheduled-task/check-scheduled-task-auth-session-error.js +17 -0
  386. package/scheduled-task/scheduled-task-description.d.ts +38 -0
  387. package/scheduled-task/scheduled-task-description.d.ts.map +1 -0
  388. package/scheduled-task/scheduled-task-description.js +1 -1
  389. package/scheduled-task/scheduled-task-mapping.d.ts +19 -0
  390. package/scheduled-task/scheduled-task-mapping.d.ts.map +1 -0
  391. package/scheduled-task/scheduled-task-preparation.d.ts +19 -0
  392. package/scheduled-task/scheduled-task-preparation.d.ts.map +1 -0
  393. package/scheduled-task/scheduled-task-trigger.d.ts +26 -0
  394. package/scheduled-task/scheduled-task-trigger.d.ts.map +1 -0
  395. package/scheduled-task/scheduled-task-trigger.js +1 -1
  396. package/scheduled-task/scheduled-tasks-api-client.d.ts +67 -0
  397. package/scheduled-task/scheduled-tasks-api-client.d.ts.map +1 -0
  398. package/scheduled-task/use-scheduled-task-runs.d.ts +40 -0
  399. package/scheduled-task/use-scheduled-task-runs.d.ts.map +1 -0
  400. package/scheduled-task/use-scheduled-task-runs.js +67 -79
  401. package/scheduled-task/use-scheduled-tasks.d.ts +28 -0
  402. package/scheduled-task/use-scheduled-tasks.d.ts.map +1 -0
  403. package/scheduled-task/use-scheduled-tasks.js +1 -1
  404. package/scheduled-tasks.d.ts +2 -250
  405. package/scheduled-tasks.js +2 -1
  406. package/scroll-anchoring.d.ts +2 -50
  407. package/scroll-anchoring.js +1 -2
  408. package/shared/application-schema.d.ts +16 -0
  409. package/shared/application-schema.d.ts.map +1 -0
  410. package/shared/application-schema.js +3 -3
  411. package/shared/browser-timezone.d.ts +7 -0
  412. package/shared/browser-timezone.d.ts.map +1 -0
  413. package/shared/cron-day-of-month.d.ts +21 -0
  414. package/shared/cron-day-of-month.d.ts.map +1 -0
  415. package/shared/cron-day-of-month.js +10 -10
  416. package/shared/cron-weekday.d.ts +5 -0
  417. package/shared/cron-weekday.d.ts.map +1 -0
  418. package/shared/custom-apps.d.ts +7 -0
  419. package/shared/custom-apps.d.ts.map +1 -0
  420. package/shared/external-services.d.ts +16 -0
  421. package/shared/external-services.d.ts.map +1 -0
  422. package/shared/formatting.d.ts +5 -0
  423. package/shared/formatting.d.ts.map +1 -0
  424. package/shared/locale.d.ts +45 -0
  425. package/shared/locale.d.ts.map +1 -0
  426. package/shared/locale.js +2 -2
  427. package/shared/string-utils.d.ts +11 -0
  428. package/shared/string-utils.d.ts.map +1 -0
  429. package/shared/toolset-login-events.d.ts +15 -0
  430. package/shared/toolset-login-events.d.ts.map +1 -0
  431. package/sharing.d.ts +2 -65
  432. package/skill/skill-archive.d.ts +7 -0
  433. package/skill/skill-archive.d.ts.map +1 -0
  434. package/skill/skill-file-batch-validation.d.ts +70 -0
  435. package/skill/skill-file-batch-validation.d.ts.map +1 -0
  436. package/skill/skill-file-batch-validation.js +18 -17
  437. package/skill/skill-file-preview.d.ts +25 -0
  438. package/skill/skill-file-preview.d.ts.map +1 -0
  439. package/skill/skill-manifest.d.ts +28 -0
  440. package/skill/skill-manifest.d.ts.map +1 -0
  441. package/skill/skill-types.d.ts +46 -0
  442. package/skill/skill-types.d.ts.map +1 -0
  443. package/skill/skill-types.js +1 -1
  444. package/skill/skill.d.ts +160 -0
  445. package/skill/skill.d.ts.map +1 -0
  446. package/skill/skill.js +12 -15
  447. package/skill/useSkillArchiveImport/useSkillArchiveImport.d.ts +65 -0
  448. package/skill/useSkillArchiveImport/useSkillArchiveImport.d.ts.map +1 -0
  449. package/skill/useSkillArchiveImport/useSkillArchiveImport.js +1 -7
  450. package/skill/useSkillEditorLoad.d.ts +74 -0
  451. package/skill/useSkillEditorLoad.d.ts.map +1 -0
  452. package/skill/useSkillEditorSubmit.d.ts +125 -0
  453. package/skill/useSkillEditorSubmit.d.ts.map +1 -0
  454. package/skill/useSkillEditorSubmit.js +1 -5
  455. package/skill/useSkillFileActions.d.ts +60 -0
  456. package/skill/useSkillFileActions.d.ts.map +1 -0
  457. package/skill/useSkillFilePreview.d.ts +38 -0
  458. package/skill/useSkillFilePreview.d.ts.map +1 -0
  459. package/skill/useSkillsState/useSkillsState.d.ts +35 -0
  460. package/skill/useSkillsState/useSkillsState.d.ts.map +1 -0
  461. package/skill-editor.d.ts +2 -655
  462. package/skills-state.d.ts +2 -40
  463. package/skills-state.js +1 -2
  464. package/source-content.d.ts +2 -29
  465. package/source-content.js +1 -2
  466. package/usage/map-usage-data-to-dashboard.d.ts +39 -0
  467. package/usage/map-usage-data-to-dashboard.d.ts.map +1 -0
  468. package/usage/map-user-usage-to-model-limits.d.ts +62 -0
  469. package/usage/map-user-usage-to-model-limits.d.ts.map +1 -0
  470. package/usage/usage-banner-source.d.ts +23 -0
  471. package/usage/usage-banner-source.d.ts.map +1 -0
  472. package/usage/usage-banner-source.js +36 -0
  473. package/usage/usage-period.d.ts +7 -0
  474. package/usage/usage-period.d.ts.map +1 -0
  475. package/usage/usage-period.js +6 -0
  476. package/usage/usage-reset-time.d.ts +69 -0
  477. package/usage/usage-reset-time.d.ts.map +1 -0
  478. package/usage/usage-reset-time.js +72 -0
  479. package/usage/useDeploymentUsageLimits/useDeploymentUsageLimits.d.ts +32 -0
  480. package/usage/useDeploymentUsageLimits/useDeploymentUsageLimits.d.ts.map +1 -0
  481. package/usage/useDeploymentUsageLimits/useDeploymentUsageLimits.js +39 -0
  482. package/usage/useRefreshUsageAfterGeneration/useRefreshUsageAfterGeneration.d.ts +16 -0
  483. package/usage/useRefreshUsageAfterGeneration/useRefreshUsageAfterGeneration.d.ts.map +1 -0
  484. package/usage/useRefreshUsageAfterGeneration/useRefreshUsageAfterGeneration.js +14 -0
  485. package/usage/useUsageData/useUsageData.d.ts +28 -0
  486. package/usage/useUsageData/useUsageData.d.ts.map +1 -0
  487. package/usage/useUsageLimitBanner/useUsageLimitBanner.d.ts +56 -0
  488. package/usage/useUsageLimitBanner/useUsageLimitBanner.d.ts.map +1 -0
  489. package/usage/useUsageLimitBanner/useUsageLimitBanner.js +67 -0
  490. package/usage/useUsageLimitBannerDismissal/useUsageLimitBannerDismissal.d.ts +14 -0
  491. package/usage/useUsageLimitBannerDismissal/useUsageLimitBannerDismissal.d.ts.map +1 -0
  492. package/usage/useUsageLimitBannerDismissal/useUsageLimitBannerDismissal.js +19 -0
  493. package/usage-limits.d.ts +2 -0
  494. package/usage-limits.js +8 -0
  495. package/usage.d.ts +2 -125
  496. package/useChatSettingsFormConfig/useChatSettingsFormConfig.d.ts +128 -0
  497. package/useChatSettingsFormConfig/useChatSettingsFormConfig.d.ts.map +1 -0
  498. package/usePageFileDrag/usePageFileDrag.d.ts +16 -0
  499. package/usePageFileDrag/usePageFileDrag.d.ts.map +1 -0
  500. package/usePageFileDrag/usePageFileDrag.js +3 -3
  501. package/usePanelMaxWidth/usePanelMaxWidth.d.ts +6 -0
  502. package/usePanelMaxWidth/usePanelMaxWidth.d.ts.map +1 -0
  503. package/useShareLink/useShareLink.d.ts +23 -0
  504. package/useShareLink/useShareLink.d.ts.map +1 -0
  505. package/useShareLink/useShareLink.js +1 -0
  506. package/useShareRecipientsCount/useShareRecipientsCount.d.ts +36 -0
  507. package/useShareRecipientsCount/useShareRecipientsCount.d.ts.map +1 -0
  508. package/useToolsMenu/useToolsMenu.d.ts +31 -0
  509. package/useToolsMenu/useToolsMenu.d.ts.map +1 -0
  510. package/useViewportWidth/useViewportWidth.d.ts +3 -0
  511. package/useViewportWidth/useViewportWidth.d.ts.map +1 -0
  512. package/utils.d.ts +2 -404
  513. package/viewport-layout.d.ts +2 -27
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buffered-generation.d.ts","sourceRoot":"","sources":["../../../src/conversation/useConversationStream/buffered-generation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAEvE;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;CAClB;AAgBD,kIAAkI;AAClI,eAAO,MAAM,sBAAsB,GACjC,cAAc,YAAY,EAC1B,UAAU,kBAAkB,KAC3B,YAeF,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Strips the leading bucket segment from a conversation id and decodes any
3
+ * already-percent-encoded remainder back to raw, so callers that re-encode
4
+ * the result once (e.g. an API client) don't double-encode it on the wire.
5
+ */
6
+ export declare const getConversationPath: (conversationId: string) => string;
7
+ //# sourceMappingURL=conversation-path.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conversation-path.d.ts","sourceRoot":"","sources":["../../../src/conversation/useConversationStream/conversation-path.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAAI,gBAAgB,MAAM,KAAG,MAO5D,CAAC"}
@@ -1,8 +1,8 @@
1
1
  import { safeDecodeURI as e } from "../../shared/string-utils.js";
2
2
  //#region src/conversation/useConversationStream/conversation-path.ts
3
3
  var t = (t) => {
4
- let n = t.indexOf("/");
5
- return e(n === -1 ? t : t.substring(n + 1));
4
+ let n = t.indexOf("/"), r = n === -1 ? t : t.substring(n + 1);
5
+ return e(r);
6
6
  };
7
7
  //#endregion
8
8
  export { t as getConversationPath };
@@ -0,0 +1,14 @@
1
+ /** Coalesces work per key into at most one run per animation frame. */
2
+ export interface FrameScheduler {
3
+ /** Runs `task` on the next frame, replacing any task still pending for `key`. */
4
+ schedule: (key: string, task: () => void) => void;
5
+ /** Runs the task pending for `key` now, if any; it will not run again. */
6
+ flush: (key: string) => void;
7
+ /** Drops the task pending for `key` without running it. */
8
+ cancel: (key: string) => void;
9
+ /** Drops every pending task without running it. */
10
+ cancelAll: () => void;
11
+ }
12
+ /** Returns a scheduler that runs the latest task per key once per animation frame. */
13
+ export declare const createFrameScheduler: () => FrameScheduler;
14
+ //# sourceMappingURL=frame-scheduler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"frame-scheduler.d.ts","sourceRoot":"","sources":["../../../src/conversation/useConversationStream/frame-scheduler.ts"],"names":[],"mappings":"AAGA,uEAAuE;AACvE,MAAM,WAAW,cAAc;IAC7B,iFAAiF;IACjF,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;IAClD,0EAA0E;IAC1E,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,2DAA2D;IAC3D,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9B,mDAAmD;IACnD,SAAS,EAAE,MAAM,IAAI,CAAC;CACvB;AAgBD,sFAAsF;AACtF,eAAO,MAAM,oBAAoB,QAAO,cAmCvC,CAAC"}
@@ -1,19 +1,19 @@
1
1
  //#region src/conversation/useConversationStream/frame-scheduler.ts
2
- var e = 16, t = (t) => {
2
+ var e = (e) => {
3
3
  if (typeof requestAnimationFrame == "function") {
4
- let e = requestAnimationFrame(t);
5
- return () => cancelAnimationFrame(e);
4
+ let t = requestAnimationFrame(e);
5
+ return () => cancelAnimationFrame(t);
6
6
  }
7
- let n = setTimeout(t, e);
8
- return () => clearTimeout(n);
9
- }, n = () => {
10
- let e = /* @__PURE__ */ new Map(), n = (t) => {
11
- let n = e.get(t);
12
- n && (e.delete(t), n.task());
7
+ let t = setTimeout(e, 16);
8
+ return () => clearTimeout(t);
9
+ }, t = () => {
10
+ let t = /* @__PURE__ */ new Map(), n = (e) => {
11
+ let n = t.get(e);
12
+ n && (t.delete(e), n.task());
13
13
  };
14
14
  return {
15
15
  schedule: (r, i) => {
16
- let a = e.get(r);
16
+ let a = t.get(r);
17
17
  if (a) {
18
18
  a.task = i;
19
19
  return;
@@ -22,18 +22,18 @@ var e = 16, t = (t) => {
22
22
  task: i,
23
23
  cancelFrame: () => void 0
24
24
  };
25
- e.set(r, o), o.cancelFrame = t(() => n(r));
25
+ t.set(r, o), o.cancelFrame = e(() => n(r));
26
26
  },
27
- flush: (t) => {
28
- e.get(t)?.cancelFrame(), n(t);
27
+ flush: (e) => {
28
+ t.get(e)?.cancelFrame(), n(e);
29
29
  },
30
- cancel: (t) => {
31
- e.get(t)?.cancelFrame(), e.delete(t);
30
+ cancel: (e) => {
31
+ t.get(e)?.cancelFrame(), t.delete(e);
32
32
  },
33
33
  cancelAll: () => {
34
- e.forEach((e) => e.cancelFrame()), e.clear();
34
+ t.forEach((e) => e.cancelFrame()), t.clear();
35
35
  }
36
36
  };
37
37
  };
38
38
  //#endregion
39
- export { n as createFrameScheduler };
39
+ export { t as createFrameScheduler };
@@ -0,0 +1,85 @@
1
+ import { Conversation, Message } from '@epam/ai-dial-chat-shared';
2
+ import { Dispatch, MutableRefObject, SetStateAction } from 'react';
3
+ import { BufferedGeneration } from './buffered-generation';
4
+ import { FrameScheduler } from './frame-scheduler';
5
+ import { ConversationStreamTransport } from './useConversationStream';
6
+ /**
7
+ * True when the assistant message carries anything the backend's finalize save
8
+ * would have written. Text alone is not enough to tell a finished response from
9
+ * the start-state placeholder: an image-generation answer settles with an empty
10
+ * `content` and only `custom_content.attachments`, and a stage-only or
11
+ * form-only answer is just as text-free.
12
+ */
13
+ export declare const hasGeneratedPayload: (message: Message) => boolean;
14
+ /**
15
+ * Index of the conversation's message that a background generation is still
16
+ * producing (`backgroundGeneration.status` is `pending`), or -1. It can sit
17
+ * anywhere, e.g. before a model-changed status message.
18
+ */
19
+ export declare const findPendingBackgroundMessageIndex: (conversation: Conversation) => number;
20
+ /**
21
+ * True when the conversation has a pending background message, or its last
22
+ * message is an unresolved assistant placeholder: the backend only persists a
23
+ * conversation at generation start (empty placeholder) and at generation end
24
+ * (final content, or a partial flagged `streamErrorMessage`/`wasStoppedByUser`).
25
+ * This can mean generation is still active elsewhere, or that its terminal save
26
+ * failed.
27
+ */
28
+ export declare const isAwaitingGenerationResume: (conversation: Conversation) => boolean;
29
+ export declare const RECOVERY_REFETCH_DELAYS_MS: number[];
30
+ /**
31
+ * Returns the conversation from `load`, retrying rejected attempts — and
32
+ * results `isPending` flags as not yet settled — on the
33
+ * {@link RECOVERY_REFETCH_DELAYS_MS} schedule; `null` once every attempt has
34
+ * failed or stayed pending, or `shouldStop` turns true between attempts.
35
+ */
36
+ export declare const fetchConversationForRecovery: (load: () => Promise<Conversation>, shouldStop: () => boolean, isPending?: (conversation: Conversation) => boolean) => Promise<Conversation | null>;
37
+ /** Internal options a resume started by the stream hook itself passes; the public API passes none. */
38
+ export interface ResumeGenerationOptions {
39
+ /** Initial buffered message, used instead of the stored placeholder — the live partial answer a dropped stream had already shown. */
40
+ seedMessage?: Message;
41
+ /** Called once when the resume has resolved or lost ownership of the path to a newer generation. */
42
+ onSettled?: () => void;
43
+ /** Resumes even though the path is already in `resumingPathsRef`, for a caller that reserved it itself. */
44
+ skipDedupe?: boolean;
45
+ }
46
+ /** Host-owned state {@link createResumeIfAwaitingGeneration} reads/writes through. */
47
+ export interface ResumeIfAwaitingGenerationDeps {
48
+ transport: ConversationStreamTransport;
49
+ setConversation: Dispatch<SetStateAction<Conversation | null>>;
50
+ conversationRef: MutableRefObject<Conversation | null>;
51
+ resumingPathsRef: MutableRefObject<Set<string>>;
52
+ bufferedGenerationsRef: MutableRefObject<Map<string, BufferedGeneration>>;
53
+ addStreamingPath: (path: string) => void;
54
+ removeStreamingPath: (path: string) => void;
55
+ isPathDisplayed: (path: string) => boolean;
56
+ generationPersistenceErrorMessage?: string;
57
+ /** Records a terminal read failure and its guarded read-only retry. */
58
+ onReloadError?: (path: string, retry: () => Promise<void>, isCurrent: () => boolean) => void;
59
+ /** Clears a previous read failure after reconciliation. */
60
+ onReloadSuccess?: (path: string) => void;
61
+ /** When set, replayed chunks are published at most once per frame through it. */
62
+ frameScheduler?: FrameScheduler;
63
+ /**
64
+ * Generation ids the user stopped. A resumed background generation in this set
65
+ * ignores further replayed chunks (DIAL Core does not always honour the cancel), and
66
+ * its id is removed when the resume settles.
67
+ */
68
+ stoppedGenerationIdsRef?: MutableRefObject<Set<string>>;
69
+ }
70
+ /**
71
+ * Builds `resumeIfAwaitingGeneration`: a hard refresh mid-generation loads a
72
+ * conversation whose last message is the backend's empty start-state
73
+ * placeholder (no incremental save exists to show partial content). Rather
74
+ * than leaving that static and forever empty, this marks the path as
75
+ * streaming — for free, reusing the same typing indicator and any
76
+ * `isStreaming` guards a composed handlers hook already applies — and
77
+ * attaches to the backend's live replay of the in-flight generation
78
+ * (`transport.attachToGeneration`), showing the assistant message populate
79
+ * progressively. It falls back to watching the conversation's generic
80
+ * resource-update channel (`transport.watchConversation`) until the
81
+ * backend's finalize save resolves the placeholder whenever attach is
82
+ * unavailable or ends without a terminal event.
83
+ */
84
+ export declare const createResumeIfAwaitingGeneration: ({ transport, setConversation, conversationRef, resumingPathsRef, bufferedGenerationsRef, addStreamingPath, removeStreamingPath, isPathDisplayed, generationPersistenceErrorMessage, frameScheduler, stoppedGenerationIdsRef, onReloadError, onReloadSuccess, }: ResumeIfAwaitingGenerationDeps) => (currentConversationId: string, conversation: Conversation, options?: ResumeGenerationOptions) => void;
85
+ //# sourceMappingURL=generation-resume.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generation-resume.d.ts","sourceRoot":"","sources":["../../../src/conversation/useConversationStream/generation-resume.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,YAAY,EAEjB,KAAK,OAAO,EAEb,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAOxE,OAAO,EACL,KAAK,kBAAkB,EAExB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AAE3E;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,GAAI,SAAS,OAAO,KAAG,OAWtD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,iCAAiC,GAC5C,cAAc,YAAY,KACzB,MAKA,CAAC;AAEJ;;;;;;;GAOG;AACH,eAAO,MAAM,0BAA0B,GACrC,cAAc,YAAY,KACzB,OAUF,CAAC;AA6BF,eAAO,MAAM,0BAA0B,UAAkC,CAAC;AAe1E;;;;;GAKG;AACH,eAAO,MAAM,4BAA4B,GACvC,MAAM,MAAM,OAAO,CAAC,YAAY,CAAC,EACjC,YAAY,MAAM,OAAO,EACzB,YAAY,CAAC,YAAY,EAAE,YAAY,KAAK,OAAO,KAClD,OAAO,CAAC,YAAY,GAAG,IAAI,CAiB7B,CAAC;AAgEF,sGAAsG;AACtG,MAAM,WAAW,uBAAuB;IACtC,qIAAqI;IACrI,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,oGAAoG;IACpG,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,2GAA2G;IAC3G,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,sFAAsF;AACtF,MAAM,WAAW,8BAA8B;IAC7C,SAAS,EAAE,2BAA2B,CAAC;IACvC,eAAe,EAAE,QAAQ,CAAC,cAAc,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC,CAAC;IAC/D,eAAe,EAAE,gBAAgB,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IACvD,gBAAgB,EAAE,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAChD,sBAAsB,EAAE,gBAAgB,CAAC,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAC1E,gBAAgB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,mBAAmB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,eAAe,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IAC3C,iCAAiC,CAAC,EAAE,MAAM,CAAC;IAC3C,uEAAuE;IACvE,aAAa,CAAC,EAAE,CACd,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EAC1B,SAAS,EAAE,MAAM,OAAO,KACrB,IAAI,CAAC;IACV,2DAA2D;IAC3D,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,iFAAiF;IACjF,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC;;;;OAIG;IACH,uBAAuB,CAAC,EAAE,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;CACzD;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,gCAAgC,GAAI,gQAc9C,8BAA8B,MAE7B,uBAAuB,MAAM,EAC7B,cAAc,YAAY,EAC1B,UAAS,uBAA4B,KACpC,IA8QJ,CAAC"}
@@ -12,7 +12,7 @@ var c = (e) => {
12
12
  if (l(e) !== -1) return !0;
13
13
  let t = e.messages[e.messages.length - 1];
14
14
  return !!t && t.role === s.Assistant && !c(t) && t.streamErrorMessage == null && !t.wasStoppedByUser;
15
- }, d = 300 * 1e3, f = "awaiting-resume", p = [
15
+ }, d = 3e5, f = "awaiting-resume", p = [
16
16
  1e3,
17
17
  2e3,
18
18
  4e3,
@@ -81,18 +81,14 @@ var c = (e) => {
81
81
  if (x?.flush(D), N != null && S?.current.delete(N), !M()) return;
82
82
  m.current.delete(D), v(D);
83
83
  let n = !k && e && e.messages.length - 1 === A && u(e) && c(j.message);
84
- if (t || n) {
85
- j.message = {
86
- ...j.message,
87
- streamErrorMessage: b
88
- }, y(D) && s((e) => {
89
- if (!e || !M() || !y(D)) return e;
90
- let t = a(e, j);
91
- return p.current = t, t;
92
- });
93
- return;
94
- }
95
- h.current.delete(D), e && y(D) && (s(e), p.current = e);
84
+ t || n ? (j.message = {
85
+ ...j.message,
86
+ streamErrorMessage: b
87
+ }, y(D) && s((e) => {
88
+ if (!e || !M() || !y(D)) return e;
89
+ let t = a(e, j);
90
+ return p.current = t, t;
91
+ })) : (h.current.delete(D), e && y(D) && (s(e), p.current = e));
96
92
  }, I = async () => {
97
93
  if (M()) try {
98
94
  let n = await o.getConversation(e(t));
@@ -115,13 +111,7 @@ var c = (e) => {
115
111
  }), z = (e) => {
116
112
  if (!M() || P()) return;
117
113
  let t = i([j.message], 0, e);
118
- if (t && (j.message = t[0]), y(D)) {
119
- if (x) {
120
- x.schedule(D, R);
121
- return;
122
- }
123
- R();
124
- }
114
+ t && (j.message = t[0]), y(D) && (x ? x.schedule(D, R) : R());
125
115
  }, B = async () => {
126
116
  let n = new AbortController(), r;
127
117
  try {
@@ -181,4 +171,4 @@ var c = (e) => {
181
171
  })();
182
172
  };
183
173
  //#endregion
184
- export { _ as createResumeIfAwaitingGeneration, h as fetchConversationForRecovery, l as findPendingBackgroundMessageIndex, c as hasGeneratedPayload, u as isAwaitingGenerationResume };
174
+ export { p as RECOVERY_REFETCH_DELAYS_MS, _ as createResumeIfAwaitingGeneration, h as fetchConversationForRecovery, l as findPendingBackgroundMessageIndex, c as hasGeneratedPayload, u as isAwaitingGenerationResume };
@@ -0,0 +1,145 @@
1
+ import { SendCompletionDtoModeEnum } from '@epam/ai-dial-chat-api-client';
2
+ import { Conversation, MessageCustomContent, StreamChunk } from '@epam/ai-dial-chat-shared';
3
+ import { Dispatch, MutableRefObject, SetStateAction } from 'react';
4
+ /** Options accepted by {@link ConversationStreamTransport.streamCompletion}. */
5
+ export interface StreamCompletionOptions {
6
+ onChunk: (chunk: StreamChunk) => void;
7
+ onComplete: () => void | Promise<void>;
8
+ onError: (error: Error) => void;
9
+ signal: AbortSignal;
10
+ }
11
+ /**
12
+ * Host-owned transport for the DIAL Core completion protocol. Implemented at
13
+ * the app edge — never hardcodes an `/api` path, CSRF handling, or a
14
+ * `server-api` import; the library only depends on this interface's shape.
15
+ */
16
+ export interface ConversationStreamTransport {
17
+ /** Starts a completion; delivers chunks/completion/error through `options`, aborted via `options.signal`. */
18
+ streamCompletion(path: string, message: string | undefined, model: string, options: StreamCompletionOptions, customContent?: MessageCustomContent, generationId?: string, mode?: SendCompletionDtoModeEnum, messageIndex?: number, clientChannelId?: string): void;
19
+ /**
20
+ * Requests the backend stop an active generation. `content` is the answer text shown
21
+ * so far; the backend saves it for a generation whose text it does not hold.
22
+ */
23
+ stopCompletion(params: {
24
+ generationId: string;
25
+ path: string;
26
+ content?: string;
27
+ }): Promise<void>;
28
+ /** Opens a stream of resource-update events for `path`, until aborted via `signal`. */
29
+ watchConversation(path: string, signal: AbortSignal): Promise<ReadableStream<Uint8Array>>;
30
+ /**
31
+ * Attaches to an active generation's live replay: a `snapshot` event
32
+ * carrying the assistant message as assembled so far, then a `chunk` event
33
+ * per subsequent delta, then exactly one terminal event (`done`/`error`/
34
+ * `stopped`), until aborted via `signal`. Rejects when no active
35
+ * generation exists for `path` — including one that already finished —
36
+ * so the caller can fall back to `watchConversation`.
37
+ */
38
+ attachToGeneration(path: string, signal: AbortSignal): Promise<ReadableStream<Uint8Array>>;
39
+ /** Reloads the persisted conversation by its full (bucket-qualified) id. */
40
+ getConversation(conversationId: string, signal?: AbortSignal): Promise<Conversation>;
41
+ /**
42
+ * Saves `conversation` at the bucket-stripped `path`, resolving with the saved
43
+ * conversation. Used only for the single recovery save after the backend's
44
+ * terminal save was rejected with `401`; without it that failure shows the
45
+ * persistence warning immediately.
46
+ */
47
+ saveConversation?(path: string, conversation: Conversation): Promise<Conversation>;
48
+ }
49
+ /** Host-owned generation lifecycle, backing cross-navigation `AbortController` ownership. */
50
+ export interface ConversationGenerationLifecycle {
51
+ /** Starts (or replaces) tracking for a generation on `path`, returning its `AbortController`. */
52
+ startGeneration: (path: string, generationId: string) => AbortController;
53
+ /** Marks the generation identified by `path`/`generationId` complete, if it is still the active one. */
54
+ completeGeneration: (path: string, generationId: string) => void;
55
+ }
56
+ /** Optional host-owned client-channel connection, used to nudge tool-signin delivery. */
57
+ export interface ConversationStreamChannel {
58
+ channelId: string | null;
59
+ ensureConnected: () => void;
60
+ /** Resolves with a channel id, waiting for an in-flight subscribe if one isn't established yet, so a completion sent immediately after mount can still carry it. */
61
+ waitForChannel: (timeoutMs?: number) => Promise<string | null>;
62
+ /** Notifies the host that a generation just ended (completed or errored), so it can consider disconnecting an idle channel. */
63
+ notifyGenerationSettled?: () => void;
64
+ }
65
+ /** Optional host-owned overlay generation-lifecycle notifications. Each method is independently optional. */
66
+ export interface ConversationStreamOverlayNotifier {
67
+ notifyGenerationStart?: () => void;
68
+ notifyGenerationEnd?: () => void;
69
+ notifyStopGenerating?: () => void;
70
+ }
71
+ /** Shared mutable channel through which the displayed conversation's state is read/written. */
72
+ export interface ConversationStateAccessor {
73
+ setConversation: Dispatch<SetStateAction<Conversation | null>>;
74
+ conversationRef: MutableRefObject<Conversation | null>;
75
+ }
76
+ /** Parameters for {@link useConversationStream}. */
77
+ export interface UseConversationStreamParams {
78
+ conversationId: string | undefined;
79
+ state: ConversationStateAccessor;
80
+ transport: ConversationStreamTransport;
81
+ generation: ConversationGenerationLifecycle;
82
+ channel?: ConversationStreamChannel;
83
+ overlay?: ConversationStreamOverlayNotifier;
84
+ onStopError?: (error: Error) => void;
85
+ /**
86
+ * Message shown on the message bubble when the backend rejects a completion
87
+ * because this conversation is already generating — the case a second
88
+ * browser tab of the same session hits. Defaults to
89
+ * {@link DEFAULT_GENERATION_CONFLICT_MESSAGE}.
90
+ */
91
+ generationConflictMessage?: string;
92
+ /** Host-translated warning shown when the received answer could not be saved. */
93
+ generationPersistenceErrorMessage?: string;
94
+ /**
95
+ * Receives the original error of every failed stream. The hook shows only
96
+ * host-supplied or upstream-supplied text on the message bubble and hides
97
+ * transport detail (e.g. `Failed to fetch`), so this is where the host can
98
+ * still log or report the raw error.
99
+ */
100
+ onStreamError?: (error: Error) => void;
101
+ /**
102
+ * Coalesces the displayed chunk updates into one `setConversation` per
103
+ * animation frame. Chunks still reach the per-path buffer immediately, and
104
+ * any pending update is flushed before completion, error, stop, or a
105
+ * superseding generation. Defaults to `false` (one update per chunk).
106
+ */
107
+ batchChunksPerFrame?: boolean;
108
+ }
109
+ /** Per-start options of {@link UseConversationStreamResult.startStream}. */
110
+ export interface StartStreamOptions {
111
+ /**
112
+ * Treats a `GenerationConflictError` as "this turn is already being
113
+ * generated" — e.g. a page reloaded before that generation saved its start
114
+ * state — and joins the running generation instead of showing the conflict
115
+ * message, which remains the fallback. Only for a start that sends no new
116
+ * user text; a send the user typed must keep reporting the conflict.
117
+ */
118
+ resumeOnConflict?: boolean;
119
+ }
120
+ /** Return value of {@link useConversationStream}. */
121
+ export interface UseConversationStreamResult {
122
+ startStream: (conversationId: string, userContent: string, messageIndex: number, model: string, customContent?: MessageCustomContent, generationId?: string, mode?: SendCompletionDtoModeEnum, options?: StartStreamOptions) => void;
123
+ handleStop: () => void;
124
+ resumeIfAwaitingGeneration: (currentConversationId: string, conversation: Conversation) => void;
125
+ /** Restores the accumulated live assistant message when its conversation is loaded again before completion. */
126
+ restoreBufferedGeneration: (currentConversationId: string, conversation: Conversation) => Conversation;
127
+ isStreaming: boolean;
128
+ canStopStreaming: boolean;
129
+ /** Whether the displayed conversation's terminal read failed. */
130
+ hasConversationReloadError: boolean;
131
+ /** Whether a retry of that read is in flight. */
132
+ isReloadingConversation: boolean;
133
+ /** Retries the failed read without saving or regenerating the answer. */
134
+ retryConversationReload: () => Promise<void>;
135
+ }
136
+ /**
137
+ * Owns completion-streaming state: per-path streaming/stoppable tracking,
138
+ * stale-chunk rejection, cross-navigation live-message buffering,
139
+ * reload-after-complete, backend-driven stop, and hard-refresh resume
140
+ * detection — all driven through the injected
141
+ * `transport`/`generation`/`channel`/`overlay` capabilities rather than any
142
+ * app context or `server-api` import.
143
+ */
144
+ export declare const useConversationStream: ({ conversationId, state: { setConversation, conversationRef }, transport, generation: { startGeneration, completeGeneration }, channel, overlay, onStopError, generationConflictMessage, generationPersistenceErrorMessage, onStreamError, batchChunksPerFrame, }: UseConversationStreamParams) => UseConversationStreamResult;
145
+ //# sourceMappingURL=useConversationStream.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useConversationStream.d.ts","sourceRoot":"","sources":["../../../src/conversation/useConversationStream/useConversationStream.ts"],"names":[],"mappings":"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"}