@epam/ai-dial-chat-hooks 1.3.0-dev.37 → 1.3.0-dev.371

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 (578) hide show
  1. package/api-error/api-error.d.ts +2 -0
  2. package/api-error/api-error.d.ts.map +1 -1
  3. package/api-error/api-error.js +31 -23
  4. package/api-transport/create-unauthorized-middleware.js +4 -1
  5. package/attachment/attach-constraints.d.ts +31 -0
  6. package/attachment/attach-constraints.d.ts.map +1 -0
  7. package/attachment/attach-constraints.js +18 -0
  8. package/attachment/useAttachmentAction/useAttachmentAction.d.ts +1 -1
  9. package/attachment/useAttachmentAction/useAttachmentAction.d.ts.map +1 -1
  10. package/attachment/useAttachmentAction/useAttachmentAction.js +25 -28
  11. package/attachments.js +2 -1
  12. package/catalog/application-credentials.d.ts +15 -0
  13. package/catalog/application-credentials.d.ts.map +1 -0
  14. package/catalog/application-credentials.js +28 -0
  15. package/catalog/catalog-derivations.d.ts +5 -3
  16. package/catalog/catalog-derivations.d.ts.map +1 -1
  17. package/catalog/catalog-derivations.js +13 -6
  18. package/catalog/catalog-entity-kind.d.ts +31 -0
  19. package/catalog/catalog-entity-kind.d.ts.map +1 -0
  20. package/catalog/catalog-entity-kind.js +21 -0
  21. package/catalog/catalog-preferences.d.ts +8 -0
  22. package/catalog/catalog-preferences.d.ts.map +1 -0
  23. package/catalog/catalog-preferences.js +5 -0
  24. package/catalog/create-publish-api.d.ts +3 -1
  25. package/catalog/create-publish-api.d.ts.map +1 -1
  26. package/catalog/create-publish-api.js +4 -0
  27. package/catalog/deployment-id.d.ts +13 -4
  28. package/catalog/deployment-id.d.ts.map +1 -1
  29. package/catalog/deployment-id.js +17 -3
  30. package/catalog/entity-details.d.ts +2 -0
  31. package/catalog/entity-details.d.ts.map +1 -1
  32. package/catalog/favorite-entity-type.d.ts +5 -0
  33. package/catalog/favorite-entity-type.d.ts.map +1 -0
  34. package/catalog/favorite-entity-type.js +10 -0
  35. package/catalog/map-deployment-limits-to-input.d.ts +4 -3
  36. package/catalog/map-deployment-limits-to-input.d.ts.map +1 -1
  37. package/catalog/map-deployment-limits-to-input.js +3 -4
  38. package/catalog/map-deployment-to-catalog-item.d.ts +12 -1
  39. package/catalog/map-deployment-to-catalog-item.d.ts.map +1 -1
  40. package/catalog/map-deployment-to-catalog-item.js +22 -15
  41. package/catalog/map-entity-details-to-catalog.d.ts.map +1 -1
  42. package/catalog/map-entity-details-to-catalog.js +69 -24
  43. package/catalog/map-skill-to-catalog-item.d.ts +4 -5
  44. package/catalog/map-skill-to-catalog-item.d.ts.map +1 -1
  45. package/catalog/map-skill-to-catalog-item.js +29 -38
  46. package/catalog/publish.d.ts +1 -1
  47. package/catalog/publish.d.ts.map +1 -1
  48. package/catalog/resource-folder.d.ts +8 -0
  49. package/catalog/resource-folder.d.ts.map +1 -0
  50. package/catalog/resource-folder.js +13 -0
  51. package/catalog/resource-name-conflict.d.ts +22 -0
  52. package/catalog/resource-name-conflict.d.ts.map +1 -0
  53. package/catalog/resource-name-conflict.js +32 -0
  54. package/catalog/resource-save-adapter.d.ts +36 -0
  55. package/catalog/resource-save-adapter.d.ts.map +1 -0
  56. package/catalog/resource-save-adapter.js +4 -0
  57. package/catalog/resource-save-adapters.d.ts +93 -0
  58. package/catalog/resource-save-adapters.d.ts.map +1 -0
  59. package/catalog/resource-save-adapters.js +116 -0
  60. package/catalog/resource-save.d.ts +76 -0
  61. package/catalog/resource-save.d.ts.map +1 -0
  62. package/catalog/resource-save.js +52 -0
  63. package/catalog/unpublishable-folders.d.ts +21 -0
  64. package/catalog/unpublishable-folders.d.ts.map +1 -0
  65. package/catalog/unpublishable-folders.js +21 -0
  66. package/catalog/usage-limit-rows.d.ts +14 -0
  67. package/catalog/usage-limit-rows.d.ts.map +1 -0
  68. package/catalog/usage-limit-rows.js +19 -0
  69. package/catalog/use-publish-history.d.ts +19 -0
  70. package/catalog/use-publish-history.d.ts.map +1 -0
  71. package/catalog/use-publish-history.js +25 -0
  72. package/catalog/useApplicationCredentialActions/useApplicationCredentialActions.d.ts +57 -0
  73. package/catalog/useApplicationCredentialActions/useApplicationCredentialActions.d.ts.map +1 -0
  74. package/catalog/useApplicationCredentialActions/useApplicationCredentialActions.js +67 -0
  75. package/catalog/useCatalogEditNavigation/useCatalogEditNavigation.d.ts +23 -6
  76. package/catalog/useCatalogEditNavigation/useCatalogEditNavigation.d.ts.map +1 -1
  77. package/catalog/useCatalogEditNavigation/useCatalogEditNavigation.js +108 -107
  78. package/catalog/useCatalogItemDelete/useCatalogItemDelete.d.ts +41 -0
  79. package/catalog/useCatalogItemDelete/useCatalogItemDelete.d.ts.map +1 -0
  80. package/catalog/useCatalogItemDelete/useCatalogItemDelete.js +37 -0
  81. package/catalog/useCatalogToolsetCredentials/useCatalogToolsetCredentials.d.ts.map +1 -1
  82. package/catalog/useCatalogToolsetCredentials/useCatalogToolsetCredentials.js +72 -77
  83. package/catalog/useFavoriteEntitiesState/useFavoriteEntitiesState.js +1 -1
  84. package/catalog/usePublishFolders/usePublishFolders.d.ts +8 -0
  85. package/catalog/usePublishFolders/usePublishFolders.d.ts.map +1 -1
  86. package/catalog/usePublishFolders/usePublishFolders.js +32 -29
  87. package/catalog/useResourceFolders/useResourceFolders.d.ts +33 -0
  88. package/catalog/useResourceFolders/useResourceFolders.d.ts.map +1 -0
  89. package/catalog/useResourceFolders/useResourceFolders.js +58 -0
  90. package/catalog/useResourceSavePanel/useResourceSavePanel.d.ts +64 -0
  91. package/catalog/useResourceSavePanel/useResourceSavePanel.d.ts.map +1 -0
  92. package/catalog/useResourceSavePanel/useResourceSavePanel.js +173 -0
  93. package/catalog/useSkillItemDetails.js +3 -3
  94. package/catalog/useUnpublishConfirmation/useUnpublishConfirmation.d.ts +43 -0
  95. package/catalog/useUnpublishConfirmation/useUnpublishConfirmation.d.ts.map +1 -0
  96. package/catalog/useUnpublishConfirmation/useUnpublishConfirmation.js +46 -0
  97. package/catalog/useUnpublishableFolders/useUnpublishableFolders.d.ts +22 -0
  98. package/catalog/useUnpublishableFolders/useUnpublishableFolders.d.ts.map +1 -0
  99. package/catalog/useUnpublishableFolders/useUnpublishableFolders.js +53 -0
  100. package/catalog.js +41 -23
  101. package/conversation/conversation-data-source.d.ts +47 -0
  102. package/conversation/conversation-data-source.d.ts.map +1 -0
  103. package/conversation/conversation-data-source.js +11 -0
  104. package/conversation/conversation-draft/conversation-draft-store.d.ts +21 -0
  105. package/conversation/conversation-draft/conversation-draft-store.d.ts.map +1 -0
  106. package/conversation/conversation-draft/conversation-draft-store.js +84 -0
  107. package/conversation/conversation-draft/conversation-draft.d.ts +48 -0
  108. package/conversation/conversation-draft/conversation-draft.d.ts.map +1 -0
  109. package/conversation/conversation-list.d.ts +6 -0
  110. package/conversation/conversation-list.d.ts.map +1 -0
  111. package/conversation/conversation-list.js +5 -0
  112. package/conversation/conversation-title-stream.d.ts +33 -0
  113. package/conversation/conversation-title-stream.d.ts.map +1 -0
  114. package/conversation/conversation-title-stream.js +103 -0
  115. package/conversation/conversation-transfer/attachment-refs.d.ts +10 -2
  116. package/conversation/conversation-transfer/attachment-refs.d.ts.map +1 -1
  117. package/conversation/conversation-transfer/attachment-refs.js +31 -9
  118. package/conversation/conversation-transfer/export-conversation.d.ts +5 -1
  119. package/conversation/conversation-transfer/export-conversation.d.ts.map +1 -1
  120. package/conversation/conversation-transfer/export-conversation.js +19 -18
  121. package/conversation/conversation-transfer/import-conversation.d.ts +11 -6
  122. package/conversation/conversation-transfer/import-conversation.d.ts.map +1 -1
  123. package/conversation/conversation-transfer/import-conversation.js +65 -69
  124. package/conversation/conversation-transfer/progress.js +1 -1
  125. package/conversation/conversation-transfer/zip-export.js +1 -7
  126. package/conversation/conversation-transfer/zip-import.js +1 -1
  127. package/conversation/create-chat-stream-api.d.ts +24 -3
  128. package/conversation/create-chat-stream-api.d.ts.map +1 -1
  129. package/conversation/create-chat-stream-api.js +67 -56
  130. package/conversation/generation-registry.d.ts +30 -0
  131. package/conversation/generation-registry.d.ts.map +1 -0
  132. package/conversation/generation-registry.js +33 -0
  133. package/conversation/get-model-id-from-conversation-id.d.ts.map +1 -1
  134. package/conversation/get-model-id-from-conversation-id.js +1 -1
  135. package/conversation/message-utils.d.ts +6 -0
  136. package/conversation/message-utils.d.ts.map +1 -1
  137. package/conversation/message-utils.js +14 -10
  138. package/conversation/scheduled-task-grouping.d.ts +53 -0
  139. package/conversation/scheduled-task-grouping.d.ts.map +1 -0
  140. package/conversation/scheduled-task-grouping.js +45 -0
  141. package/conversation/useActiveConversationSync/useActiveConversationSync.d.ts +4 -2
  142. package/conversation/useActiveConversationSync/useActiveConversationSync.d.ts.map +1 -1
  143. package/conversation/useActiveConversationSync/useActiveConversationSync.js +19 -12
  144. package/conversation/useAttachmentUpload/useAttachmentUpload.d.ts.map +1 -1
  145. package/conversation/useAttachmentUpload/useAttachmentUpload.js +4 -1
  146. package/conversation/useConversationComposerDraft/useConversationComposerDraft.d.ts +39 -0
  147. package/conversation/useConversationComposerDraft/useConversationComposerDraft.d.ts.map +1 -0
  148. package/conversation/useConversationComposerDraft/useConversationComposerDraft.js +128 -0
  149. package/conversation/useConversationDiscovery/useConversationDiscovery.d.ts +22 -0
  150. package/conversation/useConversationDiscovery/useConversationDiscovery.d.ts.map +1 -0
  151. package/conversation/useConversationDiscovery/useConversationDiscovery.js +60 -0
  152. package/conversation/useConversationExport/useConversationExport.d.ts.map +1 -1
  153. package/conversation/useConversationExport/useConversationExport.js +113 -122
  154. package/conversation/useConversationHandlers/message-utils.js +2 -2
  155. package/conversation/useConversationHandlers/useConversationHandlers.js +41 -41
  156. package/conversation/useConversationImport/useConversationImport.js +24 -24
  157. package/conversation/useConversationPanelItems/useConversationPanelItems.d.ts +18 -5
  158. package/conversation/useConversationPanelItems/useConversationPanelItems.d.ts.map +1 -1
  159. package/conversation/useConversationPanelItems/useConversationPanelItems.js +34 -30
  160. package/conversation/useConversationScroll/useConversationScroll.d.ts.map +1 -1
  161. package/conversation/useConversationScroll/useConversationScroll.js +69 -72
  162. package/conversation/useConversationStream/conversation-path.js +2 -2
  163. package/conversation/useConversationStream/conversation-stream.types.d.ts +142 -0
  164. package/conversation/useConversationStream/conversation-stream.types.d.ts.map +1 -0
  165. package/conversation/useConversationStream/frame-scheduler.js +17 -17
  166. package/conversation/useConversationStream/generation-resume.d.ts +24 -2
  167. package/conversation/useConversationStream/generation-resume.d.ts.map +1 -1
  168. package/conversation/useConversationStream/generation-resume.js +110 -121
  169. package/conversation/useConversationStream/stream-errors.d.ts +10 -0
  170. package/conversation/useConversationStream/stream-errors.d.ts.map +1 -0
  171. package/conversation/useConversationStream/stream-errors.js +10 -0
  172. package/conversation/useConversationStream/stream-session.d.ts +51 -0
  173. package/conversation/useConversationStream/stream-session.d.ts.map +1 -0
  174. package/conversation/useConversationStream/stream-session.js +179 -0
  175. package/conversation/useConversationStream/useConversationReloadErrors.d.ts +25 -0
  176. package/conversation/useConversationStream/useConversationReloadErrors.d.ts.map +1 -0
  177. package/conversation/useConversationStream/useConversationReloadErrors.js +38 -0
  178. package/conversation/useConversationStream/useConversationStream.d.ts +3 -136
  179. package/conversation/useConversationStream/useConversationStream.d.ts.map +1 -1
  180. package/conversation/useConversationStream/useConversationStream.js +141 -325
  181. package/conversation/useConversationStream/useStopGeneration.d.ts +29 -0
  182. package/conversation/useConversationStream/useStopGeneration.d.ts.map +1 -0
  183. package/conversation/useConversationStream/useStopGeneration.js +48 -0
  184. package/conversation/useConversationStream/useStreamPathState.d.ts +39 -0
  185. package/conversation/useConversationStream/useStreamPathState.d.ts.map +1 -0
  186. package/conversation/useConversationStream/useStreamPathState.js +55 -0
  187. package/conversation/useConversationTitleEnrichmentController.d.ts +64 -0
  188. package/conversation/useConversationTitleEnrichmentController.d.ts.map +1 -0
  189. package/conversation/useConversationTitleEnrichmentController.js +155 -0
  190. package/conversation/useDeploymentChangeTracking.d.ts +14 -0
  191. package/conversation/useDeploymentChangeTracking.d.ts.map +1 -0
  192. package/conversation/useDeploymentChangeTracking.js +23 -0
  193. package/conversation/useEntityPreselection/useEntityPreselection.d.ts +108 -0
  194. package/conversation/useEntityPreselection/useEntityPreselection.d.ts.map +1 -0
  195. package/conversation/useEntityPreselection/useEntityPreselection.js +78 -0
  196. package/conversation/useMessageSelectionReply/useMessageSelectionReply.js +4 -10
  197. package/conversation/useTranscribeAudio/useTranscribeAudio.d.ts +8 -1
  198. package/conversation/useTranscribeAudio/useTranscribeAudio.d.ts.map +1 -1
  199. package/conversation/useTranscribeAudio/useTranscribeAudio.js +36 -27
  200. package/conversation/useVisibleConversationIdsReporter/useVisibleConversationIdsReporter.d.ts +16 -0
  201. package/conversation/useVisibleConversationIdsReporter/useVisibleConversationIdsReporter.d.ts.map +1 -0
  202. package/conversation/useVisibleConversationIdsReporter/useVisibleConversationIdsReporter.js +17 -0
  203. package/conversation-overlay.js +1 -2
  204. package/conversation-sources/stage-citations.d.ts +9 -0
  205. package/conversation-sources/stage-citations.d.ts.map +1 -0
  206. package/conversation-sources/stage-citations.js +8 -0
  207. package/conversation-sources/useConversationAnnotationPool/useConversationAnnotationPool.d.ts +4 -0
  208. package/conversation-sources/useConversationAnnotationPool/useConversationAnnotationPool.d.ts.map +1 -0
  209. package/conversation-sources/useConversationAnnotationPool/useConversationAnnotationPool.js +5 -0
  210. package/conversation-sources.js +3 -1
  211. package/conversation.js +45 -33
  212. package/entry-points/attachments.d.ts +1 -0
  213. package/entry-points/attachments.d.ts.map +1 -1
  214. package/entry-points/catalog.d.ts +17 -0
  215. package/entry-points/catalog.d.ts.map +1 -1
  216. package/entry-points/conversation-sources.d.ts +2 -0
  217. package/entry-points/conversation-sources.d.ts.map +1 -1
  218. package/entry-points/conversation.d.ts +13 -0
  219. package/entry-points/conversation.d.ts.map +1 -1
  220. package/entry-points/external-services.d.ts +6 -0
  221. package/entry-points/external-services.d.ts.map +1 -0
  222. package/entry-points/file-manager-canvas.d.ts +1 -0
  223. package/entry-points/file-manager-canvas.d.ts.map +1 -1
  224. package/entry-points/file-manager.d.ts +2 -0
  225. package/entry-points/file-manager.d.ts.map +1 -1
  226. package/entry-points/oauth.d.ts +1 -0
  227. package/entry-points/oauth.d.ts.map +1 -1
  228. package/entry-points/offline-credentials.d.ts +7 -0
  229. package/entry-points/offline-credentials.d.ts.map +1 -0
  230. package/entry-points/project.d.ts +20 -0
  231. package/entry-points/project.d.ts.map +1 -0
  232. package/entry-points/scheduled-tasks.d.ts +7 -0
  233. package/entry-points/scheduled-tasks.d.ts.map +1 -1
  234. package/entry-points/sharing.d.ts +4 -0
  235. package/entry-points/sharing.d.ts.map +1 -1
  236. package/entry-points/skill-editor.d.ts +2 -0
  237. package/entry-points/skill-editor.d.ts.map +1 -1
  238. package/entry-points/skills-state.d.ts +1 -0
  239. package/entry-points/skills-state.d.ts.map +1 -1
  240. package/entry-points/usage-limits.d.ts +9 -0
  241. package/entry-points/usage-limits.d.ts.map +1 -0
  242. package/entry-points/utils.d.ts +6 -0
  243. package/entry-points/utils.d.ts.map +1 -1
  244. package/entry-points/viewport-layout.d.ts +1 -0
  245. package/entry-points/viewport-layout.d.ts.map +1 -1
  246. package/external-services/useExternalServiceLogin.d.ts +99 -0
  247. package/external-services/useExternalServiceLogin.d.ts.map +1 -0
  248. package/external-services/useExternalServiceLogin.js +93 -0
  249. package/external-services.d.ts +2 -0
  250. package/external-services.js +5 -0
  251. package/file-manager-canvas.js +3 -2
  252. package/file-manager.js +32 -30
  253. package/files/attachment-canvas.d.ts +12 -0
  254. package/files/attachment-canvas.d.ts.map +1 -1
  255. package/files/attachment-canvas.js +18 -10
  256. package/files/attachment-dto-to-display.d.ts.map +1 -1
  257. package/files/attachment-dto-to-display.js +13 -12
  258. package/files/attachment-types.js +1 -1
  259. package/files/browser-download.d.ts +9 -0
  260. package/files/browser-download.d.ts.map +1 -0
  261. package/files/browser-download.js +23 -0
  262. package/files/create-files-api.d.ts +3 -4
  263. package/files/create-files-api.d.ts.map +1 -1
  264. package/files/create-files-api.js +1 -1
  265. package/files/create-upload-file-with-progress.d.ts +21 -1
  266. package/files/create-upload-file-with-progress.d.ts.map +1 -1
  267. package/files/create-upload-file-with-progress.js +50 -34
  268. package/files/dial-file-manager-copy-move.util.d.ts.map +1 -1
  269. package/files/dial-file-manager-copy-move.util.js +28 -28
  270. package/files/dial-file-manager-mapping.util.d.ts +23 -3
  271. package/files/dial-file-manager-mapping.util.d.ts.map +1 -1
  272. package/files/dial-file-manager-mapping.util.js +97 -69
  273. package/files/dial-file-manager.types.d.ts +15 -5
  274. package/files/dial-file-manager.types.d.ts.map +1 -1
  275. package/files/dial-file-to-attachment.js +3 -3
  276. package/files/dial-file.d.ts +19 -0
  277. package/files/dial-file.d.ts.map +1 -1
  278. package/files/dial-file.js +20 -12
  279. package/files/dial-files-api.d.ts +2 -2
  280. package/files/dial-files-api.d.ts.map +1 -1
  281. package/files/download-progress.d.ts +33 -0
  282. package/files/download-progress.d.ts.map +1 -0
  283. package/files/download-progress.js +28 -0
  284. package/files/source-content.js +1 -1
  285. package/files/useDialFileListing/useDialFileListing.d.ts.map +1 -1
  286. package/files/useDialFileListing/useDialFileListing.js +97 -109
  287. package/files/useDialFileManager/useDialFileManager.d.ts.map +1 -1
  288. package/files/useDialFileManager/useDialFileManager.js +5 -2
  289. package/files/useDialFileManagerSections/useDialFileManagerSections.d.ts.map +1 -1
  290. package/files/useDialFileManagerSections/useDialFileManagerSections.js +59 -68
  291. package/files/useDialFileManagerTabConfig/useDialFileManagerTabConfig.js +1 -1
  292. package/files/useDialFileMetadata/useDialFileMetadata.js +3 -3
  293. package/files/useDialFileMutations/useDialFileMutations.d.ts +9 -0
  294. package/files/useDialFileMutations/useDialFileMutations.d.ts.map +1 -1
  295. package/files/useDialFileMutations/useDialFileMutations.js +232 -159
  296. package/files/useDialFilePreview/useDialFilePreview.d.ts +33 -0
  297. package/files/useDialFilePreview/useDialFilePreview.d.ts.map +1 -0
  298. package/files/useDialFilePreview/useDialFilePreview.js +45 -0
  299. package/files/useDialFileUploadBatch/useDialFileUploadBatch.d.ts.map +1 -1
  300. package/files/useDialFileUploadBatch/useDialFileUploadBatch.js +114 -103
  301. package/files/useFileAttachmentModalState/useFileAttachmentModalState.d.ts +25 -0
  302. package/files/useFileAttachmentModalState/useFileAttachmentModalState.d.ts.map +1 -0
  303. package/files/useFileAttachmentModalState/useFileAttachmentModalState.js +19 -0
  304. package/files/useFileAttachmentPicker/useFileAttachmentPicker.js +2 -2
  305. package/files/useUnshareConfirmationState/useUnshareConfirmationState.d.ts +23 -0
  306. package/files/useUnshareConfirmationState/useUnshareConfirmationState.d.ts.map +1 -0
  307. package/files/useUnshareConfirmationState/useUnshareConfirmationState.js +18 -0
  308. package/index.d.ts +96 -0
  309. package/index.d.ts.map +1 -1
  310. package/index.js +244 -149
  311. package/mcp-apps/mcp-apps-api-client.d.ts.map +1 -1
  312. package/mcp-apps/mcp-apps-api-client.js +18 -17
  313. package/mcp-apps/useMcpAppHostContext/useMcpAppHostContext.d.ts +3 -2
  314. package/mcp-apps/useMcpAppHostContext/useMcpAppHostContext.d.ts.map +1 -1
  315. package/mcp-apps/useMcpAppHostContext/useMcpAppHostContext.js +28 -10
  316. package/mcp-apps/useMcpAppTools/useMcpAppTools.d.ts.map +1 -1
  317. package/mcp-apps/useMcpAppTools/useMcpAppTools.js +45 -45
  318. package/oauth/authorize-url.d.ts +7 -1
  319. package/oauth/authorize-url.d.ts.map +1 -1
  320. package/oauth/authorize-url.js +14 -4
  321. package/oauth/callback-exchange.d.ts +49 -0
  322. package/oauth/callback-exchange.d.ts.map +1 -0
  323. package/oauth/callback-exchange.js +29 -0
  324. package/oauth/handshake.js +3 -10
  325. package/oauth/models.d.ts +25 -0
  326. package/oauth/models.d.ts.map +1 -1
  327. package/oauth/popup.d.ts.map +1 -1
  328. package/oauth/popup.js +19 -17
  329. package/oauth/toolset-id.d.ts +7 -0
  330. package/oauth/toolset-id.d.ts.map +1 -1
  331. package/oauth/toolset-id.js +9 -2
  332. package/oauth/useOAuthCallbackCompletion/useOAuthCallbackCompletion.d.ts.map +1 -1
  333. package/oauth/useOAuthCallbackCompletion/useOAuthCallbackCompletion.js +41 -42
  334. package/oauth/useToolsetLogin/useToolsetLogin.d.ts +7 -1
  335. package/oauth/useToolsetLogin/useToolsetLogin.d.ts.map +1 -1
  336. package/oauth/useToolsetLogin/useToolsetLogin.js +51 -42
  337. package/oauth.js +9 -8
  338. package/offline-credentials/map-offline-credentials-response.d.ts +20 -0
  339. package/offline-credentials/map-offline-credentials-response.d.ts.map +1 -0
  340. package/offline-credentials/map-offline-credentials-response.js +17 -0
  341. package/offline-credentials/scheduled-tasks-login-banner.d.ts +31 -0
  342. package/offline-credentials/scheduled-tasks-login-banner.d.ts.map +1 -0
  343. package/offline-credentials/scheduled-tasks-login-banner.js +17 -0
  344. package/offline-credentials/useOfflineCredentialsAuth/useOfflineCredentialsAuth.d.ts +58 -0
  345. package/offline-credentials/useOfflineCredentialsAuth/useOfflineCredentialsAuth.d.ts.map +1 -0
  346. package/offline-credentials/useOfflineCredentialsAuth/useOfflineCredentialsAuth.js +37 -0
  347. package/offline-credentials/useOfflineCredentialsGate/useOfflineCredentialsGate.d.ts +61 -0
  348. package/offline-credentials/useOfflineCredentialsGate/useOfflineCredentialsGate.d.ts.map +1 -0
  349. package/offline-credentials/useOfflineCredentialsGate/useOfflineCredentialsGate.js +37 -0
  350. package/offline-credentials/useOfflineCredentialsLogin/useOfflineCredentialsLogin.d.ts +28 -0
  351. package/offline-credentials/useOfflineCredentialsLogin/useOfflineCredentialsLogin.d.ts.map +1 -0
  352. package/offline-credentials/useOfflineCredentialsLogin/useOfflineCredentialsLogin.js +29 -0
  353. package/offline-credentials.d.ts +2 -0
  354. package/offline-credentials.js +7 -0
  355. package/package.json +49 -25
  356. package/project/create-project-chat.d.ts +34 -0
  357. package/project/create-project-chat.d.ts.map +1 -0
  358. package/project/create-project-chat.js +27 -0
  359. package/project/project-conversation-data-source.d.ts +36 -0
  360. package/project/project-conversation-data-source.d.ts.map +1 -0
  361. package/project/project-conversation-data-source.js +67 -0
  362. package/project/project-events.d.ts +14 -0
  363. package/project/project-events.d.ts.map +1 -0
  364. package/project/project-events.js +25 -0
  365. package/project/project-file-preview.d.ts +32 -0
  366. package/project/project-file-preview.d.ts.map +1 -0
  367. package/project/project-file-preview.js +25 -0
  368. package/project/project-form-errors.d.ts +23 -0
  369. package/project/project-form-errors.d.ts.map +1 -0
  370. package/project/project-form-errors.js +46 -0
  371. package/project/project-limits.d.ts +17 -0
  372. package/project/project-limits.d.ts.map +1 -0
  373. package/project/project-limits.js +11 -0
  374. package/project/project-mapping.d.ts +16 -0
  375. package/project/project-mapping.d.ts.map +1 -0
  376. package/project/project-mapping.js +43 -0
  377. package/project/project-refresh.d.ts +12 -0
  378. package/project/project-refresh.d.ts.map +1 -0
  379. package/project/project-refresh.js +6 -0
  380. package/project/project-viewed-marks.d.ts +9 -0
  381. package/project/project-viewed-marks.d.ts.map +1 -0
  382. package/project/project-viewed-marks.js +8 -0
  383. package/project/project-watch-stream.d.ts +26 -0
  384. package/project/project-watch-stream.d.ts.map +1 -0
  385. package/project/project-watch-stream.js +39 -0
  386. package/project/projects-api-client.d.ts +179 -0
  387. package/project/projects-api-client.d.ts.map +1 -0
  388. package/project/projects-api-client.js +90 -0
  389. package/project/use-pinned-project-chats.d.ts +58 -0
  390. package/project/use-pinned-project-chats.d.ts.map +1 -0
  391. package/project/use-pinned-project-chats.js +269 -0
  392. package/project/use-project-actions.d.ts +53 -0
  393. package/project/use-project-actions.d.ts.map +1 -0
  394. package/project/use-project-actions.js +92 -0
  395. package/project/use-project-artifacts.d.ts +24 -0
  396. package/project/use-project-artifacts.d.ts.map +1 -0
  397. package/project/use-project-artifacts.js +78 -0
  398. package/project/use-project-conversations.d.ts +32 -0
  399. package/project/use-project-conversations.d.ts.map +1 -0
  400. package/project/use-project-conversations.js +200 -0
  401. package/project/use-project-draft.d.ts +46 -0
  402. package/project/use-project-draft.d.ts.map +1 -0
  403. package/project/use-project-draft.js +54 -0
  404. package/project/use-project-file-preview.d.ts +47 -0
  405. package/project/use-project-file-preview.d.ts.map +1 -0
  406. package/project/use-project-file-preview.js +50 -0
  407. package/project/use-project-submit.d.ts +49 -0
  408. package/project/use-project-submit.d.ts.map +1 -0
  409. package/project/use-project-submit.js +73 -0
  410. package/project/use-project-watch.d.ts +24 -0
  411. package/project/use-project-watch.d.ts.map +1 -0
  412. package/project/use-project-watch.js +41 -0
  413. package/project/use-project.d.ts +23 -0
  414. package/project/use-project.d.ts.map +1 -0
  415. package/project/use-project.js +73 -0
  416. package/project/use-projects.d.ts +27 -0
  417. package/project/use-projects.d.ts.map +1 -0
  418. package/project/use-projects.js +92 -0
  419. package/project.d.ts +2 -0
  420. package/project.js +20 -0
  421. package/prompt/prompt.d.ts +11 -0
  422. package/prompt/prompt.d.ts.map +1 -1
  423. package/prompt/prompt.js +7 -3
  424. package/scheduled-task/active-scheduled-task.d.ts +58 -0
  425. package/scheduled-task/active-scheduled-task.d.ts.map +1 -0
  426. package/scheduled-task/active-scheduled-task.js +18 -0
  427. package/scheduled-task/check-scheduled-task-auth-session-error.d.ts +27 -0
  428. package/scheduled-task/check-scheduled-task-auth-session-error.d.ts.map +1 -0
  429. package/scheduled-task/check-scheduled-task-auth-session-error.js +17 -0
  430. package/scheduled-task/scheduled-task-description.d.ts +2 -0
  431. package/scheduled-task/scheduled-task-description.d.ts.map +1 -1
  432. package/scheduled-task/scheduled-task-description.js +33 -24
  433. package/scheduled-task/scheduled-task-display.d.ts +106 -0
  434. package/scheduled-task/scheduled-task-display.d.ts.map +1 -0
  435. package/scheduled-task/scheduled-task-display.js +69 -0
  436. package/scheduled-task/scheduled-task-next-occurrence.d.ts +9 -0
  437. package/scheduled-task/scheduled-task-next-occurrence.d.ts.map +1 -0
  438. package/scheduled-task/scheduled-task-next-occurrence.js +20 -0
  439. package/scheduled-task/scheduled-task-preparation.d.ts +1 -1
  440. package/scheduled-task/scheduled-task-trigger.d.ts.map +1 -1
  441. package/scheduled-task/scheduled-task-trigger.js +75 -48
  442. package/scheduled-task/use-scheduled-task-runs.js +19 -31
  443. package/scheduled-task/use-scheduled-tasks.d.ts +2 -2
  444. package/scheduled-task/use-scheduled-tasks.js +1 -1
  445. package/scheduled-task/useActiveScheduledTaskDetails.d.ts +18 -0
  446. package/scheduled-task/useActiveScheduledTaskDetails.d.ts.map +1 -0
  447. package/scheduled-task/useActiveScheduledTaskDetails.js +40 -0
  448. package/scheduled-task/useScheduledTaskSkillDisplayNames/useScheduledTaskSkillDisplayNames.d.ts +17 -0
  449. package/scheduled-task/useScheduledTaskSkillDisplayNames/useScheduledTaskSkillDisplayNames.d.ts.map +1 -0
  450. package/scheduled-task/useScheduledTaskSkillDisplayNames/useScheduledTaskSkillDisplayNames.js +29 -0
  451. package/scheduled-task/useStartScheduledTask.d.ts +41 -0
  452. package/scheduled-task/useStartScheduledTask.d.ts.map +1 -0
  453. package/scheduled-task/useStartScheduledTask.js +169 -0
  454. package/scheduled-tasks.js +13 -6
  455. package/scroll-anchoring.js +1 -2
  456. package/share-invitation/models.d.ts +46 -0
  457. package/share-invitation/models.d.ts.map +1 -0
  458. package/share-invitation/share-invitation-error.d.ts +6 -0
  459. package/share-invitation/share-invitation-error.d.ts.map +1 -0
  460. package/share-invitation/share-invitation-error.js +37 -0
  461. package/share-invitation/types.d.ts +10 -0
  462. package/share-invitation/types.d.ts.map +1 -0
  463. package/share-invitation/types.js +6 -0
  464. package/share-invitation/useAcceptShareInvitation/useAcceptShareInvitation.d.ts +9 -0
  465. package/share-invitation/useAcceptShareInvitation/useAcceptShareInvitation.d.ts.map +1 -0
  466. package/share-invitation/useAcceptShareInvitation/useAcceptShareInvitation.js +26 -0
  467. package/shared/application-schema.js +3 -3
  468. package/shared/client-channel.d.ts +53 -0
  469. package/shared/client-channel.d.ts.map +1 -0
  470. package/shared/client-channel.js +6 -0
  471. package/shared/cron-day-of-month.js +10 -10
  472. package/shared/external-services.d.ts +1 -1
  473. package/shared/locale.d.ts +6 -2
  474. package/shared/locale.d.ts.map +1 -1
  475. package/shared/locale.js +4 -4
  476. package/shared/read-sse-events.d.ts +10 -0
  477. package/shared/read-sse-events.d.ts.map +1 -0
  478. package/shared/read-sse-events.js +33 -0
  479. package/shared/serialized-writer.d.ts +12 -0
  480. package/shared/serialized-writer.d.ts.map +1 -0
  481. package/shared/serialized-writer.js +44 -0
  482. package/shared/sleep.d.ts +3 -0
  483. package/shared/sleep.d.ts.map +1 -0
  484. package/shared/sleep.js +13 -0
  485. package/shared/theme-colors.d.ts +16 -0
  486. package/shared/theme-colors.d.ts.map +1 -0
  487. package/shared/theme-colors.js +14 -0
  488. package/shared/url-cleanup.d.ts +18 -0
  489. package/shared/url-cleanup.d.ts.map +1 -0
  490. package/shared/url-cleanup.js +18 -0
  491. package/shared/usage-stat.d.ts +3 -0
  492. package/shared/usage-stat.d.ts.map +1 -0
  493. package/shared/usage-stat.js +4 -0
  494. package/shared/useAppVersionCheck/useAppVersionCheck.d.ts +22 -0
  495. package/shared/useAppVersionCheck/useAppVersionCheck.d.ts.map +1 -0
  496. package/shared/useAppVersionCheck/useAppVersionCheck.js +36 -0
  497. package/shared/usePersistedState/usePersistedState.d.ts +28 -0
  498. package/shared/usePersistedState/usePersistedState.d.ts.map +1 -0
  499. package/shared/usePersistedState/usePersistedState.js +24 -0
  500. package/sharing.js +5 -2
  501. package/signin-interrupt/models.d.ts +48 -0
  502. package/signin-interrupt/models.d.ts.map +1 -0
  503. package/signin-interrupt/signin-row-info.d.ts +10 -0
  504. package/signin-interrupt/signin-row-info.d.ts.map +1 -0
  505. package/signin-interrupt/signin-row-info.js +21 -0
  506. package/signin-interrupt/types.d.ts +28 -0
  507. package/signin-interrupt/types.d.ts.map +1 -0
  508. package/signin-interrupt/types.js +10 -0
  509. package/signin-interrupt/useSigninInterrupt/useSigninInterrupt.d.ts +52 -0
  510. package/signin-interrupt/useSigninInterrupt/useSigninInterrupt.d.ts.map +1 -0
  511. package/signin-interrupt/useSigninInterrupt/useSigninInterrupt.js +270 -0
  512. package/skill/skill-file-batch-validation.d.ts +4 -0
  513. package/skill/skill-file-batch-validation.d.ts.map +1 -1
  514. package/skill/skill-file-batch-validation.js +34 -33
  515. package/skill/skill-lookup.d.ts +20 -0
  516. package/skill/skill-lookup.d.ts.map +1 -0
  517. package/skill/skill-lookup.js +12 -0
  518. package/skill/skill-types.js +1 -1
  519. package/skill/skill.d.ts +5 -1
  520. package/skill/skill.d.ts.map +1 -1
  521. package/skill/skill.js +27 -28
  522. package/skill/useSkillArchiveImport/useSkillArchiveImport.js +1 -7
  523. package/skill/useSkillEditorSubmit.d.ts +15 -1
  524. package/skill/useSkillEditorSubmit.d.ts.map +1 -1
  525. package/skill/useSkillEditorSubmit.js +164 -87
  526. package/skill/useSkillFileActions.d.ts +2 -0
  527. package/skill/useSkillFileActions.d.ts.map +1 -1
  528. package/skill/useSkillFileActions.js +36 -21
  529. package/skill-editor/useSkillFilePreviewSyncController.d.ts +41 -0
  530. package/skill-editor/useSkillFilePreviewSyncController.d.ts.map +1 -0
  531. package/skill-editor/useSkillFilePreviewSyncController.js +58 -0
  532. package/skill-editor/useSkillFileSystemPicker/useSkillFileSystemPicker.d.ts +23 -0
  533. package/skill-editor/useSkillFileSystemPicker/useSkillFileSystemPicker.d.ts.map +1 -0
  534. package/skill-editor/useSkillFileSystemPicker/useSkillFileSystemPicker.js +43 -0
  535. package/skill-editor.js +11 -9
  536. package/skills-state.js +3 -2
  537. package/source-content.js +1 -2
  538. package/usage/map-usage-data-to-dashboard.d.ts +1 -16
  539. package/usage/map-usage-data-to-dashboard.d.ts.map +1 -1
  540. package/usage/map-user-usage-to-model-limits.d.ts.map +1 -1
  541. package/usage/map-user-usage-to-model-limits.js +24 -24
  542. package/usage/usage-banner-source.d.ts +24 -0
  543. package/usage/usage-banner-source.d.ts.map +1 -0
  544. package/usage/usage-banner-source.js +61 -0
  545. package/usage/usage-gauge.d.ts +3 -0
  546. package/usage/usage-gauge.d.ts.map +1 -0
  547. package/usage/usage-gauge.js +4 -0
  548. package/usage/usage-period.d.ts +7 -0
  549. package/usage/usage-period.d.ts.map +1 -0
  550. package/usage/usage-period.js +6 -0
  551. package/usage/usage-reset-time.d.ts +78 -0
  552. package/usage/usage-reset-time.d.ts.map +1 -0
  553. package/usage/usage-reset-time.js +82 -0
  554. package/usage/useDeploymentUsageLimits/useDeploymentUsageLimits.d.ts +56 -0
  555. package/usage/useDeploymentUsageLimits/useDeploymentUsageLimits.d.ts.map +1 -0
  556. package/usage/useDeploymentUsageLimits/useDeploymentUsageLimits.js +34 -0
  557. package/usage/useRefreshUsageAfterGeneration/useRefreshUsageAfterGeneration.d.ts +16 -0
  558. package/usage/useRefreshUsageAfterGeneration/useRefreshUsageAfterGeneration.d.ts.map +1 -0
  559. package/usage/useRefreshUsageAfterGeneration/useRefreshUsageAfterGeneration.js +14 -0
  560. package/usage/useUsageLimitBanner/useUsageLimitBanner.d.ts +58 -0
  561. package/usage/useUsageLimitBanner/useUsageLimitBanner.d.ts.map +1 -0
  562. package/usage/useUsageLimitBanner/useUsageLimitBanner.js +70 -0
  563. package/usage/useUsageLimitBannerDismissal/useUsageLimitBannerDismissal.d.ts +14 -0
  564. package/usage/useUsageLimitBannerDismissal/useUsageLimitBannerDismissal.d.ts.map +1 -0
  565. package/usage/useUsageLimitBannerDismissal/useUsageLimitBannerDismissal.js +19 -0
  566. package/usage-limits.d.ts +2 -0
  567. package/usage-limits.js +10 -0
  568. package/useChatSettingsFormConfig/useChatSettingsFormConfig.d.ts +2 -0
  569. package/useChatSettingsFormConfig/useChatSettingsFormConfig.d.ts.map +1 -1
  570. package/useChatSettingsFormConfig/useChatSettingsFormConfig.js +25 -21
  571. package/usePageFileDrag/usePageFileDrag.js +3 -3
  572. package/useShareLink/useShareLink.d.ts.map +1 -1
  573. package/useShareLink/useShareLink.js +18 -17
  574. package/utils.js +23 -17
  575. package/viewport-layout/canvas-width.d.ts +39 -0
  576. package/viewport-layout/canvas-width.d.ts.map +1 -0
  577. package/viewport-layout/canvas-width.js +23 -0
  578. package/viewport-layout.js +2 -1
