@epam/ai-dial-chat-hooks 1.3.0-dev.5 → 1.3.0-dev.55
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/api-error/api-error.d.ts +30 -0
- package/api-error/api-error.d.ts.map +1 -0
- package/api-transport/create-csrf-middleware.d.ts +15 -0
- package/api-transport/create-csrf-middleware.d.ts.map +1 -0
- package/api-transport/create-unauthorized-middleware.d.ts +40 -0
- package/api-transport/create-unauthorized-middleware.d.ts.map +1 -0
- package/attachment/useAttachmentAction/useAttachmentAction.d.ts +32 -0
- package/attachment/useAttachmentAction/useAttachmentAction.d.ts.map +1 -0
- package/attachment/useAttachmentValidation/useAttachmentValidation.d.ts +50 -0
- package/attachment/useAttachmentValidation/useAttachmentValidation.d.ts.map +1 -0
- package/attachments.d.ts +2 -94
- package/catalog/catalog-derivations.d.ts +27 -0
- package/catalog/catalog-derivations.d.ts.map +1 -0
- package/catalog/catalog-primary-action.d.ts +47 -0
- package/catalog/catalog-primary-action.d.ts.map +1 -0
- package/catalog/create-publish-api.d.ts +32 -0
- package/catalog/create-publish-api.d.ts.map +1 -0
- package/catalog/deployment-endpoint-url.d.ts +19 -0
- package/catalog/deployment-endpoint-url.d.ts.map +1 -0
- package/catalog/deployment-id.d.ts +42 -0
- package/catalog/deployment-id.d.ts.map +1 -0
- package/catalog/entity-details.d.ts +146 -0
- package/catalog/entity-details.d.ts.map +1 -0
- package/catalog/map-deployment-limits-to-catalog.d.ts +34 -0
- package/catalog/map-deployment-limits-to-catalog.d.ts.map +1 -0
- package/catalog/map-deployment-limits-to-input.d.ts +28 -0
- package/catalog/map-deployment-limits-to-input.d.ts.map +1 -0
- package/catalog/map-deployment-to-catalog-item.d.ts +61 -0
- package/catalog/map-deployment-to-catalog-item.d.ts.map +1 -0
- package/catalog/map-entity-details-to-catalog.d.ts +81 -0
- package/catalog/map-entity-details-to-catalog.d.ts.map +1 -0
- package/catalog/map-prompt-to-catalog-item.d.ts +43 -0
- package/catalog/map-prompt-to-catalog-item.d.ts.map +1 -0
- package/catalog/map-skill-to-catalog-item.d.ts +113 -0
- package/catalog/map-skill-to-catalog-item.d.ts.map +1 -0
- package/catalog/mcp-endpoint-url.d.ts +18 -0
- package/catalog/mcp-endpoint-url.d.ts.map +1 -0
- package/catalog/publish.d.ts +35 -0
- package/catalog/publish.d.ts.map +1 -0
- package/catalog/useApplicationCredentials/useApplicationCredentials.d.ts +19 -0
- package/catalog/useApplicationCredentials/useApplicationCredentials.d.ts.map +1 -0
- package/catalog/useCatalogEditNavigation/useCatalogEditNavigation.d.ts +100 -0
- package/catalog/useCatalogEditNavigation/useCatalogEditNavigation.d.ts.map +1 -0
- package/catalog/useCatalogEditNavigation/useCatalogEditNavigation.js +139 -122
- package/catalog/useCatalogItemDetails.d.ts +70 -0
- package/catalog/useCatalogItemDetails.d.ts.map +1 -0
- package/catalog/useCatalogToolsetCredentials/useCatalogToolsetCredentials.d.ts +76 -0
- package/catalog/useCatalogToolsetCredentials/useCatalogToolsetCredentials.d.ts.map +1 -0
- package/catalog/useFavoriteEntitiesState/useFavoriteEntitiesState.d.ts +37 -0
- package/catalog/useFavoriteEntitiesState/useFavoriteEntitiesState.d.ts.map +1 -0
- package/catalog/usePublishFolders/usePublishFolders.d.ts +73 -0
- package/catalog/usePublishFolders/usePublishFolders.d.ts.map +1 -0
- package/catalog/useSkillDetailsPanelData/useSkillDetailsPanelData.d.ts +54 -0
- package/catalog/useSkillDetailsPanelData/useSkillDetailsPanelData.d.ts.map +1 -0
- package/catalog/useSkillItemDetails.d.ts +64 -0
- package/catalog/useSkillItemDetails.d.ts.map +1 -0
- package/catalog.d.ts +2 -1433
- package/conversation/announcement-message.d.ts +61 -0
- package/conversation/announcement-message.d.ts.map +1 -0
- package/conversation/conversation-transfer/async.d.ts +10 -0
- package/conversation/conversation-transfer/async.d.ts.map +1 -0
- package/conversation/conversation-transfer/attachment-refs.d.ts +42 -0
- package/conversation/conversation-transfer/attachment-refs.d.ts.map +1 -0
- package/conversation/conversation-transfer/build-upload-path.d.ts +42 -0
- package/conversation/conversation-transfer/build-upload-path.d.ts.map +1 -0
- package/conversation/conversation-transfer/date.d.ts +5 -0
- package/conversation/conversation-transfer/date.d.ts.map +1 -0
- package/conversation/conversation-transfer/dial-file-resolve.d.ts +10 -0
- package/conversation/conversation-transfer/dial-file-resolve.d.ts.map +1 -0
- package/conversation/conversation-transfer/export-conversation.d.ts +10 -0
- package/conversation/conversation-transfer/export-conversation.d.ts.map +1 -0
- package/conversation/conversation-transfer/import-conversation.d.ts +106 -0
- package/conversation/conversation-transfer/import-conversation.d.ts.map +1 -0
- package/conversation/conversation-transfer/progress.d.ts +60 -0
- package/conversation/conversation-transfer/progress.d.ts.map +1 -0
- package/conversation/conversation-transfer/queue.d.ts +54 -0
- package/conversation/conversation-transfer/queue.d.ts.map +1 -0
- package/conversation/conversation-transfer/types.d.ts +36 -0
- package/conversation/conversation-transfer/types.d.ts.map +1 -0
- package/conversation/conversation-transfer/zip-export.d.ts +31 -0
- package/conversation/conversation-transfer/zip-export.d.ts.map +1 -0
- package/conversation/conversation-transfer/zip-import.d.ts +17 -0
- package/conversation/conversation-transfer/zip-import.d.ts.map +1 -0
- package/conversation/create-chat-stream-api.d.ts +92 -0
- package/conversation/create-chat-stream-api.d.ts.map +1 -0
- package/conversation/deriveConversationRowActionState/deriveConversationRowActionState.d.ts +39 -0
- package/conversation/deriveConversationRowActionState/deriveConversationRowActionState.d.ts.map +1 -0
- package/conversation/display-name-watch.d.ts +4 -0
- package/conversation/display-name-watch.d.ts.map +1 -0
- package/conversation/footer-message.d.ts +10 -0
- package/conversation/footer-message.d.ts.map +1 -0
- package/conversation/get-model-id-from-conversation-id.d.ts +38 -0
- package/conversation/get-model-id-from-conversation-id.d.ts.map +1 -0
- package/conversation/greeting.d.ts +18 -0
- package/conversation/greeting.d.ts.map +1 -0
- package/conversation/message-factory.d.ts +7 -0
- package/conversation/message-factory.d.ts.map +1 -0
- package/conversation/message-utils.d.ts +67 -0
- package/conversation/message-utils.d.ts.map +1 -0
- package/conversation/overlay-messages.d.ts +5 -0
- package/conversation/overlay-messages.d.ts.map +1 -0
- package/conversation/quick-app-conversation-starters.d.ts +10 -0
- package/conversation/quick-app-conversation-starters.d.ts.map +1 -0
- package/conversation/stage.d.ts +77 -0
- package/conversation/stage.d.ts.map +1 -0
- package/conversation/starter-option.d.ts +21 -0
- package/conversation/starter-option.d.ts.map +1 -0
- package/conversation/useActiveConversationSync/useActiveConversationSync.d.ts +35 -0
- package/conversation/useActiveConversationSync/useActiveConversationSync.d.ts.map +1 -0
- package/conversation/useAsyncConfirmDialog/useAsyncConfirmDialog.d.ts +46 -0
- package/conversation/useAsyncConfirmDialog/useAsyncConfirmDialog.d.ts.map +1 -0
- package/conversation/useAttachmentUpload/useAttachmentUpload.d.ts +27 -0
- package/conversation/useAttachmentUpload/useAttachmentUpload.d.ts.map +1 -0
- package/conversation/useConversationExport/useConversationExport.d.ts +72 -0
- package/conversation/useConversationExport/useConversationExport.d.ts.map +1 -0
- package/conversation/useConversationHandlers/attachment-to-dto.d.ts +7 -0
- package/conversation/useConversationHandlers/attachment-to-dto.d.ts.map +1 -0
- package/conversation/useConversationHandlers/message-factory.d.ts +9 -0
- package/conversation/useConversationHandlers/message-factory.d.ts.map +1 -0
- package/conversation/useConversationHandlers/message-utils.d.ts +38 -0
- package/conversation/useConversationHandlers/message-utils.d.ts.map +1 -0
- package/conversation/useConversationHandlers/starter-option.d.ts +24 -0
- package/conversation/useConversationHandlers/starter-option.d.ts.map +1 -0
- package/conversation/useConversationHandlers/useConversationHandlers.d.ts +66 -0
- package/conversation/useConversationHandlers/useConversationHandlers.d.ts.map +1 -0
- package/conversation/useConversationImport/useConversationImport.d.ts +54 -0
- package/conversation/useConversationImport/useConversationImport.d.ts.map +1 -0
- package/conversation/useConversationLookupMaps/useConversationLookupMaps.d.ts +24 -0
- package/conversation/useConversationLookupMaps/useConversationLookupMaps.d.ts.map +1 -0
- package/conversation/useConversationPanelItems/useConversationPanelItems.d.ts +64 -0
- package/conversation/useConversationPanelItems/useConversationPanelItems.d.ts.map +1 -0
- package/conversation/useConversationScroll/useConversationScroll.d.ts +46 -0
- package/conversation/useConversationScroll/useConversationScroll.d.ts.map +1 -0
- package/conversation/useConversationStream/apply-chunk.d.ts +35 -0
- package/conversation/useConversationStream/apply-chunk.d.ts.map +1 -0
- package/conversation/useConversationStream/buffered-generation.d.ts +15 -0
- package/conversation/useConversationStream/buffered-generation.d.ts.map +1 -0
- package/conversation/useConversationStream/conversation-path.d.ts +7 -0
- package/conversation/useConversationStream/conversation-path.d.ts.map +1 -0
- package/conversation/useConversationStream/frame-scheduler.d.ts +14 -0
- package/conversation/useConversationStream/frame-scheduler.d.ts.map +1 -0
- package/conversation/useConversationStream/generation-resume.d.ts +85 -0
- package/conversation/useConversationStream/generation-resume.d.ts.map +1 -0
- package/conversation/useConversationStream/useConversationStream.d.ts +145 -0
- package/conversation/useConversationStream/useConversationStream.d.ts.map +1 -0
- package/conversation/useImportFilePicker/useImportFilePicker.d.ts +32 -0
- package/conversation/useImportFilePicker/useImportFilePicker.d.ts.map +1 -0
- package/conversation/useMessageSelectionReply/useMessageSelectionReply.d.ts +42 -0
- package/conversation/useMessageSelectionReply/useMessageSelectionReply.d.ts.map +1 -0
- package/conversation/useTranscribeAudio/audio-transcription-error.d.ts +19 -0
- package/conversation/useTranscribeAudio/audio-transcription-error.d.ts.map +1 -0
- package/conversation/useTranscribeAudio/transcription-retry.d.ts +2 -0
- package/conversation/useTranscribeAudio/transcription-retry.d.ts.map +1 -0
- package/conversation/useTranscribeAudio/useTranscribeAudio.d.ts +43 -0
- package/conversation/useTranscribeAudio/useTranscribeAudio.d.ts.map +1 -0
- package/conversation-overlay.d.ts +2 -7
- package/conversation-sources/useConversationSources/useConversationSources.d.ts +20 -0
- package/conversation-sources/useConversationSources/useConversationSources.d.ts.map +1 -0
- package/conversation-sources.d.ts +2 -25
- package/conversation-transfer.d.ts +2 -190
- package/conversation.d.ts +2 -1372
- package/entry-points/attachments.d.ts +3 -0
- package/entry-points/attachments.d.ts.map +1 -0
- package/entry-points/catalog.d.ts +25 -0
- package/entry-points/catalog.d.ts.map +1 -0
- package/entry-points/conversation-overlay.d.ts +2 -0
- package/entry-points/conversation-overlay.d.ts.map +1 -0
- package/entry-points/conversation-sources.d.ts +2 -0
- package/entry-points/conversation-sources.d.ts.map +1 -0
- package/entry-points/conversation-transfer.d.ts +7 -0
- package/entry-points/conversation-transfer.d.ts.map +1 -0
- package/entry-points/conversation.d.ts +33 -0
- package/entry-points/conversation.d.ts.map +1 -0
- package/entry-points/file-manager-canvas.d.ts +2 -0
- package/entry-points/file-manager-canvas.d.ts.map +1 -0
- package/entry-points/file-manager.d.ts +31 -0
- package/entry-points/file-manager.d.ts.map +1 -0
- package/entry-points/mcp-apps.d.ts +6 -0
- package/entry-points/mcp-apps.d.ts.map +1 -0
- package/entry-points/oauth.d.ts +10 -0
- package/entry-points/oauth.d.ts.map +1 -0
- package/entry-points/scheduled-tasks.d.ts +8 -0
- package/entry-points/scheduled-tasks.d.ts.map +1 -0
- package/entry-points/scroll-anchoring.d.ts +2 -0
- package/entry-points/scroll-anchoring.d.ts.map +1 -0
- package/entry-points/sharing.d.ts +3 -0
- package/entry-points/sharing.d.ts.map +1 -0
- package/entry-points/skill-editor.d.ts +9 -0
- package/entry-points/skill-editor.d.ts.map +1 -0
- package/entry-points/skills-state.d.ts +2 -0
- package/entry-points/skills-state.d.ts.map +1 -0
- package/entry-points/source-content.d.ts +2 -0
- package/entry-points/source-content.d.ts.map +1 -0
- package/entry-points/usage-limits.d.ts +8 -0
- package/entry-points/usage-limits.d.ts.map +1 -0
- package/entry-points/usage.d.ts +3 -0
- package/entry-points/usage.d.ts.map +1 -0
- package/entry-points/utils.d.ts +17 -0
- package/entry-points/utils.d.ts.map +1 -0
- package/entry-points/viewport-layout.d.ts +4 -0
- package/entry-points/viewport-layout.d.ts.map +1 -0
- package/file-manager-canvas.d.ts +2 -418
- package/file-manager.d.ts +2 -1237
- package/file-manager.js +25 -25
- package/files/annotation.d.ts +10 -0
- package/files/annotation.d.ts.map +1 -0
- package/files/attachment-canvas.d.ts +123 -0
- package/files/attachment-canvas.d.ts.map +1 -0
- package/files/attachment-dto-to-display.d.ts +10 -0
- package/files/attachment-dto-to-display.d.ts.map +1 -0
- package/files/attachment-types.d.ts +21 -0
- package/files/attachment-types.d.ts.map +1 -0
- package/files/create-files-api.d.ts +52 -0
- package/files/create-files-api.d.ts.map +1 -0
- package/files/create-upload-file-with-progress.d.ts +24 -0
- package/files/create-upload-file-with-progress.d.ts.map +1 -0
- package/files/dial-file-manager-copy-move.util.d.ts +15 -0
- package/files/dial-file-manager-copy-move.util.d.ts.map +1 -0
- package/files/dial-file-manager-mapping.util.d.ts +35 -0
- package/files/dial-file-manager-mapping.util.d.ts.map +1 -0
- package/files/dial-file-manager-path.util.d.ts +48 -0
- package/files/dial-file-manager-path.util.d.ts.map +1 -0
- package/files/dial-file-manager.model.d.ts +36 -0
- package/files/dial-file-manager.model.d.ts.map +1 -0
- package/files/dial-file-manager.model.js +7 -3
- package/files/dial-file-manager.types.d.ts +327 -0
- package/files/dial-file-manager.types.d.ts.map +1 -0
- package/files/dial-file-manager.types.js +1 -1
- package/files/dial-file-to-attachment.d.ts +26 -0
- package/files/dial-file-to-attachment.d.ts.map +1 -0
- package/files/dial-file.d.ts +17 -0
- package/files/dial-file.d.ts.map +1 -0
- package/files/dial-files-api.d.ts +71 -0
- package/files/dial-files-api.d.ts.map +1 -0
- package/files/download-destination.d.ts +31 -0
- package/files/download-destination.d.ts.map +1 -0
- package/files/file-manager-variant.d.ts +3 -0
- package/files/file-manager-variant.d.ts.map +1 -0
- package/files/file-name.d.ts +19 -0
- package/files/file-name.d.ts.map +1 -0
- package/files/prepare-download-destination.d.ts +8 -0
- package/files/prepare-download-destination.d.ts.map +1 -0
- package/files/resolve-dial-file-api-path.d.ts +12 -0
- package/files/resolve-dial-file-api-path.d.ts.map +1 -0
- package/files/source-content.d.ts +28 -0
- package/files/source-content.d.ts.map +1 -0
- package/files/useDialFileListing/useDialFileListing.d.ts +82 -0
- package/files/useDialFileListing/useDialFileListing.d.ts.map +1 -0
- package/files/useDialFileListing/useDialFileListing.js +24 -14
- package/files/useDialFileManager/useDialFileManager.d.ts +16 -0
- package/files/useDialFileManager/useDialFileManager.d.ts.map +1 -0
- package/files/useDialFileManager/useDialFileManager.js +148 -140
- package/files/useDialFileManagerSections/useDialFileManagerSections.d.ts +25 -0
- package/files/useDialFileManagerSections/useDialFileManagerSections.d.ts.map +1 -0
- package/files/useDialFileManagerTabConfig/useDialFileManagerTabConfig.d.ts +15 -0
- package/files/useDialFileManagerTabConfig/useDialFileManagerTabConfig.d.ts.map +1 -0
- package/files/useDialFileMetadata/useDialFileMetadata.d.ts +28 -0
- package/files/useDialFileMetadata/useDialFileMetadata.d.ts.map +1 -0
- package/files/useDialFileMutations/useDialFileMutations.d.ts +68 -0
- package/files/useDialFileMutations/useDialFileMutations.d.ts.map +1 -0
- package/files/useDialFileMutations/useDialFileMutations.js +206 -204
- package/files/useDialFileSharing/useDialFileSharing.d.ts +34 -0
- package/files/useDialFileSharing/useDialFileSharing.d.ts.map +1 -0
- package/files/useDialFileSharing/useDialFileSharing.js +45 -39
- package/files/useDialFileUploadBatch/useDialFileUploadBatch.d.ts +47 -0
- package/files/useDialFileUploadBatch/useDialFileUploadBatch.d.ts.map +1 -0
- package/files/useDialFileUploadBatch/useDialFileUploadBatch.js +8 -4
- package/files/useFileAttachmentPicker/useFileAttachmentPicker.d.ts +59 -0
- package/files/useFileAttachmentPicker/useFileAttachmentPicker.d.ts.map +1 -0
- package/index.d.ts +159 -6974
- package/index.d.ts.map +1 -0
- package/index.js +124 -117
- package/mcp-apps/mcp-apps-api-client.d.ts +28 -0
- package/mcp-apps/mcp-apps-api-client.d.ts.map +1 -0
- package/mcp-apps/useMcpAppHostAdapter/useMcpAppHostAdapter.d.ts +14 -0
- package/mcp-apps/useMcpAppHostAdapter/useMcpAppHostAdapter.d.ts.map +1 -0
- package/mcp-apps/useMcpAppHostContext/useMcpAppHostContext.d.ts +29 -0
- package/mcp-apps/useMcpAppHostContext/useMcpAppHostContext.d.ts.map +1 -0
- package/mcp-apps/useMcpAppTools/useMcpAppTools.d.ts +22 -0
- package/mcp-apps/useMcpAppTools/useMcpAppTools.d.ts.map +1 -0
- package/mcp-apps/useOpenMcpAppCanvas/useOpenMcpAppCanvas.d.ts +36 -0
- package/mcp-apps/useOpenMcpAppCanvas/useOpenMcpAppCanvas.d.ts.map +1 -0
- package/mcp-apps.d.ts +2 -256
- package/oauth/authorize-url.d.ts +16 -0
- package/oauth/authorize-url.d.ts.map +1 -0
- package/oauth/handshake.d.ts +30 -0
- package/oauth/handshake.d.ts.map +1 -0
- package/oauth/models.d.ts +81 -0
- package/oauth/models.d.ts.map +1 -0
- package/oauth/popup.d.ts +30 -0
- package/oauth/popup.d.ts.map +1 -0
- package/oauth/toolset-id.d.ts +53 -0
- package/oauth/toolset-id.d.ts.map +1 -0
- package/oauth/types.d.ts +84 -0
- package/oauth/types.d.ts.map +1 -0
- package/oauth/useOAuthCallbackCompletion/useOAuthCallbackCompletion.d.ts +54 -0
- package/oauth/useOAuthCallbackCompletion/useOAuthCallbackCompletion.d.ts.map +1 -0
- package/oauth/useToolsetLogin/useToolsetLogin.d.ts +79 -0
- package/oauth/useToolsetLogin/useToolsetLogin.d.ts.map +1 -0
- package/oauth.d.ts +2 -472
- package/package.json +26 -17
- package/prompt/export-prompt.d.ts +31 -0
- package/prompt/export-prompt.d.ts.map +1 -0
- package/prompt/prompt-resource.d.ts +30 -0
- package/prompt/prompt-resource.d.ts.map +1 -0
- package/prompt/prompt.d.ts +34 -0
- package/prompt/prompt.d.ts.map +1 -0
- package/prompt/usePromptsState/usePromptsState.d.ts +34 -0
- package/prompt/usePromptsState/usePromptsState.d.ts.map +1 -0
- package/scheduled-task/scheduled-task-description.d.ts +38 -0
- package/scheduled-task/scheduled-task-description.d.ts.map +1 -0
- package/scheduled-task/scheduled-task-mapping.d.ts +19 -0
- package/scheduled-task/scheduled-task-mapping.d.ts.map +1 -0
- package/scheduled-task/scheduled-task-preparation.d.ts +19 -0
- package/scheduled-task/scheduled-task-preparation.d.ts.map +1 -0
- package/scheduled-task/scheduled-task-trigger.d.ts +26 -0
- package/scheduled-task/scheduled-task-trigger.d.ts.map +1 -0
- package/scheduled-task/scheduled-tasks-api-client.d.ts +67 -0
- package/scheduled-task/scheduled-tasks-api-client.d.ts.map +1 -0
- package/scheduled-task/use-scheduled-task-runs.d.ts +40 -0
- package/scheduled-task/use-scheduled-task-runs.d.ts.map +1 -0
- package/scheduled-task/use-scheduled-task-runs.js +67 -67
- package/scheduled-task/use-scheduled-tasks.d.ts +28 -0
- package/scheduled-task/use-scheduled-tasks.d.ts.map +1 -0
- package/scheduled-tasks.d.ts +2 -250
- package/scroll-anchoring.d.ts +2 -50
- package/shared/application-schema.d.ts +18 -0
- package/shared/application-schema.d.ts.map +1 -0
- package/shared/application-schema.js +2 -2
- package/shared/browser-timezone.d.ts +7 -0
- package/shared/browser-timezone.d.ts.map +1 -0
- package/shared/cron-day-of-month.d.ts +21 -0
- package/shared/cron-day-of-month.d.ts.map +1 -0
- package/shared/cron-weekday.d.ts +5 -0
- package/shared/cron-weekday.d.ts.map +1 -0
- package/shared/custom-apps.d.ts +7 -0
- package/shared/custom-apps.d.ts.map +1 -0
- package/shared/external-services.d.ts +16 -0
- package/shared/external-services.d.ts.map +1 -0
- package/shared/formatting.d.ts +5 -0
- package/shared/formatting.d.ts.map +1 -0
- package/shared/locale.d.ts +45 -0
- package/shared/locale.d.ts.map +1 -0
- package/shared/string-utils.d.ts +11 -0
- package/shared/string-utils.d.ts.map +1 -0
- package/shared/toolset-login-events.d.ts +15 -0
- package/shared/toolset-login-events.d.ts.map +1 -0
- package/sharing.d.ts +2 -65
- package/skill/skill-archive.d.ts +7 -0
- package/skill/skill-archive.d.ts.map +1 -0
- package/skill/skill-file-batch-validation.d.ts +70 -0
- package/skill/skill-file-batch-validation.d.ts.map +1 -0
- package/skill/skill-file-preview.d.ts +25 -0
- package/skill/skill-file-preview.d.ts.map +1 -0
- package/skill/skill-manifest.d.ts +28 -0
- package/skill/skill-manifest.d.ts.map +1 -0
- package/skill/skill-types.d.ts +46 -0
- package/skill/skill-types.d.ts.map +1 -0
- package/skill/skill.d.ts +160 -0
- package/skill/skill.d.ts.map +1 -0
- package/skill/useSkillArchiveImport/useSkillArchiveImport.d.ts +65 -0
- package/skill/useSkillArchiveImport/useSkillArchiveImport.d.ts.map +1 -0
- package/skill/useSkillEditorLoad.d.ts +74 -0
- package/skill/useSkillEditorLoad.d.ts.map +1 -0
- package/skill/useSkillEditorSubmit.d.ts +125 -0
- package/skill/useSkillEditorSubmit.d.ts.map +1 -0
- package/skill/useSkillFileActions.d.ts +60 -0
- package/skill/useSkillFileActions.d.ts.map +1 -0
- package/skill/useSkillFilePreview.d.ts +38 -0
- package/skill/useSkillFilePreview.d.ts.map +1 -0
- package/skill/useSkillsState/useSkillsState.d.ts +35 -0
- package/skill/useSkillsState/useSkillsState.d.ts.map +1 -0
- package/skill-editor.d.ts +2 -655
- package/skills-state.d.ts +2 -40
- package/source-content.d.ts +2 -29
- package/usage/map-usage-data-to-dashboard.d.ts +39 -0
- package/usage/map-usage-data-to-dashboard.d.ts.map +1 -0
- package/usage/map-user-usage-to-model-limits.d.ts +62 -0
- package/usage/map-user-usage-to-model-limits.d.ts.map +1 -0
- package/usage/usage-banner-source.d.ts +23 -0
- package/usage/usage-banner-source.d.ts.map +1 -0
- package/usage/usage-banner-source.js +36 -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 +69 -0
- package/usage/usage-reset-time.d.ts.map +1 -0
- package/usage/usage-reset-time.js +72 -0
- package/usage/useDeploymentUsageLimits/useDeploymentUsageLimits.d.ts +32 -0
- package/usage/useDeploymentUsageLimits/useDeploymentUsageLimits.d.ts.map +1 -0
- package/usage/useDeploymentUsageLimits/useDeploymentUsageLimits.js +39 -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/useUsageData/useUsageData.d.ts +28 -0
- package/usage/useUsageData/useUsageData.d.ts.map +1 -0
- package/usage/useUsageLimitBanner/useUsageLimitBanner.d.ts +56 -0
- package/usage/useUsageLimitBanner/useUsageLimitBanner.d.ts.map +1 -0
- package/usage/useUsageLimitBanner/useUsageLimitBanner.js +67 -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 +8 -0
- package/usage.d.ts +2 -125
- package/useChatSettingsFormConfig/useChatSettingsFormConfig.d.ts +128 -0
- package/useChatSettingsFormConfig/useChatSettingsFormConfig.d.ts.map +1 -0
- package/usePageFileDrag/usePageFileDrag.d.ts +16 -0
- package/usePageFileDrag/usePageFileDrag.d.ts.map +1 -0
- package/usePanelMaxWidth/usePanelMaxWidth.d.ts +6 -0
- package/usePanelMaxWidth/usePanelMaxWidth.d.ts.map +1 -0
- package/useShareLink/useShareLink.d.ts +23 -0
- package/useShareLink/useShareLink.d.ts.map +1 -0
- package/useShareRecipientsCount/useShareRecipientsCount.d.ts +36 -0
- package/useShareRecipientsCount/useShareRecipientsCount.d.ts.map +1 -0
- package/useToolsMenu/useToolsMenu.d.ts +31 -0
- package/useToolsMenu/useToolsMenu.d.ts.map +1 -0
- package/useViewportWidth/useViewportWidth.d.ts +3 -0
- package/useViewportWidth/useViewportWidth.d.ts.map +1 -0
- package/utils.d.ts +2 -404
- package/utils.js +10 -10
- package/viewport-layout.d.ts +2 -27
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { ConversationsApi, FilesApi } from '@epam/ai-dial-chat-api-client';
|
|
2
|
+
import { ConversationTransferJob } from '@epam/ai-dial-chat-shared';
|
|
3
|
+
import { ConversationExportMode, ConversationTransferErrorEvent, ConversationTransferSuccessEvent, ConversationTransferWarningEvent } from '../conversation-transfer/types';
|
|
4
|
+
/**
|
|
5
|
+
* Default ceiling on the summed byte length of an export's attachments.
|
|
6
|
+
*
|
|
7
|
+
* The bound is on *input* bytes even though what it protects is peak heap:
|
|
8
|
+
* the archive pipeline holds roughly three copies at once — every attachment
|
|
9
|
+
* in memory, `zipSync`'s output buffer (already-compressed media barely
|
|
10
|
+
* shrinks), and the copy `buildDialArchive` makes before handing it to `Blob`.
|
|
11
|
+
* 512 MiB of input therefore peaks near 1.5 GiB, which fits a 64-bit desktop
|
|
12
|
+
* tab. Sizing this against the ~2 GiB single-`ArrayBuffer` ceiling would be
|
|
13
|
+
* the wrong bound — that limits one buffer, not the three held together.
|
|
14
|
+
*/
|
|
15
|
+
export declare const DEFAULT_MAX_ARCHIVE_BYTES: number;
|
|
16
|
+
interface ExportErrorClassification {
|
|
17
|
+
isUnauthorized?: boolean;
|
|
18
|
+
isNotFound?: boolean;
|
|
19
|
+
}
|
|
20
|
+
/** Parameters for {@link useConversationExport}. */
|
|
21
|
+
export interface UseConversationExportParams {
|
|
22
|
+
/** Already-configured generated-client instance used to read conversations. */
|
|
23
|
+
conversationsApi: Pick<ConversationsApi, 'getConversation' | 'listConversations'>;
|
|
24
|
+
/** Already-configured generated-client instance used to download attachments. */
|
|
25
|
+
filesApi: Pick<FilesApi, 'downloadFileRaw'>;
|
|
26
|
+
/** Resolves a conversation id to the bucket-qualified path `getConversation` expects. */
|
|
27
|
+
normalizeConversationPath: (conversationId: string) => string;
|
|
28
|
+
/** Classifies a thrown error as unauthorized/not-found. Host-owned error taxonomy; defaults to neither. */
|
|
29
|
+
classifyTransferError?: (error: unknown) => ExportErrorClassification;
|
|
30
|
+
/** Resolves a trace id for a failing request, for display in an error notification. */
|
|
31
|
+
resolveErrorTraceId?: (error: unknown) => Promise<string | undefined>;
|
|
32
|
+
/**
|
|
33
|
+
* Ceiling on the summed byte length of an export's attachments; a larger
|
|
34
|
+
* export fails with `FileTooLarge` instead of being zipped. Defaults to
|
|
35
|
+
* {@link DEFAULT_MAX_ARCHIVE_BYTES}.
|
|
36
|
+
*/
|
|
37
|
+
maxArchiveBytes?: number;
|
|
38
|
+
/** Called when a job completes successfully. */
|
|
39
|
+
onSuccess?: (event: ConversationTransferSuccessEvent) => void;
|
|
40
|
+
/** Called when a job succeeds but had to skip something (e.g. an unreachable attachment). */
|
|
41
|
+
onWarning?: (event: ConversationTransferWarningEvent) => void;
|
|
42
|
+
/** Called when a job fails. */
|
|
43
|
+
onError?: (event: ConversationTransferErrorEvent) => void;
|
|
44
|
+
}
|
|
45
|
+
/** Return value of {@link useConversationExport}. */
|
|
46
|
+
export interface UseConversationExportResult {
|
|
47
|
+
/** Export jobs, most recently added last. Multiple jobs can be in progress concurrently. */
|
|
48
|
+
jobs: ConversationTransferJob[];
|
|
49
|
+
/** Enqueues a single-conversation export job and starts it immediately. */
|
|
50
|
+
exportSingle: (conversationId: string, title: string, mode: ConversationExportMode) => Promise<void>;
|
|
51
|
+
/** Enqueues an export-all job and starts it immediately. */
|
|
52
|
+
exportAll: () => Promise<void>;
|
|
53
|
+
/** Aborts a job's underlying requests and marks it canceled, keeping it in `jobs`. */
|
|
54
|
+
cancelJob: (jobId: string) => void;
|
|
55
|
+
/** Removes a job from the queue. If still in progress, aborts its underlying requests. */
|
|
56
|
+
dismissJob: (jobId: string) => void;
|
|
57
|
+
/** Re-attempts a failed or canceled job in place (same job id, same parameters). */
|
|
58
|
+
retryJob: (jobId: string) => void;
|
|
59
|
+
/** Aborts all in-progress jobs and clears the entire queue. */
|
|
60
|
+
dismissAll: () => void;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Owns the export job queue: fetches conversation data through the injected
|
|
64
|
+
* generated-client operations, builds the JSON v5 / ZIP output via the pure
|
|
65
|
+
* export utils, reports determinate per-job progress and structured
|
|
66
|
+
* success/warning/error events, and tracks each job's lifecycle (in progress /
|
|
67
|
+
* success / failed / canceled) independently so multiple exports can run
|
|
68
|
+
* concurrently.
|
|
69
|
+
*/
|
|
70
|
+
export declare const useConversationExport: ({ conversationsApi, filesApi, normalizeConversationPath, classifyTransferError, resolveErrorTraceId, maxArchiveBytes, onSuccess, onWarning, onError, }: UseConversationExportParams) => UseConversationExportResult;
|
|
71
|
+
export {};
|
|
72
|
+
//# sourceMappingURL=useConversationExport.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useConversationExport.d.ts","sourceRoot":"","sources":["../../../src/conversation/useConversationExport/useConversationExport.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,gBAAgB,EACrB,KAAK,QAAQ,EACd,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAGL,KAAK,uBAAuB,EAI7B,MAAM,2BAA2B,CAAC;AAqBnC,OAAO,EACL,sBAAsB,EACtB,KAAK,8BAA8B,EACnC,KAAK,gCAAgC,EAErC,KAAK,gCAAgC,EAEtC,MAAM,gCAAgC,CAAC;AASxC;;;;;;;;;;GAUG;AACH,eAAO,MAAM,yBAAyB,QAAoB,CAAC;AA2E3D,UAAU,yBAAyB;IACjC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAsBD,oDAAoD;AACpD,MAAM,WAAW,2BAA2B;IAC1C,+EAA+E;IAC/E,gBAAgB,EAAE,IAAI,CACpB,gBAAgB,EAChB,iBAAiB,GAAG,mBAAmB,CACxC,CAAC;IACF,iFAAiF;IACjF,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;IAC5C,yFAAyF;IACzF,yBAAyB,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,MAAM,CAAC;IAC9D,2GAA2G;IAC3G,qBAAqB,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,yBAAyB,CAAC;IACtE,uFAAuF;IACvF,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACtE;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gDAAgD;IAChD,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,gCAAgC,KAAK,IAAI,CAAC;IAC9D,6FAA6F;IAC7F,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,gCAAgC,KAAK,IAAI,CAAC;IAC9D,+BAA+B;IAC/B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,8BAA8B,KAAK,IAAI,CAAC;CAC3D;AAED,qDAAqD;AACrD,MAAM,WAAW,2BAA2B;IAC1C,4FAA4F;IAC5F,IAAI,EAAE,uBAAuB,EAAE,CAAC;IAChC,2EAA2E;IAC3E,YAAY,EAAE,CACZ,cAAc,EAAE,MAAM,EACtB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,sBAAsB,KACzB,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,4DAA4D;IAC5D,SAAS,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,sFAAsF;IACtF,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,0FAA0F;IAC1F,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,oFAAoF;IACpF,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,+DAA+D;IAC/D,UAAU,EAAE,MAAM,IAAI,CAAC;CACxB;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,GAAI,wJAUnC,2BAA2B,KAAG,2BAuchC,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { AttachmentDto } from '@epam/ai-dial-chat-api-client';
|
|
2
|
+
import { Attachment } from '@epam/ai-dial-chat-shared';
|
|
3
|
+
/** Maps an already-uploaded attachment to its DTO shape. Throws if the attachment has no `url` yet. */
|
|
4
|
+
export declare const attachmentToDto: (attachment: Attachment) => AttachmentDto;
|
|
5
|
+
/** Maps a list of already-uploaded attachments to DTOs, or `undefined` when the list is empty. */
|
|
6
|
+
export declare const attachmentsToDtos: (attachments: Attachment[]) => AttachmentDto[] | undefined;
|
|
7
|
+
//# sourceMappingURL=attachment-to-dto.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"attachment-to-dto.d.ts","sourceRoot":"","sources":["../../../src/conversation/useConversationHandlers/attachment-to-dto.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAE5D,uGAAuG;AACvG,eAAO,MAAM,eAAe,GAAI,YAAY,UAAU,KAAG,aAUxD,CAAC;AAEF,kGAAkG;AAClG,eAAO,MAAM,iBAAiB,GAC5B,aAAa,UAAU,EAAE,KACxB,aAAa,EAAE,GAAG,SAGpB,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Message, MessageCustomContent } from '@epam/ai-dial-chat-shared';
|
|
2
|
+
/** A newly-created user message paired with its empty assistant placeholder. */
|
|
3
|
+
export interface MessagePair {
|
|
4
|
+
userMessage: Message;
|
|
5
|
+
assistantMessage: Message;
|
|
6
|
+
}
|
|
7
|
+
/** Builds a user message and its empty assistant placeholder, both timestamped `now`. */
|
|
8
|
+
export declare const createMessagePair: (content: string, customContent?: MessageCustomContent, deploymentId?: string | null) => MessagePair;
|
|
9
|
+
//# sourceMappingURL=message-factory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message-factory.d.ts","sourceRoot":"","sources":["../../../src/conversation/useConversationHandlers/message-factory.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,oBAAoB,EAE1B,MAAM,2BAA2B,CAAC;AAEnC,gFAAgF;AAChF,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,OAAO,CAAC;IACrB,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAED,yFAAyF;AACzF,eAAO,MAAM,iBAAiB,GAC5B,SAAS,MAAM,EACf,gBAAgB,oBAAoB,EACpC,eAAe,MAAM,GAAG,IAAI,KAC3B,WAoBF,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { Attachment, DisplayAttachment, Message, MessageCustomContent, RequestSkill } from '@epam/ai-dial-chat-shared';
|
|
2
|
+
/** Whether at least one tool toggle in `value` is active. */
|
|
3
|
+
export declare const hasActiveToolConfig: (value: Record<string, boolean> | undefined) => boolean;
|
|
4
|
+
/** Returns `customContent` with `configuration_value` set to the active tool toggles, or `customContent` unchanged when none is active. */
|
|
5
|
+
export declare const withToolConfiguration: (customContent: MessageCustomContent | undefined, toolConfigurationValue: Record<string, boolean> | undefined) => MessageCustomContent | undefined;
|
|
6
|
+
/**
|
|
7
|
+
* Returns `true` when the edited text, attachment list, or skills list differs
|
|
8
|
+
* from the original message, meaning a regeneration is needed.
|
|
9
|
+
*
|
|
10
|
+
* `skills` is the skills state the edit will write: `undefined` leaves the
|
|
11
|
+
* original skills out of the comparison (nothing about them changes), while an
|
|
12
|
+
* array — including an empty one — is compared against the original.
|
|
13
|
+
*
|
|
14
|
+
* @param originalMessage - The unmodified message stored in the conversation.
|
|
15
|
+
* @param newText - The text the user submitted from the edit area.
|
|
16
|
+
* @param keptDisplayAttachments - Attachments the user kept (not removed).
|
|
17
|
+
* @param newAttachments - Brand-new attachments the user added during editing.
|
|
18
|
+
* @param skills - The skills the edited message will carry, or `undefined` to leave them unchanged.
|
|
19
|
+
*/
|
|
20
|
+
export declare const isMessageChanged: (originalMessage: Message, newText: string, keptDisplayAttachments: DisplayAttachment[], newAttachments: Attachment[], skills?: RequestSkill[]) => boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Whether the assistant answer that follows an edited user message is missing
|
|
23
|
+
* or incomplete: no message at all, a non-assistant message, an answer the
|
|
24
|
+
* user stopped, or one that ended with a stream error.
|
|
25
|
+
*/
|
|
26
|
+
export declare const isAnswerIncomplete: (answer: Message | undefined) => boolean;
|
|
27
|
+
/**
|
|
28
|
+
* Whether submitting an edit has to re-run the generation.
|
|
29
|
+
*
|
|
30
|
+
* True whenever the message itself changed, and also when it is unchanged but
|
|
31
|
+
* its answer never completed — after stopping a generation the user submits
|
|
32
|
+
* the same message precisely to get a full answer, so treating that as "no
|
|
33
|
+
* change" would leave the conversation stuck with the partial one.
|
|
34
|
+
*
|
|
35
|
+
* @param skills - The skills the edited message will carry, or `undefined` to leave them unchanged — see {@link isMessageChanged}.
|
|
36
|
+
*/
|
|
37
|
+
export declare const shouldRerunGenerationOnEdit: (messages: Message[], messageIndex: number, newText: string, keptDisplayAttachments: DisplayAttachment[], newAttachments: Attachment[], skills?: RequestSkill[]) => boolean;
|
|
38
|
+
//# sourceMappingURL=message-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message-utils.d.ts","sourceRoot":"","sources":["../../../src/conversation/useConversationHandlers/message-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,UAAU,EACf,KAAK,iBAAiB,EACtB,KAAK,OAAO,EACZ,KAAK,oBAAoB,EAEzB,KAAK,YAAY,EAClB,MAAM,2BAA2B,CAAC;AAEnC,6DAA6D;AAC7D,eAAO,MAAM,mBAAmB,GAC9B,OAAO,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,KACzC,OAAyD,CAAC;AAE7D,2IAA2I;AAC3I,eAAO,MAAM,qBAAqB,GAChC,eAAe,oBAAoB,GAAG,SAAS,EAC/C,wBAAwB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,KAC1D,oBAAoB,GAAG,SAGP,CAAC;AAWpB;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,gBAAgB,GAC3B,iBAAiB,OAAO,EACxB,SAAS,MAAM,EACf,wBAAwB,iBAAiB,EAAE,EAC3C,gBAAgB,UAAU,EAAE,EAC5B,SAAS,YAAY,EAAE,KACtB,OAUF,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,GAAI,QAAQ,OAAO,GAAG,SAAS,KAAG,OAI9B,CAAC;AAEpC;;;;;;;;;GASG;AACH,eAAO,MAAM,2BAA2B,GACtC,UAAU,OAAO,EAAE,EACnB,cAAc,MAAM,EACpB,SAAS,MAAM,EACf,wBAAwB,iBAAiB,EAAE,EAC3C,gBAAgB,UAAU,EAAE,EAC5B,SAAS,YAAY,EAAE,KACtB,OAaF,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { StarterOption } from '@epam/ai-dial-chat-shared';
|
|
2
|
+
/**
|
|
3
|
+
* Returns the text to start/populate a conversation from a selected starter button.
|
|
4
|
+
* `description` (the schema property's shared intro/question text) is used only
|
|
5
|
+
* as a fallback when the starter's own `populateText` is explicitly `null` — it
|
|
6
|
+
* must never override a starter's own configured prompt.
|
|
7
|
+
*/
|
|
8
|
+
export declare const getStarterConversationText: (starter: StarterOption, description?: string) => string;
|
|
9
|
+
/**
|
|
10
|
+
* Returns submitted text for DIAL starter/form buttons.
|
|
11
|
+
* For submit buttons, `populateText: null` explicitly means "submit no text".
|
|
12
|
+
* `description` (the schema property's shared intro/question text) is used only
|
|
13
|
+
* as a fallback when the starter carries no text of its own — it must never
|
|
14
|
+
* override a starter's own configured prompt, or every button in a group would
|
|
15
|
+
* submit the same message.
|
|
16
|
+
*/
|
|
17
|
+
export declare const getStarterSubmitText: (starter: StarterOption, description?: string) => string;
|
|
18
|
+
/**
|
|
19
|
+
* Returns the text shown in the user's message bubble for a selected
|
|
20
|
+
* starter/form button. Falls back to the button label for submit buttons that
|
|
21
|
+
* send no text of their own.
|
|
22
|
+
*/
|
|
23
|
+
export declare const getStarterDisplayText: (starter: StarterOption, description?: string) => string;
|
|
24
|
+
//# sourceMappingURL=starter-option.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"starter-option.d.ts","sourceRoot":"","sources":["../../../src/conversation/useConversationHandlers/starter-option.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAG/D;;;;;GAKG;AACH,eAAO,MAAM,0BAA0B,GACrC,SAAS,aAAa,EACtB,cAAc,MAAM,KACnB,MAQF,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB,GAC/B,SAAS,aAAa,EACtB,cAAc,MAAM,KACnB,MAQF,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,GAChC,SAAS,aAAa,EACtB,cAAc,MAAM,KACnB,MAAqE,CAAC"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { ConversationsApi, FilesApi, RateApi, SendCompletionDtoModeEnum } from '@epam/ai-dial-chat-api-client';
|
|
2
|
+
import { Attachment, Conversation, DisplayAttachment, MessageCustomContent, MessageRating, RequestSkill, StarterOption, UploadedAttachmentResult } from '@epam/ai-dial-chat-shared';
|
|
3
|
+
import { ConversationStateAccessor, StartStreamOptions } from '../useConversationStream/useConversationStream';
|
|
4
|
+
/** The exact `startStream` shape `useConversationStream` returns. */
|
|
5
|
+
export type ConversationStreamStarter = (conversationPath: string, userContent: string, messageIndex: number, model: string, customContent?: MessageCustomContent, generationId?: string, mode?: SendCompletionDtoModeEnum, options?: StartStreamOptions) => void;
|
|
6
|
+
/** Parameters for {@link useConversationHandlers}. */
|
|
7
|
+
export interface UseConversationHandlersParams {
|
|
8
|
+
conversation: Conversation | null;
|
|
9
|
+
conversationId: string | undefined;
|
|
10
|
+
bucket: string | undefined;
|
|
11
|
+
isStreaming: boolean;
|
|
12
|
+
/** The `startStream` function returned by `useConversationStream`. */
|
|
13
|
+
startStream: ConversationStreamStarter;
|
|
14
|
+
/** Shared mutable channel for the displayed conversation — the same one passed to `useConversationStream`. */
|
|
15
|
+
state: ConversationStateAccessor;
|
|
16
|
+
/** Already-configured generated-client instance used to upload attachments. */
|
|
17
|
+
filesApi: Pick<FilesApi, 'uploadFile'>;
|
|
18
|
+
/** Already-configured generated-client instance used to save/delete the conversation. */
|
|
19
|
+
conversationsApi: Pick<ConversationsApi, 'saveConversation' | 'deleteConversation'>;
|
|
20
|
+
/** Already-configured generated-client instance used to rate a message. */
|
|
21
|
+
rateApi: Pick<RateApi, 'rateMessage'>;
|
|
22
|
+
/** Resolves the model id to send with the next completion. Re-evaluated on every call — never cached. */
|
|
23
|
+
resolveModelId: () => string;
|
|
24
|
+
/** Called when deleting the last message also deletes the whole conversation. */
|
|
25
|
+
onConversationDeleted?: () => void;
|
|
26
|
+
/** Called with batched filenames after a burst of network-error upload failures. */
|
|
27
|
+
showNetworkError?: (filenames: string[]) => void;
|
|
28
|
+
/** Tool toggle configuration values merged into every outgoing completion request. */
|
|
29
|
+
toolConfigurationValue?: Record<string, boolean>;
|
|
30
|
+
}
|
|
31
|
+
/** Return value of {@link useConversationHandlers}. */
|
|
32
|
+
export interface UseConversationHandlersResult {
|
|
33
|
+
handleSend: (message: string, attachments: Attachment[], skills?: RequestSkill[]) => Promise<void>;
|
|
34
|
+
handleUploadAttachment: (attachment: Attachment) => Promise<UploadedAttachmentResult>;
|
|
35
|
+
handleRegenerateMessage: (messageIndex: number) => void;
|
|
36
|
+
handleDeleteMessage: (messageIndex: number) => void;
|
|
37
|
+
handleConfirmDelete: () => void;
|
|
38
|
+
handleRateMessage: (messageIndex: number, rating: MessageRating | null, comment?: string) => Promise<boolean>;
|
|
39
|
+
handleButtonSelect: (starter: StarterOption, propertyKey?: string, description?: string) => void;
|
|
40
|
+
handleConfirmStarter: () => void;
|
|
41
|
+
handleStartEdit: (messageIndex: number) => void;
|
|
42
|
+
handleCancelEdit: (messageIndex: number) => void;
|
|
43
|
+
handleEditMessage: (messageIndex: number, text: string, keptDisplayAttachments: DisplayAttachment[], newAttachments: Attachment[], skills?: RequestSkill[]) => Promise<void>;
|
|
44
|
+
editingMessageIndexes: Set<number>;
|
|
45
|
+
pendingDeleteIndex: number | null;
|
|
46
|
+
setPendingDeleteIndex: (index: number | null) => void;
|
|
47
|
+
pendingStarterContext: {
|
|
48
|
+
starter: StarterOption;
|
|
49
|
+
propertyKey?: string;
|
|
50
|
+
description?: string;
|
|
51
|
+
} | null;
|
|
52
|
+
setPendingStarterContext: (context: {
|
|
53
|
+
starter: StarterOption;
|
|
54
|
+
propertyKey?: string;
|
|
55
|
+
description?: string;
|
|
56
|
+
} | null) => void;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Composes send/regenerate/edit/delete/rate/starter-submission orchestration
|
|
60
|
+
* on top of the library's own `useAttachmentUpload` and the injected
|
|
61
|
+
* `startStream` (from `useConversationStream`). Optimistic message-pair
|
|
62
|
+
* insertion, delete confirmation, and rate revert-on-failure all mutate the
|
|
63
|
+
* shared `state` channel directly, in lockstep with the streaming hook.
|
|
64
|
+
*/
|
|
65
|
+
export declare const useConversationHandlers: ({ conversation, conversationId, bucket, isStreaming, startStream, state: { setConversation, conversationRef }, filesApi, conversationsApi, rateApi, resolveModelId, onConversationDeleted, showNetworkError, toolConfigurationValue, }: UseConversationHandlersParams) => UseConversationHandlersResult;
|
|
66
|
+
//# sourceMappingURL=useConversationHandlers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useConversationHandlers.d.ts","sourceRoot":"","sources":["../../../src/conversation/useConversationHandlers/useConversationHandlers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,gBAAgB,EAChB,QAAQ,EACR,OAAO,EACP,yBAAyB,EAC1B,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EACL,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,iBAAiB,EAEtB,KAAK,oBAAoB,EACzB,aAAa,EAEb,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,wBAAwB,EAC9B,MAAM,2BAA2B,CAAC;AAInC,OAAO,KAAK,EACV,yBAAyB,EACzB,kBAAkB,EACnB,MAAM,gDAAgD,CAAC;AAUxD,qEAAqE;AACrE,MAAM,MAAM,yBAAyB,GAAG,CACtC,gBAAgB,EAAE,MAAM,EACxB,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;AAEV,sDAAsD;AACtD,MAAM,WAAW,6BAA6B;IAC5C,YAAY,EAAE,YAAY,GAAG,IAAI,CAAC;IAClC,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,WAAW,EAAE,OAAO,CAAC;IACrB,sEAAsE;IACtE,WAAW,EAAE,yBAAyB,CAAC;IACvC,8GAA8G;IAC9G,KAAK,EAAE,yBAAyB,CAAC;IACjC,+EAA+E;IAC/E,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IACvC,yFAAyF;IACzF,gBAAgB,EAAE,IAAI,CACpB,gBAAgB,EAChB,kBAAkB,GAAG,oBAAoB,CAC1C,CAAC;IACF,2EAA2E;IAC3E,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IACtC,yGAAyG;IACzG,cAAc,EAAE,MAAM,MAAM,CAAC;IAC7B,iFAAiF;IACjF,qBAAqB,CAAC,EAAE,MAAM,IAAI,CAAC;IACnC,oFAAoF;IACpF,gBAAgB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACjD,sFAAsF;IACtF,sBAAsB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClD;AAED,uDAAuD;AACvD,MAAM,WAAW,6BAA6B;IAC5C,UAAU,EAAE,CACV,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,UAAU,EAAE,EACzB,MAAM,CAAC,EAAE,YAAY,EAAE,KACpB,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,sBAAsB,EAAE,CACtB,UAAU,EAAE,UAAU,KACnB,OAAO,CAAC,wBAAwB,CAAC,CAAC;IACvC,uBAAuB,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IACxD,mBAAmB,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IACpD,mBAAmB,EAAE,MAAM,IAAI,CAAC;IAChC,iBAAiB,EAAE,CACjB,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,aAAa,GAAG,IAAI,EAC5B,OAAO,CAAC,EAAE,MAAM,KACb,OAAO,CAAC,OAAO,CAAC,CAAC;IACtB,kBAAkB,EAAE,CAClB,OAAO,EAAE,aAAa,EACtB,WAAW,CAAC,EAAE,MAAM,EACpB,WAAW,CAAC,EAAE,MAAM,KACjB,IAAI,CAAC;IACV,oBAAoB,EAAE,MAAM,IAAI,CAAC;IACjC,eAAe,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD,gBAAgB,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IACjD,iBAAiB,EAAE,CACjB,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,EACZ,sBAAsB,EAAE,iBAAiB,EAAE,EAC3C,cAAc,EAAE,UAAU,EAAE,EAC5B,MAAM,CAAC,EAAE,YAAY,EAAE,KACpB,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,qBAAqB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACnC,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,qBAAqB,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACtD,qBAAqB,EAAE;QACrB,OAAO,EAAE,aAAa,CAAC;QACvB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,GAAG,IAAI,CAAC;IACT,wBAAwB,EAAE,CACxB,OAAO,EAAE;QACP,OAAO,EAAE,aAAa,CAAC;QACvB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,GAAG,IAAI,KACL,IAAI,CAAC;CACX;AAED;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB,GAAI,wOAcrC,6BAA6B,KAAG,6BA+gBlC,CAAC"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { ConversationsApi, FilesApi } from '@epam/ai-dial-chat-api-client';
|
|
2
|
+
import { ConversationTransferJob } from '@epam/ai-dial-chat-shared';
|
|
3
|
+
import { ConversationTransferErrorEvent, ConversationTransferSuccessEvent, ConversationTransferWarningEvent } from '../conversation-transfer/types';
|
|
4
|
+
/** Parameters for {@link useConversationImport}. */
|
|
5
|
+
export interface UseConversationImportParams {
|
|
6
|
+
/** Already-configured generated-client instance used to persist imported conversations. */
|
|
7
|
+
conversationsApi: Pick<ConversationsApi, 'saveConversation'>;
|
|
8
|
+
/** Already-configured generated-client instance used to list/upload attachments. */
|
|
9
|
+
filesApi: Pick<FilesApi, 'listFiles' | 'uploadFile'>;
|
|
10
|
+
/** The current user's DIAL Core storage bucket. Import fails with `MissingBucket` when `undefined`. */
|
|
11
|
+
bucket: string | undefined;
|
|
12
|
+
/** Called after at least one conversation in a job was imported successfully. */
|
|
13
|
+
onImported?: () => Promise<void> | void;
|
|
14
|
+
/** Classifies a thrown error as unauthorized. Host-owned error taxonomy; defaults to never. */
|
|
15
|
+
classifyTransferError?: (error: unknown) => {
|
|
16
|
+
isUnauthorized?: boolean;
|
|
17
|
+
};
|
|
18
|
+
/** Resolves a trace id for a failing request, for display in an error notification. */
|
|
19
|
+
resolveErrorTraceId?: (error: unknown) => Promise<string | undefined>;
|
|
20
|
+
/** Called when a job completes with at least one successfully imported conversation. */
|
|
21
|
+
onSuccess?: (event: ConversationTransferSuccessEvent) => void;
|
|
22
|
+
/** Called when a job succeeds but had to skip an attachment. */
|
|
23
|
+
onWarning?: (event: ConversationTransferWarningEvent) => void;
|
|
24
|
+
/** Called when a job fails, or when some conversations within it failed. */
|
|
25
|
+
onError?: (event: ConversationTransferErrorEvent) => void;
|
|
26
|
+
}
|
|
27
|
+
/** Return value of {@link useConversationImport}. */
|
|
28
|
+
export interface UseConversationImportResult {
|
|
29
|
+
/** Import jobs, most recently added last. Multiple jobs can be in progress concurrently. */
|
|
30
|
+
jobs: ConversationTransferJob[];
|
|
31
|
+
/** Parses the given file and starts importing it as a new job. */
|
|
32
|
+
importConversations: (file: File) => Promise<void>;
|
|
33
|
+
/** Aborts a job's underlying requests and marks it canceled, keeping it in `jobs`. */
|
|
34
|
+
cancelJob: (jobId: string) => void;
|
|
35
|
+
/** Removes a job from the queue. If still in progress, aborts its underlying requests. */
|
|
36
|
+
dismissJob: (jobId: string) => void;
|
|
37
|
+
/** Re-attempts a failed or canceled job in place (same job id, reusing the already-parsed file). */
|
|
38
|
+
retryJob: (jobId: string) => void;
|
|
39
|
+
/** Aborts all in-progress jobs and clears the entire queue. */
|
|
40
|
+
dismissAll: () => void;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Owns the import job queue: parses a selected export file (`.json` or
|
|
44
|
+
* `.dial`/`.zip`, v5 envelope, old- or new-chat origin) once per file, then
|
|
45
|
+
* re-uploads any archive attachments to `uploads/<YYYY-MM>/` —
|
|
46
|
+
* disambiguating a name collision with a ` (n)` suffix instead of rejecting
|
|
47
|
+
* it — rewrites attachment references (and renamed titles), drops any
|
|
48
|
+
* reference still pointing into another user's bucket, regenerates each
|
|
49
|
+
* conversation's id/path with a fresh UUID (collision-free save, no replace
|
|
50
|
+
* dialog), and persists every conversation through the injected
|
|
51
|
+
* `conversationsApi`. One job per imported file, not per conversation.
|
|
52
|
+
*/
|
|
53
|
+
export declare const useConversationImport: ({ conversationsApi, filesApi, bucket, onImported, classifyTransferError, resolveErrorTraceId, onSuccess, onWarning, onError, }: UseConversationImportParams) => UseConversationImportResult;
|
|
54
|
+
//# sourceMappingURL=useConversationImport.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useConversationImport.d.ts","sourceRoot":"","sources":["../../../src/conversation/useConversationImport/useConversationImport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,gBAAgB,EAChB,QAAQ,EACT,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAEL,KAAK,uBAAuB,EAK7B,MAAM,2BAA2B,CAAC;AAwBnC,OAAO,EACL,KAAK,8BAA8B,EACnC,KAAK,gCAAgC,EAErC,KAAK,gCAAgC,EACtC,MAAM,gCAAgC,CAAC;AAgExC,oDAAoD;AACpD,MAAM,WAAW,2BAA2B;IAC1C,2FAA2F;IAC3F,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,CAAC;IAC7D,oFAAoF;IACpF,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,WAAW,GAAG,YAAY,CAAC,CAAC;IACrD,uGAAuG;IACvG,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,iFAAiF;IACjF,UAAU,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACxC,+FAA+F;IAC/F,qBAAqB,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK;QAAE,cAAc,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IACzE,uFAAuF;IACvF,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACtE,wFAAwF;IACxF,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,gCAAgC,KAAK,IAAI,CAAC;IAC9D,gEAAgE;IAChE,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,gCAAgC,KAAK,IAAI,CAAC;IAC9D,4EAA4E;IAC5E,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,8BAA8B,KAAK,IAAI,CAAC;CAC3D;AA8GD,qDAAqD;AACrD,MAAM,WAAW,2BAA2B;IAC1C,4FAA4F;IAC5F,IAAI,EAAE,uBAAuB,EAAE,CAAC;IAChC,kEAAkE;IAClE,mBAAmB,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,sFAAsF;IACtF,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,0FAA0F;IAC1F,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,oGAAoG;IACpG,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,+DAA+D;IAC/D,UAAU,EAAE,MAAM,IAAI,CAAC;CACxB;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,qBAAqB,GAAI,gIAUnC,2BAA2B,KAAG,2BA+ThC,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { ConversationListItemDto } from '@epam/ai-dial-chat-api-client';
|
|
2
|
+
/** Parameters for `useConversationLookupMaps`. */
|
|
3
|
+
export interface UseConversationLookupMapsParams {
|
|
4
|
+
/** Raw conversation list from the API. */
|
|
5
|
+
items: ConversationListItemDto[];
|
|
6
|
+
/** Converts a raw conversation id to the panel-space id. App-specific. */
|
|
7
|
+
toPanelConversationId: (id: string) => string;
|
|
8
|
+
}
|
|
9
|
+
/** Stable reverse-lookup maps returned by `useConversationLookupMaps`. */
|
|
10
|
+
export interface ConversationLookupMaps {
|
|
11
|
+
/** Returns the raw context id for a panel-space conversation id, or `undefined` when not found. */
|
|
12
|
+
toContextId: (panelId: string) => string | undefined;
|
|
13
|
+
/** Returns the raw `ConversationListItemDto` for a panel-space conversation id, or `undefined` when not found. */
|
|
14
|
+
getRawItem: (panelId: string) => ConversationListItemDto | undefined;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Builds two memoised reverse-lookup maps from the raw conversation list:
|
|
18
|
+
* panel-space id → context id and panel-space id → raw DTO.
|
|
19
|
+
*
|
|
20
|
+
* Replaces the inlined `panelToContextId` map and `items.find` calls that
|
|
21
|
+
* previously appeared at each row-action call site in `ConversationPanelView`.
|
|
22
|
+
*/
|
|
23
|
+
export declare const useConversationLookupMaps: ({ items, toPanelConversationId, }: UseConversationLookupMapsParams) => ConversationLookupMaps;
|
|
24
|
+
//# sourceMappingURL=useConversationLookupMaps.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useConversationLookupMaps.d.ts","sourceRoot":"","sources":["../../../src/conversation/useConversationLookupMaps/useConversationLookupMaps.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAG7E,kDAAkD;AAClD,MAAM,WAAW,+BAA+B;IAC9C,0CAA0C;IAC1C,KAAK,EAAE,uBAAuB,EAAE,CAAC;IACjC,0EAA0E;IAC1E,qBAAqB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,MAAM,CAAC;CAC/C;AAED,0EAA0E;AAC1E,MAAM,WAAW,sBAAsB;IACrC,mGAAmG;IACnG,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IACrD,kHAAkH;IAClH,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,uBAAuB,GAAG,SAAS,CAAC;CACtE;AAED;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,GAAI,mCAGvC,+BAA+B,KAAG,sBAaD,CAAC"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { ConversationListItemDto, DeploymentItemDto } from '@epam/ai-dial-chat-api-client';
|
|
2
|
+
import { FilterTab } from '@epam/ai-dial-chat-shared';
|
|
3
|
+
import { ReactNode } from 'react';
|
|
4
|
+
/**
|
|
5
|
+
* Classifies a conversation's ownership using the shared filter-tab contract.
|
|
6
|
+
*/
|
|
7
|
+
export declare const getConversationSource: (item: Pick<ConversationListItemDto, "sharedWithMe" | "publishedWithMe">) => FilterTab;
|
|
8
|
+
/** Resolver callbacks injected by the host app into `useConversationPanelItems`. */
|
|
9
|
+
export interface UseConversationPanelItemsResolvers {
|
|
10
|
+
/** Converts a raw conversation id to the panel-space id. App-specific. */
|
|
11
|
+
toPanelConversationId: (id: string) => string;
|
|
12
|
+
/** Resolves the icon URL for a deployment. Returns `undefined` when not available. */
|
|
13
|
+
resolveIconUrl: (deployment: DeploymentItemDto | undefined) => string | undefined;
|
|
14
|
+
/**
|
|
15
|
+
* Resolves the icon tooltip text. Receives the matched deployment (or
|
|
16
|
+
* `undefined`) and a decoded fallback string derived from the model path.
|
|
17
|
+
*/
|
|
18
|
+
resolveIconTooltip: (deployment: DeploymentItemDto | undefined, fallback: string) => string | undefined;
|
|
19
|
+
/** Resolves the href to navigate to when the conversation row is clicked. */
|
|
20
|
+
resolveHref: (panelConversationId: string) => string;
|
|
21
|
+
/**
|
|
22
|
+
* Returns the row presentation for a scheduled-task conversation — a
|
|
23
|
+
* host-rendered leading icon that replaces the deployment avatar, and the
|
|
24
|
+
* unread flag — or `undefined` for an ordinary conversation.
|
|
25
|
+
*/
|
|
26
|
+
resolveTaskPresentation?: (item: ConversationListItemDto) => {
|
|
27
|
+
leadingIcon?: ReactNode;
|
|
28
|
+
isUnread: boolean;
|
|
29
|
+
} | undefined;
|
|
30
|
+
}
|
|
31
|
+
/** Parameters accepted by `useConversationPanelItems`. */
|
|
32
|
+
export interface UseConversationPanelItemsParams extends UseConversationPanelItemsResolvers {
|
|
33
|
+
/** Raw conversation list from the API. */
|
|
34
|
+
items: ConversationListItemDto[];
|
|
35
|
+
/** Available deployments used to resolve icons and tooltips. */
|
|
36
|
+
deployments: DeploymentItemDto[];
|
|
37
|
+
/** Whether the deployments list is still loading (drives `isIconLoading`). */
|
|
38
|
+
isDeploymentsLoading: boolean;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Maps raw `ConversationListItemDto[]` to panel-compatible conversation items.
|
|
42
|
+
*
|
|
43
|
+
* Returns a memoised array whose shape is compatible with the conversation
|
|
44
|
+
* panel's item contract. All app-specific concerns (icon URL resolution,
|
|
45
|
+
* route generation, id normalisation) are injected via resolver callbacks.
|
|
46
|
+
*
|
|
47
|
+
* While every input except `items` is unchanged, a DTO that is referentially
|
|
48
|
+
* the same as in the previous render maps to the same item object, so a list
|
|
49
|
+
* change (or a navigation that re-derives the list) re-renders only the rows
|
|
50
|
+
* whose DTO actually changed.
|
|
51
|
+
*/
|
|
52
|
+
export declare const useConversationPanelItems: ({ items, deployments, isDeploymentsLoading, toPanelConversationId, resolveIconUrl, resolveIconTooltip, resolveHref, resolveTaskPresentation, }: UseConversationPanelItemsParams) => {
|
|
53
|
+
leadingIcon?: ReactNode;
|
|
54
|
+
isUnread?: boolean | undefined;
|
|
55
|
+
id: string;
|
|
56
|
+
title: string;
|
|
57
|
+
isPinned: boolean;
|
|
58
|
+
iconUrl: string | undefined;
|
|
59
|
+
iconTooltip: string | undefined;
|
|
60
|
+
isIconLoading: boolean;
|
|
61
|
+
source: FilterTab;
|
|
62
|
+
href: string;
|
|
63
|
+
}[];
|
|
64
|
+
//# sourceMappingURL=useConversationPanelItems.d.ts.map
|
|
@@ -0,0 +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;AACtD,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;;;;;;;;;;;GA6EjC,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { RefObject } from 'react';
|
|
2
|
+
/** Parameters for {@link useConversationScroll}. `T` is never read — only `messages.length` is used to detect growth/reset. */
|
|
3
|
+
export interface UseConversationScrollParams<T> {
|
|
4
|
+
/** Messages currently rendered in the list. */
|
|
5
|
+
messages: T[];
|
|
6
|
+
/** Whether an assistant response is currently streaming in. */
|
|
7
|
+
isAssistantTyping: boolean;
|
|
8
|
+
/** Identifier of the conversation being displayed. */
|
|
9
|
+
conversationId: string;
|
|
10
|
+
}
|
|
11
|
+
/** Return value of {@link useConversationScroll}. */
|
|
12
|
+
export interface UseConversationScrollResult {
|
|
13
|
+
/** Attach to the scrollable message-list element. */
|
|
14
|
+
containerRef: RefObject<HTMLDivElement | null>;
|
|
15
|
+
/** Attach to the element wrapping all rendered messages (used to detect content growth). */
|
|
16
|
+
contentRef: RefObject<HTMLDivElement | null>;
|
|
17
|
+
/**
|
|
18
|
+
* Attach to a spacer element, a sibling rendered right after `contentRef`
|
|
19
|
+
* inside `containerRef`. Its height is set imperatively, not via React
|
|
20
|
+
* state. Render it with `shrink-0` and an initial `style={{ height: 0 }}`.
|
|
21
|
+
*/
|
|
22
|
+
spacerRef: RefObject<HTMLDivElement | null>;
|
|
23
|
+
/** Callback ref to register/unregister a rendered message's DOM node by index. */
|
|
24
|
+
setMessageRef: (index: number, el: HTMLDivElement | null) => void;
|
|
25
|
+
/** Whether the scroll-to-bottom button should be shown. */
|
|
26
|
+
isScrollButtonVisible: boolean;
|
|
27
|
+
/** Smoothly scrolls to the current bottom of the actual message content. */
|
|
28
|
+
scrollToBottom: () => void;
|
|
29
|
+
/**
|
|
30
|
+
* Arms the message at `index` to be scrolled near the top of the viewport
|
|
31
|
+
* on the next render — call right before triggering a send, regenerate,
|
|
32
|
+
* or edit-and-resubmit so the resulting message anchors near the top.
|
|
33
|
+
*/
|
|
34
|
+
armAnchor: (index: number) => void;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Owns chat-list scrolling: anchors a new turn near the viewport top, keeps
|
|
38
|
+
* the position stable while the response streams, and reports whether the
|
|
39
|
+
* scroll-to-bottom button should be shown.
|
|
40
|
+
*
|
|
41
|
+
* The temporary spacer is technical scroll room, not user-visible content:
|
|
42
|
+
* it is sized to the minimum required to make the anchor reachable and manual
|
|
43
|
+
* scrolling is clamped before the user can move past the real message content.
|
|
44
|
+
*/
|
|
45
|
+
export declare const useConversationScroll: <T>({ messages, isAssistantTyping, conversationId, }: UseConversationScrollParams<T>) => UseConversationScrollResult;
|
|
46
|
+
//# sourceMappingURL=useConversationScroll.d.ts.map
|
|
@@ -0,0 +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,2BAwTnC,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { Message, Stage, StreamChunk } from '@epam/ai-dial-chat-shared';
|
|
2
|
+
/**
|
|
3
|
+
* Merges incoming stage deltas into an existing stage list, keyed by `index`.
|
|
4
|
+
*
|
|
5
|
+
* Partial `name` and `content` strings are concatenated across chunks;
|
|
6
|
+
* attachments are merged by their own `index` (concatenating partial `title`
|
|
7
|
+
* and `data`); every other field on the incoming delta overwrites the
|
|
8
|
+
* accumulated one. A brand-new stage whose first chunk carries `name: null`
|
|
9
|
+
* is normalized to `''`.
|
|
10
|
+
*
|
|
11
|
+
* Exported for hosts that keep a flattened `Stage[]` on the message instead
|
|
12
|
+
* of `Message.custom_content.stages` and therefore cannot reuse
|
|
13
|
+
* {@link applyChunkToMessages}. Prefer `useConversationStream` when the host
|
|
14
|
+
* can delegate the whole stream loop.
|
|
15
|
+
*/
|
|
16
|
+
export declare const mergeStages: (existing: Stage[], incoming: Stage[]) => Stage[];
|
|
17
|
+
/**
|
|
18
|
+
* Applies a single SSE stream chunk to the message list.
|
|
19
|
+
*
|
|
20
|
+
*
|
|
21
|
+
* Attachments are accumulated: each chunk's attachments are appended to the
|
|
22
|
+
* existing array rather than replacing it.
|
|
23
|
+
*
|
|
24
|
+
* Annotations are merged by `index`: partial `body.title` and `body.quote`
|
|
25
|
+
* strings are concatenated across chunks, matching the same delta-merge
|
|
26
|
+
* semantics used for stages.
|
|
27
|
+
*
|
|
28
|
+
* `state` is overwritten (not merged) by each chunk that carries one,
|
|
29
|
+
* matching the DIAL stateful-app contract.
|
|
30
|
+
*
|
|
31
|
+
* @returns Updated message array, or `null` when the chunk carries no
|
|
32
|
+
* actionable data (empty content, no form_schema, and no attachments).
|
|
33
|
+
*/
|
|
34
|
+
export declare const applyChunkToMessages: (messages: Message[], messageIndex: number, chunk: StreamChunk) => Message[] | null;
|
|
35
|
+
//# sourceMappingURL=apply-chunk.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apply-chunk.d.ts","sourceRoot":"","sources":["../../../src/conversation/useConversationStream/apply-chunk.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,OAAO,EAEP,KAAK,EACL,WAAW,EACZ,MAAM,2BAA2B,CAAC;AAqFnC;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,WAAW,GAAI,UAAU,KAAK,EAAE,EAAE,UAAU,KAAK,EAAE,KAAG,KAAK,EA+BvE,CAAC;AAEF;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,oBAAoB,GAC/B,UAAU,OAAO,EAAE,EACnB,cAAc,MAAM,EACpB,OAAO,WAAW,KACjB,OAAO,EAAE,GAAG,IAqEd,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Conversation, Message } from '@epam/ai-dial-chat-shared';
|
|
2
|
+
/**
|
|
3
|
+
* A generation's assistant message accumulated while its conversation isn't
|
|
4
|
+
* the displayed one (a background stream, or a resume attach), keyed by
|
|
5
|
+
* conversation path so it can be restored once that conversation is shown
|
|
6
|
+
* again.
|
|
7
|
+
*/
|
|
8
|
+
export interface BufferedGeneration {
|
|
9
|
+
generationId: string;
|
|
10
|
+
messageIndex: number;
|
|
11
|
+
message: Message;
|
|
12
|
+
}
|
|
13
|
+
/** Restores `buffered.message` into `conversation` at `buffered.messageIndex`, merging into whatever message is already there. */
|
|
14
|
+
export declare const restoreBufferedMessage: (conversation: Conversation, buffered: BufferedGeneration) => Conversation;
|
|
15
|
+
//# sourceMappingURL=buffered-generation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buffered-generation.d.ts","sourceRoot":"","sources":["../../../src/conversation/useConversationStream/buffered-generation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAEvE;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;CAClB;AAgBD,kIAAkI;AAClI,eAAO,MAAM,sBAAsB,GACjC,cAAc,YAAY,EAC1B,UAAU,kBAAkB,KAC3B,YAeF,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Strips the leading bucket segment from a conversation id and decodes any
|
|
3
|
+
* already-percent-encoded remainder back to raw, so callers that re-encode
|
|
4
|
+
* the result once (e.g. an API client) don't double-encode it on the wire.
|
|
5
|
+
*/
|
|
6
|
+
export declare const getConversationPath: (conversationId: string) => string;
|
|
7
|
+
//# sourceMappingURL=conversation-path.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conversation-path.d.ts","sourceRoot":"","sources":["../../../src/conversation/useConversationStream/conversation-path.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAAI,gBAAgB,MAAM,KAAG,MAO5D,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/** Coalesces work per key into at most one run per animation frame. */
|
|
2
|
+
export interface FrameScheduler {
|
|
3
|
+
/** Runs `task` on the next frame, replacing any task still pending for `key`. */
|
|
4
|
+
schedule: (key: string, task: () => void) => void;
|
|
5
|
+
/** Runs the task pending for `key` now, if any; it will not run again. */
|
|
6
|
+
flush: (key: string) => void;
|
|
7
|
+
/** Drops the task pending for `key` without running it. */
|
|
8
|
+
cancel: (key: string) => void;
|
|
9
|
+
/** Drops every pending task without running it. */
|
|
10
|
+
cancelAll: () => void;
|
|
11
|
+
}
|
|
12
|
+
/** Returns a scheduler that runs the latest task per key once per animation frame. */
|
|
13
|
+
export declare const createFrameScheduler: () => FrameScheduler;
|
|
14
|
+
//# sourceMappingURL=frame-scheduler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"frame-scheduler.d.ts","sourceRoot":"","sources":["../../../src/conversation/useConversationStream/frame-scheduler.ts"],"names":[],"mappings":"AAGA,uEAAuE;AACvE,MAAM,WAAW,cAAc;IAC7B,iFAAiF;IACjF,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;IAClD,0EAA0E;IAC1E,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,2DAA2D;IAC3D,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9B,mDAAmD;IACnD,SAAS,EAAE,MAAM,IAAI,CAAC;CACvB;AAgBD,sFAAsF;AACtF,eAAO,MAAM,oBAAoB,QAAO,cAmCvC,CAAC"}
|