@epam/ai-dial-chat-hooks 1.1.0-dev.383 → 1.1.0-dev.390
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-DuLNy43N.js +45 -0
- package/attachment-types-AAoN9E95.js +7760 -0
- package/{attachment/useAttachmentValidation/useAttachmentValidation.d.ts → attachments.d.ts} +88 -44
- package/attachments.js +2 -0
- package/browser-Btsa0Lmr.js +607 -0
- package/catalog.d.ts +946 -0
- package/catalog.js +3 -0
- package/{conversation-sources/useConversationSources/useConversationSources.d.ts → conversation-sources.d.ts} +25 -20
- package/conversation-sources.js +2 -0
- package/conversation-transfer.d.ts +189 -0
- package/conversation-transfer.js +3 -0
- package/conversation.d.ts +907 -0
- package/conversation.js +2 -0
- package/cron-weekday-B4w29eAC.js +4 -0
- package/date-BeuD8G79.js +4 -0
- package/deployment-id-CxWgJTs9.js +6 -0
- package/file-manager.d.ts +1344 -0
- package/file-manager.js +4 -0
- package/formatting-CZyyxBG3.js +4 -0
- package/index.d.ts +4945 -126
- package/index.js +27 -19152
- package/oauth.d.ts +440 -0
- package/oauth.js +3 -0
- package/package.json +142 -21
- package/prompt-resource-Bt1I-8ri.js +41 -0
- package/scheduled-task-trigger-D9RZCk52.js +145 -0
- package/{scheduled-task/scheduled-task-trigger.d.ts → scheduled-tasks.d.ts} +51 -27
- package/scheduled-tasks.js +2 -0
- package/{conversation/useConversationScroll/useConversationScroll.d.ts → scroll-anchoring.d.ts} +50 -46
- package/scroll-anchoring.js +2 -0
- package/{useShareRecipientsCount/useShareRecipientsCount.d.ts → sharing.d.ts} +65 -36
- package/sharing.js +3 -0
- package/skill-editor.d.ts +503 -0
- package/skill-editor.js +3 -0
- package/skill-manifest-CCX8s4nn.js +4035 -0
- package/{skill/useSkillsState/useSkillsState.d.ts → skills-state.d.ts} +40 -35
- package/skills-state.js +2 -0
- package/string-utils-iBi2Y55C.js +10 -0
- package/toolset-id-CkxRHyU0.js +10 -0
- package/useAttachmentValidation-CkMTd5lA.js +102 -0
- package/useConversationImport-C2h1GBY4.js +807 -0
- package/useConversationScroll-CliIMnjP.js +122 -0
- package/useConversationSources-DKaKvjXZ.js +47 -0
- package/useDialFileManagerTabConfig-DGQw8H8H.js +2289 -0
- package/usePanelMaxWidth-BEZYuqF9.js +44 -0
- package/useShareLink-xkiaxATt.js +44 -0
- package/useShareRecipientsCount-BgwCLKY0.js +37 -0
- package/useSkillFileActions-BU5PzZ_8.js +373 -0
- package/useSkillFilePreview-BYfZUJhr.js +1005 -0
- package/useSkillsState-BoLlwmzb.js +52 -0
- package/useToolsMenu-BXdahO0i.js +1874 -0
- package/useToolsetLogin-GhFtKs4D.js +276 -0
- package/useUsageData-D7BxloKZ.js +201 -0
- package/utils.d.ts +373 -0
- package/utils.js +7 -0
- package/{usePageFileDrag/usePageFileDrag.d.ts → viewport-layout.d.ts} +27 -16
- package/viewport-layout.js +2 -0
- package/api-error/api-error.d.ts +0 -18
- package/api-error/api-error.d.ts.map +0 -1
- package/api-transport/create-csrf-middleware.d.ts +0 -15
- package/api-transport/create-csrf-middleware.d.ts.map +0 -1
- package/api-transport/create-unauthorized-middleware.d.ts +0 -40
- package/api-transport/create-unauthorized-middleware.d.ts.map +0 -1
- package/attachment/useAttachmentAction/useAttachmentAction.d.ts +0 -32
- package/attachment/useAttachmentAction/useAttachmentAction.d.ts.map +0 -1
- package/attachment/useAttachmentValidation/useAttachmentValidation.d.ts.map +0 -1
- package/catalog/catalog-derivations.d.ts +0 -27
- package/catalog/catalog-derivations.d.ts.map +0 -1
- package/catalog/catalog-primary-action.d.ts +0 -47
- package/catalog/catalog-primary-action.d.ts.map +0 -1
- package/catalog/create-publish-api.d.ts +0 -32
- package/catalog/create-publish-api.d.ts.map +0 -1
- package/catalog/deployment-endpoint-url.d.ts +0 -19
- package/catalog/deployment-endpoint-url.d.ts.map +0 -1
- package/catalog/deployment-id.d.ts +0 -21
- package/catalog/deployment-id.d.ts.map +0 -1
- package/catalog/entity-details.d.ts +0 -132
- package/catalog/entity-details.d.ts.map +0 -1
- package/catalog/map-deployment-limits-to-catalog.d.ts +0 -33
- package/catalog/map-deployment-limits-to-catalog.d.ts.map +0 -1
- package/catalog/map-deployment-limits-to-input.d.ts +0 -15
- package/catalog/map-deployment-limits-to-input.d.ts.map +0 -1
- package/catalog/map-deployment-to-catalog-item.d.ts +0 -60
- package/catalog/map-deployment-to-catalog-item.d.ts.map +0 -1
- package/catalog/map-entity-details-to-catalog.d.ts +0 -23
- package/catalog/map-entity-details-to-catalog.d.ts.map +0 -1
- package/catalog/map-prompt-to-catalog-item.d.ts +0 -43
- package/catalog/map-prompt-to-catalog-item.d.ts.map +0 -1
- package/catalog/map-skill-to-catalog-item.d.ts +0 -87
- package/catalog/map-skill-to-catalog-item.d.ts.map +0 -1
- package/catalog/mcp-endpoint-url.d.ts +0 -18
- package/catalog/mcp-endpoint-url.d.ts.map +0 -1
- package/catalog/publish.d.ts +0 -17
- package/catalog/publish.d.ts.map +0 -1
- package/catalog/useCatalogItemDetails.d.ts +0 -73
- package/catalog/useCatalogItemDetails.d.ts.map +0 -1
- package/catalog/useFavoriteEntitiesState/useFavoriteEntitiesState.d.ts +0 -37
- package/catalog/useFavoriteEntitiesState/useFavoriteEntitiesState.d.ts.map +0 -1
- package/catalog/usePublishFolders/usePublishFolders.d.ts +0 -73
- package/catalog/usePublishFolders/usePublishFolders.d.ts.map +0 -1
- package/conversation/announcement-message.d.ts +0 -34
- package/conversation/announcement-message.d.ts.map +0 -1
- package/conversation/conversation-transfer/async.d.ts +0 -10
- package/conversation/conversation-transfer/async.d.ts.map +0 -1
- package/conversation/conversation-transfer/attachment-refs.d.ts +0 -12
- package/conversation/conversation-transfer/attachment-refs.d.ts.map +0 -1
- package/conversation/conversation-transfer/build-upload-path.d.ts +0 -40
- package/conversation/conversation-transfer/build-upload-path.d.ts.map +0 -1
- package/conversation/conversation-transfer/date.d.ts +0 -5
- package/conversation/conversation-transfer/date.d.ts.map +0 -1
- package/conversation/conversation-transfer/dial-file-resolve.d.ts +0 -10
- package/conversation/conversation-transfer/dial-file-resolve.d.ts.map +0 -1
- package/conversation/conversation-transfer/export-conversation.d.ts +0 -8
- package/conversation/conversation-transfer/export-conversation.d.ts.map +0 -1
- package/conversation/conversation-transfer/import-conversation.d.ts +0 -82
- package/conversation/conversation-transfer/import-conversation.d.ts.map +0 -1
- package/conversation/conversation-transfer/progress.d.ts +0 -60
- package/conversation/conversation-transfer/progress.d.ts.map +0 -1
- package/conversation/conversation-transfer/queue.d.ts +0 -54
- package/conversation/conversation-transfer/queue.d.ts.map +0 -1
- package/conversation/conversation-transfer/types.d.ts +0 -36
- package/conversation/conversation-transfer/types.d.ts.map +0 -1
- package/conversation/conversation-transfer/zip-export.d.ts +0 -31
- package/conversation/conversation-transfer/zip-export.d.ts.map +0 -1
- package/conversation/conversation-transfer/zip-import.d.ts +0 -17
- package/conversation/conversation-transfer/zip-import.d.ts.map +0 -1
- package/conversation/create-chat-stream-api.d.ts +0 -38
- package/conversation/create-chat-stream-api.d.ts.map +0 -1
- package/conversation/deriveConversationRowActionState/deriveConversationRowActionState.d.ts +0 -39
- package/conversation/deriveConversationRowActionState/deriveConversationRowActionState.d.ts.map +0 -1
- package/conversation/display-name-watch.d.ts +0 -4
- package/conversation/display-name-watch.d.ts.map +0 -1
- package/conversation/footer-message.d.ts +0 -10
- package/conversation/footer-message.d.ts.map +0 -1
- package/conversation/get-model-id-from-conversation-id.d.ts +0 -27
- package/conversation/get-model-id-from-conversation-id.d.ts.map +0 -1
- package/conversation/greeting.d.ts +0 -18
- package/conversation/greeting.d.ts.map +0 -1
- package/conversation/message-factory.d.ts +0 -7
- package/conversation/message-factory.d.ts.map +0 -1
- package/conversation/message-utils.d.ts +0 -27
- package/conversation/message-utils.d.ts.map +0 -1
- package/conversation/overlay-messages.d.ts +0 -5
- package/conversation/overlay-messages.d.ts.map +0 -1
- package/conversation/quick-app-conversation-starters.d.ts +0 -10
- package/conversation/quick-app-conversation-starters.d.ts.map +0 -1
- package/conversation/starter-option.d.ts +0 -21
- package/conversation/starter-option.d.ts.map +0 -1
- package/conversation/useActiveConversationSync/useActiveConversationSync.d.ts +0 -34
- package/conversation/useActiveConversationSync/useActiveConversationSync.d.ts.map +0 -1
- package/conversation/useAsyncConfirmDialog/useAsyncConfirmDialog.d.ts +0 -46
- package/conversation/useAsyncConfirmDialog/useAsyncConfirmDialog.d.ts.map +0 -1
- package/conversation/useAttachmentUpload/useAttachmentUpload.d.ts +0 -26
- package/conversation/useAttachmentUpload/useAttachmentUpload.d.ts.map +0 -1
- package/conversation/useConversationExport/useConversationExport.d.ts +0 -72
- package/conversation/useConversationExport/useConversationExport.d.ts.map +0 -1
- package/conversation/useConversationHandlers/attachment-to-dto.d.ts +0 -7
- package/conversation/useConversationHandlers/attachment-to-dto.d.ts.map +0 -1
- package/conversation/useConversationHandlers/message-factory.d.ts +0 -9
- package/conversation/useConversationHandlers/message-factory.d.ts.map +0 -1
- package/conversation/useConversationHandlers/message-utils.d.ts +0 -14
- package/conversation/useConversationHandlers/message-utils.d.ts.map +0 -1
- package/conversation/useConversationHandlers/starter-option.d.ts +0 -14
- package/conversation/useConversationHandlers/starter-option.d.ts.map +0 -1
- package/conversation/useConversationHandlers/useConversationHandlers.d.ts +0 -66
- package/conversation/useConversationHandlers/useConversationHandlers.d.ts.map +0 -1
- package/conversation/useConversationImport/useConversationImport.d.ts +0 -53
- package/conversation/useConversationImport/useConversationImport.d.ts.map +0 -1
- package/conversation/useConversationLookupMaps/useConversationLookupMaps.d.ts +0 -24
- package/conversation/useConversationLookupMaps/useConversationLookupMaps.d.ts.map +0 -1
- package/conversation/useConversationPanelItems/useConversationPanelItems.d.ts +0 -58
- package/conversation/useConversationPanelItems/useConversationPanelItems.d.ts.map +0 -1
- package/conversation/useConversationScroll/useConversationScroll.d.ts.map +0 -1
- package/conversation/useConversationStream/apply-chunk.d.ts +0 -20
- package/conversation/useConversationStream/apply-chunk.d.ts.map +0 -1
- package/conversation/useConversationStream/buffered-generation.d.ts +0 -15
- package/conversation/useConversationStream/buffered-generation.d.ts.map +0 -1
- package/conversation/useConversationStream/conversation-path.d.ts +0 -7
- package/conversation/useConversationStream/conversation-path.d.ts.map +0 -1
- package/conversation/useConversationStream/generation-resume.d.ts +0 -39
- package/conversation/useConversationStream/generation-resume.d.ts.map +0 -1
- package/conversation/useConversationStream/useConversationStream.d.ts +0 -92
- package/conversation/useConversationStream/useConversationStream.d.ts.map +0 -1
- package/conversation/useImportFilePicker/useImportFilePicker.d.ts +0 -32
- package/conversation/useImportFilePicker/useImportFilePicker.d.ts.map +0 -1
- package/conversation-sources/useConversationSources/useConversationSources.d.ts.map +0 -1
- package/files/annotation.d.ts +0 -10
- package/files/annotation.d.ts.map +0 -1
- package/files/attachment-canvas.d.ts +0 -104
- package/files/attachment-canvas.d.ts.map +0 -1
- package/files/attachment-dto-to-display.d.ts +0 -10
- package/files/attachment-dto-to-display.d.ts.map +0 -1
- package/files/attachment-types.d.ts +0 -14
- package/files/attachment-types.d.ts.map +0 -1
- package/files/create-files-api.d.ts +0 -52
- package/files/create-files-api.d.ts.map +0 -1
- package/files/create-upload-file-with-progress.d.ts +0 -24
- package/files/create-upload-file-with-progress.d.ts.map +0 -1
- package/files/dial-file-manager-copy-move.util.d.ts +0 -15
- package/files/dial-file-manager-copy-move.util.d.ts.map +0 -1
- package/files/dial-file-manager-mapping.util.d.ts +0 -35
- package/files/dial-file-manager-mapping.util.d.ts.map +0 -1
- package/files/dial-file-manager-path.util.d.ts +0 -39
- package/files/dial-file-manager-path.util.d.ts.map +0 -1
- package/files/dial-file-manager.model.d.ts +0 -26
- package/files/dial-file-manager.model.d.ts.map +0 -1
- package/files/dial-file-manager.types.d.ts +0 -317
- package/files/dial-file-manager.types.d.ts.map +0 -1
- package/files/dial-file-to-attachment.d.ts +0 -26
- package/files/dial-file-to-attachment.d.ts.map +0 -1
- package/files/dial-file.d.ts +0 -17
- package/files/dial-file.d.ts.map +0 -1
- package/files/dial-files-api.d.ts +0 -71
- package/files/dial-files-api.d.ts.map +0 -1
- package/files/download-destination.d.ts +0 -31
- package/files/download-destination.d.ts.map +0 -1
- package/files/file-manager-variant.d.ts +0 -4
- package/files/file-manager-variant.d.ts.map +0 -1
- package/files/file-name.d.ts +0 -19
- package/files/file-name.d.ts.map +0 -1
- package/files/prepare-download-destination.d.ts +0 -8
- package/files/prepare-download-destination.d.ts.map +0 -1
- package/files/resolve-dial-file-api-path.d.ts +0 -13
- package/files/resolve-dial-file-api-path.d.ts.map +0 -1
- package/files/useDialFileListing/useDialFileListing.d.ts +0 -73
- package/files/useDialFileListing/useDialFileListing.d.ts.map +0 -1
- package/files/useDialFileManager/useDialFileManager.d.ts +0 -16
- package/files/useDialFileManager/useDialFileManager.d.ts.map +0 -1
- package/files/useDialFileManagerTabConfig/useDialFileManagerTabConfig.d.ts +0 -14
- package/files/useDialFileManagerTabConfig/useDialFileManagerTabConfig.d.ts.map +0 -1
- package/files/useDialFileMetadata/useDialFileMetadata.d.ts +0 -28
- package/files/useDialFileMetadata/useDialFileMetadata.d.ts.map +0 -1
- package/files/useDialFileMutations/useDialFileMutations.d.ts +0 -68
- package/files/useDialFileMutations/useDialFileMutations.d.ts.map +0 -1
- package/files/useDialFileSharing/useDialFileSharing.d.ts +0 -30
- package/files/useDialFileSharing/useDialFileSharing.d.ts.map +0 -1
- package/files/useDialFileUploadBatch/useDialFileUploadBatch.d.ts +0 -45
- package/files/useDialFileUploadBatch/useDialFileUploadBatch.d.ts.map +0 -1
- package/index.d.ts.map +0 -1
- package/oauth/authorize-url.d.ts +0 -16
- package/oauth/authorize-url.d.ts.map +0 -1
- package/oauth/handshake.d.ts +0 -30
- package/oauth/handshake.d.ts.map +0 -1
- package/oauth/models.d.ts +0 -81
- package/oauth/models.d.ts.map +0 -1
- package/oauth/popup.d.ts +0 -30
- package/oauth/popup.d.ts.map +0 -1
- package/oauth/toolset-id.d.ts +0 -23
- package/oauth/toolset-id.d.ts.map +0 -1
- package/oauth/types.d.ts +0 -84
- package/oauth/types.d.ts.map +0 -1
- package/oauth/useOAuthCallbackCompletion/useOAuthCallbackCompletion.d.ts +0 -54
- package/oauth/useOAuthCallbackCompletion/useOAuthCallbackCompletion.d.ts.map +0 -1
- package/oauth/useToolsetLogin/useToolsetLogin.d.ts +0 -79
- package/oauth/useToolsetLogin/useToolsetLogin.d.ts.map +0 -1
- package/prompt/export-prompt.d.ts +0 -31
- package/prompt/export-prompt.d.ts.map +0 -1
- package/prompt/prompt-resource.d.ts +0 -30
- package/prompt/prompt-resource.d.ts.map +0 -1
- package/prompt/prompt.d.ts +0 -34
- package/prompt/prompt.d.ts.map +0 -1
- package/prompt/usePromptsState/usePromptsState.d.ts +0 -34
- package/prompt/usePromptsState/usePromptsState.d.ts.map +0 -1
- package/scheduled-task/scheduled-task-mapping.d.ts +0 -19
- package/scheduled-task/scheduled-task-mapping.d.ts.map +0 -1
- package/scheduled-task/scheduled-task-trigger.d.ts.map +0 -1
- package/shared/application-schema.d.ts +0 -10
- package/shared/application-schema.d.ts.map +0 -1
- package/shared/browser-timezone.d.ts +0 -7
- package/shared/browser-timezone.d.ts.map +0 -1
- package/shared/cron-weekday.d.ts +0 -5
- package/shared/cron-weekday.d.ts.map +0 -1
- package/shared/custom-apps.d.ts +0 -7
- package/shared/custom-apps.d.ts.map +0 -1
- package/shared/external-services.d.ts +0 -16
- package/shared/external-services.d.ts.map +0 -1
- package/shared/formatting.d.ts +0 -5
- package/shared/formatting.d.ts.map +0 -1
- package/shared/locale.d.ts +0 -45
- package/shared/locale.d.ts.map +0 -1
- package/shared/string-utils.d.ts +0 -9
- package/shared/string-utils.d.ts.map +0 -1
- package/shared/toolset-login-events.d.ts +0 -15
- package/shared/toolset-login-events.d.ts.map +0 -1
- package/skill/skill-file-batch-validation.d.ts +0 -70
- package/skill/skill-file-batch-validation.d.ts.map +0 -1
- package/skill/skill-file-preview.d.ts +0 -25
- package/skill/skill-file-preview.d.ts.map +0 -1
- package/skill/skill-manifest.d.ts +0 -28
- package/skill/skill-manifest.d.ts.map +0 -1
- package/skill/skill-types.d.ts +0 -42
- package/skill/skill-types.d.ts.map +0 -1
- package/skill/skill.d.ts +0 -114
- package/skill/skill.d.ts.map +0 -1
- package/skill/useSkillEditorLoad.d.ts +0 -74
- package/skill/useSkillEditorLoad.d.ts.map +0 -1
- package/skill/useSkillEditorSubmit.d.ts +0 -105
- package/skill/useSkillEditorSubmit.d.ts.map +0 -1
- package/skill/useSkillFileActions.d.ts +0 -53
- package/skill/useSkillFileActions.d.ts.map +0 -1
- package/skill/useSkillFilePreview.d.ts +0 -38
- package/skill/useSkillFilePreview.d.ts.map +0 -1
- package/skill/useSkillsState/useSkillsState.d.ts.map +0 -1
- package/test-setup.d.ts +0 -2
- package/test-setup.d.ts.map +0 -1
- package/usage/useUsageData/useUsageData.d.ts +0 -20
- package/usage/useUsageData/useUsageData.d.ts.map +0 -1
- package/useChatSettingsFormConfig/useChatSettingsFormConfig.d.ts +0 -128
- package/useChatSettingsFormConfig/useChatSettingsFormConfig.d.ts.map +0 -1
- package/usePageFileDrag/usePageFileDrag.d.ts.map +0 -1
- package/usePanelMaxWidth/usePanelMaxWidth.d.ts +0 -6
- package/usePanelMaxWidth/usePanelMaxWidth.d.ts.map +0 -1
- package/useShareLink/useShareLink.d.ts +0 -23
- package/useShareLink/useShareLink.d.ts.map +0 -1
- package/useShareRecipientsCount/useShareRecipientsCount.d.ts.map +0 -1
- package/useToolsMenu/useToolsMenu.d.ts +0 -31
- package/useToolsMenu/useToolsMenu.d.ts.map +0 -1
- package/useViewportWidth/useViewportWidth.d.ts +0 -3
- package/useViewportWidth/useViewportWidth.d.ts.map +0 -1
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
import { ConversationsApi, FilesApi, RateApi, SendCompletionDtoModeEnum } from '@epam/ai-dial-chat-api-client';
|
|
2
|
-
import { Attachment, Conversation, DisplayAttachment, MessageCustomContent, MessageRating, StarterOption } from '@epam/ai-dial-chat-shared';
|
|
3
|
-
import { ConversationStateAccessor } 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) => 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[]) => Promise<void>;
|
|
34
|
-
handleUploadAttachment: (attachment: Attachment) => Promise<string>;
|
|
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[]) => 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
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useConversationHandlers.d.ts","sourceRoot":"","sources":["../../../src/conversation/useConversationHandlers/useConversationHandlers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,53 +0,0 @@
|
|
|
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), regenerates each
|
|
48
|
-
* conversation's id/path with a fresh UUID (collision-free save, no replace
|
|
49
|
-
* dialog), and persists every conversation through the injected
|
|
50
|
-
* `conversationsApi`. One job per imported file, not per conversation.
|
|
51
|
-
*/
|
|
52
|
-
export declare const useConversationImport: ({ conversationsApi, filesApi, bucket, onImported, classifyTransferError, resolveErrorTraceId, onSuccess, onWarning, onError, }: UseConversationImportParams) => UseConversationImportResult;
|
|
53
|
-
//# sourceMappingURL=useConversationImport.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
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;AAuBnC,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;;;;;;;;;GASG;AACH,eAAO,MAAM,qBAAqB,GAAI,gIAUnC,2BAA2B,KAAG,2BA6ShC,CAAC"}
|
|
@@ -1,24 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import { ConversationListItemDto, DeploymentItemDto } from '@epam/ai-dial-chat-api-client';
|
|
2
|
-
import { FilterTab } from '@epam/ai-dial-chat-shared';
|
|
3
|
-
/**
|
|
4
|
-
* Classifies a conversation's ownership using the shared filter-tab contract.
|
|
5
|
-
*/
|
|
6
|
-
export declare const getConversationSource: (item: Pick<ConversationListItemDto, "sharedWithMe" | "publishedWithMe">) => FilterTab;
|
|
7
|
-
/** Resolver callbacks injected by the host app into `useConversationPanelItems`. */
|
|
8
|
-
export interface UseConversationPanelItemsResolvers {
|
|
9
|
-
/** Converts a raw conversation id to the panel-space id. App-specific. */
|
|
10
|
-
toPanelConversationId: (id: string) => string;
|
|
11
|
-
/** Resolves the icon URL for a deployment. Returns `undefined` when not available. */
|
|
12
|
-
resolveIconUrl: (deployment: DeploymentItemDto | undefined) => string | undefined;
|
|
13
|
-
/**
|
|
14
|
-
* Resolves the icon tooltip text. Receives the matched deployment (or
|
|
15
|
-
* `undefined`) and a decoded fallback string derived from the model path.
|
|
16
|
-
*/
|
|
17
|
-
resolveIconTooltip: (deployment: DeploymentItemDto | undefined, fallback: string) => string | undefined;
|
|
18
|
-
/** Resolves the href to navigate to when the conversation row is clicked. */
|
|
19
|
-
resolveHref: (panelConversationId: string) => string;
|
|
20
|
-
/**
|
|
21
|
-
* Returns badge metadata for a scheduled-task conversation, or `undefined`
|
|
22
|
-
* when the item should not show a task badge.
|
|
23
|
-
*/
|
|
24
|
-
resolveTaskBadge?: (item: ConversationListItemDto) => {
|
|
25
|
-
label: string;
|
|
26
|
-
isUnread: boolean;
|
|
27
|
-
} | undefined;
|
|
28
|
-
}
|
|
29
|
-
/** Parameters accepted by `useConversationPanelItems`. */
|
|
30
|
-
export interface UseConversationPanelItemsParams extends UseConversationPanelItemsResolvers {
|
|
31
|
-
/** Raw conversation list from the API. */
|
|
32
|
-
items: ConversationListItemDto[];
|
|
33
|
-
/** Available deployments used to resolve icons and tooltips. */
|
|
34
|
-
deployments: DeploymentItemDto[];
|
|
35
|
-
/** Whether the deployments list is still loading (drives `isIconLoading`). */
|
|
36
|
-
isDeploymentsLoading: boolean;
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Maps raw `ConversationListItemDto[]` to panel-compatible conversation items.
|
|
40
|
-
*
|
|
41
|
-
* Returns a memoised array whose shape is compatible with the conversation
|
|
42
|
-
* panel's item contract. All app-specific concerns (icon URL resolution,
|
|
43
|
-
* route generation, id normalisation) are injected via resolver callbacks.
|
|
44
|
-
*/
|
|
45
|
-
export declare const useConversationPanelItems: ({ items, deployments, isDeploymentsLoading, toPanelConversationId, resolveIconUrl, resolveIconTooltip, resolveHref, resolveTaskBadge, }: UseConversationPanelItemsParams) => {
|
|
46
|
-
showTaskBadge?: boolean | undefined;
|
|
47
|
-
taskBadgeLabel?: string | undefined;
|
|
48
|
-
isUnread?: boolean | undefined;
|
|
49
|
-
id: string;
|
|
50
|
-
title: string;
|
|
51
|
-
isPinned: boolean;
|
|
52
|
-
iconUrl: string | undefined;
|
|
53
|
-
iconTooltip: string | undefined;
|
|
54
|
-
isIconLoading: boolean;
|
|
55
|
-
source: FilterTab;
|
|
56
|
-
href: string;
|
|
57
|
-
}[];
|
|
58
|
-
//# sourceMappingURL=useConversationPanelItems.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
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;AAMtD;;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;;;OAGG;IACH,gBAAgB,CAAC,EAAE,CACjB,IAAI,EAAE,uBAAuB,KAC1B;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,GAAG,SAAS,CAAC;CACvD;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;AAED;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,GAAI,yIASvC,+BAA+B;;;;;;;;;;;;GAkD/B,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
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,2BAySnC,CAAC"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { Message, StreamChunk } from '@epam/ai-dial-chat-shared';
|
|
2
|
-
/**
|
|
3
|
-
* Applies a single SSE stream chunk to the message list.
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* Attachments are accumulated: each chunk's attachments are appended to the
|
|
7
|
-
* existing array rather than replacing it.
|
|
8
|
-
*
|
|
9
|
-
* Annotations are merged by `index`: partial `body.title` and `body.quote`
|
|
10
|
-
* strings are concatenated across chunks, matching the same delta-merge
|
|
11
|
-
* semantics used for stages.
|
|
12
|
-
*
|
|
13
|
-
* `state` is overwritten (not merged) by each chunk that carries one,
|
|
14
|
-
* matching the DIAL stateful-app contract.
|
|
15
|
-
*
|
|
16
|
-
* @returns Updated message array, or `null` when the chunk carries no
|
|
17
|
-
* actionable data (empty content, no form_schema, and no attachments).
|
|
18
|
-
*/
|
|
19
|
-
export declare const applyChunkToMessages: (messages: Message[], messageIndex: number, chunk: StreamChunk) => Message[] | null;
|
|
20
|
-
//# sourceMappingURL=apply-chunk.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"apply-chunk.d.ts","sourceRoot":"","sources":["../../../src/conversation/useConversationStream/apply-chunk.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,OAAO,EAGP,WAAW,EACZ,MAAM,2BAA2B,CAAC;AA2FnC;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,oBAAoB,GAC/B,UAAU,OAAO,EAAE,EACnB,cAAc,MAAM,EACpB,OAAO,WAAW,KACjB,OAAO,EAAE,GAAG,IAqEd,CAAC"}
|
|
@@ -1,15 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,7 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { Conversation } from '@epam/ai-dial-chat-shared';
|
|
2
|
-
import { Dispatch, MutableRefObject, SetStateAction } from 'react';
|
|
3
|
-
import { BufferedGeneration } from './buffered-generation';
|
|
4
|
-
import { ConversationStreamTransport } from './useConversationStream';
|
|
5
|
-
/**
|
|
6
|
-
* True when the conversation's last message is an unresolved assistant
|
|
7
|
-
* placeholder: the backend only persists a conversation at generation start
|
|
8
|
-
* (empty placeholder) and at generation end (final content, or a partial
|
|
9
|
-
* flagged `streamErrorMessage`/`wasStoppedByUser`), so this shape means a
|
|
10
|
-
* generation was still active elsewhere when the conversation was loaded.
|
|
11
|
-
*/
|
|
12
|
-
export declare const isAwaitingGenerationResume: (conversation: Conversation) => boolean;
|
|
13
|
-
/** Host-owned state {@link createResumeIfAwaitingGeneration} reads/writes through. */
|
|
14
|
-
export interface ResumeIfAwaitingGenerationDeps {
|
|
15
|
-
transport: ConversationStreamTransport;
|
|
16
|
-
setConversation: Dispatch<SetStateAction<Conversation | null>>;
|
|
17
|
-
conversationRef: MutableRefObject<Conversation | null>;
|
|
18
|
-
resumingPathsRef: MutableRefObject<Set<string>>;
|
|
19
|
-
bufferedGenerationsRef: MutableRefObject<Map<string, BufferedGeneration>>;
|
|
20
|
-
addStreamingPath: (path: string) => void;
|
|
21
|
-
removeStreamingPath: (path: string) => void;
|
|
22
|
-
isPathDisplayed: (path: string) => boolean;
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* Builds `resumeIfAwaitingGeneration`: a hard refresh mid-generation loads a
|
|
26
|
-
* conversation whose last message is the backend's empty start-state
|
|
27
|
-
* placeholder (no incremental save exists to show partial content). Rather
|
|
28
|
-
* than leaving that static and forever empty, this marks the path as
|
|
29
|
-
* streaming — for free, reusing the same typing indicator and any
|
|
30
|
-
* `isStreaming` guards a composed handlers hook already applies — and
|
|
31
|
-
* attaches to the backend's live replay of the in-flight generation
|
|
32
|
-
* (`transport.attachToGeneration`), showing the assistant message populate
|
|
33
|
-
* progressively. It falls back to watching the conversation's generic
|
|
34
|
-
* resource-update channel (`transport.watchConversation`) until the
|
|
35
|
-
* backend's finalize save resolves the placeholder whenever attach is
|
|
36
|
-
* unavailable or ends without a terminal event.
|
|
37
|
-
*/
|
|
38
|
-
export declare const createResumeIfAwaitingGeneration: ({ transport, setConversation, conversationRef, resumingPathsRef, bufferedGenerationsRef, addStreamingPath, removeStreamingPath, isPathDisplayed, }: ResumeIfAwaitingGenerationDeps) => (currentConversationId: string, conversation: Conversation) => void;
|
|
39
|
-
//# sourceMappingURL=generation-resume.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"generation-resume.d.ts","sourceRoot":"","sources":["../../../src/conversation/useConversationStream/generation-resume.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,YAAY,EAIlB,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAGxE,OAAO,EACL,KAAK,kBAAkB,EAExB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AAsB3E;;;;;;GAMG;AACH,eAAO,MAAM,0BAA0B,GACrC,cAAc,YAAY,KACzB,OASF,CAAC;AAqFF,sFAAsF;AACtF,MAAM,WAAW,8BAA8B;IAC7C,SAAS,EAAE,2BAA2B,CAAC;IACvC,eAAe,EAAE,QAAQ,CAAC,cAAc,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC,CAAC;IAC/D,eAAe,EAAE,gBAAgB,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IACvD,gBAAgB,EAAE,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAChD,sBAAsB,EAAE,gBAAgB,CAAC,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAC1E,gBAAgB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,mBAAmB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,eAAe,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;CAC5C;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,gCAAgC,GAAI,oJAS9C,8BAA8B,MACvB,uBAAuB,MAAM,EAAE,cAAc,YAAY,KAAG,IA6KrE,CAAC"}
|
|
@@ -1,92 +0,0 @@
|
|
|
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
|
-
/** Requests the backend stop an active generation. */
|
|
20
|
-
stopCompletion(params: {
|
|
21
|
-
generationId: string;
|
|
22
|
-
path: string;
|
|
23
|
-
}): Promise<void>;
|
|
24
|
-
/** Opens a stream of resource-update events for `path`, until aborted via `signal`. */
|
|
25
|
-
watchConversation(path: string, signal: AbortSignal): Promise<ReadableStream<Uint8Array>>;
|
|
26
|
-
/**
|
|
27
|
-
* Attaches to an active generation's live replay: a `snapshot` event
|
|
28
|
-
* carrying the assistant message as assembled so far, then a `chunk` event
|
|
29
|
-
* per subsequent delta, then exactly one terminal event (`done`/`error`/
|
|
30
|
-
* `stopped`), until aborted via `signal`. Rejects when no active
|
|
31
|
-
* generation exists for `path` — including one that already finished —
|
|
32
|
-
* so the caller can fall back to `watchConversation`.
|
|
33
|
-
*/
|
|
34
|
-
attachToGeneration(path: string, signal: AbortSignal): Promise<ReadableStream<Uint8Array>>;
|
|
35
|
-
/** Reloads the persisted conversation by its full (bucket-qualified) id. */
|
|
36
|
-
getConversation(conversationId: string, signal?: AbortSignal): Promise<Conversation>;
|
|
37
|
-
}
|
|
38
|
-
/** Host-owned generation lifecycle, backing cross-navigation `AbortController` ownership. */
|
|
39
|
-
export interface ConversationGenerationLifecycle {
|
|
40
|
-
/** Starts (or replaces) tracking for a generation on `path`, returning its `AbortController`. */
|
|
41
|
-
startGeneration: (path: string, generationId: string) => AbortController;
|
|
42
|
-
/** Marks the generation identified by `path`/`generationId` complete, if it is still the active one. */
|
|
43
|
-
completeGeneration: (path: string, generationId: string) => void;
|
|
44
|
-
}
|
|
45
|
-
/** Optional host-owned client-channel connection, used to nudge tool-signin delivery. */
|
|
46
|
-
export interface ConversationStreamChannel {
|
|
47
|
-
channelId: string | null;
|
|
48
|
-
ensureConnected: () => void;
|
|
49
|
-
/** 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. */
|
|
50
|
-
waitForChannel: (timeoutMs?: number) => Promise<string | null>;
|
|
51
|
-
}
|
|
52
|
-
/** Optional host-owned overlay generation-lifecycle notifications. Each method is independently optional. */
|
|
53
|
-
export interface ConversationStreamOverlayNotifier {
|
|
54
|
-
notifyGenerationStart?: () => void;
|
|
55
|
-
notifyGenerationEnd?: () => void;
|
|
56
|
-
notifyStopGenerating?: () => void;
|
|
57
|
-
}
|
|
58
|
-
/** Shared mutable channel through which the displayed conversation's state is read/written. */
|
|
59
|
-
export interface ConversationStateAccessor {
|
|
60
|
-
setConversation: Dispatch<SetStateAction<Conversation | null>>;
|
|
61
|
-
conversationRef: MutableRefObject<Conversation | null>;
|
|
62
|
-
}
|
|
63
|
-
/** Parameters for {@link useConversationStream}. */
|
|
64
|
-
export interface UseConversationStreamParams {
|
|
65
|
-
conversationId: string | undefined;
|
|
66
|
-
state: ConversationStateAccessor;
|
|
67
|
-
transport: ConversationStreamTransport;
|
|
68
|
-
generation: ConversationGenerationLifecycle;
|
|
69
|
-
channel?: ConversationStreamChannel;
|
|
70
|
-
overlay?: ConversationStreamOverlayNotifier;
|
|
71
|
-
onStopError?: (error: Error) => void;
|
|
72
|
-
}
|
|
73
|
-
/** Return value of {@link useConversationStream}. */
|
|
74
|
-
export interface UseConversationStreamResult {
|
|
75
|
-
startStream: (conversationId: string, userContent: string, messageIndex: number, model: string, customContent?: MessageCustomContent, generationId?: string, mode?: SendCompletionDtoModeEnum) => void;
|
|
76
|
-
handleStop: () => void;
|
|
77
|
-
resumeIfAwaitingGeneration: (currentConversationId: string, conversation: Conversation) => void;
|
|
78
|
-
/** Restores the accumulated live assistant message when its conversation is loaded again before completion. */
|
|
79
|
-
restoreBufferedGeneration: (currentConversationId: string, conversation: Conversation) => Conversation;
|
|
80
|
-
isStreaming: boolean;
|
|
81
|
-
canStopStreaming: boolean;
|
|
82
|
-
}
|
|
83
|
-
/**
|
|
84
|
-
* Owns completion-streaming state: per-path streaming/stoppable tracking,
|
|
85
|
-
* stale-chunk rejection, cross-navigation live-message buffering,
|
|
86
|
-
* reload-after-complete, backend-driven stop, and hard-refresh resume
|
|
87
|
-
* detection — all driven through the injected
|
|
88
|
-
* `transport`/`generation`/`channel`/`overlay` capabilities rather than any
|
|
89
|
-
* app context or `server-api` import.
|
|
90
|
-
*/
|
|
91
|
-
export declare const useConversationStream: ({ conversationId, state: { setConversation, conversationRef }, transport, generation: { startGeneration, completeGeneration }, channel, overlay, onStopError, }: UseConversationStreamParams) => UseConversationStreamResult;
|
|
92
|
-
//# sourceMappingURL=useConversationStream.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useConversationStream.d.ts","sourceRoot":"","sources":["../../../src/conversation/useConversationStream/useConversationStream.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { ChangeEvent, RefObject } from 'react';
|
|
2
|
-
/** Parameters for `useImportFilePicker`. */
|
|
3
|
-
export interface UseImportFilePickerParams {
|
|
4
|
-
/**
|
|
5
|
-
* MIME types / file-extension filter string passed to the hidden input's
|
|
6
|
-
* `accept` attribute. The host resolves any platform-specific policy before
|
|
7
|
-
* passing this value.
|
|
8
|
-
*/
|
|
9
|
-
accept?: string;
|
|
10
|
-
/** Called with the selected `File` after the user confirms their choice. */
|
|
11
|
-
onFileSelected: (file: File) => void;
|
|
12
|
-
}
|
|
13
|
-
/** Controls returned by `useImportFilePicker`. */
|
|
14
|
-
export interface UseImportFilePickerResult {
|
|
15
|
-
/** Ref to attach to the hidden `<input type="file">` element. */
|
|
16
|
-
inputRef: RefObject<HTMLInputElement | null>;
|
|
17
|
-
/** Programmatically opens the native file picker by clicking the hidden input. */
|
|
18
|
-
triggerImport: () => void;
|
|
19
|
-
/** `onChange` handler for the hidden input; calls `onFileSelected` and resets the value. */
|
|
20
|
-
handleFileChange: (event: ChangeEvent<HTMLInputElement>) => void;
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Manages the hidden `<input type="file">` pattern used to trigger a native
|
|
24
|
-
* file-picker without a visible control.
|
|
25
|
-
*
|
|
26
|
-
* The host renders `<input ref={inputRef} type="file" onChange={handleFileChange} />`
|
|
27
|
-
* and calls `triggerImport()` when the user initiates an import action. The
|
|
28
|
-
* hook sets the `accept` attribute via a layout effect so re-selecting the
|
|
29
|
-
* same file always fires `onChange` (the value is reset after each selection).
|
|
30
|
-
*/
|
|
31
|
-
export declare const useImportFilePicker: ({ accept, onFileSelected, }: UseImportFilePickerParams) => UseImportFilePickerResult;
|
|
32
|
-
//# sourceMappingURL=useImportFilePicker.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useImportFilePicker.d.ts","sourceRoot":"","sources":["../../../src/conversation/useImportFilePicker/useImportFilePicker.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,WAAW,EAChB,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAEf,4CAA4C;AAC5C,MAAM,WAAW,yBAAyB;IACxC;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,4EAA4E;IAC5E,cAAc,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;CACtC;AAED,kDAAkD;AAClD,MAAM,WAAW,yBAAyB;IACxC,iEAAiE;IACjE,QAAQ,EAAE,SAAS,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC;IAC7C,kFAAkF;IAClF,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,4FAA4F;IAC5F,gBAAgB,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;CAClE;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB,GAAI,6BAGjC,yBAAyB,KAAG,yBA6B9B,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useConversationSources.d.ts","sourceRoot":"","sources":["../../../src/conversation-sources/useConversationSources/useConversationSources.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,0BAA0B,EAC1B,iBAAiB,EACjB,OAAO,EACR,MAAM,2BAA2B,CAAC;AASnC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AASlE,sDAAsD;AACtD,MAAM,WAAW,4BAA4B;IAC3C,0EAA0E;IAC1E,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B,gFAAgF;IAChF,SAAS,EAAE,iBAAiB,EAAE,CAAC;IAC/B,+EAA+E;IAC/E,OAAO,EAAE,eAAe,EAAE,CAAC;CAC5B;AAED;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB,GACjC,UAAU,OAAO,EAAE,EACnB,YAAW,0BAA4C,KACtD,4BA2DF,CAAC"}
|
package/files/annotation.d.ts
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { AttachmentResource } from '@epam/ai-dial-chat-shared';
|
|
2
|
-
import { ResolveDownloadUrl } from '../attachment/useAttachmentAction/useAttachmentAction';
|
|
3
|
-
/**
|
|
4
|
-
* Opens a cited/referenced attachment: triggers a browser download for
|
|
5
|
-
* DIAL-hosted files (`files/...` ids) via the injected `resolveDownloadUrl`,
|
|
6
|
-
* otherwise opens the URL in a new tab. No-ops when the attachment has no
|
|
7
|
-
* URL or the download URL cannot be resolved.
|
|
8
|
-
*/
|
|
9
|
-
export declare const openAnnotationAttachment: (attachment: AttachmentResource, resolveDownloadUrl: ResolveDownloadUrl) => void;
|
|
10
|
-
//# sourceMappingURL=annotation.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"annotation.d.ts","sourceRoot":"","sources":["../../src/files/annotation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,kBAAkB,EAExB,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uDAAuD,CAAC;AAGhG;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,GACnC,YAAY,kBAAkB,EAC9B,oBAAoB,kBAAkB,KACrC,IAeF,CAAC"}
|
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
import { CodeCanvasContent, ErrorCanvasContent, HtmlCanvasContent, ImageCanvasContent, JsonCanvasContent, MarkdownCanvasContent, OoxmlCanvasContent, OoxmlFileType, PdfCanvasContent, PlainTextCanvasContent, VisualizerCanvasContent } from '../../../attachment-canvas/src/index.ts';
|
|
2
|
-
import { Annotation, AttachmentResource, CustomVisualizer, DisplayAttachment } from '@epam/ai-dial-chat-shared';
|
|
3
|
-
import { AnnotationGroup } from '@epam/ai-dial-quotations';
|
|
4
|
-
/**
|
|
5
|
-
* DIAL-file URL resolution injected by the host into every attachment-canvas
|
|
6
|
-
* content resolver below. Host-owned — encodes the app's own
|
|
7
|
-
* file-download endpoint.
|
|
8
|
-
*/
|
|
9
|
-
export interface AttachmentCanvasUrlResolvers {
|
|
10
|
-
/** Resolves a DIAL Core file id to a downloadable URL. */
|
|
11
|
-
resolveDialFileDownloadUrl: (fileId: string) => string | undefined;
|
|
12
|
-
/** Resolves the best downloadable DIAL-file URL from an attachment's `url` or `referenceUrl`. */
|
|
13
|
-
resolveDialUrl: (attachment: DisplayAttachment) => string | undefined;
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Returns the last path segment of `url` — its file name — for both absolute
|
|
17
|
-
* URLs and DIAL-relative resource paths such as
|
|
18
|
-
* `files/<bucket>/qa-routed-source.html`. Any query string or hash is dropped
|
|
19
|
-
* and percent escapes are decoded. Returns an empty string when no segment can
|
|
20
|
-
* be extracted. Used to classify a resource by extension when its display name
|
|
21
|
-
* is a citation title rather than a file name.
|
|
22
|
-
*/
|
|
23
|
-
export declare const getUrlFileName: (url: string) => string;
|
|
24
|
-
/**
|
|
25
|
-
* Returns the content type to trust for an external citation source: `contentType`
|
|
26
|
-
* unchanged when it is already an image/audio/PDF/OOXML marker, otherwise the
|
|
27
|
-
* type implied by `url`'s path extension (`MIMEType.PDF` for `.pdf`, the
|
|
28
|
-
* canonical OOXML MIME for `.docx`/`.xlsx`/`.pptx`) when that extension is
|
|
29
|
-
* recognized, otherwise `contentType` unchanged.
|
|
30
|
-
*
|
|
31
|
-
* Web-search grounding APIs label every reference — PDFs and Office documents
|
|
32
|
-
* included — as `text/markdown`, so a mislabeled `contentType` must not win
|
|
33
|
-
* over a recognized URL extension: doing so previously sent a PDF's raw bytes
|
|
34
|
-
* into the markdown/text canvas viewer, rendering garbled text instead of
|
|
35
|
-
* opening the PDF/OOXML viewer.
|
|
36
|
-
*/
|
|
37
|
-
export declare const resolveExternalSourceContentType: (contentType: string, url: string) => string;
|
|
38
|
-
/** Returns true when an external (non-DIAL) source URL should be opened in the canvas rather than a new browser tab. */
|
|
39
|
-
export declare const isExternalSourcePreviewable: (contentType: string, url: string) => boolean;
|
|
40
|
-
/** Clears all cached fetch results. Call this when leaving a conversation. */
|
|
41
|
-
export declare const clearAttachmentCache: () => void;
|
|
42
|
-
/**
|
|
43
|
-
* Whether the attachment carries text `resolveAttachmentText` can resolve —
|
|
44
|
-
* inline data, a DIAL download URL, or a locally-picked file. Mirrors that
|
|
45
|
-
* function's source list, so a `null` resolver result can be read as "the text
|
|
46
|
-
* was fetched and rejected" rather than "there was no text to fetch".
|
|
47
|
-
*/
|
|
48
|
-
export declare const hasAttachmentTextSource: (attachment: DisplayAttachment, resolvers: AttachmentCanvasUrlResolvers) => boolean;
|
|
49
|
-
/**
|
|
50
|
-
* Resolves an image canvas content payload from a DisplayAttachment without
|
|
51
|
-
* fetching — returns the BFF download URL (or a local/inline blob URL)
|
|
52
|
-
* directly so the browser cache can be shared with the conversation view's
|
|
53
|
-
* `<img>` element. Error detection is delegated to `<img onError>` in the
|
|
54
|
-
* canvas renderer. Returns `null` if no URL source is available.
|
|
55
|
-
*/
|
|
56
|
-
export declare const resolveImageCanvasContent: (attachment: DisplayAttachment, resolvers: AttachmentCanvasUrlResolvers) => ImageCanvasContent | null;
|
|
57
|
-
/** Resolves a plain-text canvas content payload from a DisplayAttachment, or `null` if unavailable. */
|
|
58
|
-
export declare const resolveTextCanvasContent: (attachment: DisplayAttachment, resolvers: AttachmentCanvasUrlResolvers) => Promise<PlainTextCanvasContent | ErrorCanvasContent | null>;
|
|
59
|
-
/** Resolves a Markdown canvas content payload from a DisplayAttachment, or `null` if unavailable. */
|
|
60
|
-
export declare const resolveMarkdownCanvasContent: (attachment: DisplayAttachment, resolvers: AttachmentCanvasUrlResolvers) => Promise<MarkdownCanvasContent | ErrorCanvasContent | null>;
|
|
61
|
-
/** Resolves a syntax-highlighted code canvas content payload from a DisplayAttachment, or `null` if unavailable. */
|
|
62
|
-
export declare const resolveCodeCanvasContent: (attachment: DisplayAttachment, resolvers: AttachmentCanvasUrlResolvers, language?: string) => Promise<CodeCanvasContent | ErrorCanvasContent | null>;
|
|
63
|
-
/**
|
|
64
|
-
* Resolves an HTML canvas content payload from a DisplayAttachment.
|
|
65
|
-
* Fetches and inlines the HTML as `srcdoc` when the attachment has a download URL or inline data.
|
|
66
|
-
* Returns `null` if no source is available, or an `ErrorCanvasContent` on fetch failure.
|
|
67
|
-
* Rejects `srcdoc` payloads larger than 1 MiB to prevent browser truncation.
|
|
68
|
-
*/
|
|
69
|
-
export declare const resolveHtmlCanvasContent: (attachment: DisplayAttachment, resolvers: AttachmentCanvasUrlResolvers) => Promise<HtmlCanvasContent | ErrorCanvasContent | null>;
|
|
70
|
-
/**
|
|
71
|
-
* Builds a `PdfCanvasContent` for a PDF citation annotation, including highlights
|
|
72
|
-
* for all annotations in the same source group and scroll target for the clicked one.
|
|
73
|
-
* Returns `null` if the annotation has no PDF source attachment.
|
|
74
|
-
*/
|
|
75
|
-
export declare const annotationToPdfCanvasContent: (annotation: Annotation, groups: AnnotationGroup[], resolvers: AttachmentCanvasUrlResolvers) => PdfCanvasContent | null;
|
|
76
|
-
/**
|
|
77
|
-
* Builds a `PdfCanvasContent` for a reference-only attachment whose
|
|
78
|
-
* `reference_url` points at a PDF file (optionally with a `#page=N`
|
|
79
|
-
* fragment), so it can be opened in the canvas and scrolled to the
|
|
80
|
-
* referenced page the same way a regular PDF citation is. Returns `null`
|
|
81
|
-
* when the attachment's `url` does not target a PDF.
|
|
82
|
-
*/
|
|
83
|
-
export declare const referenceAttachmentToPdfCanvasContent: (attachment: AttachmentResource, resolvers: AttachmentCanvasUrlResolvers) => PdfCanvasContent | null;
|
|
84
|
-
/** Resolves a PDF canvas content payload from a DisplayAttachment, or `null` if unavailable. */
|
|
85
|
-
export declare const resolvePdfCanvasContent: (attachment: DisplayAttachment, resolvers: AttachmentCanvasUrlResolvers) => Promise<PdfCanvasContent | ErrorCanvasContent | null>;
|
|
86
|
-
/** Resolves an OOXML canvas content payload from a DisplayAttachment, or `null` if unavailable. */
|
|
87
|
-
export declare const resolveOoxmlCanvasContent: (attachment: DisplayAttachment, resolvers: AttachmentCanvasUrlResolvers, format: OoxmlFileType) => Promise<OoxmlCanvasContent | ErrorCanvasContent | null>;
|
|
88
|
-
/**
|
|
89
|
-
* Resolves a JSON canvas content payload from a DisplayAttachment, or `null` if unavailable.
|
|
90
|
-
* Falls back to `PlainTextCanvasContent` when the fetched text is not valid JSON.
|
|
91
|
-
*/
|
|
92
|
-
export declare const resolveJsonCanvasContent: (attachment: DisplayAttachment, resolvers: AttachmentCanvasUrlResolvers) => Promise<JsonCanvasContent | PlainTextCanvasContent | ErrorCanvasContent | null>;
|
|
93
|
-
/**
|
|
94
|
-
* Fetches the attachment payload and builds a `VisualizerCanvasContent` for the
|
|
95
|
-
* given registry entry and theme. Returns `null` when the payload cannot be
|
|
96
|
-
* fetched (caller should fall through to default content-type handling).
|
|
97
|
-
*
|
|
98
|
-
* Only JSON payloads are parsed into `data`. Non-JSON payloads (plain text,
|
|
99
|
-
* CSV, binary, …) resolve with `data: {}` — the visualizer still receives
|
|
100
|
-
* `mimeType` and `layout`, just no payload body. This is intentional: only
|
|
101
|
-
* JSON attachment content is forwarded to visualizers in this version.
|
|
102
|
-
*/
|
|
103
|
-
export declare const resolveVisualizerCanvasContent: (attachment: DisplayAttachment, resolvers: AttachmentCanvasUrlResolvers, entry: CustomVisualizer, themeId: string) => Promise<VisualizerCanvasContent | null>;
|
|
104
|
-
//# sourceMappingURL=attachment-canvas.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"attachment-canvas.d.ts","sourceRoot":"","sources":["../../src/files/attachment-canvas.ts"],"names":[],"mappings":"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"}
|