@@ -1,159 +1,236 @@
1
1
  import { getApiErrorDetails as e, getApiErrorStatus as t } from "../api-error/api-error.js";
2
2
  import { SKILL_TEXT_FIELD_MAX_LENGTHS as n, buildSkillFilesPayload as r, buildSkillManifestForSubmit as i, getSkillFieldLengthViolations as a, isValidSkillRelativePath as o, normalizeSkillName as s, startsWithFrontmatterBlock as c } from "./skill.js";
3
- import { useCallback as l, useRef as u, useState as d } from "react";
4
- import { NotificationVariant as f } from "@epam/ai-dial-ui-kit";
3
+ import { ResourceSaveError as l } from "../catalog/resource-save-adapter.js";
4
+ import { useCallback as u, useRef as d, useState as f } from "react";
5
+ import { NotificationVariant as p } from "@epam/ai-dial-ui-kit";
5
6
  //#region src/skill/useSkillEditorSubmit.ts
6
- var p = (e, t) => JSON.stringify({
7
+ var m = (e, t, n) => JSON.stringify({
7
8
  values: e,
8
- files: [...t].sort((e, t) => e.path.localeCompare(t.path))
9
- }), m = ({ bucket: m, isEditMode: h, files: g, filesContentRef: _, frontmatterRef: v, loadedPathRef: y, etagRef: b, returnUrl: x, getCreateReturnUrl: S, refetchSkills: C, client: w, messages: T, onNavigate: E, onNotify: D }) => {
10
- let [O, k] = d({}), [A, j] = d(), [M, N] = d(!1), [P, F] = d(), [I, L] = d("idle"), R = u(null), z = u(null), B = l(async (n) => {
9
+ files: [...t].sort((e, t) => e.path.localeCompare(t.path)),
10
+ contentRevisions: Object.entries(n).sort(([e], [t]) => e.localeCompare(t))
11
+ }), h = {}, g = ({ bucket: g, isEditMode: _, files: v, filesContentRef: y, contentRevisions: b = h, frontmatterRef: x, loadedPathRef: S, etagRef: C, returnUrl: w, getCreateReturnUrl: T, refetchSkills: E, client: D, messages: O, onNavigate: k, onNotify: A, onSaveRequest: j }) => {
12
+ let [M, N] = f({}), [P, F] = f(), [I, L] = f(!1), [R, z] = f(), [B, V] = f("idle"), H = d(null), U = d(null), W = u(async (n) => {
11
13
  switch (t(n)) {
12
14
  case 409:
13
- k({ name: T.nameConflict });
15
+ N({ name: O.nameConflict });
14
16
  return;
15
17
  case 412:
16
- k({ name: T.nameConflict });
18
+ N({ name: O.nameConflict });
17
19
  return;
18
20
  case 413:
19
- j(T.archiveTooLarge);
21
+ F(O.archiveTooLarge);
20
22
  return;
21
23
  case 503:
22
- j(T.serviceUnavailable), N(!0);
24
+ F(O.serviceUnavailable), L(!0);
23
25
  return;
24
26
  case 400: {
25
27
  let { message: t } = await e(n);
26
- j(t ?? T.pathInvalid);
28
+ F(t ?? O.pathInvalid);
27
29
  return;
28
30
  }
29
31
  default: {
30
32
  let { traceId: t } = await e(n);
31
- j(T.saveError), D({
32
- variant: f.Error,
33
- message: T.saveError,
33
+ F(O.saveError), A({
34
+ variant: p.Error,
35
+ message: O.saveError,
34
36
  requestId: t
35
37
  });
36
38
  }
37
39
  }
38
- }, [T, D]), V = l(async (e) => {
40
+ }, [O, A]), G = u(async (e) => {
39
41
  let t = s(e.name);
40
42
  if (!t || !o(t)) {
41
- k({ name: T.nameInvalid });
43
+ N({ name: O.nameInvalid });
42
44
  return;
43
45
  }
44
- let n = p(e, g), a = R.current, c = a != null && a.fingerprint === n, l = t, u, d, h;
45
- c ? {skillManifest: u, filePaths: d, files: h} = a : (u = i(v.current, t, e.description, e.instructions), {filePaths: d, files: h} = r(g, _.current)), L("submitting"), R.current = {
46
+ let n = m(e, v, b), a = H.current, c = a != null && a.fingerprint === n, l = t, u, d, f;
47
+ c ? {skillManifest: u, filePaths: d, files: f} = a : (u = i(x.current, t, e.description, e.instructions), {filePaths: d, files: f} = r(v, y.current)), V("submitting"), H.current = {
46
48
  fingerprint: n,
47
- bucket: m,
49
+ bucket: g,
48
50
  path: l,
49
51
  skillManifest: u,
50
52
  filePaths: d,
51
- files: h
53
+ files: f
52
54
  };
53
55
  try {
54
- await w.createSkill(m, l, u, d, h), await C(), L("success"), D({
55
- variant: f.Success,
56
- title: T.saveSuccessTitle,
57
- message: T.createSuccess(t)
58
- }), E(S?.(l) ?? x);
56
+ await D.createSkill(g, l, u, d, f), await E(), V("success"), A({
57
+ variant: p.Success,
58
+ title: O.saveSuccessTitle,
59
+ message: O.createSuccess(t)
60
+ }), k(T?.(l) ?? w);
59
61
  } catch (e) {
60
- L("failure"), await B(e);
62
+ V("failure"), await W(e);
61
63
  }
62
64
  }, [
63
- m,
64
65
  g,
65
- _,
66
66
  v,
67
- T,
68
- w,
67
+ y,
68
+ b,
69
+ x,
70
+ O,
69
71
  D,
72
+ A,
73
+ k,
74
+ w,
75
+ T,
70
76
  E,
71
- x,
72
- S,
73
- C,
74
- B
75
- ]), H = l(async (e) => {
76
- let n = y.current, a = b.current;
77
+ W
78
+ ]), K = u(async (e) => {
79
+ let n = S.current, a = C.current;
77
80
  if (!n || !a) {
78
- j(T.saveError);
81
+ F(O.saveError);
79
82
  return;
80
83
  }
81
- let o = i(v.current, e.name, e.description, e.instructions), { filePaths: s, files: c } = r(g, _.current);
82
- L("submitting");
84
+ let o = i(x.current, e.name, e.description, e.instructions), { filePaths: s, files: c } = r(v, y.current);
85
+ V("submitting");
83
86
  try {
84
- b.current = (await w.updateSkill(m, n, o, s, c, a)).etag ?? a, await C(), L("success"), D({
85
- variant: f.Success,
86
- title: T.updateSuccessTitle,
87
- message: T.updateSuccess(e.name)
88
- }), E(x);
87
+ C.current = (await D.updateSkill(g, n, o, s, c, a)).etag ?? a, await E(), V("success"), A({
88
+ variant: p.Success,
89
+ title: O.updateSuccessTitle,
90
+ message: O.updateSuccess(e.name)
91
+ }), k(w);
89
92
  } catch (e) {
90
- if (L("failure"), t(e) === 412) {
91
- F({ message: T.conflictMessage });
93
+ if (V("failure"), t(e) === 412) {
94
+ z({ message: O.conflictMessage });
92
95
  return;
93
96
  }
94
- await B(e);
97
+ await W(e);
95
98
  }
96
99
  }, [
97
- m,
98
100
  g,
99
- _,
100
101
  v,
101
102
  y,
102
- b,
103
- T,
104
- w,
103
+ x,
104
+ S,
105
+ C,
106
+ O,
105
107
  D,
108
+ A,
109
+ k,
110
+ w,
106
111
  E,
107
- x,
112
+ W
113
+ ]), q = u(async (n, r) => {
114
+ let i = t(n);
115
+ if (i === 412 && r) return z({ message: O.conflictMessage }), new l(O.conflictMessage);
116
+ if (i === 409 || i === 412) return new l(O.nameConflict);
117
+ if (i === 413) return new l(O.archiveTooLarge);
118
+ if (i === 503) return new l(O.serviceUnavailable);
119
+ if (i === 400) {
120
+ let { message: t } = await e(n);
121
+ return new l(t ?? O.pathInvalid);
122
+ }
123
+ return new l(O.saveError);
124
+ }, [O]), J = u((e) => {
125
+ let t = g, { filePaths: n, files: a } = r(v, y.current);
126
+ if (!_) {
127
+ let r = s(e.name);
128
+ if (!r || !o(r)) {
129
+ N({ name: O.nameInvalid });
130
+ return;
131
+ }
132
+ let c = i(x.current, r, e.description, e.instructions);
133
+ return {
134
+ publishEntityType: "skill",
135
+ isVersioned: !1,
136
+ createIn: async (e) => {
137
+ let i = [...e, r].join("/");
138
+ try {
139
+ await D.createSkill(t, i, c, n, a);
140
+ } catch (e) {
141
+ throw await q(e, !1);
142
+ }
143
+ return await E().catch(() => void 0), { id: `skills/${t}/${i}` };
144
+ }
145
+ };
146
+ }
147
+ let c = S.current, u = C.current;
148
+ if (!c || !u) {
149
+ F(O.saveError);
150
+ return;
151
+ }
152
+ let d = i(x.current, e.name, e.description, e.instructions);
153
+ return {
154
+ publishEntityType: "skill",
155
+ isVersioned: !1,
156
+ saveInPlace: async () => {
157
+ try {
158
+ C.current = (await D.updateSkill(t, c, d, n, a, C.current ?? u)).etag ?? u;
159
+ } catch (e) {
160
+ throw await q(e, !0);
161
+ }
162
+ return await E().catch(() => void 0), { id: `skills/${t}/${c}` };
163
+ },
164
+ move: async (e, t) => {
165
+ if (!D.moveSkill) throw new l(O.saveError);
166
+ try {
167
+ return await D.moveSkill(c, t.join("/"));
168
+ } catch (e) {
169
+ throw await q(e, !1);
170
+ }
171
+ }
172
+ };
173
+ }, [
174
+ g,
175
+ D,
108
176
  C,
109
- B
110
- ]), U = l((e) => {
177
+ v,
178
+ y,
179
+ x,
180
+ _,
181
+ S,
182
+ O,
183
+ E,
184
+ q
185
+ ]), Y = u((e) => {
111
186
  let t = c(e.instructions), r = a(e);
112
- k((e) => {
187
+ N((e) => {
113
188
  let i = { ...e };
114
189
  for (let e of Object.keys(n)) {
115
- let t = T.tooLong(n[e]);
190
+ let t = O.tooLong(n[e]);
116
191
  r[e] ? i[e] = t : i[e] === t && delete i[e];
117
192
  }
118
193
  if (!r.instructions) {
119
- let e = i.instructions === T.instructionsFrontmatter;
120
- t && !e ? i.instructions = T.instructionsFrontmatter : !t && e && delete i.instructions;
194
+ let e = i.instructions === O.instructionsFrontmatter;
195
+ t && !e ? i.instructions = O.instructionsFrontmatter : !t && e && delete i.instructions;
121
196
  }
122
197
  return Object.keys(i).length === Object.keys(e).length && Object.keys(i).every((t) => i[t] === e[t]) ? e : i;
123
198
  });
124
- }, [T]), W = l(async (e) => {
125
- if (I === "submitting" || !m) return;
199
+ }, [O]), X = u(async (e) => {
200
+ if (B === "submitting" || !g) return;
126
201
  let t = {};
127
- e.name.trim() || (t.name = T.required), e.description.trim() || (t.description = T.required), e.instructions.trim() ? c(e.instructions) && (t.instructions = T.instructionsFrontmatter) : t.instructions = T.required;
202
+ e.name.trim() || (t.name = O.required), e.description.trim() || (t.description = O.required), e.instructions.trim() ? c(e.instructions) && (t.instructions = O.instructionsFrontmatter) : t.instructions = O.required;
128
203
  let r = a(e);
129
- for (let e of Object.keys(r)) t[e] ??= T.tooLong(n[e]);
130
- if (Object.keys(t).length > 0) {
131
- k(t);
132
- return;
133
- }
134
- k({}), j(void 0), N(!1), F(void 0), z.current = e, h ? await H(e) : await V(e);
204
+ for (let e of Object.keys(r)) t[e] ??= O.tooLong(n[e]);
205
+ if (Object.keys(t).length > 0) N(t);
206
+ else if (N({}), F(void 0), L(!1), z(void 0), U.current = e, j) {
207
+ let t = J(e);
208
+ t && j(t, e);
209
+ } else _ ? await K(e) : await G(e);
135
210
  }, [
136
- I,
137
- m,
138
- T,
139
- h,
140
- H,
141
- V
211
+ B,
212
+ g,
213
+ O,
214
+ _,
215
+ j,
216
+ J,
217
+ K,
218
+ G
142
219
  ]);
143
220
  return {
144
- phase: I,
145
- errors: O,
146
- submitError: A,
147
- isSubmitErrorRetryable: M,
148
- retrySubmit: l(() => {
149
- let e = z.current;
150
- e != null && W(e);
151
- }, [W]),
152
- conflict: P,
153
- clearConflict: () => F(void 0),
154
- handleSubmit: W,
155
- handleValuesChange: U
221
+ phase: B,
222
+ errors: M,
223
+ submitError: P,
224
+ isSubmitErrorRetryable: I,
225
+ retrySubmit: u(() => {
226
+ let e = U.current;
227
+ e != null && X(e);
228
+ }, [X]),
229
+ conflict: R,
230
+ clearConflict: () => z(void 0),
231
+ handleSubmit: X,
232
+ handleValuesChange: Y
156
233
  };
157
234
  };
158
235
  //#endregion
159
- export { m as useSkillEditorSubmit };
236
+ export { g as useSkillEditorSubmit };
@@ -48,6 +48,8 @@ export interface UseSkillFileActionsResult {
48
48
  pendingManifestImport: boolean;
49
49
  /** Resolves the in-flight manifest-import confirmation with the user's choice. */
50
50
  resolveManifestImport: (accepted: boolean) => void;
51
+ /** How many times each supporting file's bytes were replaced in place, keyed by path; absent means never. */
52
+ contentRevisions: Readonly<Record<string, number>>;
51
53
  }
52
54
  /**
53
55
  * Owns the Skill Editor's batch file upload workflow: validating a staged
@@ -1 +1 @@
1
- {"version":3,"file":"useSkillFileActions.d.ts","sourceRoot":"","sources":["../../src/skill/useSkillFileActions.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EAEvB,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAUtD,OAAO,EAEL,KAAK,gCAAgC,EACtC,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,4FAA4F;AAC5F,MAAM,WAAW,wBAAyB,SAAQ,gCAAgC;IAChF,4GAA4G;IAC5G,oBAAoB,EAAE,MAAM,CAAC;IAC7B,4FAA4F;IAC5F,sBAAsB,EAAE,MAAM,CAAC;IAC/B,qGAAqG;IACrG,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,0DAA0D;AAC1D,MAAM,WAAW,yBAAyB;IACxC,iDAAiD;IACjD,KAAK,EAAE,iBAAiB,EAAE,CAAC;IAC3B,uBAAuB;IACvB,QAAQ,EAAE,QAAQ,CAAC,cAAc,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC;IACxD,yEAAyE;IACzE,eAAe,EAAE,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC;IACvE,mEAAmE;IACnE,cAAc,EAAE,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAChE,yFAAyF;IACzF,YAAY,EAAE,iBAAiB,GAAG,SAAS,CAAC;IAC5C,sDAAsD;IACtD,eAAe,EAAE,QAAQ,CAAC,cAAc,CAAC,iBAAiB,GAAG,SAAS,CAAC,CAAC,CAAC;IACzE,oFAAoF;IACpF,UAAU,EAAE,OAAO,CAAC;IACpB,oEAAoE;IACpE,OAAO,EAAE,OAAO,CAAC;IACjB,0DAA0D;IAC1D,eAAe,EAAE,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;IAClD,gDAAgD;IAChD,QAAQ,EAAE,wBAAwB,CAAC;IACnC;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,MAAM,OAAO,CAAC,oBAAoB,EAAE,GAAG,SAAS,CAAC,CAAC;CACxE;AAED,mDAAmD;AACnD,MAAM,WAAW,yBAAyB;IACxC,4FAA4F;IAC5F,WAAW,EAAE,sBAAsB,CAAC;IACpC,iFAAiF;IACjF,qBAAqB,EAAE,OAAO,CAAC;IAC/B,kFAAkF;IAClF,qBAAqB,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;CACpD;AAQD;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,GAAI,0JAYjC,yBAAyB,KAAG,yBA2M9B,CAAC"}
1
+ {"version":3,"file":"useSkillFileActions.d.ts","sourceRoot":"","sources":["../../src/skill/useSkillFileActions.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EAEvB,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAUtD,OAAO,EAEL,KAAK,gCAAgC,EACtC,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,4FAA4F;AAC5F,MAAM,WAAW,wBAAyB,SAAQ,gCAAgC;IAChF,4GAA4G;IAC5G,oBAAoB,EAAE,MAAM,CAAC;IAC7B,4FAA4F;IAC5F,sBAAsB,EAAE,MAAM,CAAC;IAC/B,qGAAqG;IACrG,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,0DAA0D;AAC1D,MAAM,WAAW,yBAAyB;IACxC,iDAAiD;IACjD,KAAK,EAAE,iBAAiB,EAAE,CAAC;IAC3B,uBAAuB;IACvB,QAAQ,EAAE,QAAQ,CAAC,cAAc,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC;IACxD,yEAAyE;IACzE,eAAe,EAAE,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC;IACvE,mEAAmE;IACnE,cAAc,EAAE,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAChE,yFAAyF;IACzF,YAAY,EAAE,iBAAiB,GAAG,SAAS,CAAC;IAC5C,sDAAsD;IACtD,eAAe,EAAE,QAAQ,CAAC,cAAc,CAAC,iBAAiB,GAAG,SAAS,CAAC,CAAC,CAAC;IACzE,oFAAoF;IACpF,UAAU,EAAE,OAAO,CAAC;IACpB,oEAAoE;IACpE,OAAO,EAAE,OAAO,CAAC;IACjB,0DAA0D;IAC1D,eAAe,EAAE,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;IAClD,gDAAgD;IAChD,QAAQ,EAAE,wBAAwB,CAAC;IACnC;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,MAAM,OAAO,CAAC,oBAAoB,EAAE,GAAG,SAAS,CAAC,CAAC;CACxE;AAED,mDAAmD;AACnD,MAAM,WAAW,yBAAyB;IACxC,4FAA4F;IAC5F,WAAW,EAAE,sBAAsB,CAAC;IACpC,iFAAiF;IACjF,qBAAqB,EAAE,OAAO,CAAC;IAC/B,kFAAkF;IAClF,qBAAqB,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IACnD,6GAA6G;IAC7G,gBAAgB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACpD;AAQD;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,GAAI,0JAYjC,yBAAyB,KAAG,yBA+O9B,CAAC"}
@@ -6,18 +6,23 @@ import { useCallback as c, useMemo as l, useRef as u, useState as d } from "reac
6
6
  import { SkillFileNodeKind as f } from "@epam/ai-dial-skill-editor";
7
7
  //#region src/skill/useSkillFileActions.ts
8
8
  var p = "probe", m = ({ files: m, setFiles: h, filesContentRef: g, frontmatterRef: _, loadedValues: v, setLoadedValues: y, isEditMode: b, isDirty: x, setSelectedPath: S, messages: C, pickFromFileSystem: w }) => {
9
- let [T, E] = d(!1), D = u(null), O = c(() => {
10
- let e = m.filter((e) => e.kind === f.File).map((e) => e.path), r = 0;
11
- for (let t of e) r += g.current.get(t)?.bytes.length ?? 0;
12
- let i = {
9
+ let [T, E] = d(!1), [D, O] = d({}), k = u(null), A = c(() => {
10
+ let e = m.filter((e) => e.kind === f.File).map((e) => e.path), r = 0, i = /* @__PURE__ */ new Map();
11
+ for (let t of e) {
12
+ let e = g.current.get(t)?.bytes.length ?? 0;
13
+ i.set(t, e), r += e;
14
+ }
15
+ let a = {
13
16
  name: v?.name ?? "",
14
17
  description: v?.description ?? "",
15
18
  instructions: v?.instructions ?? ""
16
- }, a = b ? n(_.current, i.name, i.description, i.instructions) : t(i);
19
+ }, o = b ? n(_.current, a.name, a.description, a.instructions) : t(a);
17
20
  return {
18
21
  existingPaths: e,
19
22
  existingTotalBytes: r,
20
- manifestByteLength: s(a),
23
+ existingFileBytes: i,
24
+ existingFolderPaths: m.filter((e) => e.kind === f.Folder).map((e) => e.path),
25
+ manifestByteLength: s(o),
21
26
  messages: C
22
27
  };
23
28
  }, [
@@ -27,42 +32,50 @@ var p = "probe", m = ({ files: m, setFiles: h, filesContentRef: g, frontmatterRe
27
32
  _,
28
33
  v,
29
34
  C
30
- ]), k = c(() => new Promise((e) => {
31
- D.current = e, E(!0);
32
- }), []), A = c((e) => {
33
- E(!1), D.current?.(e), D.current = null;
35
+ ]), j = c(() => new Promise((e) => {
36
+ k.current = e, E(!0);
37
+ }), []), M = c((e) => {
38
+ E(!1), k.current?.(e), k.current = null;
34
39
  }, []);
35
40
  return {
36
41
  fileActions: l(() => ({
37
42
  validateBatch: async (e) => {
38
- let { results: t, batchErrors: n } = await a(e, O());
43
+ let { results: t, batchErrors: n } = await a(e, A());
39
44
  return {
40
45
  results: t,
41
46
  batchErrors: n
42
47
  };
43
48
  },
44
49
  commitBatch: async (e) => {
45
- let { results: t, batchErrors: n, manifestCandidate: r } = await a(e, O());
50
+ let { results: t, batchErrors: n, manifestCandidate: r } = await a(e, A());
46
51
  if (t.some((e) => e.error !== void 0) || n.length > 0) return { error: n[0]?.message ?? C.saveError };
47
52
  if (r) {
48
53
  if (b && r.name !== (v?.name ?? "")) return { error: C.manifestNameMismatch };
49
- if ((b || x) && !await k()) return { error: C.manifestImportDeclined };
54
+ if ((b || x) && !await j()) return { error: C.manifestImportDeclined };
50
55
  }
51
56
  try {
52
- let t = e.filter((e) => e.id !== r?.candidateId), n = await Promise.all(t.map(async (e) => ({
57
+ let t = e.filter((e) => e.id !== r?.candidateId), n = new Set(m.filter((e) => e.kind === f.File).map((e) => e.path)), a = await Promise.all(t.map(async (e) => ({
53
58
  path: e.path,
54
59
  bytes: new Uint8Array(await e.file.arrayBuffer()),
55
- mimeType: e.file.type || void 0
60
+ mimeType: e.file.type || void 0,
61
+ isReplacement: n.has(e.path)
56
62
  })));
57
- for (let e of n) g.current.set(e.path, {
63
+ for (let e of a) g.current.set(e.path, {
58
64
  bytes: e.bytes,
59
65
  mimeType: e.mimeType
60
66
  });
61
- return n.length > 0 && h((e) => [...e, ...n.map((e) => ({
67
+ let o = a.filter((e) => !e.isReplacement);
68
+ o.length > 0 && h((e) => [...e, ...o.map((e) => ({
62
69
  path: e.path,
63
70
  name: i(e.path),
64
71
  kind: f.File
65
- }))]), r && (_.current = b ? {
72
+ }))]);
73
+ let s = a.filter((e) => e.isReplacement).map((e) => e.path);
74
+ return s.length > 0 && O((e) => {
75
+ let t = { ...e };
76
+ for (let e of s) t[e] = (t[e] ?? 0) + 1;
77
+ return t;
78
+ }), r && (_.current = b ? {
66
79
  ..._.current,
67
80
  ...r.frontmatter
68
81
  } : r.frontmatter, y({
@@ -90,11 +103,12 @@ var p = "probe", m = ({ files: m, setFiles: h, filesContentRef: g, frontmatterRe
90
103
  extractArchive: o,
91
104
  pickFromFileSystem: w
92
105
  }), [
93
- O,
106
+ A,
107
+ m,
94
108
  b,
95
109
  x,
96
110
  v,
97
- k,
111
+ j,
98
112
  g,
99
113
  _,
100
114
  h,
@@ -104,7 +118,8 @@ var p = "probe", m = ({ files: m, setFiles: h, filesContentRef: g, frontmatterRe
104
118
  w
105
119
  ]),
106
120
  pendingManifestImport: T,
107
- resolveManifestImport: A
121
+ resolveManifestImport: M,
122
+ contentRevisions: D
108
123
  };
109
124
  };
110
125
  //#endregion
@@ -0,0 +1,41 @@
1
+ import { DisplayAttachment } from '@epam/ai-dial-chat-shared';
2
+ import { SkillFileTreeNode } from '@epam/ai-dial-skill-editor';
3
+ import { SkillFileContent } from '../skill/skill-file-preview';
4
+ /** Presentation state of a supporting-file preview. */
5
+ export declare enum SkillFilePreviewState {
6
+ Idle = "idle",
7
+ Loading = "loading",
8
+ Ready = "ready",
9
+ Error = "error"
10
+ }
11
+ /** Resolved selection and host canvas operations. */
12
+ export interface SkillFilePreviewSyncOptions {
13
+ /** Selected file; absent for manifest or folder views. */
14
+ node?: SkillFileTreeNode;
15
+ /** Already loaded file bytes. */
16
+ content?: SkillFileContent;
17
+ /** Reads already-loaded bytes during reconciliation; never fetches. */
18
+ getContent?: () => SkillFileContent | undefined;
19
+ /** Opaque host resource key. */
20
+ canvasAttachmentId?: string;
21
+ /** Content replacement revision. */
22
+ contentRevision: number;
23
+ /** Currently displayed canvas identity. */
24
+ currentCanvasId?: string;
25
+ /** Whether canvas content is visible. */
26
+ isCanvasOpen: boolean;
27
+ /** Whether canvas content is loading. */
28
+ isCanvasLoading: boolean;
29
+ /** Provider-scoped request authority. */
30
+ beginRequest: () => () => boolean;
31
+ /** Opens content, consulting the predicate before asynchronous writes. */
32
+ openAttachmentCanvas: (attachment: DisplayAttachment, id: string, shouldCommit: () => boolean) => Promise<boolean>;
33
+ /** Closes the currently owned canvas. */
34
+ closeCanvas: () => void;
35
+ }
36
+ /** Synchronizes resolved file selection while preserving shared canvas ownership. */
37
+ export declare const useSkillFilePreviewSyncController: ({ node, content, getContent, canvasAttachmentId, contentRevision, currentCanvasId, isCanvasOpen, isCanvasLoading, beginRequest, openAttachmentCanvas, closeCanvas, }: SkillFilePreviewSyncOptions) => {
38
+ state: SkillFilePreviewState;
39
+ retry: () => void;
40
+ };
41
+ //# sourceMappingURL=useSkillFilePreviewSyncController.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSkillFilePreviewSyncController.d.ts","sourceRoot":"","sources":["../../src/skill-editor/useSkillFilePreviewSyncController.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAQpE,OAAO,EAEL,KAAK,gBAAgB,EACtB,MAAM,6BAA6B,CAAC;AAErC,uDAAuD;AACvD,oBAAY,qBAAqB;IAC/B,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,KAAK,UAAU;IACf,KAAK,UAAU;CAChB;AACD,qDAAqD;AACrD,MAAM,WAAW,2BAA2B;IAC1C,0DAA0D;IAC1D,IAAI,CAAC,EAAE,iBAAiB,CAAC;IACzB,iCAAiC;IACjC,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,uEAAuE;IACvE,UAAU,CAAC,EAAE,MAAM,gBAAgB,GAAG,SAAS,CAAC;IAChD,gCAAgC;IAChC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,oCAAoC;IACpC,eAAe,EAAE,MAAM,CAAC;IACxB,2CAA2C;IAC3C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,yCAAyC;IACzC,YAAY,EAAE,OAAO,CAAC;IACtB,yCAAyC;IACzC,eAAe,EAAE,OAAO,CAAC;IACzB,yCAAyC;IACzC,YAAY,EAAE,MAAM,MAAM,OAAO,CAAC;IAClC,0EAA0E;IAC1E,oBAAoB,EAAE,CACpB,UAAU,EAAE,iBAAiB,EAC7B,EAAE,EAAE,MAAM,EACV,YAAY,EAAE,MAAM,OAAO,KACxB,OAAO,CAAC,OAAO,CAAC,CAAC;IACtB,yCAAyC;IACzC,WAAW,EAAE,MAAM,IAAI,CAAC;CACzB;AACD,qFAAqF;AACrF,eAAO,MAAM,iCAAiC,GAAI,sKAY/C,2BAA2B;;;CAiG7B,CAAC"}
@@ -0,0 +1,58 @@
1
+ import { skillFileToAttachment as e } from "../skill/skill-file-preview.js";
2
+ import { useCallback as t, useEffect as n, useLayoutEffect as r, useRef as i, useState as a } from "react";
3
+ //#region src/skill-editor/useSkillFilePreviewSyncController.ts
4
+ var o = /* @__PURE__ */ function(e) {
5
+ return e.Idle = "idle", e.Loading = "loading", e.Ready = "ready", e.Error = "error", e;
6
+ }({}), s = ({ node: o, content: s, getContent: c, canvasAttachmentId: l, contentRevision: u, currentCanvasId: d, isCanvasOpen: f, isCanvasLoading: p, beginRequest: m, openAttachmentCanvas: h, closeCanvas: g }) => {
7
+ let [_, v] = a(), [y, b] = a(0), x = i(void 0);
8
+ r(() => () => {
9
+ let e = x.current;
10
+ e && (e.valid = !1, e.owns() && g(), x.current = void 0);
11
+ }, [g]), n(() => {
12
+ let t = x.current, n = c ? c() : s;
13
+ if (!o || !n || !l) {
14
+ t && (t.valid = !1, t.owns() && g(), x.current = void 0);
15
+ return;
16
+ }
17
+ if (t?.id === l && t.revision === u && t.retry === y) return;
18
+ t && (t.valid = !1);
19
+ let r = {
20
+ id: l,
21
+ revision: u,
22
+ retry: y,
23
+ valid: !0,
24
+ owns: m()
25
+ };
26
+ x.current = r, v(void 0);
27
+ let i = () => r.valid && r.owns();
28
+ (async () => {
29
+ let t = !1;
30
+ try {
31
+ t = await h(e(o, n), l, i);
32
+ } catch {
33
+ t = !1;
34
+ }
35
+ i() && !t && v({
36
+ id: l,
37
+ revision: u
38
+ });
39
+ })();
40
+ }, [
41
+ o,
42
+ s,
43
+ c,
44
+ l,
45
+ u,
46
+ y,
47
+ m,
48
+ h,
49
+ g
50
+ ]);
51
+ let S = t(() => b((e) => e + 1), []), C;
52
+ return C = !o || !s && !c || !l ? "idle" : _?.id === l && _.revision === u ? "error" : d === l && f && !p ? "ready" : "loading", {
53
+ state: C,
54
+ retry: S
55
+ };
56
+ };
57
+ //#endregion
58
+ export { o as SkillFilePreviewState, s as useSkillFilePreviewSyncController };
@@ -0,0 +1,23 @@
1
+ import { AttachResult } from '@epam/ai-dial-chat-shared';
2
+ import { DialFile } from '@epam/ai-dial-react-file-manager';
3
+ /** Host materialization and notification callbacks. */
4
+ export interface UseSkillFileSystemPickerOptions<T> {
5
+ /** Converts a selected file into the host's staged entry. */
6
+ materializeFile: (file: DialFile, signal: AbortSignal) => Promise<T>;
7
+ /** Reports a failure of the current selection only. */
8
+ onError: (error: unknown) => void;
9
+ }
10
+ /** Promise-based file selection controller. */
11
+ export interface UseSkillFileSystemPickerResult<T> {
12
+ /** Whether the selection modal is open. */
13
+ isOpen: boolean;
14
+ /** Starts a selection, cancelling any previous attempt. */
15
+ pickFromFileSystem: () => Promise<T[] | undefined>;
16
+ /** Materializes selected files in selection order. */
17
+ handleAttach: (result: AttachResult) => void;
18
+ /** Cancels the current attempt and closes the modal. */
19
+ handleClose: () => void;
20
+ }
21
+ /** Owns selection lifetime so obsolete downloads cannot settle a newer pick. */
22
+ export declare const useSkillFileSystemPicker: <T>({ materializeFile, onError, }: UseSkillFileSystemPickerOptions<T>) => UseSkillFileSystemPickerResult<T>;
23
+ //# sourceMappingURL=useSkillFileSystemPicker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSkillFileSystemPicker.d.ts","sourceRoot":"","sources":["../../../src/skill-editor/useSkillFileSystemPicker/useSkillFileSystemPicker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAIjE,uDAAuD;AACvD,MAAM,WAAW,+BAA+B,CAAC,CAAC;IAChD,6DAA6D;IAC7D,eAAe,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IACrE,uDAAuD;IACvD,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACnC;AAED,+CAA+C;AAC/C,MAAM,WAAW,8BAA8B,CAAC,CAAC;IAC/C,2CAA2C;IAC3C,MAAM,EAAE,OAAO,CAAC;IAChB,2DAA2D;IAC3D,kBAAkB,EAAE,MAAM,OAAO,CAAC,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC;IACnD,sDAAsD;IACtD,YAAY,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,CAAC;IAC7C,wDAAwD;IACxD,WAAW,EAAE,MAAM,IAAI,CAAC;CACzB;AAQD,gFAAgF;AAChF,eAAO,MAAM,wBAAwB,GAAI,CAAC,EAAE,+BAGzC,+BAA+B,CAAC,CAAC,CAAC,KAAG,8BAA8B,CAAC,CAAC,CAoDvE,CAAC"}
@@ -0,0 +1,43 @@
1
+ import { useCallback as e, useEffect as t, useRef as n, useState as r } from "react";
2
+ import { DialFileNodeType as i } from "@epam/ai-dial-ui-kit";
3
+ //#region src/skill-editor/useSkillFileSystemPicker/useSkillFileSystemPicker.ts
4
+ var a = ({ materializeFile: a, onError: o }) => {
5
+ let [s, c] = r(!1), l = n(void 0), u = e(() => {
6
+ let e = l.current;
7
+ l.current = void 0, e?.controller.abort(), e?.resolve(void 0);
8
+ }, []);
9
+ t(() => u, [u]);
10
+ let d = e(() => (u(), c(!0), new Promise((e) => {
11
+ l.current = {
12
+ controller: new AbortController(),
13
+ resolve: e,
14
+ attaching: !1
15
+ };
16
+ })), [u]), f = e(() => {
17
+ u(), c(!1);
18
+ }, [u]);
19
+ return {
20
+ isOpen: s,
21
+ pickFromFileSystem: d,
22
+ handleAttach: e((e) => {
23
+ let t = l.current;
24
+ t && !t.attaching && (t.attaching = !0, c(!1), (async () => {
25
+ try {
26
+ let n = await Promise.all(e.files.filter((e) => e.nodeType === i.ITEM).map((e) => a(e, t.controller.signal)));
27
+ if (l.current !== t) return;
28
+ l.current = void 0, t.resolve(n);
29
+ } catch (e) {
30
+ if (l.current !== t) return;
31
+ u(), o(e);
32
+ }
33
+ })());
34
+ }, [
35
+ a,
36
+ o,
37
+ u
38
+ ]),
39
+ handleClose: f
40
+ };
41
+ };
42
+ //#endregion
43
+ export { a as useSkillFileSystemPicker };