@epam/ai-dial-chat-hooks 1.3.0-dev.37 → 1.3.0-dev.372
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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,5 +1,5 @@
|
|
|
1
1
|
import { ConversationListItemDto, DeploymentItemDto } from '@epam/ai-dial-chat-api-client';
|
|
2
|
-
import { FilterTab } from '@epam/ai-dial-chat-shared';
|
|
2
|
+
import { ConversationKind, FilterTab } from '@epam/ai-dial-chat-shared';
|
|
3
3
|
import { ReactNode } from 'react';
|
|
4
4
|
/**
|
|
5
5
|
* Classifies a conversation's ownership using the shared filter-tab contract.
|
|
@@ -49,9 +49,9 @@ export interface UseConversationPanelItemsParams extends UseConversationPanelIte
|
|
|
49
49
|
* change (or a navigation that re-derives the list) re-renders only the rows
|
|
50
50
|
* whose DTO actually changed.
|
|
51
51
|
*/
|
|
52
|
-
export declare const useConversationPanelItems: ({ items, deployments, isDeploymentsLoading, toPanelConversationId, resolveIconUrl, resolveIconTooltip, resolveHref, resolveTaskPresentation, }: UseConversationPanelItemsParams) => {
|
|
53
|
-
leadingIcon
|
|
54
|
-
isUnread
|
|
52
|
+
export declare const useConversationPanelItems: ({ items, deployments, isDeploymentsLoading, toPanelConversationId, resolveIconUrl, resolveIconTooltip, resolveHref, resolveTaskPresentation, }: UseConversationPanelItemsParams) => ({
|
|
53
|
+
leadingIcon: ReactNode;
|
|
54
|
+
isUnread: boolean;
|
|
55
55
|
id: string;
|
|
56
56
|
title: string;
|
|
57
57
|
isPinned: boolean;
|
|
@@ -59,6 +59,19 @@ export declare const useConversationPanelItems: ({ items, deployments, isDeploym
|
|
|
59
59
|
iconTooltip: string | undefined;
|
|
60
60
|
isIconLoading: boolean;
|
|
61
61
|
source: FilterTab;
|
|
62
|
+
kind: ConversationKind;
|
|
62
63
|
href: string;
|
|
63
|
-
}
|
|
64
|
+
} | {
|
|
65
|
+
leadingIcon?: undefined;
|
|
66
|
+
isUnread?: undefined;
|
|
67
|
+
id: string;
|
|
68
|
+
title: string;
|
|
69
|
+
isPinned: boolean;
|
|
70
|
+
iconUrl: string | undefined;
|
|
71
|
+
iconTooltip: string | undefined;
|
|
72
|
+
isIconLoading: boolean;
|
|
73
|
+
source: FilterTab;
|
|
74
|
+
kind: ConversationKind;
|
|
75
|
+
href: string;
|
|
76
|
+
})[];
|
|
64
77
|
//# sourceMappingURL=useConversationPanelItems.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useConversationPanelItems.d.ts","sourceRoot":"","sources":["../../../src/conversation/useConversationPanelItems/useConversationPanelItems.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,uBAAuB,EACvB,iBAAiB,EAClB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"useConversationPanelItems.d.ts","sourceRoot":"","sources":["../../../src/conversation/useConversationPanelItems/useConversationPanelItems.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,uBAAuB,EACvB,iBAAiB,EAClB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAA8B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAOnE;;GAEG;AACH,eAAO,MAAM,qBAAqB,GAChC,MAAM,IAAI,CAAC,uBAAuB,EAAE,cAAc,GAAG,iBAAiB,CAAC,KACtE,SAIF,CAAC;AAEF,oFAAoF;AACpF,MAAM,WAAW,kCAAkC;IACjD,0EAA0E;IAC1E,qBAAqB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,MAAM,CAAC;IAC9C,sFAAsF;IACtF,cAAc,EAAE,CACd,UAAU,EAAE,iBAAiB,GAAG,SAAS,KACtC,MAAM,GAAG,SAAS,CAAC;IACxB;;;OAGG;IACH,kBAAkB,EAAE,CAClB,UAAU,EAAE,iBAAiB,GAAG,SAAS,EACzC,QAAQ,EAAE,MAAM,KACb,MAAM,GAAG,SAAS,CAAC;IACxB,6EAA6E;IAC7E,WAAW,EAAE,CAAC,mBAAmB,EAAE,MAAM,KAAK,MAAM,CAAC;IACrD;;;;OAIG;IACH,uBAAuB,CAAC,EAAE,CACxB,IAAI,EAAE,uBAAuB,KAC1B;QAAE,WAAW,CAAC,EAAE,SAAS,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,GAAG,SAAS,CAAC;CACjE;AAED,0DAA0D;AAC1D,MAAM,WAAW,+BAAgC,SAAQ,kCAAkC;IACzF,0CAA0C;IAC1C,KAAK,EAAE,uBAAuB,EAAE,CAAC;IACjC,gEAAgE;IAChE,WAAW,EAAE,iBAAiB,EAAE,CAAC;IACjC,8EAA8E;IAC9E,oBAAoB,EAAE,OAAO,CAAC;CAC/B;AA+BD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,yBAAyB,GAAI,gJASvC,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;IAsFjC,CAAC"}
|
|
@@ -1,53 +1,57 @@
|
|
|
1
1
|
import { safeDecodeURIComponent as e } from "../../shared/string-utils.js";
|
|
2
2
|
import { getModelIdCandidatesFromConversationId as t, getModelIdFromConversationId as n } from "../get-model-id-from-conversation-id.js";
|
|
3
|
-
import {
|
|
4
|
-
import { useEffect as
|
|
3
|
+
import { ConversationKind as r, FilterTab as i } from "@epam/ai-dial-chat-shared";
|
|
4
|
+
import { useEffect as a, useMemo as o, useRef as s } from "react";
|
|
5
5
|
//#region src/conversation/useConversationPanelItems/useConversationPanelItems.ts
|
|
6
|
-
var
|
|
6
|
+
var c = (e) => e.sharedWithMe ? i.Shared : e.publishedWithMe ? i.Organization : i.MyChats, l = (e) => {
|
|
7
7
|
let t = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Map();
|
|
8
8
|
for (let r of e) t.has(r.id) || t.set(r.id, r), r.reference && !n.has(r.reference) && n.set(r.reference, r);
|
|
9
9
|
return (e) => t.get(e) ?? n.get(e);
|
|
10
|
-
},
|
|
11
|
-
let
|
|
12
|
-
let
|
|
10
|
+
}, u = ({ items: i, deployments: u, isDeploymentsLoading: d, toPanelConversationId: f, resolveIconUrl: p, resolveIconTooltip: m, resolveHref: h, resolveTaskPresentation: g }) => {
|
|
11
|
+
let _ = o(() => l(u), [u]), v = o(() => (i) => {
|
|
12
|
+
let a = f(i.id), o = n(i.id), s = t(i.id).map(_).find(Boolean), l = o ? e(o.split("/").pop() ?? o) : "", u = g?.(i);
|
|
13
13
|
return {
|
|
14
|
-
id:
|
|
15
|
-
title:
|
|
16
|
-
isPinned:
|
|
17
|
-
iconUrl:
|
|
18
|
-
iconTooltip:
|
|
19
|
-
isIconLoading:
|
|
20
|
-
source:
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
14
|
+
id: a,
|
|
15
|
+
title: i.title,
|
|
16
|
+
isPinned: i.isPinned ?? !1,
|
|
17
|
+
iconUrl: p(s),
|
|
18
|
+
iconTooltip: m(s, l),
|
|
19
|
+
isIconLoading: d,
|
|
20
|
+
source: c(i),
|
|
21
|
+
kind: u == null ? r.Chat : r.Task,
|
|
22
|
+
href: h(a),
|
|
23
|
+
...u == null ? i.isUnread ? {
|
|
24
|
+
leadingIcon: void 0,
|
|
25
|
+
isUnread: !0
|
|
26
|
+
} : {} : {
|
|
27
|
+
leadingIcon: u.leadingIcon,
|
|
28
|
+
isUnread: u.isUnread
|
|
25
29
|
}
|
|
26
30
|
};
|
|
27
31
|
}, [
|
|
28
|
-
|
|
29
|
-
u,
|
|
32
|
+
_,
|
|
30
33
|
d,
|
|
31
34
|
f,
|
|
32
35
|
p,
|
|
33
36
|
m,
|
|
34
|
-
h
|
|
35
|
-
|
|
36
|
-
|
|
37
|
+
h,
|
|
38
|
+
g
|
|
39
|
+
]), y = s(null), b = o(() => {
|
|
40
|
+
let e = y.current, t = e?.mapItem === v ? e.byDto : void 0, n = /* @__PURE__ */ new Map();
|
|
37
41
|
return {
|
|
38
|
-
mapped:
|
|
39
|
-
let r = t?.get(e) ??
|
|
42
|
+
mapped: i.map((e) => {
|
|
43
|
+
let r = t?.get(e) ?? v(e);
|
|
40
44
|
return n.set(e, r), r;
|
|
41
45
|
}),
|
|
42
46
|
cache: {
|
|
43
|
-
mapItem:
|
|
47
|
+
mapItem: v,
|
|
44
48
|
byDto: n
|
|
45
49
|
}
|
|
46
50
|
};
|
|
47
|
-
}, [
|
|
48
|
-
return
|
|
49
|
-
|
|
50
|
-
}, [
|
|
51
|
+
}, [i, v]);
|
|
52
|
+
return a(() => {
|
|
53
|
+
y.current = b.cache;
|
|
54
|
+
}, [b]), b.mapped;
|
|
51
55
|
};
|
|
52
56
|
//#endregion
|
|
53
|
-
export {
|
|
57
|
+
export { c as getConversationSource, u as useConversationPanelItems };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useConversationScroll.d.ts","sourceRoot":"","sources":["../../../src/conversation/useConversationScroll/useConversationScroll.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAMf,+HAA+H;AAC/H,MAAM,WAAW,2BAA2B,CAAC,CAAC;IAC5C,+CAA+C;IAC/C,QAAQ,EAAE,CAAC,EAAE,CAAC;IACd,+DAA+D;IAC/D,iBAAiB,EAAE,OAAO,CAAC;IAC3B,sDAAsD;IACtD,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,qDAAqD;AACrD,MAAM,WAAW,2BAA2B;IAC1C,qDAAqD;IACrD,YAAY,EAAE,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IAC/C,4FAA4F;IAC5F,UAAU,EAAE,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IAC7C;;;;OAIG;IACH,SAAS,EAAE,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IAC5C,kFAAkF;IAClF,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,cAAc,GAAG,IAAI,KAAK,IAAI,CAAC;IAClE,2DAA2D;IAC3D,qBAAqB,EAAE,OAAO,CAAC;IAC/B,4EAA4E;IAC5E,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B;;;;OAIG;IACH,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACpC;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,qBAAqB,GAAI,CAAC,EAAE,kDAItC,2BAA2B,CAAC,CAAC,CAAC,KAAG,
|
|
1
|
+
{"version":3,"file":"useConversationScroll.d.ts","sourceRoot":"","sources":["../../../src/conversation/useConversationScroll/useConversationScroll.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAMf,+HAA+H;AAC/H,MAAM,WAAW,2BAA2B,CAAC,CAAC;IAC5C,+CAA+C;IAC/C,QAAQ,EAAE,CAAC,EAAE,CAAC;IACd,+DAA+D;IAC/D,iBAAiB,EAAE,OAAO,CAAC;IAC3B,sDAAsD;IACtD,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,qDAAqD;AACrD,MAAM,WAAW,2BAA2B;IAC1C,qDAAqD;IACrD,YAAY,EAAE,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IAC/C,4FAA4F;IAC5F,UAAU,EAAE,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IAC7C;;;;OAIG;IACH,SAAS,EAAE,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IAC5C,kFAAkF;IAClF,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,cAAc,GAAG,IAAI,KAAK,IAAI,CAAC;IAClE,2DAA2D;IAC3D,qBAAqB,EAAE,OAAO,CAAC;IAC/B,4EAA4E;IAC5E,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B;;;;OAIG;IACH,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACpC;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,qBAAqB,GAAI,CAAC,EAAE,kDAItC,2BAA2B,CAAC,CAAC,CAAC,KAAG,2BAsVnC,CAAC"}
|
|
@@ -1,125 +1,122 @@
|
|
|
1
1
|
import { useCallback as e, useEffect as t, useLayoutEffect as n, useRef as r, useState as i } from "react";
|
|
2
2
|
//#region src/conversation/useConversationScroll/useConversationScroll.ts
|
|
3
3
|
var a = 80, o = 1, s = ({ messages: s, isAssistantTyping: c, conversationId: l }) => {
|
|
4
|
-
let [u, d] = i(!1), f = r(null), p = r(null), m = r(null), h = r(!1), g = r(!1), _ = r(null), v = r(!0), y = r(/* @__PURE__ */ new Map()),
|
|
5
|
-
t ?
|
|
6
|
-
}, []),
|
|
7
|
-
|
|
8
|
-
}, []),
|
|
4
|
+
let [u, d] = i(!1), f = r(null), p = r(null), m = r(null), h = r(!1), g = r(!1), _ = r(null), v = r(!0), y = r(!1), b = r(0), x = r(/* @__PURE__ */ new Map()), S = e((e, t) => {
|
|
5
|
+
t ? x.current.set(e, t) : x.current.delete(e);
|
|
6
|
+
}, []), C = r(null), w = e((e) => {
|
|
7
|
+
C.current = e;
|
|
8
|
+
}, []), T = e((e, t) => {
|
|
9
9
|
let n = f.current;
|
|
10
10
|
n && n.scrollTo({
|
|
11
11
|
top: e,
|
|
12
12
|
behavior: t ? "instant" : "smooth"
|
|
13
13
|
});
|
|
14
|
-
}, []),
|
|
14
|
+
}, []), E = e(() => {
|
|
15
15
|
m.current && (m.current.style.height = "0px"), h.current = !1, g.current = !1, _.current = null;
|
|
16
|
-
}, []),
|
|
16
|
+
}, []), D = e(() => {
|
|
17
17
|
let e = f.current, t = p.current;
|
|
18
18
|
if (!e || !t) return null;
|
|
19
19
|
let n = e.getBoundingClientRect(), r = t.getBoundingClientRect();
|
|
20
20
|
return e.scrollTop + (r.bottom - n.top) - e.clientHeight;
|
|
21
|
-
}, []),
|
|
22
|
-
let t =
|
|
23
|
-
t != null &&
|
|
24
|
-
}, [
|
|
21
|
+
}, []), O = e((e = !1) => {
|
|
22
|
+
let t = D();
|
|
23
|
+
t != null && T(Math.max(t, 0), e);
|
|
24
|
+
}, [T, D]), k = e(() => {
|
|
25
25
|
let e = f.current, t = p.current;
|
|
26
26
|
if (!e || !t) return null;
|
|
27
27
|
let n = e.getBoundingClientRect();
|
|
28
28
|
return t.getBoundingClientRect().bottom - n.top - e.clientHeight;
|
|
29
|
-
}, []),
|
|
29
|
+
}, []), A = e(() => {
|
|
30
30
|
if (!g.current) return;
|
|
31
|
-
let e =
|
|
32
|
-
e == null || e < -1 ||
|
|
33
|
-
}, [
|
|
34
|
-
let t = f.current, n =
|
|
31
|
+
let e = k();
|
|
32
|
+
e == null || e < -1 || E();
|
|
33
|
+
}, [E, k]), j = e((e) => {
|
|
34
|
+
let t = f.current, n = x.current.get(e);
|
|
35
35
|
if (!t || !n) return null;
|
|
36
36
|
let r = t.getBoundingClientRect(), i = n.getBoundingClientRect(), a = t.scrollTop + (i.top - r.top);
|
|
37
37
|
return Math.max(a, 0);
|
|
38
|
-
}, []),
|
|
39
|
-
let n =
|
|
40
|
-
n != null &&
|
|
41
|
-
}, [
|
|
42
|
-
let e =
|
|
38
|
+
}, []), M = e((e, t = !1) => {
|
|
39
|
+
let n = j(e);
|
|
40
|
+
n != null && T(n, t);
|
|
41
|
+
}, [j, T]), N = e(() => {
|
|
42
|
+
let e = D();
|
|
43
43
|
return e == null ? null : Math.max(e, 0);
|
|
44
|
-
}, [
|
|
44
|
+
}, [D]), P = e(() => {
|
|
45
45
|
if (!h.current) return null;
|
|
46
|
-
let e = _.current, t =
|
|
46
|
+
let e = _.current, t = N();
|
|
47
47
|
return e == null || t == null ? null : Math.max(e, t);
|
|
48
|
-
}, [
|
|
49
|
-
let e = f.current, t =
|
|
50
|
-
|
|
51
|
-
}, [
|
|
52
|
-
let t = m.current, n =
|
|
48
|
+
}, [N]), F = e(() => {
|
|
49
|
+
let e = f.current, t = P();
|
|
50
|
+
e && t != null && e.scrollTop > t + o && (e.scrollTop = t);
|
|
51
|
+
}, [P]), I = e((e) => {
|
|
52
|
+
let t = m.current, n = N();
|
|
53
53
|
if (!t || n == null) return;
|
|
54
54
|
let r = Math.max(e - n, 0);
|
|
55
55
|
t.style.height = `${r}px`, h.current = r > 0, g.current = !1, _.current = r > 0 ? e : null;
|
|
56
|
-
}, [
|
|
57
|
-
let t =
|
|
58
|
-
t != null && (
|
|
56
|
+
}, [N]), L = e((e) => {
|
|
57
|
+
let t = j(e);
|
|
58
|
+
t != null && (I(t), M(e, !1));
|
|
59
59
|
}, [
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
]),
|
|
64
|
-
let e =
|
|
60
|
+
I,
|
|
61
|
+
j,
|
|
62
|
+
M
|
|
63
|
+
]), R = e(() => {
|
|
64
|
+
let e = k();
|
|
65
65
|
if (e == null) return;
|
|
66
66
|
let t = e < a;
|
|
67
67
|
v.current = t, d(!t);
|
|
68
|
-
}, [
|
|
68
|
+
}, [k]), z = r(s.length), B = r(null);
|
|
69
69
|
n(() => {
|
|
70
|
-
let e = s.length !==
|
|
71
|
-
|
|
70
|
+
let e = s.length !== z.current, t = l !== B.current, n = () => {
|
|
71
|
+
z.current = s.length, B.current = l;
|
|
72
72
|
};
|
|
73
|
-
t &&
|
|
74
|
-
let r =
|
|
75
|
-
|
|
76
|
-
x.current = null, F(r), n();
|
|
77
|
-
return;
|
|
78
|
-
}
|
|
79
|
-
c || ((e || t) && E(!1), n());
|
|
73
|
+
t && (E(), y.current = !1);
|
|
74
|
+
let r = C.current;
|
|
75
|
+
r != null && x.current.has(r) ? (C.current = null, y.current = !1, L(r), n()) : c ? y.current = !1 : ((e || t) && (y.current = !0, O(!1)), n());
|
|
80
76
|
}, [
|
|
81
77
|
s,
|
|
82
78
|
c,
|
|
83
79
|
l,
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
80
|
+
O,
|
|
81
|
+
L,
|
|
82
|
+
E
|
|
87
83
|
]), n(() => {
|
|
88
|
-
!c && h.current && (g.current = !0,
|
|
89
|
-
}, [c,
|
|
90
|
-
let
|
|
91
|
-
|
|
84
|
+
!c && h.current && (g.current = !0, A());
|
|
85
|
+
}, [c, A]);
|
|
86
|
+
let V = e(() => {
|
|
87
|
+
let e = f.current;
|
|
88
|
+
e && (e.scrollTop < b.current - o && (y.current = !1), b.current = e.scrollTop), F(), A(), R();
|
|
92
89
|
}, [
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
90
|
+
F,
|
|
91
|
+
A,
|
|
92
|
+
R
|
|
96
93
|
]);
|
|
97
94
|
return t(() => {
|
|
98
95
|
let e = f.current;
|
|
99
|
-
if (e) return e.addEventListener("scroll",
|
|
100
|
-
}, [
|
|
101
|
-
let e = p.current;
|
|
102
|
-
if (!
|
|
103
|
-
let
|
|
104
|
-
let e = v.current && !h.current;
|
|
105
|
-
|
|
96
|
+
if (e) return e.addEventListener("scroll", V, { passive: !0 }), () => e.removeEventListener("scroll", V);
|
|
97
|
+
}, [V]), t(() => {
|
|
98
|
+
let e = f.current, t = p.current;
|
|
99
|
+
if (!t) return;
|
|
100
|
+
let n = new ResizeObserver(() => {
|
|
101
|
+
let e = (v.current || y.current) && !h.current;
|
|
102
|
+
F(), e && O(!0), A(), R();
|
|
106
103
|
});
|
|
107
|
-
return t.observe(e), () =>
|
|
104
|
+
return n.observe(t), e && n.observe(e), () => n.disconnect();
|
|
108
105
|
}, [
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
106
|
+
F,
|
|
107
|
+
A,
|
|
108
|
+
R,
|
|
109
|
+
O
|
|
113
110
|
]), {
|
|
114
111
|
containerRef: f,
|
|
115
112
|
contentRef: p,
|
|
116
113
|
spacerRef: m,
|
|
117
|
-
setMessageRef:
|
|
114
|
+
setMessageRef: S,
|
|
118
115
|
isScrollButtonVisible: u,
|
|
119
116
|
scrollToBottom: e(() => {
|
|
120
|
-
|
|
121
|
-
}, [
|
|
122
|
-
armAnchor:
|
|
117
|
+
O(!1);
|
|
118
|
+
}, [O]),
|
|
119
|
+
armAnchor: w
|
|
123
120
|
};
|
|
124
121
|
};
|
|
125
122
|
//#endregion
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { safeDecodeURI as e } from "../../shared/string-utils.js";
|
|
2
2
|
//#region src/conversation/useConversationStream/conversation-path.ts
|
|
3
3
|
var t = (t) => {
|
|
4
|
-
let n = t.indexOf("/");
|
|
5
|
-
return e(
|
|
4
|
+
let n = t.indexOf("/"), r = n === -1 ? t : t.substring(n + 1);
|
|
5
|
+
return e(r);
|
|
6
6
|
};
|
|
7
7
|
//#endregion
|
|
8
8
|
export { t as getConversationPath };
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
import { SendCompletionDtoModeEnum } from '@epam/ai-dial-chat-api-client';
|
|
2
|
+
import { Conversation, MessageCustomContent, StreamChunk } from '@epam/ai-dial-chat-shared';
|
|
3
|
+
import { Dispatch, MutableRefObject, SetStateAction } from 'react';
|
|
4
|
+
/** Options accepted by {@link ConversationStreamTransport.streamCompletion}. */
|
|
5
|
+
export interface StreamCompletionOptions {
|
|
6
|
+
onChunk: (chunk: StreamChunk) => void;
|
|
7
|
+
onComplete: () => void | Promise<void>;
|
|
8
|
+
onError: (error: Error) => void;
|
|
9
|
+
signal: AbortSignal;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Host-owned transport for the DIAL Core completion protocol. Implemented at
|
|
13
|
+
* the app edge — never hardcodes an `/api` path, CSRF handling, or a
|
|
14
|
+
* `server-api` import; the library only depends on this interface's shape.
|
|
15
|
+
*/
|
|
16
|
+
export interface ConversationStreamTransport {
|
|
17
|
+
/** Starts a completion; delivers chunks/completion/error through `options`, aborted via `options.signal`. */
|
|
18
|
+
streamCompletion(path: string, message: string | undefined, model: string, options: StreamCompletionOptions, customContent?: MessageCustomContent, generationId?: string, mode?: SendCompletionDtoModeEnum, messageIndex?: number, clientChannelId?: string): void;
|
|
19
|
+
/**
|
|
20
|
+
* Requests the backend stop an active generation. `content` is the answer text shown
|
|
21
|
+
* so far; the backend saves it for a generation whose text it does not hold.
|
|
22
|
+
*/
|
|
23
|
+
stopCompletion(params: {
|
|
24
|
+
generationId: string;
|
|
25
|
+
path: string;
|
|
26
|
+
content?: string;
|
|
27
|
+
}): Promise<void>;
|
|
28
|
+
/** Opens a stream of resource-update events for `path`, until aborted via `signal`. */
|
|
29
|
+
watchConversation(path: string, signal: AbortSignal): Promise<ReadableStream<Uint8Array>>;
|
|
30
|
+
/**
|
|
31
|
+
* Attaches to an active generation's live replay: a `snapshot` event
|
|
32
|
+
* carrying the assistant message as assembled so far, then a `chunk` event
|
|
33
|
+
* per subsequent delta, then exactly one terminal event (`done`/`error`/
|
|
34
|
+
* `stopped`), until aborted via `signal`. Rejects when no active
|
|
35
|
+
* generation exists for `path` — including one that already finished —
|
|
36
|
+
* so the caller can fall back to `watchConversation`.
|
|
37
|
+
*/
|
|
38
|
+
attachToGeneration(path: string, signal: AbortSignal): Promise<ReadableStream<Uint8Array>>;
|
|
39
|
+
/** Reloads the persisted conversation by its full (bucket-qualified) id. */
|
|
40
|
+
getConversation(conversationId: string, signal?: AbortSignal): Promise<Conversation>;
|
|
41
|
+
/**
|
|
42
|
+
* Saves `conversation` at the bucket-stripped `path`, resolving with the saved
|
|
43
|
+
* conversation. Used only for the single recovery save after the backend's
|
|
44
|
+
* terminal save was rejected with `401`; without it that failure shows the
|
|
45
|
+
* persistence warning immediately.
|
|
46
|
+
*/
|
|
47
|
+
saveConversation?(path: string, conversation: Conversation): Promise<Conversation>;
|
|
48
|
+
}
|
|
49
|
+
/** Host-owned generation lifecycle, backing cross-navigation `AbortController` ownership. */
|
|
50
|
+
export interface ConversationGenerationLifecycle {
|
|
51
|
+
/** Starts (or replaces) tracking for a generation on `path`, returning its `AbortController`. */
|
|
52
|
+
startGeneration: (path: string, generationId: string) => AbortController;
|
|
53
|
+
/** Marks the generation identified by `path`/`generationId` complete, if it is still the active one. */
|
|
54
|
+
completeGeneration: (path: string, generationId: string) => void;
|
|
55
|
+
}
|
|
56
|
+
/** Optional host-owned client-channel connection, used to nudge tool-signin delivery. */
|
|
57
|
+
export interface ConversationStreamChannel {
|
|
58
|
+
channelId: string | null;
|
|
59
|
+
ensureConnected: () => void;
|
|
60
|
+
/** Resolves with a channel id, waiting for an in-flight subscribe if one isn't established yet, so a completion sent immediately after mount can still carry it. */
|
|
61
|
+
waitForChannel: (timeoutMs?: number) => Promise<string | null>;
|
|
62
|
+
/** Notifies the host that a generation just ended (completed or errored), so it can consider disconnecting an idle channel. */
|
|
63
|
+
notifyGenerationSettled?: () => void;
|
|
64
|
+
}
|
|
65
|
+
/** Optional host-owned overlay generation-lifecycle notifications. Each method is independently optional. */
|
|
66
|
+
export interface ConversationStreamOverlayNotifier {
|
|
67
|
+
notifyGenerationStart?: () => void;
|
|
68
|
+
notifyGenerationEnd?: () => void;
|
|
69
|
+
notifyStopGenerating?: () => void;
|
|
70
|
+
}
|
|
71
|
+
/** Shared mutable channel through which the displayed conversation's state is read/written. */
|
|
72
|
+
export interface ConversationStateAccessor {
|
|
73
|
+
setConversation: Dispatch<SetStateAction<Conversation | null>>;
|
|
74
|
+
conversationRef: MutableRefObject<Conversation | null>;
|
|
75
|
+
}
|
|
76
|
+
/** Parameters for {@link useConversationStream}. */
|
|
77
|
+
export interface UseConversationStreamParams {
|
|
78
|
+
conversationId: string | undefined;
|
|
79
|
+
state: ConversationStateAccessor;
|
|
80
|
+
transport: ConversationStreamTransport;
|
|
81
|
+
generation: ConversationGenerationLifecycle;
|
|
82
|
+
channel?: ConversationStreamChannel;
|
|
83
|
+
overlay?: ConversationStreamOverlayNotifier;
|
|
84
|
+
onStopError?: (error: Error) => void;
|
|
85
|
+
/**
|
|
86
|
+
* Message shown on the message bubble when the backend rejects a completion
|
|
87
|
+
* because this conversation is already generating — the case a second
|
|
88
|
+
* browser tab of the same session hits. Defaults to
|
|
89
|
+
* {@link DEFAULT_GENERATION_CONFLICT_MESSAGE}.
|
|
90
|
+
*/
|
|
91
|
+
generationConflictMessage?: string;
|
|
92
|
+
/** Host-translated warning shown when the received answer could not be saved. */
|
|
93
|
+
generationPersistenceErrorMessage?: string;
|
|
94
|
+
/**
|
|
95
|
+
* Host-translated text shown on an assistant message whose generation was lost: a reloaded
|
|
96
|
+
* chat whose stored copy still ends in the empty placeholder while attach finds nothing
|
|
97
|
+
* running. Defaults to {@link DEFAULT_GENERATION_INTERRUPTED_ERROR_MESSAGE}.
|
|
98
|
+
*/
|
|
99
|
+
generationInterruptedMessage?: string;
|
|
100
|
+
/**
|
|
101
|
+
* Receives the original error of every failed stream. The hook shows only
|
|
102
|
+
* host-supplied or upstream-supplied text on the message bubble and hides
|
|
103
|
+
* transport detail (e.g. `Failed to fetch`), so this is where the host can
|
|
104
|
+
* still log or report the raw error.
|
|
105
|
+
*/
|
|
106
|
+
onStreamError?: (error: Error) => void;
|
|
107
|
+
/**
|
|
108
|
+
* Coalesces the displayed chunk updates into one `setConversation` per
|
|
109
|
+
* animation frame. Chunks still reach the per-path buffer immediately, and
|
|
110
|
+
* any pending update is flushed before completion, error, stop, or a
|
|
111
|
+
* superseding generation. Defaults to `false` (one update per chunk).
|
|
112
|
+
*/
|
|
113
|
+
batchChunksPerFrame?: boolean;
|
|
114
|
+
}
|
|
115
|
+
/** Per-start options of {@link UseConversationStreamResult.startStream}. */
|
|
116
|
+
export interface StartStreamOptions {
|
|
117
|
+
/**
|
|
118
|
+
* Treats a `GenerationConflictError` as "this turn is already being
|
|
119
|
+
* generated" — e.g. a page reloaded before that generation saved its start
|
|
120
|
+
* state — and joins the running generation instead of showing the conflict
|
|
121
|
+
* message, which remains the fallback. Only for a start that sends no new
|
|
122
|
+
* user text; a send the user typed must keep reporting the conflict.
|
|
123
|
+
*/
|
|
124
|
+
resumeOnConflict?: boolean;
|
|
125
|
+
}
|
|
126
|
+
/** Return value of {@link useConversationStream}. */
|
|
127
|
+
export interface UseConversationStreamResult {
|
|
128
|
+
startStream: (conversationId: string, userContent: string, messageIndex: number, model: string, customContent?: MessageCustomContent, generationId?: string, mode?: SendCompletionDtoModeEnum, options?: StartStreamOptions) => void;
|
|
129
|
+
handleStop: () => void;
|
|
130
|
+
resumeIfAwaitingGeneration: (currentConversationId: string, conversation: Conversation) => void;
|
|
131
|
+
/** Restores the accumulated live assistant message when its conversation is loaded again before completion. */
|
|
132
|
+
restoreBufferedGeneration: (currentConversationId: string, conversation: Conversation) => Conversation;
|
|
133
|
+
isStreaming: boolean;
|
|
134
|
+
canStopStreaming: boolean;
|
|
135
|
+
/** Whether the displayed conversation's terminal read failed. */
|
|
136
|
+
hasConversationReloadError: boolean;
|
|
137
|
+
/** Whether a retry of that read is in flight. */
|
|
138
|
+
isReloadingConversation: boolean;
|
|
139
|
+
/** Retries the failed read without saving or regenerating the answer. */
|
|
140
|
+
retryConversationReload: () => Promise<void>;
|
|
141
|
+
}
|
|
142
|
+
//# sourceMappingURL=conversation-stream.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conversation-stream.types.d.ts","sourceRoot":"","sources":["../../../src/conversation/useConversationStream/conversation-stream.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,oBAAoB,EACzB,KAAK,WAAW,EACjB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACpB,MAAM,OAAO,CAAC;AAUf,gFAAgF;AAChF,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IACtC,UAAU,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAChC,MAAM,EAAE,WAAW,CAAC;CACrB;AAED;;;;GAIG;AACH,MAAM,WAAW,2BAA2B;IAC1C,6GAA6G;IAC7G,gBAAgB,CACd,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,uBAAuB,EAChC,aAAa,CAAC,EAAE,oBAAoB,EACpC,YAAY,CAAC,EAAE,MAAM,EACrB,IAAI,CAAC,EAAE,yBAAyB,EAChC,YAAY,CAAC,EAAE,MAAM,EACrB,eAAe,CAAC,EAAE,MAAM,GACvB,IAAI,CAAC;IACR;;;OAGG;IACH,cAAc,CAAC,MAAM,EAAE;QACrB,YAAY,EAAE,MAAM,CAAC;QACrB,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClB,uFAAuF;IACvF,iBAAiB,CACf,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC;IACvC;;;;;;;OAOG;IACH,kBAAkB,CAChB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC;IACvC,4EAA4E;IAC5E,eAAe,CACb,cAAc,EAAE,MAAM,EACtB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,YAAY,CAAC,CAAC;IACzB;;;;;OAKG;IACH,gBAAgB,CAAC,CACf,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,YAAY,GACzB,OAAO,CAAC,YAAY,CAAC,CAAC;CAC1B;AAED,6FAA6F;AAC7F,MAAM,WAAW,+BAA+B;IAC9C,iGAAiG;IACjG,eAAe,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,eAAe,CAAC;IACzE,wGAAwG;IACxG,kBAAkB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;CAClE;AAED,yFAAyF;AACzF,MAAM,WAAW,yBAAyB;IACxC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,oKAAoK;IACpK,cAAc,EAAE,CAAC,SAAS,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC/D,+HAA+H;IAC/H,uBAAuB,CAAC,EAAE,MAAM,IAAI,CAAC;CACtC;AAED,6GAA6G;AAC7G,MAAM,WAAW,iCAAiC;IAChD,qBAAqB,CAAC,EAAE,MAAM,IAAI,CAAC;IACnC,mBAAmB,CAAC,EAAE,MAAM,IAAI,CAAC;IACjC,oBAAoB,CAAC,EAAE,MAAM,IAAI,CAAC;CACnC;AAED,+FAA+F;AAC/F,MAAM,WAAW,yBAAyB;IACxC,eAAe,EAAE,QAAQ,CAAC,cAAc,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC,CAAC;IAC/D,eAAe,EAAE,gBAAgB,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;CACxD;AAED,oDAAoD;AACpD,MAAM,WAAW,2BAA2B;IAC1C,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,KAAK,EAAE,yBAAyB,CAAC;IACjC,SAAS,EAAE,2BAA2B,CAAC;IACvC,UAAU,EAAE,+BAA+B,CAAC;IAC5C,OAAO,CAAC,EAAE,yBAAyB,CAAC;IACpC,OAAO,CAAC,EAAE,iCAAiC,CAAC;IAC5C,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACrC;;;;;OAKG;IACH,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,iFAAiF;IACjF,iCAAiC,CAAC,EAAE,MAAM,CAAC;IAC3C;;;;OAIG;IACH,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC;;;;;OAKG;IACH,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACvC;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,4EAA4E;AAC5E,MAAM,WAAW,kBAAkB;IACjC;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,qDAAqD;AACrD,MAAM,WAAW,2BAA2B;IAC1C,WAAW,EAAE,CACX,cAAc,EAAE,MAAM,EACtB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,MAAM,EACb,aAAa,CAAC,EAAE,oBAAoB,EACpC,YAAY,CAAC,EAAE,MAAM,EACrB,IAAI,CAAC,EAAE,yBAAyB,EAChC,OAAO,CAAC,EAAE,kBAAkB,KACzB,IAAI,CAAC;IACV,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,0BAA0B,EAAE,CAC1B,qBAAqB,EAAE,MAAM,EAC7B,YAAY,EAAE,YAAY,KACvB,IAAI,CAAC;IACV,+GAA+G;IAC/G,yBAAyB,EAAE,CACzB,qBAAqB,EAAE,MAAM,EAC7B,YAAY,EAAE,YAAY,KACvB,YAAY,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;IACrB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,iEAAiE;IACjE,0BAA0B,EAAE,OAAO,CAAC;IACpC,iDAAiD;IACjD,uBAAuB,EAAE,OAAO,CAAC;IACjC,yEAAyE;IACzE,uBAAuB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9C"}
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
//#region src/conversation/useConversationStream/frame-scheduler.ts
|
|
2
|
-
var e =
|
|
2
|
+
var e = (e) => {
|
|
3
3
|
if (typeof requestAnimationFrame == "function") {
|
|
4
|
-
let
|
|
5
|
-
return () => cancelAnimationFrame(
|
|
4
|
+
let t = requestAnimationFrame(e);
|
|
5
|
+
return () => cancelAnimationFrame(t);
|
|
6
6
|
}
|
|
7
|
-
let
|
|
8
|
-
return () => clearTimeout(
|
|
9
|
-
},
|
|
10
|
-
let
|
|
11
|
-
let n =
|
|
12
|
-
n && (
|
|
7
|
+
let t = setTimeout(e, 16);
|
|
8
|
+
return () => clearTimeout(t);
|
|
9
|
+
}, t = () => {
|
|
10
|
+
let t = /* @__PURE__ */ new Map(), n = (e) => {
|
|
11
|
+
let n = t.get(e);
|
|
12
|
+
n && (t.delete(e), n.task());
|
|
13
13
|
};
|
|
14
14
|
return {
|
|
15
15
|
schedule: (r, i) => {
|
|
16
|
-
let a =
|
|
16
|
+
let a = t.get(r);
|
|
17
17
|
if (a) {
|
|
18
18
|
a.task = i;
|
|
19
19
|
return;
|
|
@@ -22,18 +22,18 @@ var e = 16, t = (t) => {
|
|
|
22
22
|
task: i,
|
|
23
23
|
cancelFrame: () => void 0
|
|
24
24
|
};
|
|
25
|
-
|
|
25
|
+
t.set(r, o), o.cancelFrame = e(() => n(r));
|
|
26
26
|
},
|
|
27
|
-
flush: (
|
|
28
|
-
|
|
27
|
+
flush: (e) => {
|
|
28
|
+
t.get(e)?.cancelFrame(), n(e);
|
|
29
29
|
},
|
|
30
|
-
cancel: (
|
|
31
|
-
|
|
30
|
+
cancel: (e) => {
|
|
31
|
+
t.get(e)?.cancelFrame(), t.delete(e);
|
|
32
32
|
},
|
|
33
33
|
cancelAll: () => {
|
|
34
|
-
|
|
34
|
+
t.forEach((e) => e.cancelFrame()), t.clear();
|
|
35
35
|
}
|
|
36
36
|
};
|
|
37
37
|
};
|
|
38
38
|
//#endregion
|
|
39
|
-
export {
|
|
39
|
+
export { t as createFrameScheduler };
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Conversation, Message } from '@epam/ai-dial-chat-shared';
|
|
2
2
|
import { Dispatch, MutableRefObject, SetStateAction } from 'react';
|
|
3
3
|
import { BufferedGeneration } from './buffered-generation';
|
|
4
|
+
import { ConversationStreamTransport } from './conversation-stream.types';
|
|
4
5
|
import { FrameScheduler } from './frame-scheduler';
|
|
5
|
-
import { ConversationStreamTransport } from './useConversationStream';
|
|
6
6
|
/**
|
|
7
7
|
* True when the assistant message carries anything the backend's finalize save
|
|
8
8
|
* would have written. Text alone is not enough to tell a finished response from
|
|
@@ -42,6 +42,19 @@ export interface ResumeGenerationOptions {
|
|
|
42
42
|
onSettled?: () => void;
|
|
43
43
|
/** Resumes even though the path is already in `resumingPathsRef`, for a caller that reserved it itself. */
|
|
44
44
|
skipDedupe?: boolean;
|
|
45
|
+
/**
|
|
46
|
+
* Takes the `generationId` the attach `snapshot` carries so Stop can reach a resumed
|
|
47
|
+
* non-background generation. Set only by the public entry point: stream recovery
|
|
48
|
+
* already knows its local id, and the conflict handover keeps Stop unavailable.
|
|
49
|
+
*/
|
|
50
|
+
trackAttachGenerationId?: boolean;
|
|
51
|
+
/**
|
|
52
|
+
* Releases the chat and shows an unresolved placeholder as interrupted once nothing is
|
|
53
|
+
* producing the answer here (attach unavailable, stored copy still the placeholder). Set
|
|
54
|
+
* only by the public entry point: stream recovery and the conflict handover know a
|
|
55
|
+
* generation exists, so they keep their own behaviour.
|
|
56
|
+
*/
|
|
57
|
+
shouldMarkOrphanedAsInterrupted?: boolean;
|
|
45
58
|
}
|
|
46
59
|
/** Host-owned state {@link createResumeIfAwaitingGeneration} reads/writes through. */
|
|
47
60
|
export interface ResumeIfAwaitingGenerationDeps {
|
|
@@ -54,6 +67,8 @@ export interface ResumeIfAwaitingGenerationDeps {
|
|
|
54
67
|
removeStreamingPath: (path: string) => void;
|
|
55
68
|
isPathDisplayed: (path: string) => boolean;
|
|
56
69
|
generationPersistenceErrorMessage?: string;
|
|
70
|
+
/** Host-translated text shown on a placeholder nothing is producing. Defaults to {@link DEFAULT_GENERATION_INTERRUPTED_ERROR_MESSAGE}. */
|
|
71
|
+
generationInterruptedMessage?: string;
|
|
57
72
|
/** Records a terminal read failure and its guarded read-only retry. */
|
|
58
73
|
onReloadError?: (path: string, retry: () => Promise<void>, isCurrent: () => boolean) => void;
|
|
59
74
|
/** Clears a previous read failure after reconciliation. */
|
|
@@ -66,6 +81,13 @@ export interface ResumeIfAwaitingGenerationDeps {
|
|
|
66
81
|
* its id is removed when the resume settles.
|
|
67
82
|
*/
|
|
68
83
|
stoppedGenerationIdsRef?: MutableRefObject<Set<string>>;
|
|
84
|
+
/** Records the id an attach `snapshot` supplied for `path`, so the host can offer Stop for it. */
|
|
85
|
+
rememberResumedGenerationId?: (path: string, generationId: string) => void;
|
|
86
|
+
/**
|
|
87
|
+
* Drops that id again once the resume no longer owns an attached generation. Compare-and-clear:
|
|
88
|
+
* the host removes the entry only while it still holds `generationId`.
|
|
89
|
+
*/
|
|
90
|
+
forgetResumedGenerationId?: (path: string, generationId: string) => void;
|
|
69
91
|
}
|
|
70
92
|
/**
|
|
71
93
|
* Builds `resumeIfAwaitingGeneration`: a hard refresh mid-generation loads a
|
|
@@ -81,5 +103,5 @@ export interface ResumeIfAwaitingGenerationDeps {
|
|
|
81
103
|
* backend's finalize save resolves the placeholder whenever attach is
|
|
82
104
|
* unavailable or ends without a terminal event.
|
|
83
105
|
*/
|
|
84
|
-
export declare const createResumeIfAwaitingGeneration: ({ transport, setConversation, conversationRef, resumingPathsRef, bufferedGenerationsRef, addStreamingPath, removeStreamingPath, isPathDisplayed, generationPersistenceErrorMessage, frameScheduler, stoppedGenerationIdsRef, onReloadError, onReloadSuccess, }: ResumeIfAwaitingGenerationDeps) => (currentConversationId: string, conversation: Conversation, options?: ResumeGenerationOptions) => void;
|
|
106
|
+
export declare const createResumeIfAwaitingGeneration: ({ transport, setConversation, conversationRef, resumingPathsRef, bufferedGenerationsRef, addStreamingPath, removeStreamingPath, isPathDisplayed, generationPersistenceErrorMessage, generationInterruptedMessage, frameScheduler, stoppedGenerationIdsRef, rememberResumedGenerationId, forgetResumedGenerationId, onReloadError, onReloadSuccess, }: ResumeIfAwaitingGenerationDeps) => (currentConversationId: string, conversation: Conversation, options?: ResumeGenerationOptions) => void;
|
|
85
107
|
//# sourceMappingURL=generation-resume.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generation-resume.d.ts","sourceRoot":"","sources":["../../../src/conversation/useConversationStream/generation-resume.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,YAAY,EAEjB,KAAK,OAAO,EAEb,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"generation-resume.d.ts","sourceRoot":"","sources":["../../../src/conversation/useConversationStream/generation-resume.ts"],"names":[],"mappings":"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"}
|