@epam/ai-dial-chat-hooks 1.3.0-dev.5 → 1.3.0-dev.55

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 (422) hide show
  1. package/api-error/api-error.d.ts +30 -0
  2. package/api-error/api-error.d.ts.map +1 -0
  3. package/api-transport/create-csrf-middleware.d.ts +15 -0
  4. package/api-transport/create-csrf-middleware.d.ts.map +1 -0
  5. package/api-transport/create-unauthorized-middleware.d.ts +40 -0
  6. package/api-transport/create-unauthorized-middleware.d.ts.map +1 -0
  7. package/attachment/useAttachmentAction/useAttachmentAction.d.ts +32 -0
  8. package/attachment/useAttachmentAction/useAttachmentAction.d.ts.map +1 -0
  9. package/attachment/useAttachmentValidation/useAttachmentValidation.d.ts +50 -0
  10. package/attachment/useAttachmentValidation/useAttachmentValidation.d.ts.map +1 -0
  11. package/attachments.d.ts +2 -94
  12. package/catalog/catalog-derivations.d.ts +27 -0
  13. package/catalog/catalog-derivations.d.ts.map +1 -0
  14. package/catalog/catalog-primary-action.d.ts +47 -0
  15. package/catalog/catalog-primary-action.d.ts.map +1 -0
  16. package/catalog/create-publish-api.d.ts +32 -0
  17. package/catalog/create-publish-api.d.ts.map +1 -0
  18. package/catalog/deployment-endpoint-url.d.ts +19 -0
  19. package/catalog/deployment-endpoint-url.d.ts.map +1 -0
  20. package/catalog/deployment-id.d.ts +42 -0
  21. package/catalog/deployment-id.d.ts.map +1 -0
  22. package/catalog/entity-details.d.ts +146 -0
  23. package/catalog/entity-details.d.ts.map +1 -0
  24. package/catalog/map-deployment-limits-to-catalog.d.ts +34 -0
  25. package/catalog/map-deployment-limits-to-catalog.d.ts.map +1 -0
  26. package/catalog/map-deployment-limits-to-input.d.ts +28 -0
  27. package/catalog/map-deployment-limits-to-input.d.ts.map +1 -0
  28. package/catalog/map-deployment-to-catalog-item.d.ts +61 -0
  29. package/catalog/map-deployment-to-catalog-item.d.ts.map +1 -0
  30. package/catalog/map-entity-details-to-catalog.d.ts +81 -0
  31. package/catalog/map-entity-details-to-catalog.d.ts.map +1 -0
  32. package/catalog/map-prompt-to-catalog-item.d.ts +43 -0
  33. package/catalog/map-prompt-to-catalog-item.d.ts.map +1 -0
  34. package/catalog/map-skill-to-catalog-item.d.ts +113 -0
  35. package/catalog/map-skill-to-catalog-item.d.ts.map +1 -0
  36. package/catalog/mcp-endpoint-url.d.ts +18 -0
  37. package/catalog/mcp-endpoint-url.d.ts.map +1 -0
  38. package/catalog/publish.d.ts +35 -0
  39. package/catalog/publish.d.ts.map +1 -0
  40. package/catalog/useApplicationCredentials/useApplicationCredentials.d.ts +19 -0
  41. package/catalog/useApplicationCredentials/useApplicationCredentials.d.ts.map +1 -0
  42. package/catalog/useCatalogEditNavigation/useCatalogEditNavigation.d.ts +100 -0
  43. package/catalog/useCatalogEditNavigation/useCatalogEditNavigation.d.ts.map +1 -0
  44. package/catalog/useCatalogEditNavigation/useCatalogEditNavigation.js +139 -122
  45. package/catalog/useCatalogItemDetails.d.ts +70 -0
  46. package/catalog/useCatalogItemDetails.d.ts.map +1 -0
  47. package/catalog/useCatalogToolsetCredentials/useCatalogToolsetCredentials.d.ts +76 -0
  48. package/catalog/useCatalogToolsetCredentials/useCatalogToolsetCredentials.d.ts.map +1 -0
  49. package/catalog/useFavoriteEntitiesState/useFavoriteEntitiesState.d.ts +37 -0
  50. package/catalog/useFavoriteEntitiesState/useFavoriteEntitiesState.d.ts.map +1 -0
  51. package/catalog/usePublishFolders/usePublishFolders.d.ts +73 -0
  52. package/catalog/usePublishFolders/usePublishFolders.d.ts.map +1 -0
  53. package/catalog/useSkillDetailsPanelData/useSkillDetailsPanelData.d.ts +54 -0
  54. package/catalog/useSkillDetailsPanelData/useSkillDetailsPanelData.d.ts.map +1 -0
  55. package/catalog/useSkillItemDetails.d.ts +64 -0
  56. package/catalog/useSkillItemDetails.d.ts.map +1 -0
  57. package/catalog.d.ts +2 -1433
  58. package/conversation/announcement-message.d.ts +61 -0
  59. package/conversation/announcement-message.d.ts.map +1 -0
  60. package/conversation/conversation-transfer/async.d.ts +10 -0
  61. package/conversation/conversation-transfer/async.d.ts.map +1 -0
  62. package/conversation/conversation-transfer/attachment-refs.d.ts +42 -0
  63. package/conversation/conversation-transfer/attachment-refs.d.ts.map +1 -0
  64. package/conversation/conversation-transfer/build-upload-path.d.ts +42 -0
  65. package/conversation/conversation-transfer/build-upload-path.d.ts.map +1 -0
  66. package/conversation/conversation-transfer/date.d.ts +5 -0
  67. package/conversation/conversation-transfer/date.d.ts.map +1 -0
  68. package/conversation/conversation-transfer/dial-file-resolve.d.ts +10 -0
  69. package/conversation/conversation-transfer/dial-file-resolve.d.ts.map +1 -0
  70. package/conversation/conversation-transfer/export-conversation.d.ts +10 -0
  71. package/conversation/conversation-transfer/export-conversation.d.ts.map +1 -0
  72. package/conversation/conversation-transfer/import-conversation.d.ts +106 -0
  73. package/conversation/conversation-transfer/import-conversation.d.ts.map +1 -0
  74. package/conversation/conversation-transfer/progress.d.ts +60 -0
  75. package/conversation/conversation-transfer/progress.d.ts.map +1 -0
  76. package/conversation/conversation-transfer/queue.d.ts +54 -0
  77. package/conversation/conversation-transfer/queue.d.ts.map +1 -0
  78. package/conversation/conversation-transfer/types.d.ts +36 -0
  79. package/conversation/conversation-transfer/types.d.ts.map +1 -0
  80. package/conversation/conversation-transfer/zip-export.d.ts +31 -0
  81. package/conversation/conversation-transfer/zip-export.d.ts.map +1 -0
  82. package/conversation/conversation-transfer/zip-import.d.ts +17 -0
  83. package/conversation/conversation-transfer/zip-import.d.ts.map +1 -0
  84. package/conversation/create-chat-stream-api.d.ts +92 -0
  85. package/conversation/create-chat-stream-api.d.ts.map +1 -0
  86. package/conversation/deriveConversationRowActionState/deriveConversationRowActionState.d.ts +39 -0
  87. package/conversation/deriveConversationRowActionState/deriveConversationRowActionState.d.ts.map +1 -0
  88. package/conversation/display-name-watch.d.ts +4 -0
  89. package/conversation/display-name-watch.d.ts.map +1 -0
  90. package/conversation/footer-message.d.ts +10 -0
  91. package/conversation/footer-message.d.ts.map +1 -0
  92. package/conversation/get-model-id-from-conversation-id.d.ts +38 -0
  93. package/conversation/get-model-id-from-conversation-id.d.ts.map +1 -0
  94. package/conversation/greeting.d.ts +18 -0
  95. package/conversation/greeting.d.ts.map +1 -0
  96. package/conversation/message-factory.d.ts +7 -0
  97. package/conversation/message-factory.d.ts.map +1 -0
  98. package/conversation/message-utils.d.ts +67 -0
  99. package/conversation/message-utils.d.ts.map +1 -0
  100. package/conversation/overlay-messages.d.ts +5 -0
  101. package/conversation/overlay-messages.d.ts.map +1 -0
  102. package/conversation/quick-app-conversation-starters.d.ts +10 -0
  103. package/conversation/quick-app-conversation-starters.d.ts.map +1 -0
  104. package/conversation/stage.d.ts +77 -0
  105. package/conversation/stage.d.ts.map +1 -0
  106. package/conversation/starter-option.d.ts +21 -0
  107. package/conversation/starter-option.d.ts.map +1 -0
  108. package/conversation/useActiveConversationSync/useActiveConversationSync.d.ts +35 -0
  109. package/conversation/useActiveConversationSync/useActiveConversationSync.d.ts.map +1 -0
  110. package/conversation/useAsyncConfirmDialog/useAsyncConfirmDialog.d.ts +46 -0
  111. package/conversation/useAsyncConfirmDialog/useAsyncConfirmDialog.d.ts.map +1 -0
  112. package/conversation/useAttachmentUpload/useAttachmentUpload.d.ts +27 -0
  113. package/conversation/useAttachmentUpload/useAttachmentUpload.d.ts.map +1 -0
  114. package/conversation/useConversationExport/useConversationExport.d.ts +72 -0
  115. package/conversation/useConversationExport/useConversationExport.d.ts.map +1 -0
  116. package/conversation/useConversationHandlers/attachment-to-dto.d.ts +7 -0
  117. package/conversation/useConversationHandlers/attachment-to-dto.d.ts.map +1 -0
  118. package/conversation/useConversationHandlers/message-factory.d.ts +9 -0
  119. package/conversation/useConversationHandlers/message-factory.d.ts.map +1 -0
  120. package/conversation/useConversationHandlers/message-utils.d.ts +38 -0
  121. package/conversation/useConversationHandlers/message-utils.d.ts.map +1 -0
  122. package/conversation/useConversationHandlers/starter-option.d.ts +24 -0
  123. package/conversation/useConversationHandlers/starter-option.d.ts.map +1 -0
  124. package/conversation/useConversationHandlers/useConversationHandlers.d.ts +66 -0
  125. package/conversation/useConversationHandlers/useConversationHandlers.d.ts.map +1 -0
  126. package/conversation/useConversationImport/useConversationImport.d.ts +54 -0
  127. package/conversation/useConversationImport/useConversationImport.d.ts.map +1 -0
  128. package/conversation/useConversationLookupMaps/useConversationLookupMaps.d.ts +24 -0
  129. package/conversation/useConversationLookupMaps/useConversationLookupMaps.d.ts.map +1 -0
  130. package/conversation/useConversationPanelItems/useConversationPanelItems.d.ts +64 -0
  131. package/conversation/useConversationPanelItems/useConversationPanelItems.d.ts.map +1 -0
  132. package/conversation/useConversationScroll/useConversationScroll.d.ts +46 -0
  133. package/conversation/useConversationScroll/useConversationScroll.d.ts.map +1 -0
  134. package/conversation/useConversationStream/apply-chunk.d.ts +35 -0
  135. package/conversation/useConversationStream/apply-chunk.d.ts.map +1 -0
  136. package/conversation/useConversationStream/buffered-generation.d.ts +15 -0
  137. package/conversation/useConversationStream/buffered-generation.d.ts.map +1 -0
  138. package/conversation/useConversationStream/conversation-path.d.ts +7 -0
  139. package/conversation/useConversationStream/conversation-path.d.ts.map +1 -0
  140. package/conversation/useConversationStream/frame-scheduler.d.ts +14 -0
  141. package/conversation/useConversationStream/frame-scheduler.d.ts.map +1 -0
  142. package/conversation/useConversationStream/generation-resume.d.ts +85 -0
  143. package/conversation/useConversationStream/generation-resume.d.ts.map +1 -0
  144. package/conversation/useConversationStream/useConversationStream.d.ts +145 -0
  145. package/conversation/useConversationStream/useConversationStream.d.ts.map +1 -0
  146. package/conversation/useImportFilePicker/useImportFilePicker.d.ts +32 -0
  147. package/conversation/useImportFilePicker/useImportFilePicker.d.ts.map +1 -0
  148. package/conversation/useMessageSelectionReply/useMessageSelectionReply.d.ts +42 -0
  149. package/conversation/useMessageSelectionReply/useMessageSelectionReply.d.ts.map +1 -0
  150. package/conversation/useTranscribeAudio/audio-transcription-error.d.ts +19 -0
  151. package/conversation/useTranscribeAudio/audio-transcription-error.d.ts.map +1 -0
  152. package/conversation/useTranscribeAudio/transcription-retry.d.ts +2 -0
  153. package/conversation/useTranscribeAudio/transcription-retry.d.ts.map +1 -0
  154. package/conversation/useTranscribeAudio/useTranscribeAudio.d.ts +43 -0
  155. package/conversation/useTranscribeAudio/useTranscribeAudio.d.ts.map +1 -0
  156. package/conversation-overlay.d.ts +2 -7
  157. package/conversation-sources/useConversationSources/useConversationSources.d.ts +20 -0
  158. package/conversation-sources/useConversationSources/useConversationSources.d.ts.map +1 -0
  159. package/conversation-sources.d.ts +2 -25
  160. package/conversation-transfer.d.ts +2 -190
  161. package/conversation.d.ts +2 -1372
  162. package/entry-points/attachments.d.ts +3 -0
  163. package/entry-points/attachments.d.ts.map +1 -0
  164. package/entry-points/catalog.d.ts +25 -0
  165. package/entry-points/catalog.d.ts.map +1 -0
  166. package/entry-points/conversation-overlay.d.ts +2 -0
  167. package/entry-points/conversation-overlay.d.ts.map +1 -0
  168. package/entry-points/conversation-sources.d.ts +2 -0
  169. package/entry-points/conversation-sources.d.ts.map +1 -0
  170. package/entry-points/conversation-transfer.d.ts +7 -0
  171. package/entry-points/conversation-transfer.d.ts.map +1 -0
  172. package/entry-points/conversation.d.ts +33 -0
  173. package/entry-points/conversation.d.ts.map +1 -0
  174. package/entry-points/file-manager-canvas.d.ts +2 -0
  175. package/entry-points/file-manager-canvas.d.ts.map +1 -0
  176. package/entry-points/file-manager.d.ts +31 -0
  177. package/entry-points/file-manager.d.ts.map +1 -0
  178. package/entry-points/mcp-apps.d.ts +6 -0
  179. package/entry-points/mcp-apps.d.ts.map +1 -0
  180. package/entry-points/oauth.d.ts +10 -0
  181. package/entry-points/oauth.d.ts.map +1 -0
  182. package/entry-points/scheduled-tasks.d.ts +8 -0
  183. package/entry-points/scheduled-tasks.d.ts.map +1 -0
  184. package/entry-points/scroll-anchoring.d.ts +2 -0
  185. package/entry-points/scroll-anchoring.d.ts.map +1 -0
  186. package/entry-points/sharing.d.ts +3 -0
  187. package/entry-points/sharing.d.ts.map +1 -0
  188. package/entry-points/skill-editor.d.ts +9 -0
  189. package/entry-points/skill-editor.d.ts.map +1 -0
  190. package/entry-points/skills-state.d.ts +2 -0
  191. package/entry-points/skills-state.d.ts.map +1 -0
  192. package/entry-points/source-content.d.ts +2 -0
  193. package/entry-points/source-content.d.ts.map +1 -0
  194. package/entry-points/usage-limits.d.ts +8 -0
  195. package/entry-points/usage-limits.d.ts.map +1 -0
  196. package/entry-points/usage.d.ts +3 -0
  197. package/entry-points/usage.d.ts.map +1 -0
  198. package/entry-points/utils.d.ts +17 -0
  199. package/entry-points/utils.d.ts.map +1 -0
  200. package/entry-points/viewport-layout.d.ts +4 -0
  201. package/entry-points/viewport-layout.d.ts.map +1 -0
  202. package/file-manager-canvas.d.ts +2 -418
  203. package/file-manager.d.ts +2 -1237
  204. package/file-manager.js +25 -25
  205. package/files/annotation.d.ts +10 -0
  206. package/files/annotation.d.ts.map +1 -0
  207. package/files/attachment-canvas.d.ts +123 -0
  208. package/files/attachment-canvas.d.ts.map +1 -0
  209. package/files/attachment-dto-to-display.d.ts +10 -0
  210. package/files/attachment-dto-to-display.d.ts.map +1 -0
  211. package/files/attachment-types.d.ts +21 -0
  212. package/files/attachment-types.d.ts.map +1 -0
  213. package/files/create-files-api.d.ts +52 -0
  214. package/files/create-files-api.d.ts.map +1 -0
  215. package/files/create-upload-file-with-progress.d.ts +24 -0
  216. package/files/create-upload-file-with-progress.d.ts.map +1 -0
  217. package/files/dial-file-manager-copy-move.util.d.ts +15 -0
  218. package/files/dial-file-manager-copy-move.util.d.ts.map +1 -0
  219. package/files/dial-file-manager-mapping.util.d.ts +35 -0
  220. package/files/dial-file-manager-mapping.util.d.ts.map +1 -0
  221. package/files/dial-file-manager-path.util.d.ts +48 -0
  222. package/files/dial-file-manager-path.util.d.ts.map +1 -0
  223. package/files/dial-file-manager.model.d.ts +36 -0
  224. package/files/dial-file-manager.model.d.ts.map +1 -0
  225. package/files/dial-file-manager.model.js +7 -3
  226. package/files/dial-file-manager.types.d.ts +327 -0
  227. package/files/dial-file-manager.types.d.ts.map +1 -0
  228. package/files/dial-file-manager.types.js +1 -1
  229. package/files/dial-file-to-attachment.d.ts +26 -0
  230. package/files/dial-file-to-attachment.d.ts.map +1 -0
  231. package/files/dial-file.d.ts +17 -0
  232. package/files/dial-file.d.ts.map +1 -0
  233. package/files/dial-files-api.d.ts +71 -0
  234. package/files/dial-files-api.d.ts.map +1 -0
  235. package/files/download-destination.d.ts +31 -0
  236. package/files/download-destination.d.ts.map +1 -0
  237. package/files/file-manager-variant.d.ts +3 -0
  238. package/files/file-manager-variant.d.ts.map +1 -0
  239. package/files/file-name.d.ts +19 -0
  240. package/files/file-name.d.ts.map +1 -0
  241. package/files/prepare-download-destination.d.ts +8 -0
  242. package/files/prepare-download-destination.d.ts.map +1 -0
  243. package/files/resolve-dial-file-api-path.d.ts +12 -0
  244. package/files/resolve-dial-file-api-path.d.ts.map +1 -0
  245. package/files/source-content.d.ts +28 -0
  246. package/files/source-content.d.ts.map +1 -0
  247. package/files/useDialFileListing/useDialFileListing.d.ts +82 -0
  248. package/files/useDialFileListing/useDialFileListing.d.ts.map +1 -0
  249. package/files/useDialFileListing/useDialFileListing.js +24 -14
  250. package/files/useDialFileManager/useDialFileManager.d.ts +16 -0
  251. package/files/useDialFileManager/useDialFileManager.d.ts.map +1 -0
  252. package/files/useDialFileManager/useDialFileManager.js +148 -140
  253. package/files/useDialFileManagerSections/useDialFileManagerSections.d.ts +25 -0
  254. package/files/useDialFileManagerSections/useDialFileManagerSections.d.ts.map +1 -0
  255. package/files/useDialFileManagerTabConfig/useDialFileManagerTabConfig.d.ts +15 -0
  256. package/files/useDialFileManagerTabConfig/useDialFileManagerTabConfig.d.ts.map +1 -0
  257. package/files/useDialFileMetadata/useDialFileMetadata.d.ts +28 -0
  258. package/files/useDialFileMetadata/useDialFileMetadata.d.ts.map +1 -0
  259. package/files/useDialFileMutations/useDialFileMutations.d.ts +68 -0
  260. package/files/useDialFileMutations/useDialFileMutations.d.ts.map +1 -0
  261. package/files/useDialFileMutations/useDialFileMutations.js +206 -204
  262. package/files/useDialFileSharing/useDialFileSharing.d.ts +34 -0
  263. package/files/useDialFileSharing/useDialFileSharing.d.ts.map +1 -0
  264. package/files/useDialFileSharing/useDialFileSharing.js +45 -39
  265. package/files/useDialFileUploadBatch/useDialFileUploadBatch.d.ts +47 -0
  266. package/files/useDialFileUploadBatch/useDialFileUploadBatch.d.ts.map +1 -0
  267. package/files/useDialFileUploadBatch/useDialFileUploadBatch.js +8 -4
  268. package/files/useFileAttachmentPicker/useFileAttachmentPicker.d.ts +59 -0
  269. package/files/useFileAttachmentPicker/useFileAttachmentPicker.d.ts.map +1 -0
  270. package/index.d.ts +159 -6974
  271. package/index.d.ts.map +1 -0
  272. package/index.js +124 -117
  273. package/mcp-apps/mcp-apps-api-client.d.ts +28 -0
  274. package/mcp-apps/mcp-apps-api-client.d.ts.map +1 -0
  275. package/mcp-apps/useMcpAppHostAdapter/useMcpAppHostAdapter.d.ts +14 -0
  276. package/mcp-apps/useMcpAppHostAdapter/useMcpAppHostAdapter.d.ts.map +1 -0
  277. package/mcp-apps/useMcpAppHostContext/useMcpAppHostContext.d.ts +29 -0
  278. package/mcp-apps/useMcpAppHostContext/useMcpAppHostContext.d.ts.map +1 -0
  279. package/mcp-apps/useMcpAppTools/useMcpAppTools.d.ts +22 -0
  280. package/mcp-apps/useMcpAppTools/useMcpAppTools.d.ts.map +1 -0
  281. package/mcp-apps/useOpenMcpAppCanvas/useOpenMcpAppCanvas.d.ts +36 -0
  282. package/mcp-apps/useOpenMcpAppCanvas/useOpenMcpAppCanvas.d.ts.map +1 -0
  283. package/mcp-apps.d.ts +2 -256
  284. package/oauth/authorize-url.d.ts +16 -0
  285. package/oauth/authorize-url.d.ts.map +1 -0
  286. package/oauth/handshake.d.ts +30 -0
  287. package/oauth/handshake.d.ts.map +1 -0
  288. package/oauth/models.d.ts +81 -0
  289. package/oauth/models.d.ts.map +1 -0
  290. package/oauth/popup.d.ts +30 -0
  291. package/oauth/popup.d.ts.map +1 -0
  292. package/oauth/toolset-id.d.ts +53 -0
  293. package/oauth/toolset-id.d.ts.map +1 -0
  294. package/oauth/types.d.ts +84 -0
  295. package/oauth/types.d.ts.map +1 -0
  296. package/oauth/useOAuthCallbackCompletion/useOAuthCallbackCompletion.d.ts +54 -0
  297. package/oauth/useOAuthCallbackCompletion/useOAuthCallbackCompletion.d.ts.map +1 -0
  298. package/oauth/useToolsetLogin/useToolsetLogin.d.ts +79 -0
  299. package/oauth/useToolsetLogin/useToolsetLogin.d.ts.map +1 -0
  300. package/oauth.d.ts +2 -472
  301. package/package.json +26 -17
  302. package/prompt/export-prompt.d.ts +31 -0
  303. package/prompt/export-prompt.d.ts.map +1 -0
  304. package/prompt/prompt-resource.d.ts +30 -0
  305. package/prompt/prompt-resource.d.ts.map +1 -0
  306. package/prompt/prompt.d.ts +34 -0
  307. package/prompt/prompt.d.ts.map +1 -0
  308. package/prompt/usePromptsState/usePromptsState.d.ts +34 -0
  309. package/prompt/usePromptsState/usePromptsState.d.ts.map +1 -0
  310. package/scheduled-task/scheduled-task-description.d.ts +38 -0
  311. package/scheduled-task/scheduled-task-description.d.ts.map +1 -0
  312. package/scheduled-task/scheduled-task-mapping.d.ts +19 -0
  313. package/scheduled-task/scheduled-task-mapping.d.ts.map +1 -0
  314. package/scheduled-task/scheduled-task-preparation.d.ts +19 -0
  315. package/scheduled-task/scheduled-task-preparation.d.ts.map +1 -0
  316. package/scheduled-task/scheduled-task-trigger.d.ts +26 -0
  317. package/scheduled-task/scheduled-task-trigger.d.ts.map +1 -0
  318. package/scheduled-task/scheduled-tasks-api-client.d.ts +67 -0
  319. package/scheduled-task/scheduled-tasks-api-client.d.ts.map +1 -0
  320. package/scheduled-task/use-scheduled-task-runs.d.ts +40 -0
  321. package/scheduled-task/use-scheduled-task-runs.d.ts.map +1 -0
  322. package/scheduled-task/use-scheduled-task-runs.js +67 -67
  323. package/scheduled-task/use-scheduled-tasks.d.ts +28 -0
  324. package/scheduled-task/use-scheduled-tasks.d.ts.map +1 -0
  325. package/scheduled-tasks.d.ts +2 -250
  326. package/scroll-anchoring.d.ts +2 -50
  327. package/shared/application-schema.d.ts +18 -0
  328. package/shared/application-schema.d.ts.map +1 -0
  329. package/shared/application-schema.js +2 -2
  330. package/shared/browser-timezone.d.ts +7 -0
  331. package/shared/browser-timezone.d.ts.map +1 -0
  332. package/shared/cron-day-of-month.d.ts +21 -0
  333. package/shared/cron-day-of-month.d.ts.map +1 -0
  334. package/shared/cron-weekday.d.ts +5 -0
  335. package/shared/cron-weekday.d.ts.map +1 -0
  336. package/shared/custom-apps.d.ts +7 -0
  337. package/shared/custom-apps.d.ts.map +1 -0
  338. package/shared/external-services.d.ts +16 -0
  339. package/shared/external-services.d.ts.map +1 -0
  340. package/shared/formatting.d.ts +5 -0
  341. package/shared/formatting.d.ts.map +1 -0
  342. package/shared/locale.d.ts +45 -0
  343. package/shared/locale.d.ts.map +1 -0
  344. package/shared/string-utils.d.ts +11 -0
  345. package/shared/string-utils.d.ts.map +1 -0
  346. package/shared/toolset-login-events.d.ts +15 -0
  347. package/shared/toolset-login-events.d.ts.map +1 -0
  348. package/sharing.d.ts +2 -65
  349. package/skill/skill-archive.d.ts +7 -0
  350. package/skill/skill-archive.d.ts.map +1 -0
  351. package/skill/skill-file-batch-validation.d.ts +70 -0
  352. package/skill/skill-file-batch-validation.d.ts.map +1 -0
  353. package/skill/skill-file-preview.d.ts +25 -0
  354. package/skill/skill-file-preview.d.ts.map +1 -0
  355. package/skill/skill-manifest.d.ts +28 -0
  356. package/skill/skill-manifest.d.ts.map +1 -0
  357. package/skill/skill-types.d.ts +46 -0
  358. package/skill/skill-types.d.ts.map +1 -0
  359. package/skill/skill.d.ts +160 -0
  360. package/skill/skill.d.ts.map +1 -0
  361. package/skill/useSkillArchiveImport/useSkillArchiveImport.d.ts +65 -0
  362. package/skill/useSkillArchiveImport/useSkillArchiveImport.d.ts.map +1 -0
  363. package/skill/useSkillEditorLoad.d.ts +74 -0
  364. package/skill/useSkillEditorLoad.d.ts.map +1 -0
  365. package/skill/useSkillEditorSubmit.d.ts +125 -0
  366. package/skill/useSkillEditorSubmit.d.ts.map +1 -0
  367. package/skill/useSkillFileActions.d.ts +60 -0
  368. package/skill/useSkillFileActions.d.ts.map +1 -0
  369. package/skill/useSkillFilePreview.d.ts +38 -0
  370. package/skill/useSkillFilePreview.d.ts.map +1 -0
  371. package/skill/useSkillsState/useSkillsState.d.ts +35 -0
  372. package/skill/useSkillsState/useSkillsState.d.ts.map +1 -0
  373. package/skill-editor.d.ts +2 -655
  374. package/skills-state.d.ts +2 -40
  375. package/source-content.d.ts +2 -29
  376. package/usage/map-usage-data-to-dashboard.d.ts +39 -0
  377. package/usage/map-usage-data-to-dashboard.d.ts.map +1 -0
  378. package/usage/map-user-usage-to-model-limits.d.ts +62 -0
  379. package/usage/map-user-usage-to-model-limits.d.ts.map +1 -0
  380. package/usage/usage-banner-source.d.ts +23 -0
  381. package/usage/usage-banner-source.d.ts.map +1 -0
  382. package/usage/usage-banner-source.js +36 -0
  383. package/usage/usage-period.d.ts +7 -0
  384. package/usage/usage-period.d.ts.map +1 -0
  385. package/usage/usage-period.js +6 -0
  386. package/usage/usage-reset-time.d.ts +69 -0
  387. package/usage/usage-reset-time.d.ts.map +1 -0
  388. package/usage/usage-reset-time.js +72 -0
  389. package/usage/useDeploymentUsageLimits/useDeploymentUsageLimits.d.ts +32 -0
  390. package/usage/useDeploymentUsageLimits/useDeploymentUsageLimits.d.ts.map +1 -0
  391. package/usage/useDeploymentUsageLimits/useDeploymentUsageLimits.js +39 -0
  392. package/usage/useRefreshUsageAfterGeneration/useRefreshUsageAfterGeneration.d.ts +16 -0
  393. package/usage/useRefreshUsageAfterGeneration/useRefreshUsageAfterGeneration.d.ts.map +1 -0
  394. package/usage/useRefreshUsageAfterGeneration/useRefreshUsageAfterGeneration.js +14 -0
  395. package/usage/useUsageData/useUsageData.d.ts +28 -0
  396. package/usage/useUsageData/useUsageData.d.ts.map +1 -0
  397. package/usage/useUsageLimitBanner/useUsageLimitBanner.d.ts +56 -0
  398. package/usage/useUsageLimitBanner/useUsageLimitBanner.d.ts.map +1 -0
  399. package/usage/useUsageLimitBanner/useUsageLimitBanner.js +67 -0
  400. package/usage/useUsageLimitBannerDismissal/useUsageLimitBannerDismissal.d.ts +14 -0
  401. package/usage/useUsageLimitBannerDismissal/useUsageLimitBannerDismissal.d.ts.map +1 -0
  402. package/usage/useUsageLimitBannerDismissal/useUsageLimitBannerDismissal.js +19 -0
  403. package/usage-limits.d.ts +2 -0
  404. package/usage-limits.js +8 -0
  405. package/usage.d.ts +2 -125
  406. package/useChatSettingsFormConfig/useChatSettingsFormConfig.d.ts +128 -0
  407. package/useChatSettingsFormConfig/useChatSettingsFormConfig.d.ts.map +1 -0
  408. package/usePageFileDrag/usePageFileDrag.d.ts +16 -0
  409. package/usePageFileDrag/usePageFileDrag.d.ts.map +1 -0
  410. package/usePanelMaxWidth/usePanelMaxWidth.d.ts +6 -0
  411. package/usePanelMaxWidth/usePanelMaxWidth.d.ts.map +1 -0
  412. package/useShareLink/useShareLink.d.ts +23 -0
  413. package/useShareLink/useShareLink.d.ts.map +1 -0
  414. package/useShareRecipientsCount/useShareRecipientsCount.d.ts +36 -0
  415. package/useShareRecipientsCount/useShareRecipientsCount.d.ts.map +1 -0
  416. package/useToolsMenu/useToolsMenu.d.ts +31 -0
  417. package/useToolsMenu/useToolsMenu.d.ts.map +1 -0
  418. package/useViewportWidth/useViewportWidth.d.ts +3 -0
  419. package/useViewportWidth/useViewportWidth.d.ts.map +1 -0
  420. package/utils.d.ts +2 -404
  421. package/utils.js +10 -10
  422. package/viewport-layout.d.ts +2 -27
