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

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,94 +1,93 @@
1
1
  import { TOOLSET_REDIRECT_STATE_KEY as e, ToolsetCredentialsLevel as t, ToolsetOAuthCallbackQuery as n, ToolsetOAuthChannelControlType as r, ToolsetOAuthFailureReason as i, ToolsetOAuthResultType as a } from "../types.js";
2
2
  import { getToolsetOAuthChannelName as o } from "../handshake.js";
3
- import { useEffect as s, useRef as c, useState as l } from "react";
3
+ import { decodeJsonFromBase64 as s } from "@epam/ai-dial-chat-shared";
4
+ import { useEffect as c, useRef as l, useState as u } from "react";
4
5
  //#region src/oauth/useOAuthCallbackCompletion/useOAuthCallbackCompletion.ts
5
- var u = 500, d = (e) => typeof e == "object" && !!e && "type" in e && e.type === r.ResultAcknowledged, f = () => {
6
+ var d = 500, f = (e) => typeof e == "object" && !!e && "type" in e && e.type === r.ResultAcknowledged, p = () => {
6
7
  let t = sessionStorage.getItem(e);
7
8
  if (!t) return null;
8
9
  try {
9
- return JSON.parse(t);
10
+ return s(t);
10
11
  } catch {
11
- return null;
12
+ try {
13
+ return JSON.parse(t);
14
+ } catch {
15
+ return null;
16
+ }
12
17
  }
13
- }, p = (e) => {
18
+ }, m = (e) => {
14
19
  try {
15
20
  window.history.replaceState({}, document.title, `${e.pathname}${e.search}`);
16
21
  } catch {}
17
- }, m = (e, t) => {
22
+ }, h = (e, t) => {
18
23
  let r = new URL(window.location.pathname, window.location.origin);
19
- if (r.searchParams.set(n.Result, t.type), t.type === a.Failure && r.searchParams.set(n.FailureReason, t.reason), p(r), !e) {
20
- window.close();
21
- return;
22
- }
23
- try {
24
+ if (r.searchParams.set(n.Result, t.type), t.type === a.Failure && r.searchParams.set(n.FailureReason, t.reason), m(r), !e) window.close();
25
+ else try {
24
26
  let n = new BroadcastChannel(o(e));
25
27
  n.postMessage(t);
26
28
  let r = setInterval(() => {
27
29
  n.postMessage(t);
28
- }, u);
30
+ }, d);
29
31
  n.onmessage = (e) => {
30
- d(e.data) && (clearInterval(r), n.close(), window.close());
32
+ f(e.data) && (clearInterval(r), n.close(), window.close());
31
33
  };
32
34
  } catch {}
33
- }, h = ({ searchParams: n, callbackPath: r, exchange: o }) => {
34
- let [u, d] = l(!0), [h, g] = l(null), _ = c(!1), v = c(o);
35
+ }, g = ({ searchParams: n, callbackPath: r, exchange: o }) => {
36
+ let [s, d] = u(!0), [f, g] = u(null), _ = l(!1), v = l(o);
35
37
  v.current = o;
36
- let y = c(r);
37
- return y.current = r, s(() => {
38
- if (_.current) return;
39
- _.current = !0;
40
- let r = (e, t) => {
41
- m(e, t), d(!1), g(t.type === a.Failure ? t.reason : null);
42
- };
43
- (async () => {
44
- let o = n.get("code"), s = n.get("state"), c = f();
38
+ let y = l(r);
39
+ return y.current = r, c(() => {
40
+ _.current || (_.current = !0, (async () => {
41
+ let r = n.get("code"), o = n.get("state"), s = p();
45
42
  sessionStorage.removeItem(e);
46
- let l = c?.state ?? s ?? void 0;
47
- if (p(new URL(window.location.pathname, window.location.origin)), !o || !c?.toolsetId) {
48
- r(l, {
43
+ let c = s?.state ?? o ?? void 0, l = (e, t) => {
44
+ h(e, t), d(!1), g(t.type === a.Failure ? t.reason : null);
45
+ };
46
+ if (m(new URL(window.location.pathname, window.location.origin)), !r || !s?.toolsetId) {
47
+ l(c, {
49
48
  type: a.Failure,
50
- reason: c?.toolsetId ? i.MissingCode : i.MissingRedirectState
49
+ reason: s?.toolsetId ? i.MissingCode : i.MissingRedirectState
51
50
  });
52
51
  return;
53
52
  }
54
- if (c.state != null && c.state !== s) {
55
- r(l, {
53
+ if (s.state != null && s.state !== o) {
54
+ l(c, {
56
55
  type: a.Failure,
57
56
  reason: i.StateMismatch
58
57
  });
59
58
  return;
60
59
  }
61
- let u = c.credentialsLevel ?? t.User, d = c.redirectUri ?? `${window.location.origin}${y.current}`;
60
+ let u = s.credentialsLevel ?? t.User, f = s.redirectUri ?? `${window.location.origin}${y.current}`;
62
61
  try {
63
62
  let e = await v.current({
64
- code: o,
65
- redirectUri: d,
63
+ code: r,
64
+ redirectUri: f,
66
65
  credentialsLevel: u,
67
- redirectState: c
66
+ redirectState: s
68
67
  });
69
68
  if (e != null) {
70
- r(l, {
69
+ l(c, {
71
70
  type: a.Failure,
72
71
  reason: e
73
72
  });
74
73
  return;
75
74
  }
76
- r(l, {
75
+ l(c, {
77
76
  type: a.Success,
78
- toolsetId: c.toolsetId,
77
+ toolsetId: s.toolsetId,
79
78
  credentialsLevel: u
80
79
  });
81
80
  } catch {
82
- r(l, {
81
+ l(c, {
83
82
  type: a.Failure,
84
83
  reason: i.LoginRequestFailed
85
84
  });
86
85
  }
87
- })();
86
+ })());
88
87
  }, [n]), {
89
- isInProgress: u,
90
- failureReason: h
88
+ isInProgress: s,
89
+ failureReason: f
91
90
  };
92
91
  };
93
92
  //#endregion
94
- export { h as useOAuthCallbackCompletion };
93
+ export { g as useOAuthCallbackCompletion };
@@ -61,6 +61,12 @@ export interface UseToolsetLoginParams {
61
61
  logoutToolset: (toolsetId: string, body: ToolsetLogoutBodyDto) => Promise<unknown>;
62
62
  /** Re-reads a toolset so a reported cancellation can be checked against the backend. */
63
63
  getToolset: (toolsetId: string) => Promise<DialToolsetDto>;
64
+ /**
65
+ * Whether an OAuth login reads the toolset's current OAuth settings with
66
+ * `getToolset` after opening the popup, instead of using
67
+ * `ToolsetLoginParams.oauthSettings`. Defaults to `false`.
68
+ */
69
+ shouldFetchOAuthSettings?: boolean;
64
70
  }
65
71
  /** Result returned by {@link useToolsetLogin}. */
66
72
  export interface UseToolsetLoginResult {
@@ -75,5 +81,5 @@ export interface UseToolsetLoginResult {
75
81
  * outcome and shows nothing itself — mapping an outcome to notifications is
76
82
  * the caller's job.
77
83
  */
78
- export declare const useToolsetLogin: ({ callbackPath, loginToolset, logoutToolset, getToolset, }: UseToolsetLoginParams) => UseToolsetLoginResult;
84
+ export declare const useToolsetLogin: ({ callbackPath, loginToolset, logoutToolset, getToolset, shouldFetchOAuthSettings, }: UseToolsetLoginParams) => UseToolsetLoginResult;
79
85
  //# sourceMappingURL=useToolsetLogin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useToolsetLogin.d.ts","sourceRoot":"","sources":["../../../src/oauth/useToolsetLogin/useToolsetLogin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,mBAAmB,EACnB,oBAAoB,EACrB,MAAM,+BAA+B,CAAC;AAIvC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAOtD,OAAO,EAGL,gBAAgB,EAChB,uBAAuB,EAGxB,MAAM,UAAU,CAAC;AAElB,kDAAkD;AAClD,oBAAY,uBAAuB;IACjC,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,YAAY,kBAAkB;IAC9B,SAAS,cAAc;CACxB;AAED,kDAAkD;AAClD,MAAM,WAAW,mBAAmB;IAClC,0DAA0D;IAC1D,IAAI,EAAE,uBAAuB,CAAC;CAC/B;AAED,sCAAsC;AACtC,MAAM,WAAW,kBAAkB;IACjC,kFAAkF;IAClF,SAAS,EAAE,MAAM,CAAC;IAClB,4DAA4D;IAC5D,gBAAgB,EAAE,uBAAuB,CAAC;IAC1C,qDAAqD;IACrD,kBAAkB,EAAE,gBAAgB,CAAC;IACrC,8CAA8C;IAC9C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,6CAA6C;IAC7C,aAAa,CAAC,EAAE,oBAAoB,CAAC;IACrC;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;;;OAKG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,8CAA8C;AAC9C,MAAM,WAAW,qBAAqB;IACpC;;;;OAIG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB,oEAAoE;IACpE,YAAY,EAAE,CACZ,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,mBAAmB,KACtB,OAAO,CAAC,OAAO,CAAC,CAAC;IACtB,0EAA0E;IAC1E,aAAa,EAAE,CACb,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,oBAAoB,KACvB,OAAO,CAAC,OAAO,CAAC,CAAC;IACtB,wFAAwF;IACxF,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;CAC5D;AAED,kDAAkD;AAClD,MAAM,WAAW,qBAAqB;IACpC,wEAAwE;IACxE,KAAK,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAAC;CACrE;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,GAAI,4DAK7B,qBAAqB,KAAG,qBAqL1B,CAAC"}
1
+ {"version":3,"file":"useToolsetLogin.d.ts","sourceRoot":"","sources":["../../../src/oauth/useToolsetLogin/useToolsetLogin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,mBAAmB,EACnB,oBAAoB,EACrB,MAAM,+BAA+B,CAAC;AAKvC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAOtD,OAAO,EAGL,gBAAgB,EAChB,uBAAuB,EAGxB,MAAM,UAAU,CAAC;AAElB,kDAAkD;AAClD,oBAAY,uBAAuB;IACjC,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,YAAY,kBAAkB;IAC9B,SAAS,cAAc;CACxB;AAED,kDAAkD;AAClD,MAAM,WAAW,mBAAmB;IAClC,0DAA0D;IAC1D,IAAI,EAAE,uBAAuB,CAAC;CAC/B;AAED,sCAAsC;AACtC,MAAM,WAAW,kBAAkB;IACjC,kFAAkF;IAClF,SAAS,EAAE,MAAM,CAAC;IAClB,4DAA4D;IAC5D,gBAAgB,EAAE,uBAAuB,CAAC;IAC1C,qDAAqD;IACrD,kBAAkB,EAAE,gBAAgB,CAAC;IACrC,8CAA8C;IAC9C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,6CAA6C;IAC7C,aAAa,CAAC,EAAE,oBAAoB,CAAC;IACrC;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;;;OAKG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,8CAA8C;AAC9C,MAAM,WAAW,qBAAqB;IACpC;;;;OAIG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB,oEAAoE;IACpE,YAAY,EAAE,CACZ,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,mBAAmB,KACtB,OAAO,CAAC,OAAO,CAAC,CAAC;IACtB,0EAA0E;IAC1E,aAAa,EAAE,CACb,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,oBAAoB,KACvB,OAAO,CAAC,OAAO,CAAC,CAAC;IACtB,wFAAwF;IACxF,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;IAC3D;;;;OAIG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAC;CACpC;AAED,kDAAkD;AAClD,MAAM,WAAW,qBAAqB;IACpC,wEAAwE;IACxE,KAAK,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAAC;CACrE;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,GAAI,sFAM7B,qBAAqB,KAAG,qBA+L1B,CAAC"}
@@ -1,73 +1,82 @@
1
1
  import { OAuthResourceKind as e, ToolsetAuthStatus as t, ToolsetAuthTypes as n, ToolsetOAuthInitiationResultType as r, ToolsetOAuthResultType as i } from "../types.js";
2
2
  import { selectToolsetAuthStatus as a } from "../toolset-id.js";
3
- import { emitToolsetLoginSuccess as o } from "../../shared/toolset-login-events.js";
4
- import { waitForToolsetOAuthResult as s } from "../handshake.js";
5
- import { initiateOAuthLogin as c, navigateToolsetOAuthPopup as l, openToolsetOAuthPopup as u } from "../popup.js";
6
- import { useCallback as d } from "react";
3
+ import { toToolsetOAuthSettings as o } from "../authorize-url.js";
4
+ import { emitToolsetLoginSuccess as s } from "../../shared/toolset-login-events.js";
5
+ import { waitForToolsetOAuthResult as c } from "../handshake.js";
6
+ import { initiateOAuthLogin as l, navigateToolsetOAuthPopup as u, openToolsetOAuthPopup as d } from "../popup.js";
7
+ import { useCallback as f } from "react";
7
8
  //#region src/oauth/useToolsetLogin/useToolsetLogin.ts
8
- var f = /* @__PURE__ */ function(e) {
9
+ var p = /* @__PURE__ */ function(e) {
9
10
  return e.Success = "success", e.Failure = "failure", e.PopupBlocked = "popup-blocked", e.Cancelled = "cancelled", e;
10
- }({}), p = ({ callbackPath: f, loginToolset: p, logoutToolset: m, getToolset: h }) => {
11
- let g = d(async (e, t, n) => {
11
+ }({}), m = ({ callbackPath: p, loginToolset: m, logoutToolset: h, getToolset: g, shouldFetchOAuthSettings: _ = !1 }) => {
12
+ let v = f(async (e, t, n) => {
12
13
  try {
13
- await m(e, {
14
+ await h(e, {
14
15
  url: e,
15
16
  credentialsLevel: t,
16
17
  authenticationType: n
17
18
  });
18
19
  } catch {}
19
- }, [m]), _ = d(async (d) => {
20
- let { toolsetId: p, credentialsLevel: m, oauthSettings: _, forceStale: v, offlineUsageConsent: y } = d, b = {
21
- clientId: _?.clientId,
22
- authorizationEndpoint: _?.authorizationEndpoint,
23
- scopes: _?.scopes,
24
- codeChallenge: _?.codeChallenge,
25
- codeChallengeMethod: _?.codeChallengeMethod
26
- }, x = v ? await (async () => {
27
- let t = u();
28
- return t ? (await g(p, m, n.OAuth), l(t, b, p, f, m, e.Toolset, y)) : { type: r.Blocked };
29
- })() : c(b, p, f, m, y);
30
- if (x.type === r.Blocked) return { type: "popup-blocked" };
31
- if (x.type !== r.Started) return { type: "failure" };
32
- let S = await s(x.popup, x.flowId, {
33
- toolsetId: p,
34
- credentialsLevel: m,
35
- callbackPath: f
20
+ }, [h]), y = f(async (f) => {
21
+ let { toolsetId: m, credentialsLevel: h, oauthSettings: y, forceStale: b, offlineUsageConsent: x } = f, S = y ?? {}, C;
22
+ if (b || _) {
23
+ let t = d();
24
+ if (!t) return { type: "popup-blocked" };
25
+ b && await v(m, h, n.OAuth);
26
+ let r = S;
27
+ if (_) try {
28
+ let { authSettings: e } = await g(m);
29
+ if (t.closed) return { type: "cancelled" };
30
+ if (e?.authenticationType !== n.OAuth) return t.close(), { type: "failure" };
31
+ r = o(e);
32
+ } catch {
33
+ return t.close(), { type: "failure" };
34
+ }
35
+ C = u(t, r, m, p, h, e.Toolset, x);
36
+ } else C = l(S, m, p, h, x);
37
+ if (C.type === r.Blocked) return { type: "popup-blocked" };
38
+ if (C.type !== r.Started) return { type: "failure" };
39
+ let w = await c(C.popup, C.flowId, {
40
+ toolsetId: m,
41
+ credentialsLevel: h,
42
+ callbackPath: p
36
43
  });
37
- if (S.type === i.Success) return o({
38
- toolsetId: p,
39
- credentialsLevel: m
44
+ if (w.type === i.Success) return s({
45
+ toolsetId: m,
46
+ credentialsLevel: h
40
47
  }), { type: "success" };
41
- if (S.type === i.Failure) return { type: "failure" };
48
+ if (w.type === i.Failure) return { type: "failure" };
42
49
  try {
43
- if (a((await h(p)).authSettings, m) === t.SignedIn) return o({
44
- toolsetId: p,
45
- credentialsLevel: m
50
+ let e = await g(m);
51
+ if (a(e.authSettings, h) === t.SignedIn) return s({
52
+ toolsetId: m,
53
+ credentialsLevel: h
46
54
  }), { type: "success" };
47
55
  } catch {}
48
56
  return { type: "cancelled" };
49
57
  }, [
50
- f,
51
- h,
52
- g
53
- ]), v = d(async (e) => {
54
- let { toolsetId: t, credentialsLevel: n, authenticationType: r, apiKey: i, isCurrentlyFailed: a, forceStale: s, offlineUsageConsent: c } = e;
58
+ p,
59
+ g,
60
+ v,
61
+ _
62
+ ]), b = f(async (e) => {
63
+ let { toolsetId: t, credentialsLevel: n, authenticationType: r, apiKey: i, isCurrentlyFailed: a, forceStale: o, offlineUsageConsent: c } = e;
55
64
  try {
56
- return (s || a) && await g(t, n, r), await p(t, {
65
+ return (o || a) && await v(t, n, r), await m(t, {
57
66
  url: t,
58
67
  credentialsLevel: n,
59
68
  authenticationType: r,
60
69
  apiKey: i?.trim(),
61
70
  offlineUsageConsent: c
62
- }), o({
71
+ }), s({
63
72
  toolsetId: t,
64
73
  credentialsLevel: n
65
74
  }), { type: "success" };
66
75
  } catch {
67
76
  return { type: "failure" };
68
77
  }
69
- }, [p, g]);
70
- return { login: d((e) => e.authenticationType === n.OAuth ? _(e) : v(e), [_, v]) };
78
+ }, [m, v]);
79
+ return { login: f((e) => e.authenticationType === n.OAuth ? y(e) : b(e), [y, b]) };
71
80
  };
72
81
  //#endregion
73
- export { f as ToolsetLoginOutcomeType, p as useToolsetLogin };
82
+ export { p as ToolsetLoginOutcomeType, m as useToolsetLogin };
package/oauth.js CHANGED
@@ -1,9 +1,10 @@
1
1
  import { OAuthResourceKind as e, TOOLSET_REDIRECT_STATE_KEY as t, ToolsetAuthStatus as n, ToolsetAuthTypes as r, ToolsetCredentialsLevel as i, ToolsetOAuthCallbackQuery as a, ToolsetOAuthChannelControlType as o, ToolsetOAuthFailureReason as s, ToolsetOAuthInitiationResultType as c, ToolsetOAuthResultType as l, WithLogin as u } from "./oauth/types.js";
2
- import { decodeToolsetId as d, encodeToolsetId as f, isPublicToolsetId as p, normalizeToolsetId as m, resolveToolsetCredentialsLevel as h, selectToolsetAuthStatus as g } from "./oauth/toolset-id.js";
3
- import { emitToolsetLoginSuccess as _, subscribeToolsetLoginSuccess as v } from "./shared/toolset-login-events.js";
4
- import { getToolsetOAuthChannelName as y, waitForToolsetOAuthResult as b } from "./oauth/handshake.js";
5
- import { buildToolsetAuthorizeUrl as x, getToolsetRedirectUri as S } from "./oauth/authorize-url.js";
6
- import { initiateOAuthLogin as C, navigateToolsetOAuthPopup as w, openToolsetOAuthPopup as T } from "./oauth/popup.js";
7
- import { ToolsetLoginOutcomeType as E, useToolsetLogin as D } from "./oauth/useToolsetLogin/useToolsetLogin.js";
8
- import { useOAuthCallbackCompletion as O } from "./oauth/useOAuthCallbackCompletion/useOAuthCallbackCompletion.js";
9
- export { e as OAuthResourceKind, t as TOOLSET_REDIRECT_STATE_KEY, n as ToolsetAuthStatus, r as ToolsetAuthTypes, i as ToolsetCredentialsLevel, E as ToolsetLoginOutcomeType, a as ToolsetOAuthCallbackQuery, o as ToolsetOAuthChannelControlType, s as ToolsetOAuthFailureReason, c as ToolsetOAuthInitiationResultType, l as ToolsetOAuthResultType, u as WithLogin, x as buildToolsetAuthorizeUrl, d as decodeToolsetId, _ as emitToolsetLoginSuccess, f as encodeToolsetId, y as getToolsetOAuthChannelName, S as getToolsetRedirectUri, C as initiateOAuthLogin, p as isPublicToolsetId, w as navigateToolsetOAuthPopup, m as normalizeToolsetId, T as openToolsetOAuthPopup, h as resolveToolsetCredentialsLevel, g as selectToolsetAuthStatus, v as subscribeToolsetLoginSuccess, O as useOAuthCallbackCompletion, D as useToolsetLogin, b as waitForToolsetOAuthResult };
2
+ import { decodeToolsetId as d, encodeToolsetId as f, getToolsetFallbackName as p, isPublicToolsetId as m, normalizeToolsetId as h, resolveToolsetCredentialsLevel as g, selectToolsetAuthStatus as _ } from "./oauth/toolset-id.js";
3
+ import { buildToolsetAuthorizeUrl as v, getToolsetRedirectUri as y, toToolsetOAuthSettings as b } from "./oauth/authorize-url.js";
4
+ import { emitToolsetLoginSuccess as x, subscribeToolsetLoginSuccess as S } from "./shared/toolset-login-events.js";
5
+ import { getToolsetOAuthChannelName as C, waitForToolsetOAuthResult as w } from "./oauth/handshake.js";
6
+ import { initiateOAuthLogin as T, navigateToolsetOAuthPopup as E, openToolsetOAuthPopup as D } from "./oauth/popup.js";
7
+ import { ToolsetLoginOutcomeType as O, useToolsetLogin as k } from "./oauth/useToolsetLogin/useToolsetLogin.js";
8
+ import { createOAuthCallbackExchange as A } from "./oauth/callback-exchange.js";
9
+ import { useOAuthCallbackCompletion as j } from "./oauth/useOAuthCallbackCompletion/useOAuthCallbackCompletion.js";
10
+ export { e as OAuthResourceKind, t as TOOLSET_REDIRECT_STATE_KEY, n as ToolsetAuthStatus, r as ToolsetAuthTypes, i as ToolsetCredentialsLevel, O as ToolsetLoginOutcomeType, a as ToolsetOAuthCallbackQuery, o as ToolsetOAuthChannelControlType, s as ToolsetOAuthFailureReason, c as ToolsetOAuthInitiationResultType, l as ToolsetOAuthResultType, u as WithLogin, v as buildToolsetAuthorizeUrl, A as createOAuthCallbackExchange, d as decodeToolsetId, x as emitToolsetLoginSuccess, f as encodeToolsetId, p as getToolsetFallbackName, C as getToolsetOAuthChannelName, y as getToolsetRedirectUri, T as initiateOAuthLogin, m as isPublicToolsetId, E as navigateToolsetOAuthPopup, h as normalizeToolsetId, D as openToolsetOAuthPopup, g as resolveToolsetCredentialsLevel, _ as selectToolsetAuthStatus, S as subscribeToolsetLoginSuccess, b as toToolsetOAuthSettings, j as useOAuthCallbackCompletion, k as useToolsetLogin, w as waitForToolsetOAuthResult };
@@ -0,0 +1,20 @@
1
+ import { GetOfflineCredentialsResponseDto, OfflineCredentialsConnectDto } from '@epam/ai-dial-chat-api-client';
2
+ import { OfflineCredentialsConnectSettings, OfflineCredentialsStatusResult } from './useOfflineCredentialsGate/useOfflineCredentialsGate';
3
+ /**
4
+ * Normalizes the response's `connect` object into login-usable OAuth client
5
+ * settings — present only when its `clientId` and `authorizationEndpoint`
6
+ * are both set; `scopes` defaults to an empty list.
7
+ */
8
+ export declare const normalizeOfflineCredentialsConnectSettings: (connect?: OfflineCredentialsConnectDto) => OfflineCredentialsConnectSettings | undefined;
9
+ /**
10
+ * Normalizes a `getOfflineCredentials` response into the shared
11
+ * `OfflineCredentialsStatusResult`: the `available`/`connected` flags
12
+ * null-coalesced to `false`, OAuth client settings present only when a
13
+ * login is possible — the service is available and disconnected, and the
14
+ * response's `connect` object is complete enough to drive one — and the
15
+ * scheduler service consent passed through, defaulting to `unknown` when
16
+ * the response omitted it (older BFF) or carried a value outside the
17
+ * enum.
18
+ */
19
+ export declare const mapOfflineCredentialsResponse: (response: GetOfflineCredentialsResponseDto) => OfflineCredentialsStatusResult;
20
+ //# sourceMappingURL=map-offline-credentials-response.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"map-offline-credentials-response.d.ts","sourceRoot":"","sources":["../../src/offline-credentials/map-offline-credentials-response.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,gCAAgC,EAChC,4BAA4B,EAC7B,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EACV,iCAAiC,EACjC,8BAA8B,EAC/B,MAAM,uDAAuD,CAAC;AAE/D;;;;GAIG;AACH,eAAO,MAAM,0CAA0C,GACrD,UAAU,4BAA4B,KACrC,iCAAiC,GAAG,SAOxB,CAAC;AAEhB;;;;;;;;;GASG;AACH,eAAO,MAAM,6BAA6B,GACxC,UAAU,gCAAgC,KACzC,8BAmBF,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { SchedulerServiceConsentStatus as e } from "@epam/ai-dial-chat-api-client";
2
+ //#region src/offline-credentials/map-offline-credentials-response.ts
3
+ var t = (e) => e?.clientId != null && e?.authorizationEndpoint != null ? {
4
+ clientId: e.clientId,
5
+ authorizationEndpoint: e.authorizationEndpoint,
6
+ scopes: e.scopes ?? []
7
+ } : void 0, n = (n) => {
8
+ let r = n.available ?? !1, i = n.connected ?? !1;
9
+ return {
10
+ available: r,
11
+ connected: i,
12
+ connect: r && !i ? t(n.connect) : void 0,
13
+ schedulerServiceConsent: n.schedulerServiceConsent != null && Object.values(e).includes(n.schedulerServiceConsent) ? n.schedulerServiceConsent : e.Unknown
14
+ };
15
+ };
16
+ //#endregion
17
+ export { n as mapOfflineCredentialsResponse, t as normalizeOfflineCredentialsConnectSettings };
@@ -0,0 +1,31 @@
1
+ import { OfflineCredentialsGateStatus } from './useOfflineCredentialsGate/useOfflineCredentialsGate';
2
+ import { OfflineCredentialsLoginOutcomeType } from './useOfflineCredentialsLogin/useOfflineCredentialsLogin';
3
+ /** What the scheduled-tasks offline-credentials login banner shows. */
4
+ export declare enum ScheduledTasksLoginBannerState {
5
+ /** The login prompt. */
6
+ Shown = "shown",
7
+ /** A login is running. */
8
+ LoginInProgress = "login-in-progress",
9
+ /** Retry prompt after the browser blocked the login popup. */
10
+ RetryPopupBlocked = "retry-popup-blocked",
11
+ /** Retry prompt after the user closed the login popup. */
12
+ RetryCancelled = "retry-cancelled",
13
+ /** Retry prompt after the login timed out. */
14
+ RetryTimeout = "retry-timeout",
15
+ /** Retry prompt after the login failed. */
16
+ RetryFailed = "retry-failed"
17
+ }
18
+ /** Returns the retry banner state an offline-credentials login outcome leaves, or `undefined` after a success. */
19
+ export declare const getScheduledTasksLoginRetryState: (outcome: OfflineCredentialsLoginOutcomeType) => ScheduledTasksLoginBannerState | undefined;
20
+ /** Inputs of `resolveScheduledTasksLoginBannerState`. */
21
+ export interface ScheduledTasksLoginBannerInputs {
22
+ /** Whether a login is running. */
23
+ isLoggingIn: boolean;
24
+ /** Retry state left by the last login, from `getScheduledTasksLoginRetryState`. */
25
+ retryState: ScheduledTasksLoginBannerState | undefined;
26
+ /** Status of the offline-credentials gate. */
27
+ status: OfflineCredentialsGateStatus;
28
+ }
29
+ /** Returns what the login banner shows — in progress, the last retry state, or the prompt while credentials are missing — or `undefined` to hide it. */
30
+ export declare const resolveScheduledTasksLoginBannerState: ({ isLoggingIn, retryState, status, }: ScheduledTasksLoginBannerInputs) => ScheduledTasksLoginBannerState | undefined;
31
+ //# sourceMappingURL=scheduled-tasks-login-banner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scheduled-tasks-login-banner.d.ts","sourceRoot":"","sources":["../../src/offline-credentials/scheduled-tasks-login-banner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,MAAM,uDAAuD,CAAC;AACrG,OAAO,EAAE,kCAAkC,EAAE,MAAM,yDAAyD,CAAC;AAE7G,uEAAuE;AACvE,oBAAY,8BAA8B;IACxC,wBAAwB;IACxB,KAAK,UAAU;IACf,0BAA0B;IAC1B,eAAe,sBAAsB;IACrC,8DAA8D;IAC9D,iBAAiB,wBAAwB;IACzC,0DAA0D;IAC1D,cAAc,oBAAoB;IAClC,8CAA8C;IAC9C,YAAY,kBAAkB;IAC9B,2CAA2C;IAC3C,WAAW,iBAAiB;CAC7B;AAeD,kHAAkH;AAClH,eAAO,MAAM,gCAAgC,GAC3C,SAAS,kCAAkC,KAC1C,8BAA8B,GAAG,SAGuC,CAAC;AAE5E,yDAAyD;AACzD,MAAM,WAAW,+BAA+B;IAC9C,kCAAkC;IAClC,WAAW,EAAE,OAAO,CAAC;IACrB,mFAAmF;IACnF,UAAU,EAAE,8BAA8B,GAAG,SAAS,CAAC;IACvD,8CAA8C;IAC9C,MAAM,EAAE,4BAA4B,CAAC;CACtC;AAED,wJAAwJ;AACxJ,eAAO,MAAM,qCAAqC,GAAI,sCAInD,+BAA+B,KAChC,8BAA8B,GAAG,SAUlC,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { OfflineCredentialsLoginOutcomeType as e } from "./useOfflineCredentialsLogin/useOfflineCredentialsLogin.js";
2
+ import { OfflineCredentialsGateStatus as t } from "./useOfflineCredentialsGate/useOfflineCredentialsGate.js";
3
+ //#region src/offline-credentials/scheduled-tasks-login-banner.ts
4
+ var n = /* @__PURE__ */ function(e) {
5
+ return e.Shown = "shown", e.LoginInProgress = "login-in-progress", e.RetryPopupBlocked = "retry-popup-blocked", e.RetryCancelled = "retry-cancelled", e.RetryTimeout = "retry-timeout", e.RetryFailed = "retry-failed", e;
6
+ }({}), r = {
7
+ [e.PopupBlocked]: "retry-popup-blocked",
8
+ [e.Cancelled]: "retry-cancelled",
9
+ [e.TimedOut]: "retry-timeout",
10
+ [e.Failure]: "retry-failed"
11
+ }, i = (t) => t === e.Success ? void 0 : r[t] ?? "retry-failed", a = ({ isLoggingIn: e, retryState: n, status: r }) => {
12
+ if (e) return "login-in-progress";
13
+ if (n) return n;
14
+ if (r === t.Available || r === t.Unavailable) return "shown";
15
+ };
16
+ //#endregion
17
+ export { n as ScheduledTasksLoginBannerState, i as getScheduledTasksLoginRetryState, a as resolveScheduledTasksLoginBannerState };
@@ -0,0 +1,58 @@
1
+ import { OfflineCredentialsApi } from '@epam/ai-dial-chat-api-client';
2
+ import { OfflineCredentialsConnectSettings, OfflineCredentialsStatusResult } from '../useOfflineCredentialsGate/useOfflineCredentialsGate';
3
+ import { OfflineCredentialsLoginOutcomeType } from '../useOfflineCredentialsLogin/useOfflineCredentialsLogin';
4
+ /** Terminal outcome kinds `logOut` can resolve. */
5
+ export declare enum OfflineCredentialsLogoutOutcomeType {
6
+ /** The sign-out request succeeded and a fresh status refetch confirmed `connected: false`. */
7
+ Disconnected = "disconnected",
8
+ /** The sign-out request succeeded but the fresh refetch still reported a connection (or failed to resolve). */
9
+ NotDisconnected = "not-disconnected",
10
+ /** The sign-out request itself failed. */
11
+ Failed = "failed"
12
+ }
13
+ /** The slice of `useOfflineCredentialsGate` the auth flow drives and observes. */
14
+ export interface OfflineCredentialsAuthGate {
15
+ /** OAuth client settings for a login — absent while no login is possible. */
16
+ connect: OfflineCredentialsConnectSettings | undefined;
17
+ /** Fresh authoritative status check from the gate. */
18
+ refetch: () => Promise<OfflineCredentialsStatusResult | null>;
19
+ }
20
+ /** Options for `useOfflineCredentialsAuth`. */
21
+ export interface UseOfflineCredentialsAuthOptions extends OfflineCredentialsAuthGate {
22
+ /** Host-configured offline-credentials API. */
23
+ offlineCredentialsClient: Pick<OfflineCredentialsApi, 'signOutOfflineCredentials'>;
24
+ /** Host route the OAuth popup posts its result back to, e.g. the app's toolset sign-in callback route. */
25
+ callbackPath: string;
26
+ }
27
+ export interface UseOfflineCredentialsAuthResult {
28
+ isLoggingIn: boolean;
29
+ /**
30
+ * Terminal outcome of the most recent login attempt — `undefined` before
31
+ * the first attempt and while one is in flight; reset at the start of every
32
+ * new attempt.
33
+ */
34
+ loginOutcome: OfflineCredentialsLoginOutcomeType | undefined;
35
+ isLoggingOut: boolean;
36
+ /**
37
+ * Starts the OAuth popup login with the gate's `connect` settings; no-ops
38
+ * while no login is possible (gate reported no offline OAuth client).
39
+ */
40
+ logIn: () => void;
41
+ /**
42
+ * Revokes the stored offline-credentials grant and resolves the logout
43
+ * outcome — the caller's confirmation dialog closes on `Disconnected` and
44
+ * maps every outcome to its own announcement text.
45
+ */
46
+ logOut: () => Promise<OfflineCredentialsLogoutOutcomeType>;
47
+ }
48
+ /**
49
+ * Shared login/logout orchestration for the external scheduler service's
50
+ * offline credentials, consumed by every presentation of it (a login banner,
51
+ * a settings tab): tracks the in-flight flags and the terminal login outcome,
52
+ * and treats a fresh gate refetch as authoritative for the logout outcome.
53
+ * Presentation and announcement stay with the caller: callers map
54
+ * `loginOutcome` and `logOut`'s resolved outcome onto their own states and
55
+ * text.
56
+ */
57
+ export declare const useOfflineCredentialsAuth: ({ connect, refetch, offlineCredentialsClient, callbackPath, }: UseOfflineCredentialsAuthOptions) => UseOfflineCredentialsAuthResult;
58
+ //# sourceMappingURL=useOfflineCredentialsAuth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useOfflineCredentialsAuth.d.ts","sourceRoot":"","sources":["../../../src/offline-credentials/useOfflineCredentialsAuth/useOfflineCredentialsAuth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAE3E,OAAO,KAAK,EACV,iCAAiC,EACjC,8BAA8B,EAC/B,MAAM,wDAAwD,CAAC;AAChE,OAAO,EACL,kCAAkC,EAEnC,MAAM,0DAA0D,CAAC;AAElE,mDAAmD;AACnD,oBAAY,mCAAmC;IAC7C,8FAA8F;IAC9F,YAAY,iBAAiB;IAC7B,+GAA+G;IAC/G,eAAe,qBAAqB;IACpC,0CAA0C;IAC1C,MAAM,WAAW;CAClB;AAED,kFAAkF;AAClF,MAAM,WAAW,0BAA0B;IACzC,6EAA6E;IAC7E,OAAO,EAAE,iCAAiC,GAAG,SAAS,CAAC;IACvD,sDAAsD;IACtD,OAAO,EAAE,MAAM,OAAO,CAAC,8BAA8B,GAAG,IAAI,CAAC,CAAC;CAC/D;AAED,+CAA+C;AAC/C,MAAM,WAAW,gCAAiC,SAAQ,0BAA0B;IAClF,+CAA+C;IAC/C,wBAAwB,EAAE,IAAI,CAC5B,qBAAqB,EACrB,2BAA2B,CAC5B,CAAC;IACF,0GAA0G;IAC1G,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,+BAA+B;IAC9C,WAAW,EAAE,OAAO,CAAC;IACrB;;;;OAIG;IACH,YAAY,EAAE,kCAAkC,GAAG,SAAS,CAAC;IAC7D,YAAY,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB;;;;OAIG;IACH,MAAM,EAAE,MAAM,OAAO,CAAC,mCAAmC,CAAC,CAAC;CAC5D;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,yBAAyB,GAAI,+DAKvC,gCAAgC,KAAG,+BAkDrC,CAAC"}
@@ -0,0 +1,37 @@
1
+ import { useOfflineCredentialsLogin as e } from "../useOfflineCredentialsLogin/useOfflineCredentialsLogin.js";
2
+ import { useCallback as t, useState as n } from "react";
3
+ //#region src/offline-credentials/useOfflineCredentialsAuth/useOfflineCredentialsAuth.ts
4
+ var r = /* @__PURE__ */ function(e) {
5
+ return e.Disconnected = "disconnected", e.NotDisconnected = "not-disconnected", e.Failed = "failed", e;
6
+ }({}), i = ({ connect: r, refetch: i, offlineCredentialsClient: a, callbackPath: o }) => {
7
+ let { login: s } = e({ callbackPath: o }), [c, l] = n(!1), [u, d] = n(void 0), [f, p] = n(!1);
8
+ return {
9
+ isLoggingIn: c,
10
+ loginOutcome: u,
11
+ isLoggingOut: f,
12
+ logIn: t(() => {
13
+ r != null && (l(!0), d(void 0), (async () => {
14
+ let e = await s(r, i);
15
+ l(!1), d(e.type);
16
+ })());
17
+ }, [
18
+ r,
19
+ s,
20
+ i
21
+ ]),
22
+ logOut: t(async () => {
23
+ p(!0);
24
+ try {
25
+ await a.signOutOfflineCredentials();
26
+ let e = await i();
27
+ return e && !e.connected ? "disconnected" : "not-disconnected";
28
+ } catch {
29
+ return "failed";
30
+ } finally {
31
+ p(!1);
32
+ }
33
+ }, [a, i])
34
+ };
35
+ };
36
+ //#endregion
37
+ export { r as OfflineCredentialsLogoutOutcomeType, i as useOfflineCredentialsAuth };
@@ -0,0 +1,61 @@
1
+ import { SchedulerServiceConsentStatus, OfflineCredentialsApi } from '@epam/ai-dial-chat-api-client';
2
+ export declare enum OfflineCredentialsGateStatus {
3
+ /** The status check is in flight (including before the first check resolves). */
4
+ Checking = "checking",
5
+ /** A stored offline-credentials grant exists — no service-row login affordance is needed. */
6
+ Hidden = "hidden",
7
+ /** The deployment has an offline OAuth client configured and no stored grant — a login is possible. */
8
+ Available = "available",
9
+ /** The deployment has no offline OAuth client configured — no login is possible. */
10
+ Unavailable = "unavailable",
11
+ /** The status check failed — no connection state is asserted. */
12
+ Error = "error"
13
+ }
14
+ export interface OfflineCredentialsConnectSettings {
15
+ /** OAuth client id of the configured offline OAuth client. */
16
+ clientId: string;
17
+ /** Authorization endpoint of the configured offline OAuth client. */
18
+ authorizationEndpoint: string;
19
+ /** OAuth scopes requested for the offline grant. */
20
+ scopes: string[];
21
+ }
22
+ export interface OfflineCredentialsStatusResult {
23
+ /** Whether the deployment has an offline OAuth client configured. */
24
+ available: boolean;
25
+ /** Whether a stored offline-credentials grant exists. */
26
+ connected: boolean;
27
+ /** OAuth client settings usable for a login — present only while available and not connected. */
28
+ connect?: OfflineCredentialsConnectSettings;
29
+ /** Consent state of the scheduler external service; `unknown` when the response omitted it (older BFF). */
30
+ schedulerServiceConsent: SchedulerServiceConsentStatus;
31
+ }
32
+ export interface UseOfflineCredentialsGateResult {
33
+ status: OfflineCredentialsGateStatus;
34
+ /** OAuth client settings from the most recent check — set only while `status` is `Available`. */
35
+ connect: OfflineCredentialsConnectSettings | undefined;
36
+ /** Whether the most recent successful check reported a stored offline-credentials grant; a failed check keeps the last resolved value. `false` before the first check resolves. */
37
+ connected: boolean;
38
+ /** Scheduler service consent from the most recent check; `unknown` before the first check resolves or while it failed. The hook parses and exposes the field only — each surface decides its UI. */
39
+ schedulerServiceConsent: SchedulerServiceConsentStatus;
40
+ /**
41
+ * Re-runs the status check and returns its freshly resolved
42
+ * `{ available, connected }` result (or `null` on failure/abort), so a
43
+ * caller such as `useOfflineCredentialsLogin` can decide a login outcome
44
+ * from the same authoritative call that also updates `status`.
45
+ */
46
+ refetch: () => Promise<OfflineCredentialsStatusResult | null>;
47
+ }
48
+ /** Options for `useOfflineCredentialsGate`. */
49
+ export interface UseOfflineCredentialsGateOptions {
50
+ /** Host-configured offline-credentials API. */
51
+ offlineCredentialsClient: Pick<OfflineCredentialsApi, 'getOfflineCredentials'>;
52
+ }
53
+ /**
54
+ * Offline-credentials status check behind a host's offline-credentials
55
+ * surfaces (a login banner, a settings tab): fires on mount, cancels the
56
+ * in-flight request on unmount, and never collapses a fetch failure into
57
+ * `connected: false` — a failed check must not incorrectly trigger a
58
+ * login-required surface. Re-fire the check at any time via `refetch`.
59
+ */
60
+ export declare const useOfflineCredentialsGate: ({ offlineCredentialsClient, }: UseOfflineCredentialsGateOptions) => UseOfflineCredentialsGateResult;
61
+ //# sourceMappingURL=useOfflineCredentialsGate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useOfflineCredentialsGate.d.ts","sourceRoot":"","sources":["../../../src/offline-credentials/useOfflineCredentialsGate/useOfflineCredentialsGate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,+BAA+B,CAAC;AAC9E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAI3E,oBAAY,4BAA4B;IACtC,iFAAiF;IACjF,QAAQ,aAAa;IACrB,6FAA6F;IAC7F,MAAM,WAAW;IACjB,uGAAuG;IACvG,SAAS,cAAc;IACvB,oFAAoF;IACpF,WAAW,gBAAgB;IAC3B,iEAAiE;IACjE,KAAK,UAAU;CAChB;AAED,MAAM,WAAW,iCAAiC;IAChD,8DAA8D;IAC9D,QAAQ,EAAE,MAAM,CAAC;IACjB,qEAAqE;IACrE,qBAAqB,EAAE,MAAM,CAAC;IAC9B,oDAAoD;IACpD,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,8BAA8B;IAC7C,qEAAqE;IACrE,SAAS,EAAE,OAAO,CAAC;IACnB,yDAAyD;IACzD,SAAS,EAAE,OAAO,CAAC;IACnB,iGAAiG;IACjG,OAAO,CAAC,EAAE,iCAAiC,CAAC;IAC5C,2GAA2G;IAC3G,uBAAuB,EAAE,6BAA6B,CAAC;CACxD;AAED,MAAM,WAAW,+BAA+B;IAC9C,MAAM,EAAE,4BAA4B,CAAC;IACrC,iGAAiG;IACjG,OAAO,EAAE,iCAAiC,GAAG,SAAS,CAAC;IACvD,mLAAmL;IACnL,SAAS,EAAE,OAAO,CAAC;IACnB,oMAAoM;IACpM,uBAAuB,EAAE,6BAA6B,CAAC;IACvD;;;;;OAKG;IACH,OAAO,EAAE,MAAM,OAAO,CAAC,8BAA8B,GAAG,IAAI,CAAC,CAAC;CAC/D;AAED,+CAA+C;AAC/C,MAAM,WAAW,gCAAgC;IAC/C,+CAA+C;IAC/C,wBAAwB,EAAE,IAAI,CAC5B,qBAAqB,EACrB,uBAAuB,CACxB,CAAC;CACH;AAED;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,GAAI,+BAEvC,gCAAgC,KAAG,+BA8ErC,CAAC"}
@@ -0,0 +1,37 @@
1
+ import { mapOfflineCredentialsResponse as e } from "../map-offline-credentials-response.js";
2
+ import { SchedulerServiceConsentStatus as t } from "@epam/ai-dial-chat-api-client";
3
+ import { useCallback as n, useEffect as r, useRef as i, useState as a } from "react";
4
+ //#region src/offline-credentials/useOfflineCredentialsGate/useOfflineCredentialsGate.ts
5
+ var o = /* @__PURE__ */ function(e) {
6
+ return e.Checking = "checking", e.Hidden = "hidden", e.Available = "available", e.Unavailable = "unavailable", e.Error = "error", e;
7
+ }({}), s = ({ offlineCredentialsClient: o }) => {
8
+ let [s, c] = a("checking"), [l, u] = a(void 0), [d, f] = a(!1), [p, m] = a(t.Unknown), h = i(null), g = n(async () => {
9
+ h.current?.abort();
10
+ let n = new AbortController();
11
+ h.current = n, c("checking");
12
+ try {
13
+ let t = await o.getOfflineCredentials({ signal: n.signal });
14
+ if (n.signal.aborted) return null;
15
+ let { available: r, connected: i, connect: a, schedulerServiceConsent: s } = e(t);
16
+ return c(i ? "hidden" : r ? "available" : "unavailable"), u(a), f(i), m(s), {
17
+ available: r,
18
+ connected: i,
19
+ connect: a,
20
+ schedulerServiceConsent: s
21
+ };
22
+ } catch {
23
+ return n.signal.aborted || (c("error"), u(void 0), m(t.Unknown)), null;
24
+ }
25
+ }, [o]);
26
+ return r(() => (g(), () => {
27
+ h.current?.abort();
28
+ }), [g]), {
29
+ status: s,
30
+ connect: l,
31
+ connected: d,
32
+ schedulerServiceConsent: p,
33
+ refetch: g
34
+ };
35
+ };
36
+ //#endregion
37
+ export { o as OfflineCredentialsGateStatus, s as useOfflineCredentialsGate };