@epam/ai-dial-chat-hooks 1.3.0-dev.37 → 1.3.0-dev.371
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/api-error/api-error.d.ts +2 -0
- package/api-error/api-error.d.ts.map +1 -1
- package/api-error/api-error.js +31 -23
- package/api-transport/create-unauthorized-middleware.js +4 -1
- package/attachment/attach-constraints.d.ts +31 -0
- package/attachment/attach-constraints.d.ts.map +1 -0
- package/attachment/attach-constraints.js +18 -0
- package/attachment/useAttachmentAction/useAttachmentAction.d.ts +1 -1
- package/attachment/useAttachmentAction/useAttachmentAction.d.ts.map +1 -1
- package/attachment/useAttachmentAction/useAttachmentAction.js +25 -28
- package/attachments.js +2 -1
- package/catalog/application-credentials.d.ts +15 -0
- package/catalog/application-credentials.d.ts.map +1 -0
- package/catalog/application-credentials.js +28 -0
- package/catalog/catalog-derivations.d.ts +5 -3
- package/catalog/catalog-derivations.d.ts.map +1 -1
- package/catalog/catalog-derivations.js +13 -6
- package/catalog/catalog-entity-kind.d.ts +31 -0
- package/catalog/catalog-entity-kind.d.ts.map +1 -0
- package/catalog/catalog-entity-kind.js +21 -0
- package/catalog/catalog-preferences.d.ts +8 -0
- package/catalog/catalog-preferences.d.ts.map +1 -0
- package/catalog/catalog-preferences.js +5 -0
- package/catalog/create-publish-api.d.ts +3 -1
- package/catalog/create-publish-api.d.ts.map +1 -1
- package/catalog/create-publish-api.js +4 -0
- package/catalog/deployment-id.d.ts +13 -4
- package/catalog/deployment-id.d.ts.map +1 -1
- package/catalog/deployment-id.js +17 -3
- package/catalog/entity-details.d.ts +2 -0
- package/catalog/entity-details.d.ts.map +1 -1
- package/catalog/favorite-entity-type.d.ts +5 -0
- package/catalog/favorite-entity-type.d.ts.map +1 -0
- package/catalog/favorite-entity-type.js +10 -0
- package/catalog/map-deployment-limits-to-input.d.ts +4 -3
- package/catalog/map-deployment-limits-to-input.d.ts.map +1 -1
- package/catalog/map-deployment-limits-to-input.js +3 -4
- package/catalog/map-deployment-to-catalog-item.d.ts +12 -1
- package/catalog/map-deployment-to-catalog-item.d.ts.map +1 -1
- package/catalog/map-deployment-to-catalog-item.js +22 -15
- package/catalog/map-entity-details-to-catalog.d.ts.map +1 -1
- package/catalog/map-entity-details-to-catalog.js +69 -24
- package/catalog/map-skill-to-catalog-item.d.ts +4 -5
- package/catalog/map-skill-to-catalog-item.d.ts.map +1 -1
- package/catalog/map-skill-to-catalog-item.js +29 -38
- package/catalog/publish.d.ts +1 -1
- package/catalog/publish.d.ts.map +1 -1
- package/catalog/resource-folder.d.ts +8 -0
- package/catalog/resource-folder.d.ts.map +1 -0
- package/catalog/resource-folder.js +13 -0
- package/catalog/resource-name-conflict.d.ts +22 -0
- package/catalog/resource-name-conflict.d.ts.map +1 -0
- package/catalog/resource-name-conflict.js +32 -0
- package/catalog/resource-save-adapter.d.ts +36 -0
- package/catalog/resource-save-adapter.d.ts.map +1 -0
- package/catalog/resource-save-adapter.js +4 -0
- package/catalog/resource-save-adapters.d.ts +93 -0
- package/catalog/resource-save-adapters.d.ts.map +1 -0
- package/catalog/resource-save-adapters.js +116 -0
- package/catalog/resource-save.d.ts +76 -0
- package/catalog/resource-save.d.ts.map +1 -0
- package/catalog/resource-save.js +52 -0
- package/catalog/unpublishable-folders.d.ts +21 -0
- package/catalog/unpublishable-folders.d.ts.map +1 -0
- package/catalog/unpublishable-folders.js +21 -0
- package/catalog/usage-limit-rows.d.ts +14 -0
- package/catalog/usage-limit-rows.d.ts.map +1 -0
- package/catalog/usage-limit-rows.js +19 -0
- package/catalog/use-publish-history.d.ts +19 -0
- package/catalog/use-publish-history.d.ts.map +1 -0
- package/catalog/use-publish-history.js +25 -0
- package/catalog/useApplicationCredentialActions/useApplicationCredentialActions.d.ts +57 -0
- package/catalog/useApplicationCredentialActions/useApplicationCredentialActions.d.ts.map +1 -0
- package/catalog/useApplicationCredentialActions/useApplicationCredentialActions.js +67 -0
- package/catalog/useCatalogEditNavigation/useCatalogEditNavigation.d.ts +23 -6
- package/catalog/useCatalogEditNavigation/useCatalogEditNavigation.d.ts.map +1 -1
- package/catalog/useCatalogEditNavigation/useCatalogEditNavigation.js +108 -107
- package/catalog/useCatalogItemDelete/useCatalogItemDelete.d.ts +41 -0
- package/catalog/useCatalogItemDelete/useCatalogItemDelete.d.ts.map +1 -0
- package/catalog/useCatalogItemDelete/useCatalogItemDelete.js +37 -0
- package/catalog/useCatalogToolsetCredentials/useCatalogToolsetCredentials.d.ts.map +1 -1
- package/catalog/useCatalogToolsetCredentials/useCatalogToolsetCredentials.js +72 -77
- package/catalog/useFavoriteEntitiesState/useFavoriteEntitiesState.js +1 -1
- package/catalog/usePublishFolders/usePublishFolders.d.ts +8 -0
- package/catalog/usePublishFolders/usePublishFolders.d.ts.map +1 -1
- package/catalog/usePublishFolders/usePublishFolders.js +32 -29
- package/catalog/useResourceFolders/useResourceFolders.d.ts +33 -0
- package/catalog/useResourceFolders/useResourceFolders.d.ts.map +1 -0
- package/catalog/useResourceFolders/useResourceFolders.js +58 -0
- package/catalog/useResourceSavePanel/useResourceSavePanel.d.ts +64 -0
- package/catalog/useResourceSavePanel/useResourceSavePanel.d.ts.map +1 -0
- package/catalog/useResourceSavePanel/useResourceSavePanel.js +173 -0
- package/catalog/useSkillItemDetails.js +3 -3
- package/catalog/useUnpublishConfirmation/useUnpublishConfirmation.d.ts +43 -0
- package/catalog/useUnpublishConfirmation/useUnpublishConfirmation.d.ts.map +1 -0
- package/catalog/useUnpublishConfirmation/useUnpublishConfirmation.js +46 -0
- package/catalog/useUnpublishableFolders/useUnpublishableFolders.d.ts +22 -0
- package/catalog/useUnpublishableFolders/useUnpublishableFolders.d.ts.map +1 -0
- package/catalog/useUnpublishableFolders/useUnpublishableFolders.js +53 -0
- package/catalog.js +41 -23
- package/conversation/conversation-data-source.d.ts +47 -0
- package/conversation/conversation-data-source.d.ts.map +1 -0
- package/conversation/conversation-data-source.js +11 -0
- package/conversation/conversation-draft/conversation-draft-store.d.ts +21 -0
- package/conversation/conversation-draft/conversation-draft-store.d.ts.map +1 -0
- package/conversation/conversation-draft/conversation-draft-store.js +84 -0
- package/conversation/conversation-draft/conversation-draft.d.ts +48 -0
- package/conversation/conversation-draft/conversation-draft.d.ts.map +1 -0
- package/conversation/conversation-list.d.ts +6 -0
- package/conversation/conversation-list.d.ts.map +1 -0
- package/conversation/conversation-list.js +5 -0
- package/conversation/conversation-title-stream.d.ts +33 -0
- package/conversation/conversation-title-stream.d.ts.map +1 -0
- package/conversation/conversation-title-stream.js +103 -0
- package/conversation/conversation-transfer/attachment-refs.d.ts +10 -2
- package/conversation/conversation-transfer/attachment-refs.d.ts.map +1 -1
- package/conversation/conversation-transfer/attachment-refs.js +31 -9
- package/conversation/conversation-transfer/export-conversation.d.ts +5 -1
- package/conversation/conversation-transfer/export-conversation.d.ts.map +1 -1
- package/conversation/conversation-transfer/export-conversation.js +19 -18
- package/conversation/conversation-transfer/import-conversation.d.ts +11 -6
- package/conversation/conversation-transfer/import-conversation.d.ts.map +1 -1
- package/conversation/conversation-transfer/import-conversation.js +65 -69
- package/conversation/conversation-transfer/progress.js +1 -1
- package/conversation/conversation-transfer/zip-export.js +1 -7
- package/conversation/conversation-transfer/zip-import.js +1 -1
- package/conversation/create-chat-stream-api.d.ts +24 -3
- package/conversation/create-chat-stream-api.d.ts.map +1 -1
- package/conversation/create-chat-stream-api.js +67 -56
- package/conversation/generation-registry.d.ts +30 -0
- package/conversation/generation-registry.d.ts.map +1 -0
- package/conversation/generation-registry.js +33 -0
- package/conversation/get-model-id-from-conversation-id.d.ts.map +1 -1
- package/conversation/get-model-id-from-conversation-id.js +1 -1
- package/conversation/message-utils.d.ts +6 -0
- package/conversation/message-utils.d.ts.map +1 -1
- package/conversation/message-utils.js +14 -10
- package/conversation/scheduled-task-grouping.d.ts +53 -0
- package/conversation/scheduled-task-grouping.d.ts.map +1 -0
- package/conversation/scheduled-task-grouping.js +45 -0
- package/conversation/useActiveConversationSync/useActiveConversationSync.d.ts +4 -2
- package/conversation/useActiveConversationSync/useActiveConversationSync.d.ts.map +1 -1
- package/conversation/useActiveConversationSync/useActiveConversationSync.js +19 -12
- package/conversation/useAttachmentUpload/useAttachmentUpload.d.ts.map +1 -1
- package/conversation/useAttachmentUpload/useAttachmentUpload.js +4 -1
- package/conversation/useConversationComposerDraft/useConversationComposerDraft.d.ts +39 -0
- package/conversation/useConversationComposerDraft/useConversationComposerDraft.d.ts.map +1 -0
- package/conversation/useConversationComposerDraft/useConversationComposerDraft.js +128 -0
- package/conversation/useConversationDiscovery/useConversationDiscovery.d.ts +22 -0
- package/conversation/useConversationDiscovery/useConversationDiscovery.d.ts.map +1 -0
- package/conversation/useConversationDiscovery/useConversationDiscovery.js +60 -0
- package/conversation/useConversationExport/useConversationExport.d.ts.map +1 -1
- package/conversation/useConversationExport/useConversationExport.js +113 -122
- package/conversation/useConversationHandlers/message-utils.js +2 -2
- package/conversation/useConversationHandlers/useConversationHandlers.js +41 -41
- package/conversation/useConversationImport/useConversationImport.js +24 -24
- package/conversation/useConversationPanelItems/useConversationPanelItems.d.ts +18 -5
- package/conversation/useConversationPanelItems/useConversationPanelItems.d.ts.map +1 -1
- package/conversation/useConversationPanelItems/useConversationPanelItems.js +34 -30
- package/conversation/useConversationScroll/useConversationScroll.d.ts.map +1 -1
- package/conversation/useConversationScroll/useConversationScroll.js +69 -72
- package/conversation/useConversationStream/conversation-path.js +2 -2
- package/conversation/useConversationStream/conversation-stream.types.d.ts +142 -0
- package/conversation/useConversationStream/conversation-stream.types.d.ts.map +1 -0
- package/conversation/useConversationStream/frame-scheduler.js +17 -17
- package/conversation/useConversationStream/generation-resume.d.ts +24 -2
- package/conversation/useConversationStream/generation-resume.d.ts.map +1 -1
- package/conversation/useConversationStream/generation-resume.js +110 -121
- package/conversation/useConversationStream/stream-errors.d.ts +10 -0
- package/conversation/useConversationStream/stream-errors.d.ts.map +1 -0
- package/conversation/useConversationStream/stream-errors.js +10 -0
- package/conversation/useConversationStream/stream-session.d.ts +51 -0
- package/conversation/useConversationStream/stream-session.d.ts.map +1 -0
- package/conversation/useConversationStream/stream-session.js +179 -0
- package/conversation/useConversationStream/useConversationReloadErrors.d.ts +25 -0
- package/conversation/useConversationStream/useConversationReloadErrors.d.ts.map +1 -0
- package/conversation/useConversationStream/useConversationReloadErrors.js +38 -0
- package/conversation/useConversationStream/useConversationStream.d.ts +3 -136
- package/conversation/useConversationStream/useConversationStream.d.ts.map +1 -1
- package/conversation/useConversationStream/useConversationStream.js +141 -325
- package/conversation/useConversationStream/useStopGeneration.d.ts +29 -0
- package/conversation/useConversationStream/useStopGeneration.d.ts.map +1 -0
- package/conversation/useConversationStream/useStopGeneration.js +48 -0
- package/conversation/useConversationStream/useStreamPathState.d.ts +39 -0
- package/conversation/useConversationStream/useStreamPathState.d.ts.map +1 -0
- package/conversation/useConversationStream/useStreamPathState.js +55 -0
- package/conversation/useConversationTitleEnrichmentController.d.ts +64 -0
- package/conversation/useConversationTitleEnrichmentController.d.ts.map +1 -0
- package/conversation/useConversationTitleEnrichmentController.js +155 -0
- package/conversation/useDeploymentChangeTracking.d.ts +14 -0
- package/conversation/useDeploymentChangeTracking.d.ts.map +1 -0
- package/conversation/useDeploymentChangeTracking.js +23 -0
- package/conversation/useEntityPreselection/useEntityPreselection.d.ts +108 -0
- package/conversation/useEntityPreselection/useEntityPreselection.d.ts.map +1 -0
- package/conversation/useEntityPreselection/useEntityPreselection.js +78 -0
- package/conversation/useMessageSelectionReply/useMessageSelectionReply.js +4 -10
- package/conversation/useTranscribeAudio/useTranscribeAudio.d.ts +8 -1
- package/conversation/useTranscribeAudio/useTranscribeAudio.d.ts.map +1 -1
- package/conversation/useTranscribeAudio/useTranscribeAudio.js +36 -27
- package/conversation/useVisibleConversationIdsReporter/useVisibleConversationIdsReporter.d.ts +16 -0
- package/conversation/useVisibleConversationIdsReporter/useVisibleConversationIdsReporter.d.ts.map +1 -0
- package/conversation/useVisibleConversationIdsReporter/useVisibleConversationIdsReporter.js +17 -0
- package/conversation-overlay.js +1 -2
- package/conversation-sources/stage-citations.d.ts +9 -0
- package/conversation-sources/stage-citations.d.ts.map +1 -0
- package/conversation-sources/stage-citations.js +8 -0
- package/conversation-sources/useConversationAnnotationPool/useConversationAnnotationPool.d.ts +4 -0
- package/conversation-sources/useConversationAnnotationPool/useConversationAnnotationPool.d.ts.map +1 -0
- package/conversation-sources/useConversationAnnotationPool/useConversationAnnotationPool.js +5 -0
- package/conversation-sources.js +3 -1
- package/conversation.js +45 -33
- package/entry-points/attachments.d.ts +1 -0
- package/entry-points/attachments.d.ts.map +1 -1
- package/entry-points/catalog.d.ts +17 -0
- package/entry-points/catalog.d.ts.map +1 -1
- package/entry-points/conversation-sources.d.ts +2 -0
- package/entry-points/conversation-sources.d.ts.map +1 -1
- package/entry-points/conversation.d.ts +13 -0
- package/entry-points/conversation.d.ts.map +1 -1
- package/entry-points/external-services.d.ts +6 -0
- package/entry-points/external-services.d.ts.map +1 -0
- package/entry-points/file-manager-canvas.d.ts +1 -0
- package/entry-points/file-manager-canvas.d.ts.map +1 -1
- package/entry-points/file-manager.d.ts +2 -0
- package/entry-points/file-manager.d.ts.map +1 -1
- package/entry-points/oauth.d.ts +1 -0
- package/entry-points/oauth.d.ts.map +1 -1
- package/entry-points/offline-credentials.d.ts +7 -0
- package/entry-points/offline-credentials.d.ts.map +1 -0
- package/entry-points/project.d.ts +20 -0
- package/entry-points/project.d.ts.map +1 -0
- package/entry-points/scheduled-tasks.d.ts +7 -0
- package/entry-points/scheduled-tasks.d.ts.map +1 -1
- package/entry-points/sharing.d.ts +4 -0
- package/entry-points/sharing.d.ts.map +1 -1
- package/entry-points/skill-editor.d.ts +2 -0
- package/entry-points/skill-editor.d.ts.map +1 -1
- package/entry-points/skills-state.d.ts +1 -0
- package/entry-points/skills-state.d.ts.map +1 -1
- package/entry-points/usage-limits.d.ts +9 -0
- package/entry-points/usage-limits.d.ts.map +1 -0
- package/entry-points/utils.d.ts +6 -0
- package/entry-points/utils.d.ts.map +1 -1
- package/entry-points/viewport-layout.d.ts +1 -0
- package/entry-points/viewport-layout.d.ts.map +1 -1
- package/external-services/useExternalServiceLogin.d.ts +99 -0
- package/external-services/useExternalServiceLogin.d.ts.map +1 -0
- package/external-services/useExternalServiceLogin.js +93 -0
- package/external-services.d.ts +2 -0
- package/external-services.js +5 -0
- package/file-manager-canvas.js +3 -2
- package/file-manager.js +32 -30
- package/files/attachment-canvas.d.ts +12 -0
- package/files/attachment-canvas.d.ts.map +1 -1
- package/files/attachment-canvas.js +18 -10
- package/files/attachment-dto-to-display.d.ts.map +1 -1
- package/files/attachment-dto-to-display.js +13 -12
- package/files/attachment-types.js +1 -1
- package/files/browser-download.d.ts +9 -0
- package/files/browser-download.d.ts.map +1 -0
- package/files/browser-download.js +23 -0
- package/files/create-files-api.d.ts +3 -4
- package/files/create-files-api.d.ts.map +1 -1
- package/files/create-files-api.js +1 -1
- package/files/create-upload-file-with-progress.d.ts +21 -1
- package/files/create-upload-file-with-progress.d.ts.map +1 -1
- package/files/create-upload-file-with-progress.js +50 -34
- package/files/dial-file-manager-copy-move.util.d.ts.map +1 -1
- package/files/dial-file-manager-copy-move.util.js +28 -28
- package/files/dial-file-manager-mapping.util.d.ts +23 -3
- package/files/dial-file-manager-mapping.util.d.ts.map +1 -1
- package/files/dial-file-manager-mapping.util.js +97 -69
- package/files/dial-file-manager.types.d.ts +15 -5
- package/files/dial-file-manager.types.d.ts.map +1 -1
- package/files/dial-file-to-attachment.js +3 -3
- package/files/dial-file.d.ts +19 -0
- package/files/dial-file.d.ts.map +1 -1
- package/files/dial-file.js +20 -12
- package/files/dial-files-api.d.ts +2 -2
- package/files/dial-files-api.d.ts.map +1 -1
- package/files/download-progress.d.ts +33 -0
- package/files/download-progress.d.ts.map +1 -0
- package/files/download-progress.js +28 -0
- package/files/source-content.js +1 -1
- package/files/useDialFileListing/useDialFileListing.d.ts.map +1 -1
- package/files/useDialFileListing/useDialFileListing.js +97 -109
- package/files/useDialFileManager/useDialFileManager.d.ts.map +1 -1
- package/files/useDialFileManager/useDialFileManager.js +5 -2
- package/files/useDialFileManagerSections/useDialFileManagerSections.d.ts.map +1 -1
- package/files/useDialFileManagerSections/useDialFileManagerSections.js +59 -68
- package/files/useDialFileManagerTabConfig/useDialFileManagerTabConfig.js +1 -1
- package/files/useDialFileMetadata/useDialFileMetadata.js +3 -3
- package/files/useDialFileMutations/useDialFileMutations.d.ts +9 -0
- package/files/useDialFileMutations/useDialFileMutations.d.ts.map +1 -1
- package/files/useDialFileMutations/useDialFileMutations.js +232 -159
- package/files/useDialFilePreview/useDialFilePreview.d.ts +33 -0
- package/files/useDialFilePreview/useDialFilePreview.d.ts.map +1 -0
- package/files/useDialFilePreview/useDialFilePreview.js +45 -0
- package/files/useDialFileUploadBatch/useDialFileUploadBatch.d.ts.map +1 -1
- package/files/useDialFileUploadBatch/useDialFileUploadBatch.js +114 -103
- package/files/useFileAttachmentModalState/useFileAttachmentModalState.d.ts +25 -0
- package/files/useFileAttachmentModalState/useFileAttachmentModalState.d.ts.map +1 -0
- package/files/useFileAttachmentModalState/useFileAttachmentModalState.js +19 -0
- package/files/useFileAttachmentPicker/useFileAttachmentPicker.js +2 -2
- package/files/useUnshareConfirmationState/useUnshareConfirmationState.d.ts +23 -0
- package/files/useUnshareConfirmationState/useUnshareConfirmationState.d.ts.map +1 -0
- package/files/useUnshareConfirmationState/useUnshareConfirmationState.js +18 -0
- package/index.d.ts +96 -0
- package/index.d.ts.map +1 -1
- package/index.js +244 -149
- package/mcp-apps/mcp-apps-api-client.d.ts.map +1 -1
- package/mcp-apps/mcp-apps-api-client.js +18 -17
- package/mcp-apps/useMcpAppHostContext/useMcpAppHostContext.d.ts +3 -2
- package/mcp-apps/useMcpAppHostContext/useMcpAppHostContext.d.ts.map +1 -1
- package/mcp-apps/useMcpAppHostContext/useMcpAppHostContext.js +28 -10
- package/mcp-apps/useMcpAppTools/useMcpAppTools.d.ts.map +1 -1
- package/mcp-apps/useMcpAppTools/useMcpAppTools.js +45 -45
- package/oauth/authorize-url.d.ts +7 -1
- package/oauth/authorize-url.d.ts.map +1 -1
- package/oauth/authorize-url.js +14 -4
- package/oauth/callback-exchange.d.ts +49 -0
- package/oauth/callback-exchange.d.ts.map +1 -0
- package/oauth/callback-exchange.js +29 -0
- package/oauth/handshake.js +3 -10
- package/oauth/models.d.ts +25 -0
- package/oauth/models.d.ts.map +1 -1
- package/oauth/popup.d.ts.map +1 -1
- package/oauth/popup.js +19 -17
- package/oauth/toolset-id.d.ts +7 -0
- package/oauth/toolset-id.d.ts.map +1 -1
- package/oauth/toolset-id.js +9 -2
- package/oauth/useOAuthCallbackCompletion/useOAuthCallbackCompletion.d.ts.map +1 -1
- package/oauth/useOAuthCallbackCompletion/useOAuthCallbackCompletion.js +41 -42
- package/oauth/useToolsetLogin/useToolsetLogin.d.ts +7 -1
- package/oauth/useToolsetLogin/useToolsetLogin.d.ts.map +1 -1
- package/oauth/useToolsetLogin/useToolsetLogin.js +51 -42
- package/oauth.js +9 -8
- package/offline-credentials/map-offline-credentials-response.d.ts +20 -0
- package/offline-credentials/map-offline-credentials-response.d.ts.map +1 -0
- package/offline-credentials/map-offline-credentials-response.js +17 -0
- package/offline-credentials/scheduled-tasks-login-banner.d.ts +31 -0
- package/offline-credentials/scheduled-tasks-login-banner.d.ts.map +1 -0
- package/offline-credentials/scheduled-tasks-login-banner.js +17 -0
- package/offline-credentials/useOfflineCredentialsAuth/useOfflineCredentialsAuth.d.ts +58 -0
- package/offline-credentials/useOfflineCredentialsAuth/useOfflineCredentialsAuth.d.ts.map +1 -0
- package/offline-credentials/useOfflineCredentialsAuth/useOfflineCredentialsAuth.js +37 -0
- package/offline-credentials/useOfflineCredentialsGate/useOfflineCredentialsGate.d.ts +61 -0
- package/offline-credentials/useOfflineCredentialsGate/useOfflineCredentialsGate.d.ts.map +1 -0
- package/offline-credentials/useOfflineCredentialsGate/useOfflineCredentialsGate.js +37 -0
- package/offline-credentials/useOfflineCredentialsLogin/useOfflineCredentialsLogin.d.ts +28 -0
- package/offline-credentials/useOfflineCredentialsLogin/useOfflineCredentialsLogin.d.ts.map +1 -0
- package/offline-credentials/useOfflineCredentialsLogin/useOfflineCredentialsLogin.js +29 -0
- package/offline-credentials.d.ts +2 -0
- package/offline-credentials.js +7 -0
- package/package.json +49 -25
- package/project/create-project-chat.d.ts +34 -0
- package/project/create-project-chat.d.ts.map +1 -0
- package/project/create-project-chat.js +27 -0
- package/project/project-conversation-data-source.d.ts +36 -0
- package/project/project-conversation-data-source.d.ts.map +1 -0
- package/project/project-conversation-data-source.js +67 -0
- package/project/project-events.d.ts +14 -0
- package/project/project-events.d.ts.map +1 -0
- package/project/project-events.js +25 -0
- package/project/project-file-preview.d.ts +32 -0
- package/project/project-file-preview.d.ts.map +1 -0
- package/project/project-file-preview.js +25 -0
- package/project/project-form-errors.d.ts +23 -0
- package/project/project-form-errors.d.ts.map +1 -0
- package/project/project-form-errors.js +46 -0
- package/project/project-limits.d.ts +17 -0
- package/project/project-limits.d.ts.map +1 -0
- package/project/project-limits.js +11 -0
- package/project/project-mapping.d.ts +16 -0
- package/project/project-mapping.d.ts.map +1 -0
- package/project/project-mapping.js +43 -0
- package/project/project-refresh.d.ts +12 -0
- package/project/project-refresh.d.ts.map +1 -0
- package/project/project-refresh.js +6 -0
- package/project/project-viewed-marks.d.ts +9 -0
- package/project/project-viewed-marks.d.ts.map +1 -0
- package/project/project-viewed-marks.js +8 -0
- package/project/project-watch-stream.d.ts +26 -0
- package/project/project-watch-stream.d.ts.map +1 -0
- package/project/project-watch-stream.js +39 -0
- package/project/projects-api-client.d.ts +179 -0
- package/project/projects-api-client.d.ts.map +1 -0
- package/project/projects-api-client.js +90 -0
- package/project/use-pinned-project-chats.d.ts +58 -0
- package/project/use-pinned-project-chats.d.ts.map +1 -0
- package/project/use-pinned-project-chats.js +269 -0
- package/project/use-project-actions.d.ts +53 -0
- package/project/use-project-actions.d.ts.map +1 -0
- package/project/use-project-actions.js +92 -0
- package/project/use-project-artifacts.d.ts +24 -0
- package/project/use-project-artifacts.d.ts.map +1 -0
- package/project/use-project-artifacts.js +78 -0
- package/project/use-project-conversations.d.ts +32 -0
- package/project/use-project-conversations.d.ts.map +1 -0
- package/project/use-project-conversations.js +200 -0
- package/project/use-project-draft.d.ts +46 -0
- package/project/use-project-draft.d.ts.map +1 -0
- package/project/use-project-draft.js +54 -0
- package/project/use-project-file-preview.d.ts +47 -0
- package/project/use-project-file-preview.d.ts.map +1 -0
- package/project/use-project-file-preview.js +50 -0
- package/project/use-project-submit.d.ts +49 -0
- package/project/use-project-submit.d.ts.map +1 -0
- package/project/use-project-submit.js +73 -0
- package/project/use-project-watch.d.ts +24 -0
- package/project/use-project-watch.d.ts.map +1 -0
- package/project/use-project-watch.js +41 -0
- package/project/use-project.d.ts +23 -0
- package/project/use-project.d.ts.map +1 -0
- package/project/use-project.js +73 -0
- package/project/use-projects.d.ts +27 -0
- package/project/use-projects.d.ts.map +1 -0
- package/project/use-projects.js +92 -0
- package/project.d.ts +2 -0
- package/project.js +20 -0
- package/prompt/prompt.d.ts +11 -0
- package/prompt/prompt.d.ts.map +1 -1
- package/prompt/prompt.js +7 -3
- package/scheduled-task/active-scheduled-task.d.ts +58 -0
- package/scheduled-task/active-scheduled-task.d.ts.map +1 -0
- package/scheduled-task/active-scheduled-task.js +18 -0
- package/scheduled-task/check-scheduled-task-auth-session-error.d.ts +27 -0
- package/scheduled-task/check-scheduled-task-auth-session-error.d.ts.map +1 -0
- package/scheduled-task/check-scheduled-task-auth-session-error.js +17 -0
- package/scheduled-task/scheduled-task-description.d.ts +2 -0
- package/scheduled-task/scheduled-task-description.d.ts.map +1 -1
- package/scheduled-task/scheduled-task-description.js +33 -24
- package/scheduled-task/scheduled-task-display.d.ts +106 -0
- package/scheduled-task/scheduled-task-display.d.ts.map +1 -0
- package/scheduled-task/scheduled-task-display.js +69 -0
- package/scheduled-task/scheduled-task-next-occurrence.d.ts +9 -0
- package/scheduled-task/scheduled-task-next-occurrence.d.ts.map +1 -0
- package/scheduled-task/scheduled-task-next-occurrence.js +20 -0
- package/scheduled-task/scheduled-task-preparation.d.ts +1 -1
- package/scheduled-task/scheduled-task-trigger.d.ts.map +1 -1
- package/scheduled-task/scheduled-task-trigger.js +75 -48
- package/scheduled-task/use-scheduled-task-runs.js +19 -31
- package/scheduled-task/use-scheduled-tasks.d.ts +2 -2
- package/scheduled-task/use-scheduled-tasks.js +1 -1
- package/scheduled-task/useActiveScheduledTaskDetails.d.ts +18 -0
- package/scheduled-task/useActiveScheduledTaskDetails.d.ts.map +1 -0
- package/scheduled-task/useActiveScheduledTaskDetails.js +40 -0
- package/scheduled-task/useScheduledTaskSkillDisplayNames/useScheduledTaskSkillDisplayNames.d.ts +17 -0
- package/scheduled-task/useScheduledTaskSkillDisplayNames/useScheduledTaskSkillDisplayNames.d.ts.map +1 -0
- package/scheduled-task/useScheduledTaskSkillDisplayNames/useScheduledTaskSkillDisplayNames.js +29 -0
- package/scheduled-task/useStartScheduledTask.d.ts +41 -0
- package/scheduled-task/useStartScheduledTask.d.ts.map +1 -0
- package/scheduled-task/useStartScheduledTask.js +169 -0
- package/scheduled-tasks.js +13 -6
- package/scroll-anchoring.js +1 -2
- package/share-invitation/models.d.ts +46 -0
- package/share-invitation/models.d.ts.map +1 -0
- package/share-invitation/share-invitation-error.d.ts +6 -0
- package/share-invitation/share-invitation-error.d.ts.map +1 -0
- package/share-invitation/share-invitation-error.js +37 -0
- package/share-invitation/types.d.ts +10 -0
- package/share-invitation/types.d.ts.map +1 -0
- package/share-invitation/types.js +6 -0
- package/share-invitation/useAcceptShareInvitation/useAcceptShareInvitation.d.ts +9 -0
- package/share-invitation/useAcceptShareInvitation/useAcceptShareInvitation.d.ts.map +1 -0
- package/share-invitation/useAcceptShareInvitation/useAcceptShareInvitation.js +26 -0
- package/shared/application-schema.js +3 -3
- package/shared/client-channel.d.ts +53 -0
- package/shared/client-channel.d.ts.map +1 -0
- package/shared/client-channel.js +6 -0
- package/shared/cron-day-of-month.js +10 -10
- package/shared/external-services.d.ts +1 -1
- package/shared/locale.d.ts +6 -2
- package/shared/locale.d.ts.map +1 -1
- package/shared/locale.js +4 -4
- package/shared/read-sse-events.d.ts +10 -0
- package/shared/read-sse-events.d.ts.map +1 -0
- package/shared/read-sse-events.js +33 -0
- package/shared/serialized-writer.d.ts +12 -0
- package/shared/serialized-writer.d.ts.map +1 -0
- package/shared/serialized-writer.js +44 -0
- package/shared/sleep.d.ts +3 -0
- package/shared/sleep.d.ts.map +1 -0
- package/shared/sleep.js +13 -0
- package/shared/theme-colors.d.ts +16 -0
- package/shared/theme-colors.d.ts.map +1 -0
- package/shared/theme-colors.js +14 -0
- package/shared/url-cleanup.d.ts +18 -0
- package/shared/url-cleanup.d.ts.map +1 -0
- package/shared/url-cleanup.js +18 -0
- package/shared/usage-stat.d.ts +3 -0
- package/shared/usage-stat.d.ts.map +1 -0
- package/shared/usage-stat.js +4 -0
- package/shared/useAppVersionCheck/useAppVersionCheck.d.ts +22 -0
- package/shared/useAppVersionCheck/useAppVersionCheck.d.ts.map +1 -0
- package/shared/useAppVersionCheck/useAppVersionCheck.js +36 -0
- package/shared/usePersistedState/usePersistedState.d.ts +28 -0
- package/shared/usePersistedState/usePersistedState.d.ts.map +1 -0
- package/shared/usePersistedState/usePersistedState.js +24 -0
- package/sharing.js +5 -2
- package/signin-interrupt/models.d.ts +48 -0
- package/signin-interrupt/models.d.ts.map +1 -0
- package/signin-interrupt/signin-row-info.d.ts +10 -0
- package/signin-interrupt/signin-row-info.d.ts.map +1 -0
- package/signin-interrupt/signin-row-info.js +21 -0
- package/signin-interrupt/types.d.ts +28 -0
- package/signin-interrupt/types.d.ts.map +1 -0
- package/signin-interrupt/types.js +10 -0
- package/signin-interrupt/useSigninInterrupt/useSigninInterrupt.d.ts +52 -0
- package/signin-interrupt/useSigninInterrupt/useSigninInterrupt.d.ts.map +1 -0
- package/signin-interrupt/useSigninInterrupt/useSigninInterrupt.js +270 -0
- package/skill/skill-file-batch-validation.d.ts +4 -0
- package/skill/skill-file-batch-validation.d.ts.map +1 -1
- package/skill/skill-file-batch-validation.js +34 -33
- package/skill/skill-lookup.d.ts +20 -0
- package/skill/skill-lookup.d.ts.map +1 -0
- package/skill/skill-lookup.js +12 -0
- package/skill/skill-types.js +1 -1
- package/skill/skill.d.ts +5 -1
- package/skill/skill.d.ts.map +1 -1
- package/skill/skill.js +27 -28
- package/skill/useSkillArchiveImport/useSkillArchiveImport.js +1 -7
- package/skill/useSkillEditorSubmit.d.ts +15 -1
- package/skill/useSkillEditorSubmit.d.ts.map +1 -1
- package/skill/useSkillEditorSubmit.js +164 -87
- package/skill/useSkillFileActions.d.ts +2 -0
- package/skill/useSkillFileActions.d.ts.map +1 -1
- package/skill/useSkillFileActions.js +36 -21
- package/skill-editor/useSkillFilePreviewSyncController.d.ts +41 -0
- package/skill-editor/useSkillFilePreviewSyncController.d.ts.map +1 -0
- package/skill-editor/useSkillFilePreviewSyncController.js +58 -0
- package/skill-editor/useSkillFileSystemPicker/useSkillFileSystemPicker.d.ts +23 -0
- package/skill-editor/useSkillFileSystemPicker/useSkillFileSystemPicker.d.ts.map +1 -0
- package/skill-editor/useSkillFileSystemPicker/useSkillFileSystemPicker.js +43 -0
- package/skill-editor.js +11 -9
- package/skills-state.js +3 -2
- package/source-content.js +1 -2
- package/usage/map-usage-data-to-dashboard.d.ts +1 -16
- package/usage/map-usage-data-to-dashboard.d.ts.map +1 -1
- package/usage/map-user-usage-to-model-limits.d.ts.map +1 -1
- package/usage/map-user-usage-to-model-limits.js +24 -24
- package/usage/usage-banner-source.d.ts +24 -0
- package/usage/usage-banner-source.d.ts.map +1 -0
- package/usage/usage-banner-source.js +61 -0
- package/usage/usage-gauge.d.ts +3 -0
- package/usage/usage-gauge.d.ts.map +1 -0
- package/usage/usage-gauge.js +4 -0
- package/usage/usage-period.d.ts +7 -0
- package/usage/usage-period.d.ts.map +1 -0
- package/usage/usage-period.js +6 -0
- package/usage/usage-reset-time.d.ts +78 -0
- package/usage/usage-reset-time.d.ts.map +1 -0
- package/usage/usage-reset-time.js +82 -0
- package/usage/useDeploymentUsageLimits/useDeploymentUsageLimits.d.ts +56 -0
- package/usage/useDeploymentUsageLimits/useDeploymentUsageLimits.d.ts.map +1 -0
- package/usage/useDeploymentUsageLimits/useDeploymentUsageLimits.js +34 -0
- package/usage/useRefreshUsageAfterGeneration/useRefreshUsageAfterGeneration.d.ts +16 -0
- package/usage/useRefreshUsageAfterGeneration/useRefreshUsageAfterGeneration.d.ts.map +1 -0
- package/usage/useRefreshUsageAfterGeneration/useRefreshUsageAfterGeneration.js +14 -0
- package/usage/useUsageLimitBanner/useUsageLimitBanner.d.ts +58 -0
- package/usage/useUsageLimitBanner/useUsageLimitBanner.d.ts.map +1 -0
- package/usage/useUsageLimitBanner/useUsageLimitBanner.js +70 -0
- package/usage/useUsageLimitBannerDismissal/useUsageLimitBannerDismissal.d.ts +14 -0
- package/usage/useUsageLimitBannerDismissal/useUsageLimitBannerDismissal.d.ts.map +1 -0
- package/usage/useUsageLimitBannerDismissal/useUsageLimitBannerDismissal.js +19 -0
- package/usage-limits.d.ts +2 -0
- package/usage-limits.js +10 -0
- package/useChatSettingsFormConfig/useChatSettingsFormConfig.d.ts +2 -0
- package/useChatSettingsFormConfig/useChatSettingsFormConfig.d.ts.map +1 -1
- package/useChatSettingsFormConfig/useChatSettingsFormConfig.js +25 -21
- package/usePageFileDrag/usePageFileDrag.js +3 -3
- package/useShareLink/useShareLink.d.ts.map +1 -1
- package/useShareLink/useShareLink.js +18 -17
- package/utils.js +23 -17
- package/viewport-layout/canvas-width.d.ts +39 -0
- package/viewport-layout/canvas-width.d.ts.map +1 -0
- package/viewport-layout/canvas-width.js +23 -0
- 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 {
|
|
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
|
|
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
|
|
10
|
+
return s(t);
|
|
10
11
|
} catch {
|
|
11
|
-
|
|
12
|
+
try {
|
|
13
|
+
return JSON.parse(t);
|
|
14
|
+
} catch {
|
|
15
|
+
return null;
|
|
16
|
+
}
|
|
12
17
|
}
|
|
13
|
-
},
|
|
18
|
+
}, m = (e) => {
|
|
14
19
|
try {
|
|
15
20
|
window.history.replaceState({}, document.title, `${e.pathname}${e.search}`);
|
|
16
21
|
} catch {}
|
|
17
|
-
},
|
|
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),
|
|
20
|
-
|
|
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
|
-
},
|
|
30
|
+
}, d);
|
|
29
31
|
n.onmessage = (e) => {
|
|
30
|
-
|
|
32
|
+
f(e.data) && (clearInterval(r), n.close(), window.close());
|
|
31
33
|
};
|
|
32
34
|
} catch {}
|
|
33
|
-
},
|
|
34
|
-
let [
|
|
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 =
|
|
37
|
-
return y.current = r,
|
|
38
|
-
|
|
39
|
-
|
|
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
|
|
47
|
-
|
|
48
|
-
|
|
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:
|
|
49
|
+
reason: s?.toolsetId ? i.MissingCode : i.MissingRedirectState
|
|
51
50
|
});
|
|
52
51
|
return;
|
|
53
52
|
}
|
|
54
|
-
if (
|
|
55
|
-
|
|
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 =
|
|
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:
|
|
65
|
-
redirectUri:
|
|
63
|
+
code: r,
|
|
64
|
+
redirectUri: f,
|
|
66
65
|
credentialsLevel: u,
|
|
67
|
-
redirectState:
|
|
66
|
+
redirectState: s
|
|
68
67
|
});
|
|
69
68
|
if (e != null) {
|
|
70
|
-
|
|
69
|
+
l(c, {
|
|
71
70
|
type: a.Failure,
|
|
72
71
|
reason: e
|
|
73
72
|
});
|
|
74
73
|
return;
|
|
75
74
|
}
|
|
76
|
-
|
|
75
|
+
l(c, {
|
|
77
76
|
type: a.Success,
|
|
78
|
-
toolsetId:
|
|
77
|
+
toolsetId: s.toolsetId,
|
|
79
78
|
credentialsLevel: u
|
|
80
79
|
});
|
|
81
80
|
} catch {
|
|
82
|
-
|
|
81
|
+
l(c, {
|
|
83
82
|
type: a.Failure,
|
|
84
83
|
reason: i.LoginRequestFailed
|
|
85
84
|
});
|
|
86
85
|
}
|
|
87
|
-
})();
|
|
86
|
+
})());
|
|
88
87
|
}, [n]), {
|
|
89
|
-
isInProgress:
|
|
90
|
-
failureReason:
|
|
88
|
+
isInProgress: s,
|
|
89
|
+
failureReason: f
|
|
91
90
|
};
|
|
92
91
|
};
|
|
93
92
|
//#endregion
|
|
94
|
-
export {
|
|
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;
|
|
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 {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
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
|
|
9
|
+
var p = /* @__PURE__ */ function(e) {
|
|
9
10
|
return e.Success = "success", e.Failure = "failure", e.PopupBlocked = "popup-blocked", e.Cancelled = "cancelled", e;
|
|
10
|
-
}({}),
|
|
11
|
-
let
|
|
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
|
|
14
|
+
await h(e, {
|
|
14
15
|
url: e,
|
|
15
16
|
credentialsLevel: t,
|
|
16
17
|
authenticationType: n
|
|
17
18
|
});
|
|
18
19
|
} catch {}
|
|
19
|
-
}, [
|
|
20
|
-
let { toolsetId:
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
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 (
|
|
38
|
-
toolsetId:
|
|
39
|
-
credentialsLevel:
|
|
44
|
+
if (w.type === i.Success) return s({
|
|
45
|
+
toolsetId: m,
|
|
46
|
+
credentialsLevel: h
|
|
40
47
|
}), { type: "success" };
|
|
41
|
-
if (
|
|
48
|
+
if (w.type === i.Failure) return { type: "failure" };
|
|
42
49
|
try {
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
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
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
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 (
|
|
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
|
-
}),
|
|
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
|
-
}, [
|
|
70
|
-
return { login:
|
|
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 {
|
|
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,
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import { initiateOAuthLogin as
|
|
7
|
-
import { ToolsetLoginOutcomeType as
|
|
8
|
-
import {
|
|
9
|
-
|
|
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 };
|