package/mcp-apps.d.ts CHANGED
@@ -1,256 +1,2 @@
1
- import type { CallToolResult } from '@modelcontextprotocol/sdk/types.js';
2
- import { DeploymentItemDto } from '@epam/ai-dial-chat-api-client';
3
- import { DialToolsetDto } from '@epam/ai-dial-chat-api-client';
4
- import { Implementation } from '@modelcontextprotocol/sdk/types.js';
5
- import { McpAppToolSummaryDto } from '@epam/ai-dial-chat-api-client';
6
- import { McpUiHostContext } from '@mcp-ui/client';
7
- import { Message } from '@epam/ai-dial-chat-shared';
8
- import { ToolsetsApi } from '@epam/ai-dial-chat-api-client';
9
-
10
- /** A cached MCP App resource fetch plus its resolved tool result. */
11
- declare interface CachedMcpAppResponse {
12
- /** The fetched resource's HTML body. */
13
- html: string;
14
- /** The tool call's resolved result, if any. */
15
- toolResult?: CallToolResult;
16
- }
17
-
18
- /** Host-provided function that forwards an MCP App's tool call through the host's backend. */
19
- declare type CallMcpAppTool = (
20
- toolsetId: string,
21
- toolName: string,
22
- args: unknown,
23
- kind: McpDeploymentKind,
24
- ) => Promise<CallToolResult>;
25
-
26
- /**
27
- * Wraps the generated `ToolsetsApi` in the surface `useMcpAppTools`,
28
- * `useOpenMcpAppCanvas`, and `@epam/ai-dial-mcp-apps`'s hooks/utilities call,
29
- * so a host app configures one `ToolsetsApi` instance (base URL, auth
30
- * headers, CSRF) and passes it here once. Mirrors `createPublishApiClient`.
31
- */
32
- export declare const createMcpAppsApiClient: (toolsetsApi: ToolsetsApi) => McpAppsApiClient;
33
-
34
- /** Host-provided function that fetches a toolset's MCP Apps `ui://` resource and resolves to its HTML body. */
35
- declare type FetchMcpAppResourceHtml = (
36
- toolsetId: string,
37
- resourceUri: string,
38
- ) => Promise<string>;
39
-
40
- /** Display mode an MCP App can ask the host to switch to via `ui/request-display-mode` — the MCP UI protocol's `inline`/`fullscreen`/`pip` union. */
41
- declare type McpAppDisplayMode = NonNullable<McpUiHostContext['displayMode']>;
42
-
43
- /**
44
- * Dependencies the host must inject into `useMcpAppInlinePreview` /
45
- * `McpAppInlinePreview` — everything that requires host context (theming,
46
- * locale, the configured API client) rather than being derivable from the
47
- * hook's own arguments.
48
- */
49
- declare interface McpAppHostAdapter {
50
- /** `McpUiHostContext` to deliver to the mounted app's `ui/initialize` handshake. */
51
- hostContext: McpUiHostContext;
52
- /** Host identity (`name`/`version`) to deliver to the mounted app's `ui/initialize` handshake. */
53
- hostInfo: Implementation;
54
- /** Operator-configured MCP Apps sandbox-proxy URL, or `null` when unconfigured. */
55
- sandboxUrl: string | null;
56
- /** Fetches the matched tool's MCP Apps `ui://` resource. */
57
- fetchResourceHtml: FetchMcpAppResourceHtml;
58
- /** Forwards a tool call the mounted app makes on its own (`onToolCall`) or the live re-call `resolveMcpAppToolResult` performs. */
59
- callTool: CallMcpAppTool;
60
- }
61
-
62
- /** Host values `useMcpAppHostContext` needs but cannot read itself — a lib must not import the app's theme/i18n/config context. */
63
- export declare interface McpAppHostContextParams {
64
- /** Host's current theme id (e.g. `'light'`/`'dark'`), used when `mcpAppTheme` is unset. */
65
- theme: string;
66
- /** Operator-configured MCP App theme override, if any. */
67
- mcpAppTheme?: string;
68
- /** Host's current i18n locale (BCP 47). */
69
- locale: string;
70
- /** Operator-configured MCP App user-agent override. Defaults to the browser's own `navigator.userAgent`. */
71
- mcpAppUserAgent?: string;
72
- /**
73
- * Display modes the host can switch an app between via
74
- * `ui/request-display-mode`. Defaults to `['inline', 'fullscreen']` — the
75
- * compact inline preview and the full-width canvas.
76
- */
77
- availableDisplayModes?: McpAppDisplayMode[];
78
- }
79
-
80
- /** Thrown by `McpAppsApiClient.fetchResourceHtml` on a non-OK response, carrying the HTTP status so callers can distinguish `403` (forbidden) from any other failure. */
81
- export declare class McpAppResourceFetchError extends Error {
82
- readonly status: number;
83
- constructor(status: number);
84
- }
85
-
86
- /** Reads/writes `useMcpAppResponseCache`'s per-conversation cache. */
87
- declare interface McpAppResponseCache {
88
- /**
89
- * Returns the cached entry only if it was written for this exact
90
- * `seedKey` (`computeMcpAppSeedKey`) and is younger than the cache's TTL;
91
- * otherwise `undefined` (a miss), so a stale or seed-mismatched entry is
92
- * never served.
93
- */
94
- get: (
95
- key: string,
96
- seedKey: string | undefined,
97
- ) => CachedMcpAppResponse | undefined;
98
- /** Writes an entry for `key`, tagged with the seed it was resolved from. */
99
- set: (
100
- key: string,
101
- value: CachedMcpAppResponse,
102
- seedKey: string | undefined,
103
- ) => void;
104
- /** Removes the cached entry for `key`, if any. */
105
- invalidate: (key: string) => void;
106
- /**
107
- * Returns the fresh cached entry for `(key, seedKey)` if one exists
108
- * (same rules as `get`); otherwise runs `fetchFn` and caches its result.
109
- * Concurrent calls for the same `(key, seedKey)` before `fetchFn` settles
110
- * are coalesced onto the same in-flight promise instead of each starting
111
- * their own — without this, a component re-rendered before its first
112
- * fetch resolves (e.g. React StrictMode's dev-only double effect
113
- * invocation) would race two independent fetches/live tool re-calls for
114
- * the same message.
115
- */
116
- getOrFetch: (
117
- key: string,
118
- seedKey: string | undefined,
119
- fetchFn: () => Promise<CachedMcpAppResponse>,
120
- ) => Promise<CachedMcpAppResponse>;
121
- }
122
-
123
- /** The MCP Apps API surface produced by {@link createMcpAppsApiClient}. */
124
- export declare interface McpAppsApiClient {
125
- /** Fetches a toolset's MCP Apps `ui://` resource and resolves to its HTML body. Throws `McpAppResourceFetchError` on a non-OK response. */
126
- fetchResourceHtml: FetchMcpAppResourceHtml;
127
- /** Forwards an MCP App's tool call (self-initiated, or `@epam/ai-dial-mcp-apps`'s live re-call) through chat-api. */
128
- callTool: CallMcpAppTool;
129
- /** Lists the tools of an MCP-capable deployment that declare an MCP Apps UI resource. */
130
- listAppTools: (deploymentId: string, kind: McpDeploymentKind) => Promise<McpAppToolSummary[]>;
131
- /** Lists every tool name exposed by an MCP-capable deployment's `tools/list`, unfiltered. */
132
- listToolNames: (deploymentId: string, kind: McpDeploymentKind) => Promise<string[]>;
133
- }
134
-
135
- /** Original tool call's arguments/result, seeded into the mounted app so it renders that invocation immediately instead of an empty initial state. */
136
- declare interface McpAppToolCallSeed {
137
- /** The tool call's real structured arguments. */
138
- toolInput?: Record<string, unknown>;
139
- /** The tool call's result, if already known. */
140
- toolResult?: CallToolResult;
141
- }
142
-
143
- /**
144
- * How a tool was discovered — determines whether it's safe to live-re-call
145
- * (see `resolveMcpAppToolResult`) or treat as "always available" for a
146
- * message with no other evidence (see `findMcpAppForMessage`).
147
- *
148
- * - `'direct'`: the active deployment itself IS this MCP server (whether
149
- * it's a bare Toolset or an Application declaring `features.mcp`) — the
150
- * host is talking to it directly, so which tool a mounted app's own
151
- * invocation targets is unambiguous.
152
- * - `'indirect'`: a different, tool-calling deployment's message happened to
153
- * call a name prefixed with a toolset's display name; the toolset is a
154
- * name-prefix *guess*, not a confirmed link the host was told about, so
155
- * re-calling it live risks hitting the wrong tool or re-triggering a
156
- * non-idempotent side effect.
157
- */
158
- declare type McpAppToolDiscovery = 'direct' | 'indirect';
159
-
160
- /** A tool's declared MCP Apps UI resource, keyed by the toolset it was discovered on. */
161
- declare interface McpAppToolRef {
162
- /** Id of the toolset/application this tool was discovered on. */
163
- toolsetId: string;
164
- /** The tool's declared `ui://` resource. */
165
- resourceUri: string;
166
- /** Name used to correlate this ref against a message's real tool-call data (`resolveMcpAppToolCallSeed`/`findMcpAppForMessage`). */
167
- toolName: string;
168
- /** The tool's real name as declared by its owning toolset's `tools/list` — what must be passed to the mounted app/`onToolCall`. */
169
- mcpToolName: string;
170
- /** Deployment kind — determines which host MCP proxy route resolves `tools/call` for this tool. */
171
- kind: McpDeploymentKind;
172
- /** How this tool was discovered — see `McpAppToolDiscovery`. */
173
- discovery: McpAppToolDiscovery;
174
- }
175
-
176
- /** A single MCP tool that declares an MCP Apps UI resource. */
177
- export declare type McpAppToolSummary = McpAppToolSummaryDto;
178
-
179
- /** Which of the host's two MCP proxy routes a deployment id resolves through — a plain toolset, or an application that is itself an MCP server. */
180
- declare type McpDeploymentKind = 'toolset' | 'application';
181
-
182
- /**
183
- * Builds the `McpAppHostAdapter` a host injects into `@epam/ai-dial-mcp-apps`'s
184
- * hooks/components, wiring the library's host-context/tool-call/resource-fetch
185
- * contract to a configured `McpAppsApiClient` and this app's theme/locale/config
186
- * values (`hostContextParams`, `sandboxUrl`), plus the host's own identity
187
- * (`hostInfo`) — this hook itself never reads app context, so a host builds
188
- * those values wherever it already has them.
189
- */
190
- export declare const useMcpAppHostAdapter: (displayMode: "inline" | "fullscreen", client: McpAppsApiClient, sandboxUrl: string | null, hostContextParams: McpAppHostContextParams, hostInfo: Implementation) => McpAppHostAdapter;
191
-
192
- /**
193
- * Builds the `McpUiHostContext` delivered to a mounted MCP App during its
194
- * `ui/initialize` handshake, shared by every place that mounts an app —
195
- * a full-width attachment canvas (`displayMode: 'fullscreen'`) and a compact
196
- * inline preview under a message (`displayMode: 'inline'`) — so the app can
197
- * size/style itself differently for each, and knows (via
198
- * `availableDisplayModes`) which surfaces it may ask the host to switch to.
199
- */
200
- export declare const useMcpAppHostContext: (displayMode: "inline" | "fullscreen", { theme, mcpAppTheme, locale, mcpAppUserAgent, availableDisplayModes, }: McpAppHostContextParams) => McpUiHostContext;
201
-
202
- /**
203
- * Discovers MCP Apps-capable tools available to the current conversation, merging two
204
- * sources:
205
- *
206
- * 1. **Direct** — the active deployment itself, when it declares `features.mcp` (a
207
- * toolset, or an application that is itself an MCP server).
208
- * 2. **Indirect** — any toolset in `toolsets` whose name prefixes a tool-call name
209
- * actually seen in `messages` (e.g. `weather_get_weather` implies the `weather`
210
- * toolset). This covers a quick app that has no MCP capability of its own but
211
- * internally delegates to an MCP-capable toolset — a link the host does not
212
- * otherwise expose. Tool names discovered this way are re-prefixed with the
213
- * toolset's name so they match the `{toolset}_{tool}` form seen in real tool
214
- * calls, keeping downstream name-matching (`findMcpAppForMessage`) unchanged.
215
- *
216
- * Empty until loaded, or if neither source yields anything.
217
- */
218
- export declare const useMcpAppTools: (client: McpAppsApiClient, deployment: DeploymentItemDto | undefined, messages: Message[], toolsets: DialToolsetDto[]) => McpAppToolRef[];
219
-
220
- /**
221
- * Returns `openMcpAppCanvas`, an async function that opens the attachment
222
- * canvas for a discovered MCP App tool. `canvasKey`, when passed, is
223
- * forwarded as the canvas's `attachmentId` (and as the key into `cache`) so
224
- * callers can compare it against `useAttachmentCanvas().attachmentId` to
225
- * know whether this exact canvas is the one currently open. `toolCall`, when
226
- * passed, seeds the mounted app's initial `toolInput`/`toolResult`. Returns
227
- * `true` if the canvas was opened, `false` if `hostAdapter.sandboxUrl` isn't
228
- * configured or the resource failed to load.
229
- *
230
- * `cache` (shared with `@epam/ai-dial-mcp-apps`'s `useMcpAppInlinePreview` via
231
- * the same cache instance) is checked before fetching the resource or
232
- * re-resolving the tool result — reopening the canvas for a message already
233
- * seen (inline or in a prior canvas open) reuses that fetch instead of
234
- * repeating it, and a concurrent in-flight fetch for the same message (e.g.
235
- * the inline preview hasn't finished loading yet) is coalesced onto rather
236
- * than raced against (`cache.getOrFetch`). Pass `forceReload: true` (wired to
237
- * the canvas header's reload button, `content.onReload`) to bypass and
238
- * refresh the cache entry.
239
- *
240
- * `onBeforeOpen`, if passed, runs before the canvas opens (e.g. to close
241
- * other panels a host keeps mutually exclusive with the canvas) — this hook
242
- * has no opinion on what else is open in the host UI.
243
- */
244
- export declare const useOpenMcpAppCanvas: (cache: McpAppResponseCache, hostAdapter: McpAppHostAdapter, labels: UseOpenMcpAppCanvasLabels, onBeforeOpen?: () => void) => {
245
- openMcpAppCanvas: (match: McpAppToolRef, canvasKey?: string, toolCall?: McpAppToolCallSeed, forceReload?: boolean) => Promise<boolean>;
246
- };
247
-
248
- /** User-facing text `useOpenMcpAppCanvas` needs but cannot resolve itself — a lib must not call `t()`. */
249
- export declare interface UseOpenMcpAppCanvasLabels {
250
- /** Error label shown when the resource fetch is forbidden (HTTP 403). */
251
- forbiddenErrorLabel: string;
252
- /** Error label shown for any other resource-load/tool-call failure. */
253
- loadErrorLabel: string;
254
- }
255
-
256
- export { }
1
+ export * from './entry-points/mcp-apps.js'
2
+ export {}
@@ -0,0 +1,16 @@
1
+ import { ToolsetOAuthSettings } from './models';
2
+ /**
3
+ * Resolves the OAuth callback location against the current origin. The
4
+ * callback path is supplied by the host: this module owns no application
5
+ * route.
6
+ */
7
+ export declare const getToolsetRedirectUri: (callbackPath: string) => string;
8
+ /**
9
+ * Builds the OAuth authorize URL for a given, already-generated `state`
10
+ * value. The caller owns what `state` carries — see `initiateOAuthLogin`.
11
+ * Returns `null` rather than throwing for a configuration that cannot
12
+ * produce a valid URL, including one whose authorization endpoint is not an
13
+ * `http:`/`https:` URL.
14
+ */
15
+ export declare const buildToolsetAuthorizeUrl: (auth: ToolsetOAuthSettings, redirectUri: string, state: string) => string | null;
16
+ //# sourceMappingURL=authorize-url.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authorize-url.d.ts","sourceRoot":"","sources":["../../src/oauth/authorize-url.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAErD;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,GAAI,cAAc,MAAM,KAAG,MACjB,CAAC;AAU7C;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB,GACnC,MAAM,oBAAoB,EAC1B,aAAa,MAAM,EACnB,OAAO,MAAM,KACZ,MAAM,GAAG,IA0BX,CAAC"}
@@ -0,0 +1,30 @@
1
+ import { ToolsetOAuthResult } from './models';
2
+ import { ToolsetCredentialsLevel } from './types';
3
+ /** Name of the same-origin `BroadcastChannel` shared by an OAuth flow's opener and its callback popup. */
4
+ export declare const getToolsetOAuthChannelName: (flowId: string) => string;
5
+ /** Options for {@link waitForToolsetOAuthResult}. */
6
+ export interface WaitForToolsetOAuthResultOptions {
7
+ /** Resource id echoed back in a success result. */
8
+ toolsetId: string;
9
+ /** Credentials level echoed back in a success result. */
10
+ credentialsLevel: ToolsetCredentialsLevel;
11
+ /**
12
+ * The host's callback route — the same path the flow's popup was opened
13
+ * against. The popup-URL reader treats a same-origin URL as a result only
14
+ * when its pathname equals this value, so a host serving more than one
15
+ * callback route passes whichever one it actually opened.
16
+ */
17
+ callbackPath: string;
18
+ timeoutMs?: number;
19
+ pollIntervalMs?: number;
20
+ }
21
+ /**
22
+ * Waits for the OAuth callback popup to report a result over BroadcastChannel
23
+ * or through the completion marker in its same-origin URL. A cross-origin
24
+ * provider can make the retained WindowProxy look closed even while the popup
25
+ * remains open, so cancellation is confirmed only when the initiating window
26
+ * regains focus. Reported results are acknowledged so the callback can close
27
+ * itself even when the retained WindowProxy was severed.
28
+ */
29
+ export declare const waitForToolsetOAuthResult: (popup: Window, flowId: string, { toolsetId, credentialsLevel, callbackPath, timeoutMs, pollIntervalMs, }: WaitForToolsetOAuthResultOptions) => Promise<ToolsetOAuthResult>;
30
+ //# sourceMappingURL=handshake.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handshake.d.ts","sourceRoot":"","sources":["../../src/oauth/handshake.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA8B,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC/E,OAAO,EACL,uBAAuB,EAKxB,MAAM,SAAS,CAAC;AAIjB,0GAA0G;AAC1G,eAAO,MAAM,0BAA0B,GAAI,QAAQ,MAAM,KAAG,MAChB,CAAC;AA4B7C,qDAAqD;AACrD,MAAM,WAAW,gCAAgC;IAC/C,mDAAmD;IACnD,SAAS,EAAE,MAAM,CAAC;IAClB,yDAAyD;IACzD,gBAAgB,EAAE,uBAAuB,CAAC;IAC1C;;;;;OAKG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,yBAAyB,GACpC,OAAO,MAAM,EACb,QAAQ,MAAM,EACd,2EAMG,gCAAgC,KAClC,OAAO,CAAC,kBAAkB,CAkHzB,CAAC"}
@@ -0,0 +1,81 @@
1
+ import { OAuthResourceKind, ToolsetCredentialsLevel, ToolsetOAuthChannelControlType, ToolsetOAuthFailureReason, ToolsetOAuthInitiationResultType, ToolsetOAuthResultType } from './types';
2
+ /**
3
+ * OAuth client settings needed to build an authorize URL — the narrow subset
4
+ * of a toolset's `authSettings` this module reads. Declared as its own shape
5
+ * so hosts can keep their wider editor form models app-owned and still pass
6
+ * them straight in.
7
+ */
8
+ export interface ToolsetOAuthSettings {
9
+ clientId?: string;
10
+ authorizationEndpoint?: string;
11
+ scopes?: string[];
12
+ codeChallenge?: string;
13
+ codeChallengeMethod?: string;
14
+ }
15
+ /**
16
+ * Redirect state for an OAuth login flow. The flow writes this into the
17
+ * *popup's own* `sessionStorage` before navigating it to the provider, since
18
+ * the popup and its opener do not share a `sessionStorage` partition once
19
+ * navigated cross-origin.
20
+ */
21
+ export interface ToolsetRedirectState {
22
+ toolsetId: string;
23
+ credentialsLevel?: ToolsetCredentialsLevel;
24
+ redirectUri?: string;
25
+ /** CSRF state token generated by the client before the OAuth redirect. */
26
+ state?: string;
27
+ /**
28
+ * Which sign-in endpoint the host's callback route should submit the
29
+ * authorization code to. Defaults to `Toolset` when absent so every
30
+ * existing redirect state (written before this field existed) keeps
31
+ * calling the toolset login unchanged. `ExternalService` reuses the same
32
+ * popup/BroadcastChannel machinery with `toolsetId` repurposed as an
33
+ * `{appId}::{serviceId}` composite key. `OfflineCredentials` reuses the
34
+ * same machinery again, with `toolsetId` repurposed as a fixed sentinel
35
+ * correlation id (`'offline-credentials'`) — the field carries no real
36
+ * toolset/external-service meaning there, only the opaque
37
+ * flow-correlation string the shared popup/`BroadcastChannel` utilities
38
+ * require structurally.
39
+ */
40
+ resourceKind?: OAuthResourceKind;
41
+ /**
42
+ * Whether the user agreed the application may use the resulting credential
43
+ * while they are away. Carried through the popup because the choice is made
44
+ * before the redirect and the code exchange happens after it — the callback
45
+ * route has no other way to learn it. Absent means "not granted".
46
+ */
47
+ offlineUsageConsent?: boolean;
48
+ }
49
+ export type ToolsetOAuthInitiationResult = {
50
+ type: ToolsetOAuthInitiationResultType.Started;
51
+ popup: Window;
52
+ flowId: string;
53
+ } | {
54
+ type: ToolsetOAuthInitiationResultType.Blocked;
55
+ } | {
56
+ type: ToolsetOAuthInitiationResultType.InvalidConfig;
57
+ };
58
+ export interface ToolsetOAuthSuccessMessage {
59
+ type: ToolsetOAuthResultType.Success;
60
+ toolsetId: string;
61
+ credentialsLevel: ToolsetCredentialsLevel;
62
+ }
63
+ export interface ToolsetOAuthFailureMessage {
64
+ type: ToolsetOAuthResultType.Failure;
65
+ reason: ToolsetOAuthFailureReason;
66
+ }
67
+ /** Confirms that the initiating tab consumed the callback result. */
68
+ export interface ToolsetOAuthResultAcknowledgement {
69
+ type: ToolsetOAuthChannelControlType.ResultAcknowledged;
70
+ }
71
+ /**
72
+ * Non-secret result reported by the OAuth callback popup for one flow. Used
73
+ * unchanged by every resource kind — the callback branch only needs to signal
74
+ * success/failure, not resource details, back through the channel.
75
+ */
76
+ export type ToolsetOAuthChannelMessage = ToolsetOAuthSuccessMessage | ToolsetOAuthFailureMessage;
77
+ /** Result resolved by `waitForToolsetOAuthResult` to the tab that initiated the login. */
78
+ export type ToolsetOAuthResult = ToolsetOAuthSuccessMessage | ToolsetOAuthFailureMessage | {
79
+ type: ToolsetOAuthResultType.Cancelled;
80
+ };
81
+ //# sourceMappingURL=models.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/oauth/models.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,uBAAuB,EACvB,8BAA8B,EAC9B,yBAAyB,EACzB,gCAAgC,EAChC,sBAAsB,EACvB,MAAM,SAAS,CAAC;AAEjB;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,uBAAuB,CAAC;IAC3C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0EAA0E;IAC1E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;;;;;;;;OAYG;IACH,YAAY,CAAC,EAAE,iBAAiB,CAAC;IACjC;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,MAAM,MAAM,4BAA4B,GACpC;IACE,IAAI,EAAE,gCAAgC,CAAC,OAAO,CAAC;IAC/C,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,GACD;IAAE,IAAI,EAAE,gCAAgC,CAAC,OAAO,CAAA;CAAE,GAClD;IAAE,IAAI,EAAE,gCAAgC,CAAC,aAAa,CAAA;CAAE,CAAC;AAE7D,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,sBAAsB,CAAC,OAAO,CAAC;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,uBAAuB,CAAC;CAC3C;AAED,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,sBAAsB,CAAC,OAAO,CAAC;IACrC,MAAM,EAAE,yBAAyB,CAAC;CACnC;AAED,qEAAqE;AACrE,MAAM,WAAW,iCAAiC;IAChD,IAAI,EAAE,8BAA8B,CAAC,kBAAkB,CAAC;CACzD;AAED;;;;GAIG;AACH,MAAM,MAAM,0BAA0B,GACpC,0BAA0B,GAAG,0BAA0B,CAAC;AAE1D,0FAA0F;AAC1F,MAAM,MAAM,kBAAkB,GAC1B,0BAA0B,GAC1B,0BAA0B,GAC1B;IAAE,IAAI,EAAE,sBAAsB,CAAC,SAAS,CAAA;CAAE,CAAC"}
@@ -0,0 +1,30 @@
1
+ import { ToolsetOAuthInitiationResult, ToolsetOAuthSettings } from './models';
2
+ import { OAuthResourceKind, ToolsetCredentialsLevel } from './types';
3
+ /**
4
+ * Opens a same-origin, blank popup synchronously — call this as the very
5
+ * first thing in a click (or click-derived) handler so the browser still
6
+ * treats it as user-triggered, before doing any `await`. A caller that needs
7
+ * to fetch the OAuth config first (it isn't known synchronously) opens the
8
+ * popup with this, then calls `navigateToolsetOAuthPopup` once the config has
9
+ * been fetched.
10
+ */
11
+ export declare const openToolsetOAuthPopup: () => Window | null;
12
+ /**
13
+ * Builds the OAuth authorize URL for an already-open popup and navigates it,
14
+ * closing the popup and returning `InvalidConfig` if the auth config can't
15
+ * produce a valid authorize URL. `callbackPath` is the host's own callback
16
+ * route — this module owns no application route.
17
+ */
18
+ export declare const navigateToolsetOAuthPopup: (popup: Window, auth: ToolsetOAuthSettings, toolsetId: string, callbackPath: string, credentialsLevel?: ToolsetCredentialsLevel, resourceKind?: OAuthResourceKind, offlineUsageConsent?: boolean) => ToolsetOAuthInitiationResult;
19
+ /**
20
+ * Builds the OAuth authorize URL, opens a same-origin popup synchronously (so
21
+ * a blocked popup can be reliably detected), writes the redirect state into
22
+ * *that popup's own* `sessionStorage` while it is still same-origin
23
+ * `about:blank`, then navigates it to the provider's authorization page.
24
+ * `auth` must already be known synchronously here, so the config is validated
25
+ * *before* opening the popup — unlike `navigateToolsetOAuthPopup`, used when
26
+ * the auth config can only be fetched asynchronously after the popup is
27
+ * already open.
28
+ */
29
+ export declare const initiateOAuthLogin: (auth: ToolsetOAuthSettings, toolsetId: string, callbackPath: string, credentialsLevel?: ToolsetCredentialsLevel, offlineUsageConsent?: boolean) => ToolsetOAuthInitiationResult;
30
+ //# sourceMappingURL=popup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"popup.d.ts","sourceRoot":"","sources":["../../src/oauth/popup.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,4BAA4B,EAC5B,oBAAoB,EAErB,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,iBAAiB,EAEjB,uBAAuB,EAExB,MAAM,SAAS,CAAC;AAiDjB;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,QAAO,MAAM,GAAG,IACvB,CAAC;AAE5B;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,GACpC,OAAO,MAAM,EACb,MAAM,oBAAoB,EAC1B,WAAW,MAAM,EACjB,cAAc,MAAM,EACpB,mBAAkB,uBAAsD,EACxE,eAAc,iBAA6C,EAC3D,sBAAsB,OAAO,KAC5B,4BAkBF,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,kBAAkB,GAC7B,MAAM,oBAAoB,EAC1B,WAAW,MAAM,EACjB,cAAc,MAAM,EACpB,mBAAkB,uBAAsD,EACxE,sBAAsB,OAAO,KAC5B,4BAmBF,CAAC"}
@@ -0,0 +1,53 @@
1
+ import { DialToolsetAuthSettingsDto } from '@epam/ai-dial-chat-api-client';
2
+ import { ToolsetCredentialsLevel } from './types';
3
+ /**
4
+ * Percent-encodes each `/`-separated segment of a toolset id so it satisfies
5
+ * the backend's `DEPLOYMENT_ID_PATTERN`/`TOOLSET_URL_PATTERN` (spaces and
6
+ * other reserved characters must already be percent-encoded — e.g. `%20`,
7
+ * not a real space — before this value is used against the toolsets API;
8
+ * `/` stays a literal path separator). Externally-sourced ids — the raw,
9
+ * human-readable id an embedded iframe sends over `postMessage`
10
+ * (e.g. `toolsets/<bucket>/My Toolset__1.0`) — arrive unencoded, unlike the
11
+ * already-encoded `id`/`toolset` field `listToolsets()`/`DialToolsetDto`
12
+ * returns. Mirrors `encodeDeploymentId` (`deployment-id.ts`), which exists
13
+ * for the identical reason on the applications side.
14
+ */
15
+ export declare const encodeToolsetId: (id: string) => string;
16
+ /**
17
+ * Inverse of `encodeToolsetId` — decodes each `/`-separated segment back to
18
+ * its raw, human-readable form. A segment that isn't valid percent-encoding
19
+ * is passed through unchanged rather than throwing, since this decodes
20
+ * externally-sourced ids (broadcast toolset-login events).
21
+ */
22
+ export declare const decodeToolsetId: (id: string) => string;
23
+ /** Whether a toolset id belongs to the `public` bucket (shared with all users), mirroring the legacy `isEntityIdPublic` check. */
24
+ export declare const isPublicToolsetId: (toolsetId: string) => boolean;
25
+ /**
26
+ * Encodes a toolset id to its single-encoded form regardless of whether the
27
+ * value received it in was already percent-encoded or the raw,
28
+ * human-readable form — decoding first then re-encoding once is idempotent
29
+ * either way, since `decodeToolsetId` on a raw (unencoded) id is a no-op.
30
+ * Use this instead of `encodeToolsetId` at a boundary that cannot guarantee
31
+ * which form it receives, such as a `postMessage` payload from an embedded
32
+ * iframe: calling `encodeToolsetId` directly on a value the sender already
33
+ * encoded escapes the existing `%` characters a second time (`%20` becomes
34
+ * `%2520`), which the backend only ever undoes once and so 404s on.
35
+ */
36
+ export declare const normalizeToolsetId: (toolsetId: string) => string;
37
+ /**
38
+ * Resolves which credentials level a toolset's login applies to, per DIAL
39
+ * Core's public/private toolset convention: a `public`-bucket toolset is
40
+ * shared credentials-wise at `User` level, while a private/workspace toolset
41
+ * is scoped at `Global` level. Every surface that drives a toolset login
42
+ * (the sign-in-interrupt dialog, the QuickApps editor iframe bridge,
43
+ * `useToolsetLogin`) must resolve the level this way rather than assuming one.
44
+ */
45
+ export declare const resolveToolsetCredentialsLevel: (toolsetId: string) => ToolsetCredentialsLevel.User | ToolsetCredentialsLevel.Global;
46
+ /**
47
+ * Picks the auth-status field matching one credentials level out of a
48
+ * toolset's `authSettings` — DIAL Core reports `userLevelAuthStatus` and
49
+ * `globalAuthStatus` as independent fields rather than one status keyed by
50
+ * level.
51
+ */
52
+ export declare const selectToolsetAuthStatus: (authSettings: Pick<DialToolsetAuthSettingsDto, "userLevelAuthStatus" | "globalAuthStatus"> | undefined, credentialsLevel: ToolsetCredentialsLevel) => string | undefined;
53
+ //# sourceMappingURL=toolset-id.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toolset-id.d.ts","sourceRoot":"","sources":["../../src/oauth/toolset-id.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAEhF,OAAO,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAIlD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,eAAe,GAAI,IAAI,MAAM,KAAG,MAI/B,CAAC;AAEf;;;;;GAKG;AACH,eAAO,MAAM,eAAe,GAAI,IAAI,MAAM,KAAG,MAU/B,CAAC;AAEf,kIAAkI;AAClI,eAAO,MAAM,iBAAiB,GAAI,WAAW,MAAM,KAAG,OAIrD,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,kBAAkB,GAAI,WAAW,MAAM,KAAG,MACV,CAAC;AAE9C;;;;;;;GAOG;AACH,eAAO,MAAM,8BAA8B,GACzC,WAAW,MAAM,KAChB,uBAAuB,CAAC,IAAI,GAAG,uBAAuB,CAAC,MAGtB,CAAC;AAErC;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,GAClC,cACI,IAAI,CACF,0BAA0B,EAC1B,qBAAqB,GAAG,kBAAkB,CAC3C,GACD,SAAS,EACb,kBAAkB,uBAAuB,KACxC,MAAM,GAAG,SAGwB,CAAC"}
@@ -0,0 +1,84 @@
1
+ /**
2
+ * Enums and constants shared by the OAuth authorization-code popup flow and
3
+ * every host that drives it. These declarations live here (rather than being
4
+ * copied per host) because TypeScript string enums are nominal: a
5
+ * structurally identical host-side copy would not type-check against a lib
6
+ * signature that names the enum.
7
+ */
8
+ /** Authentication mechanism a toolset requires. */
9
+ export declare enum ToolsetAuthTypes {
10
+ None = "NONE",
11
+ ApiKey = "API_KEY",
12
+ OAuth = "OAUTH"
13
+ }
14
+ /** Sign-in state DIAL Core reports for one credentials level of a toolset. */
15
+ export declare enum ToolsetAuthStatus {
16
+ SignedIn = "SIGNED_IN",
17
+ SignedOut = "SIGNED_OUT",
18
+ Failed = "FAILED"
19
+ }
20
+ /** Scope the credentials submitted by a login apply to. */
21
+ export declare enum ToolsetCredentialsLevel {
22
+ Global = "GLOBAL",
23
+ User = "USER",
24
+ App = "APP"
25
+ }
26
+ /** Whether a toolset authenticates interactively, and whether its client is manually configured. */
27
+ export declare enum WithLogin {
28
+ WithLogin = "with-login",
29
+ WithoutLogin = "without-login",
30
+ WithConfig = "with-config"
31
+ }
32
+ /**
33
+ * Which kind of resource an OAuth flow is authenticating. Three kinds share
34
+ * the same popup/`BroadcastChannel` machinery, which is why this module is
35
+ * named for the concern rather than for toolsets.
36
+ */
37
+ export declare enum OAuthResourceKind {
38
+ Toolset = "toolset",
39
+ ExternalService = "external-service",
40
+ /**
41
+ * Proactive Scheduled Tasks offline-credentials consent. Unlike
42
+ * `Toolset`/`ExternalService`, this kind has no natural per-resource id —
43
+ * the shared `ToolsetRedirectState.toolsetId` slot is repurposed as a
44
+ * fixed sentinel correlation id (`'offline-credentials'`) purely for the
45
+ * popup/`BroadcastChannel` handshake, never as a real toolset/
46
+ * external-service id.
47
+ */
48
+ OfflineCredentials = "offline-credentials"
49
+ }
50
+ /** Outcome of calling `initiateOAuthLogin`. */
51
+ export declare enum ToolsetOAuthInitiationResultType {
52
+ /** The popup was opened and navigated to the provider's authorize URL. */
53
+ Started = "started",
54
+ /** The browser blocked the popup before it could be opened. */
55
+ Blocked = "blocked",
56
+ /** The toolset's OAuth configuration is missing required fields. */
57
+ InvalidConfig = "invalid-config"
58
+ }
59
+ /** Outcome reported back to the tab that initiated an OAuth login. */
60
+ export declare enum ToolsetOAuthResultType {
61
+ Success = "success",
62
+ Failure = "failure",
63
+ /** The popup was closed and focus returned to its opener, or the flow timed out. */
64
+ Cancelled = "cancelled"
65
+ }
66
+ /** Reason codes the callback popup can report for a failed OAuth login. */
67
+ export declare enum ToolsetOAuthFailureReason {
68
+ MissingCode = "missing-code",
69
+ MissingRedirectState = "missing-redirect-state",
70
+ StateMismatch = "state-mismatch",
71
+ LoginRequestFailed = "login-request-failed"
72
+ }
73
+ /** Control messages exchanged over a flow-scoped OAuth channel. */
74
+ export declare enum ToolsetOAuthChannelControlType {
75
+ ResultAcknowledged = "result-acknowledged"
76
+ }
77
+ /** Query parameters written into the callback popup URL after an OAuth flow completes. */
78
+ export declare enum ToolsetOAuthCallbackQuery {
79
+ Result = "toolsetOAuthResult",
80
+ FailureReason = "toolsetOAuthFailureReason"
81
+ }
82
+ /** `sessionStorage` key the flow writes its `ToolsetRedirectState` under, in the popup it opens. */
83
+ export declare const TOOLSET_REDIRECT_STATE_KEY = "toolset-redirect-state";
84
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/oauth/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,mDAAmD;AACnD,oBAAY,gBAAgB;IAC1B,IAAI,SAAS;IACb,MAAM,YAAY;IAClB,KAAK,UAAU;CAChB;AAED,8EAA8E;AAC9E,oBAAY,iBAAiB;IAC3B,QAAQ,cAAc;IACtB,SAAS,eAAe;IACxB,MAAM,WAAW;CAClB;AAED,2DAA2D;AAC3D,oBAAY,uBAAuB;IACjC,MAAM,WAAW;IACjB,IAAI,SAAS;IACb,GAAG,QAAQ;CACZ;AAED,oGAAoG;AACpG,oBAAY,SAAS;IACnB,SAAS,eAAe;IACxB,YAAY,kBAAkB;IAC9B,UAAU,gBAAgB;CAC3B;AAED;;;;GAIG;AACH,oBAAY,iBAAiB;IAC3B,OAAO,YAAY;IACnB,eAAe,qBAAqB;IACpC;;;;;;;OAOG;IACH,kBAAkB,wBAAwB;CAC3C;AAED,+CAA+C;AAC/C,oBAAY,gCAAgC;IAC1C,0EAA0E;IAC1E,OAAO,YAAY;IACnB,+DAA+D;IAC/D,OAAO,YAAY;IACnB,oEAAoE;IACpE,aAAa,mBAAmB;CACjC;AAED,sEAAsE;AACtE,oBAAY,sBAAsB;IAChC,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,oFAAoF;IACpF,SAAS,cAAc;CACxB;AAED,2EAA2E;AAC3E,oBAAY,yBAAyB;IACnC,WAAW,iBAAiB;IAC5B,oBAAoB,2BAA2B;IAC/C,aAAa,mBAAmB;IAChC,kBAAkB,yBAAyB;CAC5C;AAED,mEAAmE;AACnE,oBAAY,8BAA8B;IACxC,kBAAkB,wBAAwB;CAC3C;AAED,0FAA0F;AAC1F,oBAAY,yBAAyB;IACnC,MAAM,uBAAuB;IAC7B,aAAa,8BAA8B;CAC5C;AAED,oGAAoG;AACpG,eAAO,MAAM,0BAA0B,2BAA2B,CAAC"}
@@ -0,0 +1,54 @@
1
+ import { ToolsetRedirectState } from '../models';
2
+ import { ToolsetCredentialsLevel, ToolsetOAuthFailureReason } from '../types';
3
+ /** Arguments handed to the host's exchange callback. */
4
+ export interface OAuthExchangeParams {
5
+ /** One-time authorization code the provider returned. */
6
+ code: string;
7
+ /** Redirect URI the code was issued against, to be echoed back to the backend. */
8
+ redirectUri: string;
9
+ /** Credentials level resolved from the stored redirect state. */
10
+ credentialsLevel: ToolsetCredentialsLevel;
11
+ /** The full redirect state the flow stored before navigating to the provider. */
12
+ redirectState: ToolsetRedirectState;
13
+ }
14
+ /** Parameters for {@link useOAuthCallbackCompletion}. */
15
+ export interface UseOAuthCallbackCompletionParams {
16
+ /**
17
+ * Query parameters of the callback URL. Read once per mount; the hook takes
18
+ * `code` and `state` from it.
19
+ */
20
+ searchParams: URLSearchParams;
21
+ /**
22
+ * Path used to build the `redirect_uri` echoed back to the backend when the
23
+ * stored redirect state carries none — every state written by the current
24
+ * flow does, so this only covers states written before that field existed.
25
+ */
26
+ callbackPath: string;
27
+ /**
28
+ * Performs the code-for-credentials exchange. Resolving `null` reports
29
+ * success; resolving a failure reason reports that reason (for a host-side
30
+ * validation the hook cannot perform, such as an unparseable resource id);
31
+ * rejecting reports `LoginRequestFailed`.
32
+ */
33
+ exchange: (params: OAuthExchangeParams) => Promise<ToolsetOAuthFailureReason | null>;
34
+ }
35
+ /** State {@link useOAuthCallbackCompletion} exposes for the host page to render. */
36
+ export interface UseOAuthCallbackCompletionResult {
37
+ /** True until the flow has reported an outcome. */
38
+ isInProgress: boolean;
39
+ /** Reason the flow failed, or `null` while in progress or on success. */
40
+ failureReason: ToolsetOAuthFailureReason | null;
41
+ }
42
+ /**
43
+ * Completes an OAuth authorization-code flow from inside the callback popup:
44
+ * reads and clears the redirect state written into this popup's own
45
+ * `sessionStorage`, scrubs the authorization code from the visible URL before
46
+ * any request, validates the returned `state`, performs the exchange through
47
+ * the injected callback, then reports the outcome into the popup URL and over
48
+ * the flow channel until acknowledged, closing the popup afterwards. Runs its
49
+ * effect once per mount even under StrictMode double-invocation. Renders
50
+ * nothing and produces no user-visible text — the host page presents and
51
+ * announces the returned state in its own language.
52
+ */
53
+ export declare const useOAuthCallbackCompletion: ({ searchParams, callbackPath, exchange, }: UseOAuthCallbackCompletionParams) => UseOAuthCallbackCompletionResult;
54
+ //# sourceMappingURL=useOAuthCallbackCompletion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useOAuthCallbackCompletion.d.ts","sourceRoot":"","sources":["../../../src/oauth/useOAuthCallbackCompletion/useOAuthCallbackCompletion.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAGV,oBAAoB,EACrB,MAAM,WAAW,CAAC;AACnB,OAAO,EAEL,uBAAuB,EAGvB,yBAAyB,EAE1B,MAAM,UAAU,CAAC;AAIlB,wDAAwD;AACxD,MAAM,WAAW,mBAAmB;IAClC,yDAAyD;IACzD,IAAI,EAAE,MAAM,CAAC;IACb,kFAAkF;IAClF,WAAW,EAAE,MAAM,CAAC;IACpB,iEAAiE;IACjE,gBAAgB,EAAE,uBAAuB,CAAC;IAC1C,iFAAiF;IACjF,aAAa,EAAE,oBAAoB,CAAC;CACrC;AAED,yDAAyD;AACzD,MAAM,WAAW,gCAAgC;IAC/C;;;OAGG;IACH,YAAY,EAAE,eAAe,CAAC;IAC9B;;;;OAIG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB;;;;;OAKG;IACH,QAAQ,EAAE,CACR,MAAM,EAAE,mBAAmB,KACxB,OAAO,CAAC,yBAAyB,GAAG,IAAI,CAAC,CAAC;CAChD;AAED,oFAAoF;AACpF,MAAM,WAAW,gCAAgC;IAC/C,mDAAmD;IACnD,YAAY,EAAE,OAAO,CAAC;IACtB,yEAAyE;IACzE,aAAa,EAAE,yBAAyB,GAAG,IAAI,CAAC;CACjD;AA2ED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,0BAA0B,GAAI,2CAIxC,gCAAgC,KAAG,gCAmGrC,CAAC"}