@epam/ai-dial-chat-hooks 1.3.0-dev.29 → 1.3.0-dev.290
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 +32 -0
- package/api-error/api-error.d.ts.map +1 -0
- package/api-error/api-error.js +31 -23
- 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/api-transport/create-unauthorized-middleware.js +4 -1
- package/attachment/attach-constraints.d.ts +31 -0
- package/attachment/attach-constraints.d.ts.map +1 -0
- package/attachment/attach-constraints.js +18 -0
- package/attachment/useAttachmentAction/useAttachmentAction.d.ts +32 -0
- package/attachment/useAttachmentAction/useAttachmentAction.d.ts.map +1 -0
- package/attachment/useAttachmentAction/useAttachmentAction.js +25 -28
- package/attachment/useAttachmentValidation/useAttachmentValidation.d.ts +50 -0
- package/attachment/useAttachmentValidation/useAttachmentValidation.d.ts.map +1 -0
- package/attachments.d.ts +2 -94
- package/attachments.js +2 -1
- package/catalog/application-credentials.d.ts +15 -0
- package/catalog/application-credentials.d.ts.map +1 -0
- package/catalog/application-credentials.js +33 -0
- package/catalog/catalog-derivations.d.ts +29 -0
- package/catalog/catalog-derivations.d.ts.map +1 -0
- package/catalog/catalog-derivations.js +13 -6
- package/catalog/catalog-entity-kind.d.ts +31 -0
- package/catalog/catalog-entity-kind.d.ts.map +1 -0
- package/catalog/catalog-entity-kind.js +21 -0
- package/catalog/catalog-preferences.d.ts +8 -0
- package/catalog/catalog-preferences.d.ts.map +1 -0
- package/catalog/catalog-preferences.js +5 -0
- package/catalog/catalog-primary-action.d.ts +47 -0
- package/catalog/catalog-primary-action.d.ts.map +1 -0
- package/catalog/create-publish-api.d.ts +34 -0
- package/catalog/create-publish-api.d.ts.map +1 -0
- package/catalog/create-publish-api.js +4 -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 +51 -0
- package/catalog/deployment-id.d.ts.map +1 -0
- package/catalog/deployment-id.js +17 -3
- package/catalog/entity-details.d.ts +148 -0
- package/catalog/entity-details.d.ts.map +1 -0
- package/catalog/favorite-entity-type.d.ts +5 -0
- package/catalog/favorite-entity-type.d.ts.map +1 -0
- package/catalog/favorite-entity-type.js +10 -0
- package/catalog/map-deployment-limits-to-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 +29 -0
- package/catalog/map-deployment-limits-to-input.d.ts.map +1 -0
- package/catalog/map-deployment-limits-to-input.js +3 -4
- package/catalog/map-deployment-to-catalog-item.d.ts +72 -0
- package/catalog/map-deployment-to-catalog-item.d.ts.map +1 -0
- package/catalog/map-deployment-to-catalog-item.js +17 -12
- 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-entity-details-to-catalog.js +69 -24
- 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 +112 -0
- package/catalog/map-skill-to-catalog-item.d.ts.map +1 -0
- package/catalog/map-skill-to-catalog-item.js +29 -38
- 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/usage-limit-rows.d.ts +14 -0
- package/catalog/usage-limit-rows.d.ts.map +1 -0
- package/catalog/usage-limit-rows.js +19 -0
- package/catalog/useApplicationCredentials/useApplicationCredentials.d.ts +19 -0
- package/catalog/useApplicationCredentials/useApplicationCredentials.d.ts.map +1 -0
- package/catalog/useCatalogEditNavigation/useCatalogEditNavigation.d.ts +117 -0
- package/catalog/useCatalogEditNavigation/useCatalogEditNavigation.d.ts.map +1 -0
- package/catalog/useCatalogEditNavigation/useCatalogEditNavigation.js +108 -107
- package/catalog/useCatalogItemDelete/useCatalogItemDelete.d.ts +41 -0
- package/catalog/useCatalogItemDelete/useCatalogItemDelete.d.ts.map +1 -0
- package/catalog/useCatalogItemDelete/useCatalogItemDelete.js +37 -0
- package/catalog/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/useCatalogToolsetCredentials/useCatalogToolsetCredentials.js +24 -24
- package/catalog/useFavoriteEntitiesState/useFavoriteEntitiesState.d.ts +37 -0
- package/catalog/useFavoriteEntitiesState/useFavoriteEntitiesState.d.ts.map +1 -0
- package/catalog/useFavoriteEntitiesState/useFavoriteEntitiesState.js +1 -1
- package/catalog/usePublishFolders/usePublishFolders.d.ts +81 -0
- package/catalog/usePublishFolders/usePublishFolders.d.ts.map +1 -0
- package/catalog/usePublishFolders/usePublishFolders.js +32 -29
- 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/useSkillItemDetails.js +3 -3
- package/catalog.d.ts +2 -1436
- package/catalog.js +29 -23
- package/conversation/announcement-message.d.ts +61 -0
- package/conversation/announcement-message.d.ts.map +1 -0
- package/conversation/conversation-draft/conversation-draft-store.d.ts +21 -0
- package/conversation/conversation-draft/conversation-draft-store.d.ts.map +1 -0
- package/conversation/conversation-draft/conversation-draft-store.js +84 -0
- package/conversation/conversation-draft/conversation-draft.d.ts +48 -0
- package/conversation/conversation-draft/conversation-draft.d.ts.map +1 -0
- package/conversation/conversation-list.d.ts +6 -0
- package/conversation/conversation-list.d.ts.map +1 -0
- package/conversation/conversation-list.js +5 -0
- package/conversation/conversation-title-stream.d.ts +33 -0
- package/conversation/conversation-title-stream.d.ts.map +1 -0
- package/conversation/conversation-title-stream.js +103 -0
- package/conversation/conversation-transfer/async.d.ts +10 -0
- package/conversation/conversation-transfer/async.d.ts.map +1 -0
- package/conversation/conversation-transfer/attachment-refs.d.ts +50 -0
- package/conversation/conversation-transfer/attachment-refs.d.ts.map +1 -0
- package/conversation/conversation-transfer/attachment-refs.js +31 -9
- 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 +14 -0
- package/conversation/conversation-transfer/export-conversation.d.ts.map +1 -0
- package/conversation/conversation-transfer/export-conversation.js +19 -18
- package/conversation/conversation-transfer/import-conversation.d.ts +111 -0
- package/conversation/conversation-transfer/import-conversation.d.ts.map +1 -0
- package/conversation/conversation-transfer/import-conversation.js +65 -69
- package/conversation/conversation-transfer/progress.d.ts +60 -0
- package/conversation/conversation-transfer/progress.d.ts.map +1 -0
- package/conversation/conversation-transfer/progress.js +1 -1
- 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-export.js +1 -7
- package/conversation/conversation-transfer/zip-import.d.ts +17 -0
- package/conversation/conversation-transfer/zip-import.d.ts.map +1 -0
- package/conversation/conversation-transfer/zip-import.js +1 -1
- package/conversation/create-chat-stream-api.d.ts +109 -0
- package/conversation/create-chat-stream-api.d.ts.map +1 -0
- package/conversation/create-chat-stream-api.js +57 -47
- 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/generation-registry.d.ts +30 -0
- package/conversation/generation-registry.d.ts.map +1 -0
- package/conversation/generation-registry.js +33 -0
- package/conversation/get-model-id-from-conversation-id.d.ts +38 -0
- package/conversation/get-model-id-from-conversation-id.d.ts.map +1 -0
- package/conversation/get-model-id-from-conversation-id.js +1 -1
- 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 +73 -0
- package/conversation/message-utils.d.ts.map +1 -0
- package/conversation/message-utils.js +14 -10
- 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/scheduled-task-grouping.d.ts +48 -0
- package/conversation/scheduled-task-grouping.d.ts.map +1 -0
- package/conversation/scheduled-task-grouping.js +40 -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 +37 -0
- package/conversation/useActiveConversationSync/useActiveConversationSync.d.ts.map +1 -0
- package/conversation/useActiveConversationSync/useActiveConversationSync.js +19 -12
- 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/useAttachmentUpload/useAttachmentUpload.js +4 -1
- package/conversation/useConversationComposerDraft/useConversationComposerDraft.d.ts +39 -0
- package/conversation/useConversationComposerDraft/useConversationComposerDraft.d.ts.map +1 -0
- package/conversation/useConversationComposerDraft/useConversationComposerDraft.js +128 -0
- package/conversation/useConversationDiscovery/useConversationDiscovery.d.ts +22 -0
- package/conversation/useConversationDiscovery/useConversationDiscovery.d.ts.map +1 -0
- package/conversation/useConversationDiscovery/useConversationDiscovery.js +60 -0
- package/conversation/useConversationExport/useConversationExport.d.ts +72 -0
- package/conversation/useConversationExport/useConversationExport.d.ts.map +1 -0
- package/conversation/useConversationExport/useConversationExport.js +87 -88
- 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/message-utils.js +2 -2
- 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/useConversationHandlers/useConversationHandlers.js +41 -41
- package/conversation/useConversationImport/useConversationImport.d.ts +54 -0
- package/conversation/useConversationImport/useConversationImport.d.ts.map +1 -0
- package/conversation/useConversationImport/useConversationImport.js +24 -24
- package/conversation/useConversationLookupMaps/useConversationLookupMaps.d.ts +24 -0
- package/conversation/useConversationLookupMaps/useConversationLookupMaps.d.ts.map +1 -0
- package/conversation/useConversationPanelItems/useConversationPanelItems.d.ts +65 -0
- package/conversation/useConversationPanelItems/useConversationPanelItems.d.ts.map +1 -0
- package/conversation/useConversationPanelItems/useConversationPanelItems.js +34 -30
- package/conversation/useConversationScroll/useConversationScroll.d.ts +46 -0
- package/conversation/useConversationScroll/useConversationScroll.d.ts.map +1 -0
- package/conversation/useConversationScroll/useConversationScroll.js +2 -6
- 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/conversation-path.js +2 -2
- package/conversation/useConversationStream/frame-scheduler.d.ts +14 -0
- package/conversation/useConversationStream/frame-scheduler.d.ts.map +1 -0
- package/conversation/useConversationStream/frame-scheduler.js +17 -17
- package/conversation/useConversationStream/generation-resume.d.ts +98 -0
- package/conversation/useConversationStream/generation-resume.d.ts.map +1 -0
- package/conversation/useConversationStream/generation-resume.js +93 -122
- package/conversation/useConversationStream/useConversationStream.d.ts +145 -0
- package/conversation/useConversationStream/useConversationStream.d.ts.map +1 -0
- package/conversation/useConversationStream/useConversationStream.js +251 -242
- package/conversation/useConversationTitleEnrichmentController.d.ts +64 -0
- package/conversation/useConversationTitleEnrichmentController.d.ts.map +1 -0
- package/conversation/useConversationTitleEnrichmentController.js +155 -0
- package/conversation/useDeploymentChangeTracking.d.ts +14 -0
- package/conversation/useDeploymentChangeTracking.d.ts.map +1 -0
- package/conversation/useDeploymentChangeTracking.js +23 -0
- package/conversation/useEntityPreselection/useEntityPreselection.d.ts +108 -0
- package/conversation/useEntityPreselection/useEntityPreselection.d.ts.map +1 -0
- package/conversation/useEntityPreselection/useEntityPreselection.js +78 -0
- package/conversation/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/useMessageSelectionReply/useMessageSelectionReply.js +4 -10
- 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 +50 -0
- package/conversation/useTranscribeAudio/useTranscribeAudio.d.ts.map +1 -0
- package/conversation/useTranscribeAudio/useTranscribeAudio.js +36 -27
- package/conversation/useVisibleConversationIdsReporter/useVisibleConversationIdsReporter.d.ts +16 -0
- package/conversation/useVisibleConversationIdsReporter/useVisibleConversationIdsReporter.d.ts.map +1 -0
- package/conversation/useVisibleConversationIdsReporter/useVisibleConversationIdsReporter.js +17 -0
- package/conversation-overlay.d.ts +2 -7
- package/conversation-overlay.js +1 -2
- package/conversation-sources/stage-citations.d.ts +9 -0
- package/conversation-sources/stage-citations.d.ts.map +1 -0
- package/conversation-sources/stage-citations.js +8 -0
- package/conversation-sources/useConversationAnnotationPool/useConversationAnnotationPool.d.ts +4 -0
- package/conversation-sources/useConversationAnnotationPool/useConversationAnnotationPool.d.ts.map +1 -0
- package/conversation-sources/useConversationAnnotationPool/useConversationAnnotationPool.js +5 -0
- package/conversation-sources/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-sources.js +3 -1
- package/conversation-transfer.d.ts +2 -190
- package/conversation.d.ts +2 -1372
- package/conversation.js +43 -32
- package/entry-points/attachments.d.ts +4 -0
- package/entry-points/attachments.d.ts.map +1 -0
- package/entry-points/catalog.d.ts +31 -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 +4 -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 +45 -0
- package/entry-points/conversation.d.ts.map +1 -0
- package/entry-points/external-services.d.ts +2 -0
- package/entry-points/external-services.d.ts.map +1 -0
- package/entry-points/file-manager-canvas.d.ts +3 -0
- package/entry-points/file-manager-canvas.d.ts.map +1 -0
- package/entry-points/file-manager.d.ts +33 -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/offline-credentials.d.ts +7 -0
- package/entry-points/offline-credentials.d.ts.map +1 -0
- package/entry-points/project.d.ts +13 -0
- package/entry-points/project.d.ts.map +1 -0
- package/entry-points/scheduled-tasks.d.ts +13 -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 +11 -0
- package/entry-points/skill-editor.d.ts.map +1 -0
- package/entry-points/skills-state.d.ts +3 -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 +21 -0
- package/entry-points/utils.d.ts.map +1 -0
- package/entry-points/viewport-layout.d.ts +5 -0
- package/entry-points/viewport-layout.d.ts.map +1 -0
- package/external-services/useExternalServiceLogin.d.ts +109 -0
- package/external-services/useExternalServiceLogin.d.ts.map +1 -0
- package/external-services/useExternalServiceLogin.js +102 -0
- package/external-services.d.ts +2 -0
- package/external-services.js +1 -0
- package/file-manager-canvas.d.ts +2 -418
- package/file-manager-canvas.js +3 -2
- package/file-manager.d.ts +2 -1250
- package/file-manager.js +32 -30
- package/files/annotation.d.ts +10 -0
- package/files/annotation.d.ts.map +1 -0
- package/files/attachment-canvas.d.ts +135 -0
- package/files/attachment-canvas.d.ts.map +1 -0
- package/files/attachment-canvas.js +18 -10
- package/files/attachment-dto-to-display.d.ts +10 -0
- package/files/attachment-dto-to-display.d.ts.map +1 -0
- package/files/attachment-dto-to-display.js +13 -12
- package/files/attachment-types.d.ts +21 -0
- package/files/attachment-types.d.ts.map +1 -0
- package/files/attachment-types.js +1 -1
- package/files/browser-download.d.ts +9 -0
- package/files/browser-download.d.ts.map +1 -0
- package/files/browser-download.js +23 -0
- package/files/create-files-api.d.ts +52 -0
- package/files/create-files-api.d.ts.map +1 -0
- package/files/create-files-api.js +1 -1
- package/files/create-upload-file-with-progress.d.ts +44 -0
- package/files/create-upload-file-with-progress.d.ts.map +1 -0
- package/files/create-upload-file-with-progress.js +50 -34
- 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-copy-move.util.js +16 -16
- package/files/dial-file-manager-mapping.util.d.ts +55 -0
- package/files/dial-file-manager-mapping.util.d.ts.map +1 -0
- package/files/dial-file-manager-mapping.util.js +97 -69
- 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.types.d.ts +337 -0
- package/files/dial-file-manager.types.d.ts.map +1 -0
- 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-to-attachment.js +3 -3
- package/files/dial-file.d.ts +36 -0
- package/files/dial-file.d.ts.map +1 -0
- package/files/dial-file.js +20 -12
- 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/download-progress.d.ts +33 -0
- package/files/download-progress.d.ts.map +1 -0
- package/files/download-progress.js +28 -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/source-content.js +1 -1
- package/files/useDialFileListing/useDialFileListing.d.ts +82 -0
- package/files/useDialFileListing/useDialFileListing.d.ts.map +1 -0
- package/files/useDialFileListing/useDialFileListing.js +97 -109
- package/files/useDialFileManager/useDialFileManager.d.ts +16 -0
- package/files/useDialFileManager/useDialFileManager.d.ts.map +1 -0
- package/files/useDialFileManager/useDialFileManager.js +5 -2
- package/files/useDialFileManagerSections/useDialFileManagerSections.d.ts +25 -0
- package/files/useDialFileManagerSections/useDialFileManagerSections.d.ts.map +1 -0
- package/files/useDialFileManagerSections/useDialFileManagerSections.js +59 -68
- package/files/useDialFileManagerTabConfig/useDialFileManagerTabConfig.d.ts +15 -0
- package/files/useDialFileManagerTabConfig/useDialFileManagerTabConfig.d.ts.map +1 -0
- package/files/useDialFileManagerTabConfig/useDialFileManagerTabConfig.js +1 -1
- package/files/useDialFileMetadata/useDialFileMetadata.d.ts +28 -0
- package/files/useDialFileMetadata/useDialFileMetadata.d.ts.map +1 -0
- package/files/useDialFileMetadata/useDialFileMetadata.js +3 -3
- package/files/useDialFileMutations/useDialFileMutations.d.ts +77 -0
- package/files/useDialFileMutations/useDialFileMutations.d.ts.map +1 -0
- package/files/useDialFileMutations/useDialFileMutations.js +230 -159
- package/files/useDialFilePreview/useDialFilePreview.d.ts +33 -0
- package/files/useDialFilePreview/useDialFilePreview.d.ts.map +1 -0
- package/files/useDialFilePreview/useDialFilePreview.js +45 -0
- package/files/useDialFileSharing/useDialFileSharing.d.ts +34 -0
- package/files/useDialFileSharing/useDialFileSharing.d.ts.map +1 -0
- package/files/useDialFileUploadBatch/useDialFileUploadBatch.d.ts +47 -0
- package/files/useDialFileUploadBatch/useDialFileUploadBatch.d.ts.map +1 -0
- package/files/useDialFileUploadBatch/useDialFileUploadBatch.js +114 -103
- package/files/useFileAttachmentModalState/useFileAttachmentModalState.d.ts +25 -0
- package/files/useFileAttachmentModalState/useFileAttachmentModalState.d.ts.map +1 -0
- package/files/useFileAttachmentModalState/useFileAttachmentModalState.js +19 -0
- package/files/useFileAttachmentPicker/useFileAttachmentPicker.d.ts +59 -0
- package/files/useFileAttachmentPicker/useFileAttachmentPicker.d.ts.map +1 -0
- package/files/useFileAttachmentPicker/useFileAttachmentPicker.js +2 -2
- package/files/useUnshareConfirmationState/useUnshareConfirmationState.d.ts +23 -0
- package/files/useUnshareConfirmationState/useUnshareConfirmationState.d.ts.map +1 -0
- package/files/useUnshareConfirmationState/useUnshareConfirmationState.js +18 -0
- package/index.d.ts +215 -6996
- package/index.d.ts.map +1 -0
- package/index.js +213 -150
- 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/mcp-apps-api-client.js +18 -17
- 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 +30 -0
- package/mcp-apps/useMcpAppHostContext/useMcpAppHostContext.d.ts.map +1 -0
- package/mcp-apps/useMcpAppHostContext/useMcpAppHostContext.js +28 -10
- package/mcp-apps/useMcpAppTools/useMcpAppTools.d.ts +22 -0
- package/mcp-apps/useMcpAppTools/useMcpAppTools.d.ts.map +1 -0
- package/mcp-apps/useMcpAppTools/useMcpAppTools.js +28 -31
- 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/authorize-url.js +1 -1
- package/oauth/handshake.d.ts +30 -0
- package/oauth/handshake.d.ts.map +1 -0
- package/oauth/handshake.js +3 -10
- 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/popup.js +19 -17
- package/oauth/toolset-id.d.ts +60 -0
- package/oauth/toolset-id.d.ts.map +1 -0
- package/oauth/toolset-id.js +9 -2
- 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/useOAuthCallbackCompletion/useOAuthCallbackCompletion.js +41 -42
- package/oauth/useToolsetLogin/useToolsetLogin.d.ts +85 -0
- package/oauth/useToolsetLogin/useToolsetLogin.d.ts.map +1 -0
- package/oauth/useToolsetLogin/useToolsetLogin.js +42 -22
- package/oauth.d.ts +2 -472
- package/oauth.js +8 -8
- package/offline-credentials/map-offline-credentials-response.d.ts +20 -0
- package/offline-credentials/map-offline-credentials-response.d.ts.map +1 -0
- package/offline-credentials/map-offline-credentials-response.js +17 -0
- package/offline-credentials/scheduled-tasks-login-banner.d.ts +31 -0
- package/offline-credentials/scheduled-tasks-login-banner.d.ts.map +1 -0
- package/offline-credentials/scheduled-tasks-login-banner.js +17 -0
- package/offline-credentials/useOfflineCredentialsAuth/useOfflineCredentialsAuth.d.ts +58 -0
- package/offline-credentials/useOfflineCredentialsAuth/useOfflineCredentialsAuth.d.ts.map +1 -0
- package/offline-credentials/useOfflineCredentialsAuth/useOfflineCredentialsAuth.js +37 -0
- package/offline-credentials/useOfflineCredentialsGate/useOfflineCredentialsGate.d.ts +61 -0
- package/offline-credentials/useOfflineCredentialsGate/useOfflineCredentialsGate.d.ts.map +1 -0
- package/offline-credentials/useOfflineCredentialsGate/useOfflineCredentialsGate.js +37 -0
- package/offline-credentials/useOfflineCredentialsLogin/useOfflineCredentialsLogin.d.ts +28 -0
- package/offline-credentials/useOfflineCredentialsLogin/useOfflineCredentialsLogin.d.ts.map +1 -0
- package/offline-credentials/useOfflineCredentialsLogin/useOfflineCredentialsLogin.js +29 -0
- package/offline-credentials.d.ts +2 -0
- package/offline-credentials.js +7 -0
- package/package.json +49 -25
- package/project/project-events.d.ts +14 -0
- package/project/project-events.d.ts.map +1 -0
- package/project/project-events.js +25 -0
- package/project/project-form-errors.d.ts +23 -0
- package/project/project-form-errors.d.ts.map +1 -0
- package/project/project-form-errors.js +46 -0
- package/project/project-limits.d.ts +17 -0
- package/project/project-limits.d.ts.map +1 -0
- package/project/project-limits.js +11 -0
- package/project/project-mapping.d.ts +11 -0
- package/project/project-mapping.d.ts.map +1 -0
- package/project/project-mapping.js +36 -0
- package/project/project-refresh.d.ts +12 -0
- package/project/project-refresh.d.ts.map +1 -0
- package/project/project-refresh.js +6 -0
- package/project/project-watch-stream.d.ts +26 -0
- package/project/project-watch-stream.d.ts.map +1 -0
- package/project/project-watch-stream.js +39 -0
- package/project/projects-api-client.d.ts +170 -0
- package/project/projects-api-client.d.ts.map +1 -0
- package/project/projects-api-client.js +87 -0
- package/project/use-project-actions.d.ts +48 -0
- package/project/use-project-actions.d.ts.map +1 -0
- package/project/use-project-actions.js +89 -0
- package/project/use-project-conversations.d.ts +29 -0
- package/project/use-project-conversations.d.ts.map +1 -0
- package/project/use-project-conversations.js +182 -0
- package/project/use-project-submit.d.ts +49 -0
- package/project/use-project-submit.d.ts.map +1 -0
- package/project/use-project-submit.js +73 -0
- package/project/use-project-watch.d.ts +24 -0
- package/project/use-project-watch.d.ts.map +1 -0
- package/project/use-project-watch.js +41 -0
- package/project/use-project.d.ts +23 -0
- package/project/use-project.d.ts.map +1 -0
- package/project/use-project.js +73 -0
- package/project/use-projects.d.ts +27 -0
- package/project/use-projects.d.ts.map +1 -0
- package/project/use-projects.js +92 -0
- package/project.d.ts +2 -0
- package/project.js +13 -0
- 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 +45 -0
- package/prompt/prompt.d.ts.map +1 -0
- package/prompt/prompt.js +7 -3
- package/prompt/usePromptsState/usePromptsState.d.ts +34 -0
- package/prompt/usePromptsState/usePromptsState.d.ts.map +1 -0
- package/scheduled-task/active-scheduled-task.d.ts +58 -0
- package/scheduled-task/active-scheduled-task.d.ts.map +1 -0
- package/scheduled-task/active-scheduled-task.js +18 -0
- package/scheduled-task/check-scheduled-task-auth-session-error.d.ts +27 -0
- package/scheduled-task/check-scheduled-task-auth-session-error.d.ts.map +1 -0
- package/scheduled-task/check-scheduled-task-auth-session-error.js +17 -0
- package/scheduled-task/scheduled-task-description.d.ts +41 -0
- package/scheduled-task/scheduled-task-description.d.ts.map +1 -0
- package/scheduled-task/scheduled-task-description.js +37 -28
- 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-next-occurrence.d.ts +9 -0
- package/scheduled-task/scheduled-task-next-occurrence.d.ts.map +1 -0
- package/scheduled-task/scheduled-task-next-occurrence.js +20 -0
- package/scheduled-task/scheduled-task-preparation.d.ts +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-task-trigger.js +68 -38
- 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 +19 -31
- package/scheduled-task/use-scheduled-tasks.d.ts +28 -0
- package/scheduled-task/use-scheduled-tasks.d.ts.map +1 -0
- package/scheduled-task/use-scheduled-tasks.js +1 -1
- package/scheduled-task/useActiveScheduledTaskDetails.d.ts +18 -0
- package/scheduled-task/useActiveScheduledTaskDetails.d.ts.map +1 -0
- package/scheduled-task/useActiveScheduledTaskDetails.js +40 -0
- package/scheduled-task/useScheduledTaskSkillDisplayNames/useScheduledTaskSkillDisplayNames.d.ts +17 -0
- package/scheduled-task/useScheduledTaskSkillDisplayNames/useScheduledTaskSkillDisplayNames.d.ts.map +1 -0
- package/scheduled-task/useScheduledTaskSkillDisplayNames/useScheduledTaskSkillDisplayNames.js +29 -0
- package/scheduled-tasks.d.ts +2 -256
- package/scheduled-tasks.js +6 -1
- package/scroll-anchoring.d.ts +2 -50
- package/scroll-anchoring.js +1 -2
- package/shared/application-schema.d.ts +16 -0
- package/shared/application-schema.d.ts.map +1 -0
- package/shared/application-schema.js +3 -3
- package/shared/browser-timezone.d.ts +7 -0
- package/shared/browser-timezone.d.ts.map +1 -0
- package/shared/client-channel.d.ts +53 -0
- package/shared/client-channel.d.ts.map +1 -0
- package/shared/client-channel.js +6 -0
- package/shared/cron-day-of-month.d.ts +21 -0
- package/shared/cron-day-of-month.d.ts.map +1 -0
- package/shared/cron-day-of-month.js +10 -10
- 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/locale.js +2 -2
- package/shared/read-sse-events.d.ts +10 -0
- package/shared/read-sse-events.d.ts.map +1 -0
- package/shared/read-sse-events.js +33 -0
- package/shared/serialized-writer.d.ts +10 -0
- package/shared/serialized-writer.d.ts.map +1 -0
- package/shared/serialized-writer.js +35 -0
- package/shared/string-utils.d.ts +11 -0
- package/shared/string-utils.d.ts.map +1 -0
- package/shared/theme-colors.d.ts +16 -0
- package/shared/theme-colors.d.ts.map +1 -0
- package/shared/theme-colors.js +14 -0
- package/shared/toolset-login-events.d.ts +15 -0
- package/shared/toolset-login-events.d.ts.map +1 -0
- package/shared/usage-stat.d.ts +3 -0
- package/shared/usage-stat.d.ts.map +1 -0
- package/shared/usage-stat.js +4 -0
- package/shared/usePersistedState/usePersistedState.d.ts +28 -0
- package/shared/usePersistedState/usePersistedState.d.ts.map +1 -0
- package/shared/usePersistedState/usePersistedState.js +24 -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 +74 -0
- package/skill/skill-file-batch-validation.d.ts.map +1 -0
- package/skill/skill-file-batch-validation.js +34 -33
- package/skill/skill-file-preview.d.ts +25 -0
- package/skill/skill-file-preview.d.ts.map +1 -0
- package/skill/skill-lookup.d.ts +20 -0
- package/skill/skill-lookup.d.ts.map +1 -0
- package/skill/skill-lookup.js +12 -0
- package/skill/skill-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-types.js +1 -1
- package/skill/skill.d.ts +160 -0
- package/skill/skill.d.ts.map +1 -0
- package/skill/skill.js +12 -15
- package/skill/useSkillArchiveImport/useSkillArchiveImport.d.ts +65 -0
- package/skill/useSkillArchiveImport/useSkillArchiveImport.d.ts.map +1 -0
- package/skill/useSkillArchiveImport/useSkillArchiveImport.js +1 -7
- package/skill/useSkillEditorLoad.d.ts +74 -0
- package/skill/useSkillEditorLoad.d.ts.map +1 -0
- package/skill/useSkillEditorSubmit.d.ts +127 -0
- package/skill/useSkillEditorSubmit.d.ts.map +1 -0
- package/skill/useSkillEditorSubmit.js +77 -79
- package/skill/useSkillFileActions.d.ts +62 -0
- package/skill/useSkillFileActions.d.ts.map +1 -0
- package/skill/useSkillFileActions.js +36 -21
- 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/useSkillFilePreviewSyncController.d.ts +41 -0
- package/skill-editor/useSkillFilePreviewSyncController.d.ts.map +1 -0
- package/skill-editor/useSkillFilePreviewSyncController.js +58 -0
- package/skill-editor/useSkillFileSystemPicker/useSkillFileSystemPicker.d.ts +23 -0
- package/skill-editor/useSkillFileSystemPicker/useSkillFileSystemPicker.d.ts.map +1 -0
- package/skill-editor/useSkillFileSystemPicker/useSkillFileSystemPicker.js +43 -0
- package/skill-editor.d.ts +2 -655
- package/skill-editor.js +3 -1
- package/skills-state.d.ts +2 -40
- package/skills-state.js +3 -2
- package/source-content.d.ts +2 -29
- package/source-content.js +1 -2
- 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/map-user-usage-to-model-limits.js +21 -21
- package/usage/usage-banner-source.d.ts +24 -0
- package/usage/usage-banner-source.d.ts.map +1 -0
- package/usage/usage-banner-source.js +61 -0
- package/usage/usage-period.d.ts +7 -0
- package/usage/usage-period.d.ts.map +1 -0
- package/usage/usage-period.js +6 -0
- package/usage/usage-reset-time.d.ts +78 -0
- package/usage/usage-reset-time.d.ts.map +1 -0
- package/usage/usage-reset-time.js +82 -0
- package/usage/useDeploymentUsageLimits/useDeploymentUsageLimits.d.ts +56 -0
- package/usage/useDeploymentUsageLimits/useDeploymentUsageLimits.d.ts.map +1 -0
- package/usage/useDeploymentUsageLimits/useDeploymentUsageLimits.js +34 -0
- package/usage/useRefreshUsageAfterGeneration/useRefreshUsageAfterGeneration.d.ts +16 -0
- package/usage/useRefreshUsageAfterGeneration/useRefreshUsageAfterGeneration.d.ts.map +1 -0
- package/usage/useRefreshUsageAfterGeneration/useRefreshUsageAfterGeneration.js +14 -0
- package/usage/useUsageData/useUsageData.d.ts +28 -0
- package/usage/useUsageData/useUsageData.d.ts.map +1 -0
- package/usage/useUsageLimitBanner/useUsageLimitBanner.d.ts +58 -0
- package/usage/useUsageLimitBanner/useUsageLimitBanner.d.ts.map +1 -0
- package/usage/useUsageLimitBanner/useUsageLimitBanner.js +70 -0
- package/usage/useUsageLimitBannerDismissal/useUsageLimitBannerDismissal.d.ts +14 -0
- package/usage/useUsageLimitBannerDismissal/useUsageLimitBannerDismissal.d.ts.map +1 -0
- package/usage/useUsageLimitBannerDismissal/useUsageLimitBannerDismissal.js +19 -0
- package/usage-limits.d.ts +2 -0
- package/usage-limits.js +9 -0
- package/usage.d.ts +2 -125
- package/useChatSettingsFormConfig/useChatSettingsFormConfig.d.ts +130 -0
- package/useChatSettingsFormConfig/useChatSettingsFormConfig.d.ts.map +1 -0
- package/useChatSettingsFormConfig/useChatSettingsFormConfig.js +25 -21
- package/usePageFileDrag/usePageFileDrag.d.ts +16 -0
- package/usePageFileDrag/usePageFileDrag.d.ts.map +1 -0
- package/usePageFileDrag/usePageFileDrag.js +3 -3
- 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/useShareLink/useShareLink.js +18 -17
- 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 +21 -17
- package/viewport-layout/canvas-width.d.ts +39 -0
- package/viewport-layout/canvas-width.d.ts.map +1 -0
- package/viewport-layout/canvas-width.js +23 -0
- package/viewport-layout.d.ts +2 -27
- package/viewport-layout.js +2 -1
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { ExportFormat } from '@epam/ai-dial-chat-shared';
|
|
2
|
+
/**
|
|
3
|
+
* Validates an attachment path before it is written into (or read from) a
|
|
4
|
+
* `.dial` archive. Blocks path traversal and absolute paths by rejecting
|
|
5
|
+
* empty, `.`, or `..` path segments (so `../../etc/passwd` and `/etc/passwd`
|
|
6
|
+
* are both rejected). No character allowlist — real-world filenames
|
|
7
|
+
* routinely contain spaces, parentheses, and non-ASCII characters, and any
|
|
8
|
+
* character that would be unsafe in the eventual upload URL is already
|
|
9
|
+
* percent-encoded downstream by `buildUploadPath`.
|
|
10
|
+
*/
|
|
11
|
+
export declare const isValidArchivePath: (path: string) => boolean;
|
|
12
|
+
/** A single attachment already fetched into memory, ready to be written into the archive. */
|
|
13
|
+
export interface ZipAttachmentEntry {
|
|
14
|
+
/** Relative path under which the attachment is stored, e.g. `reports/q1.pdf`. */
|
|
15
|
+
path: string;
|
|
16
|
+
/** Attachment content. */
|
|
17
|
+
data: Uint8Array;
|
|
18
|
+
}
|
|
19
|
+
export interface BuildDialArchiveResult {
|
|
20
|
+
/** The built `.dial` archive. */
|
|
21
|
+
blob: Blob;
|
|
22
|
+
/** Attachment paths that failed validation and were not written to the archive. */
|
|
23
|
+
skippedPaths: string[];
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Builds a `.dial` ZIP archive containing the conversation export envelope
|
|
27
|
+
* plus every valid attachment, laid out under `res/<path>`. Attachments
|
|
28
|
+
* failing the path allowlist are skipped and reported in `skippedPaths`.
|
|
29
|
+
*/
|
|
30
|
+
export declare const buildDialArchive: (envelope: ExportFormat, attachments: ZipAttachmentEntry[]) => BuildDialArchiveResult;
|
|
31
|
+
//# sourceMappingURL=zip-export.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zip-export.d.ts","sourceRoot":"","sources":["../../../src/conversation/conversation-transfer/zip-export.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAY9D;;;;;;;;GAQG;AACH,eAAO,MAAM,kBAAkB,GAAI,MAAM,MAAM,KAAG,OAI4B,CAAC;AAE/E,6FAA6F;AAC7F,MAAM,WAAW,kBAAkB;IACjC,iFAAiF;IACjF,IAAI,EAAE,MAAM,CAAC;IACb,0BAA0B;IAC1B,IAAI,EAAE,UAAU,CAAC;CAClB;AAED,MAAM,WAAW,sBAAsB;IACrC,iCAAiC;IACjC,IAAI,EAAE,IAAI,CAAC;IACX,mFAAmF;IACnF,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAC3B,UAAU,YAAY,EACtB,aAAa,kBAAkB,EAAE,KAChC,sBAqBF,CAAC"}
|
|
@@ -2,13 +2,7 @@ import { strToU8 as e, zipSync as t } from "fflate";
|
|
|
2
2
|
//#region src/conversation/conversation-transfer/zip-export.ts
|
|
3
3
|
var n = e("", !0).constructor, r = (e) => e instanceof n ? e : new n(e), i = (e) => e.length > 0 && e.split("/").every((e) => e !== "" && e !== "." && e !== ".."), a = (n, a) => {
|
|
4
4
|
let o = [], s = { "conversation.json": r(e(JSON.stringify(n, null, 2))) };
|
|
5
|
-
for (let e of a) {
|
|
6
|
-
if (!i(e.path)) {
|
|
7
|
-
o.push(e.path);
|
|
8
|
-
continue;
|
|
9
|
-
}
|
|
10
|
-
s[`res/${e.path}`] = r(e.data);
|
|
11
|
-
}
|
|
5
|
+
for (let e of a) i(e.path) ? s[`res/${e.path}`] = r(e.data) : o.push(e.path);
|
|
12
6
|
let c = t(s);
|
|
13
7
|
return {
|
|
14
8
|
blob: new Blob([new Uint8Array(c)], { type: "application/zip" }),
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ExportFormat } from '@epam/ai-dial-chat-shared';
|
|
2
|
+
export interface ParsedDialArchive {
|
|
3
|
+
/** The parsed and validated export envelope. */
|
|
4
|
+
envelope: ExportFormat;
|
|
5
|
+
/** Attachment bytes keyed by their bucket-relative path (the `res/<path>` suffix). */
|
|
6
|
+
attachments: Map<string, Uint8Array>;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Parses a `.dial`/`.zip` archive produced by either the new-chat export
|
|
10
|
+
* (`conversation.json` at the archive root) or the old (`development`
|
|
11
|
+
* branch) export (`conversations/<name>.json`) — the JSON entry name is
|
|
12
|
+
* detected tolerantly by its archive path, since both old-chat and new-chat
|
|
13
|
+
* archives write the same `version: 5` envelope. Attachment bytes are
|
|
14
|
+
* collected from `res/<path>` entries, keyed by their validated relative path.
|
|
15
|
+
*/
|
|
16
|
+
export declare const parseDialArchive: (file: File) => Promise<ParsedDialArchive>;
|
|
17
|
+
//# sourceMappingURL=zip-import.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zip-import.d.ts","sourceRoot":"","sources":["../../../src/conversation/conversation-transfer/zip-import.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAe9D,MAAM,WAAW,iBAAiB;IAChC,gDAAgD;IAChD,QAAQ,EAAE,YAAY,CAAC;IACvB,sFAAsF;IACtF,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;CACtC;AAqBD;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,GAC3B,MAAM,IAAI,KACT,OAAO,CAAC,iBAAiB,CAiC3B,CAAC"}
|
|
@@ -18,7 +18,7 @@ var a = "conversation.json", o = /^conversations\/.*\.json$/, s = "res/", c = (e
|
|
|
18
18
|
for (let e of d) {
|
|
19
19
|
if (e.endsWith("/") || !e.startsWith(s)) continue;
|
|
20
20
|
let t = e.slice(4);
|
|
21
|
-
|
|
21
|
+
t && n(t) && m.set(t, u[e]);
|
|
22
22
|
}
|
|
23
23
|
return {
|
|
24
24
|
envelope: p,
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import { SendCompletionDtoModeEnum } from '@epam/ai-dial-chat-api-client';
|
|
2
|
+
import { MessageCustomContent, StreamChunk } from '@epam/ai-dial-chat-shared';
|
|
3
|
+
/** Safe fallback for hosts that do not supply a translated persistence warning. */
|
|
4
|
+
export declare const DEFAULT_GENERATION_PERSISTENCE_ERROR_MESSAGE = "The response could not be saved. It is still shown here, but may be lost if you reload or leave this page. Copy it before continuing.";
|
|
5
|
+
/** Terminal markers the rejected write of a stopped, aborted, or failed answer carried. */
|
|
6
|
+
export interface GenerationPersistenceTerminalMarker {
|
|
7
|
+
/** Error text the failed write stored; `''` asks the host for its localized fallback. */
|
|
8
|
+
streamErrorMessage?: string;
|
|
9
|
+
/** `true` when the rejected write recorded a user stop. */
|
|
10
|
+
wasStoppedByUser?: boolean;
|
|
11
|
+
}
|
|
12
|
+
/** Identifies a failed terminal save independently of the model's generation outcome. */
|
|
13
|
+
export declare class GenerationPersistenceError extends Error {
|
|
14
|
+
static readonly type = "conversation_save_failed";
|
|
15
|
+
/** HTTP status of the rejected terminal write, when the backend reported one. */
|
|
16
|
+
readonly status?: number;
|
|
17
|
+
/** Terminal markers of an answer that did not complete; `undefined` for a completed one. */
|
|
18
|
+
readonly terminalMarker?: GenerationPersistenceTerminalMarker;
|
|
19
|
+
/**
|
|
20
|
+
* Creates the error with the default persistence message.
|
|
21
|
+
* @param status - HTTP status of the rejected terminal write, if known
|
|
22
|
+
* @param terminalMarker - markers the rejected write of an answer that did not complete carried
|
|
23
|
+
*/
|
|
24
|
+
constructor(status?: number, terminalMarker?: GenerationPersistenceTerminalMarker);
|
|
25
|
+
}
|
|
26
|
+
/** Fallback text of a {@link GenerationConflictError} when no message is supplied. */
|
|
27
|
+
export declare const DEFAULT_GENERATION_CONFLICT_MESSAGE = "A response is already being generated in this conversation. Wait for it to finish or stop it before sending another message.";
|
|
28
|
+
/**
|
|
29
|
+
* Reported through `onError` when the backend rejects a completion because
|
|
30
|
+
* another generation is already active on the same conversation — what a
|
|
31
|
+
* second browser tab of the same session hits when it submits into a
|
|
32
|
+
* conversation the first tab is still generating. Distinct from a generic
|
|
33
|
+
* transport failure so callers can present it as an expected state.
|
|
34
|
+
*/
|
|
35
|
+
export declare class GenerationConflictError extends Error {
|
|
36
|
+
constructor(message?: string);
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Reported through `onError` when DIAL Core itself signals a failure with an
|
|
40
|
+
* in-band `{ error: { message, display_message? } }` SSE chunk. Its `message`
|
|
41
|
+
* is upstream text intended for the user — the chunk's `display_message` when
|
|
42
|
+
* present, else its `message` — unlike a transport failure (failed `fetch`, non-OK
|
|
43
|
+
* status, broken stream), whose message is technical detail. A custom
|
|
44
|
+
* transport raises this for any user-facing upstream error text.
|
|
45
|
+
*/
|
|
46
|
+
export declare class StreamUpstreamError extends Error {
|
|
47
|
+
constructor(message: string);
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Reported through `onError` when the network connection carrying a
|
|
51
|
+
* completion stream is lost (a rejected `fetch`, or a read that fails after a
|
|
52
|
+
* 2xx response) or goes silent past the idle timeout — what a laptop sleep or
|
|
53
|
+
* a phone lock mid-generation produces. The backend-owned generation may
|
|
54
|
+
* still be running, so the caller can recover it rather than treat the
|
|
55
|
+
* response as failed. `cause` holds the original error, when there is one.
|
|
56
|
+
*/
|
|
57
|
+
export declare class StreamInterruptedError extends Error {
|
|
58
|
+
constructor(cause?: unknown);
|
|
59
|
+
}
|
|
60
|
+
/** Thrown when the Stop endpoint answers with a non-OK status. */
|
|
61
|
+
export declare class StopCompletionError extends Error {
|
|
62
|
+
/** HTTP status of the rejected Stop request. */
|
|
63
|
+
readonly status: number;
|
|
64
|
+
constructor(status: number);
|
|
65
|
+
}
|
|
66
|
+
export declare const DEFAULT_STREAM_IDLE_TIMEOUT_MS = 45000;
|
|
67
|
+
/** Callbacks {@link streamCompletion} reports streamed completion events through. */
|
|
68
|
+
export interface ChatStreamCompletionOptions {
|
|
69
|
+
onChunk: (chunk: StreamChunk) => void;
|
|
70
|
+
onComplete: () => void;
|
|
71
|
+
onError: (error: Error) => void;
|
|
72
|
+
signal?: AbortSignal;
|
|
73
|
+
}
|
|
74
|
+
/** Host capabilities {@link createChatStreamApi} needs to stream and stop completions. */
|
|
75
|
+
export interface CreateChatStreamApiDeps {
|
|
76
|
+
/** Returns the currently held CSRF token, or `null` when none is set. */
|
|
77
|
+
getCsrfToken: () => string | null;
|
|
78
|
+
/** Stores a CSRF token captured from a response header. */
|
|
79
|
+
setCsrfToken: (token: string | null) => void;
|
|
80
|
+
/** Base path for the completion/stop endpoints, e.g. `/api/v1/conversations`. */
|
|
81
|
+
completionsBasePath: string;
|
|
82
|
+
/** Resolves the caller's current timezone, attached as `X-Timezone` when non-empty. */
|
|
83
|
+
getTimezone?: () => string | undefined;
|
|
84
|
+
/** `fetch` implementation to issue requests through. Defaults to the global `fetch`. */
|
|
85
|
+
fetchImpl?: typeof fetch;
|
|
86
|
+
/**
|
|
87
|
+
* How long an open completion stream may go without receiving a byte
|
|
88
|
+
* (keepalive comments included) before it is reported as a
|
|
89
|
+
* {@link StreamInterruptedError}. Defaults to {@link DEFAULT_STREAM_IDLE_TIMEOUT_MS}.
|
|
90
|
+
*/
|
|
91
|
+
idleTimeoutMs?: number;
|
|
92
|
+
}
|
|
93
|
+
/** DIAL Core completion streaming transport produced by {@link createChatStreamApi}. */
|
|
94
|
+
export interface ChatStreamApi {
|
|
95
|
+
streamCompletion: (path: string, message: string | undefined, model: string, options: ChatStreamCompletionOptions, customContent?: MessageCustomContent, generationId?: string, mode?: SendCompletionDtoModeEnum, messageIndex?: number, clientChannelId?: string) => void;
|
|
96
|
+
stopCompletion: (dto: {
|
|
97
|
+
generationId: string;
|
|
98
|
+
path: string;
|
|
99
|
+
content?: string;
|
|
100
|
+
}) => Promise<void>;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Builds the streamed-completion transport `apps/chat/src/server-api/chat-stream.api.ts`
|
|
104
|
+
* exposes today: SSE parsing across partial chunks, CSRF header attachment
|
|
105
|
+
* and rotation, and an optional timezone header, backed by an injected
|
|
106
|
+
* `fetch` implementation and base path.
|
|
107
|
+
*/
|
|
108
|
+
export declare const createChatStreamApi: (deps: CreateChatStreamApiDeps) => ChatStreamApi;
|
|
109
|
+
//# sourceMappingURL=create-chat-stream-api.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-chat-stream-api.d.ts","sourceRoot":"","sources":["../../src/conversation/create-chat-stream-api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAC/E,OAAO,KAAK,EACV,oBAAoB,EACpB,WAAW,EACZ,MAAM,2BAA2B,CAAC;AAOnC,mFAAmF;AACnF,eAAO,MAAM,4CAA4C,0IACgF,CAAC;AAE1I,2FAA2F;AAC3F,MAAM,WAAW,mCAAmC;IAClD,yFAAyF;IACzF,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,2DAA2D;IAC3D,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,yFAAyF;AACzF,qBAAa,0BAA2B,SAAQ,KAAK;IACnD,MAAM,CAAC,QAAQ,CAAC,IAAI,8BAA8B;IAElD,iFAAiF;IACjF,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAEzB,4FAA4F;IAC5F,QAAQ,CAAC,cAAc,CAAC,EAAE,mCAAmC,CAAC;IAE9D;;;;OAIG;gBAED,MAAM,CAAC,EAAE,MAAM,EACf,cAAc,CAAC,EAAE,mCAAmC;CAOvD;AAED,sFAAsF;AACtF,eAAO,MAAM,mCAAmC,iIACgF,CAAC;AAEjI;;;;;;GAMG;AACH,qBAAa,uBAAwB,SAAQ,KAAK;gBACpC,OAAO,GAAE,MAA4C;CAIlE;AAED;;;;;;;GAOG;AACH,qBAAa,mBAAoB,SAAQ,KAAK;gBAChC,OAAO,EAAE,MAAM;CAI5B;AAED;;;;;;;GAOG;AACH,qBAAa,sBAAuB,SAAQ,KAAK;gBACnC,KAAK,CAAC,EAAE,OAAO;CAI5B;AAED,kEAAkE;AAClE,qBAAa,mBAAoB,SAAQ,KAAK;IAC5C,gDAAgD;IAChD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;gBAEZ,MAAM,EAAE,MAAM;CAK3B;AAMD,eAAO,MAAM,8BAA8B,QAAS,CAAC;AAErD,qFAAqF;AACrF,MAAM,WAAW,2BAA2B;IAC1C,OAAO,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IACtC,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAChC,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,0FAA0F;AAC1F,MAAM,WAAW,uBAAuB;IACtC,yEAAyE;IACzE,YAAY,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IAClC,2DAA2D;IAC3D,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC7C,iFAAiF;IACjF,mBAAmB,EAAE,MAAM,CAAC;IAC5B,uFAAuF;IACvF,WAAW,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;IACvC,wFAAwF;IACxF,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAkID,wFAAwF;AACxF,MAAM,WAAW,aAAa;IAC5B,gBAAgB,EAAE,CAChB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,2BAA2B,EACpC,aAAa,CAAC,EAAE,oBAAoB,EACpC,YAAY,CAAC,EAAE,MAAM,EACrB,IAAI,CAAC,EAAE,yBAAyB,EAChC,YAAY,CAAC,EAAE,MAAM,EACrB,eAAe,CAAC,EAAE,MAAM,KACrB,IAAI,CAAC;IACV,cAAc,EAAE,CAAC,GAAG,EAAE;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACrB;AAED;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,GAC9B,MAAM,uBAAuB,KAC5B,aAyLF,CAAC"}
|
|
@@ -2,8 +2,9 @@
|
|
|
2
2
|
var e = { "Content-Type": "application/json" }, t = 409, n = "The response could not be saved. It is still shown here, but may be lost if you reload or leave this page. Copy it before continuing.", r = class extends Error {
|
|
3
3
|
static type = "conversation_save_failed";
|
|
4
4
|
status;
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
terminalMarker;
|
|
6
|
+
constructor(e, t) {
|
|
7
|
+
super(n), this.name = "GenerationPersistenceError", this.status = e, this.terminalMarker = t;
|
|
7
8
|
}
|
|
8
9
|
}, i = "A response is already being generated in this conversation. Wait for it to finish or stop it before sending another message.", a = class extends Error {
|
|
9
10
|
constructor(e = i) {
|
|
@@ -17,15 +18,16 @@ var e = { "Content-Type": "application/json" }, t = 409, n = "The response could
|
|
|
17
18
|
constructor(e) {
|
|
18
19
|
super("The completion stream was interrupted", { cause: e }), this.name = "StreamInterruptedError";
|
|
19
20
|
}
|
|
20
|
-
}, c =
|
|
21
|
+
}, c = class extends Error {
|
|
22
|
+
status;
|
|
23
|
+
constructor(e) {
|
|
24
|
+
super(`stopCompletion failed: ${e}`), this.name = "StopCompletionError", this.status = e;
|
|
25
|
+
}
|
|
26
|
+
}, l = 45e3, u = (e, t) => {
|
|
21
27
|
let n = Date.now(), r, i = !1, a = () => {
|
|
22
28
|
if (i) return;
|
|
23
29
|
let o = Date.now() - n;
|
|
24
|
-
|
|
25
|
-
t();
|
|
26
|
-
return;
|
|
27
|
-
}
|
|
28
|
-
clearTimeout(r), r = setTimeout(a, e - o);
|
|
30
|
+
o >= e ? t() : (clearTimeout(r), r = setTimeout(a, e - o));
|
|
29
31
|
}, o = () => {
|
|
30
32
|
document.visibilityState === "visible" && a();
|
|
31
33
|
}, s = typeof window < "u" && typeof document < "u";
|
|
@@ -37,26 +39,30 @@ var e = { "Content-Type": "application/json" }, t = 409, n = "The response could
|
|
|
37
39
|
i || (i = !0, clearTimeout(r), s && (document.removeEventListener("visibilitychange", o), window.removeEventListener("online", a), window.removeEventListener("pageshow", a)));
|
|
38
40
|
}
|
|
39
41
|
};
|
|
40
|
-
},
|
|
42
|
+
}, d = (e) => typeof e == "object" && !!e && e.name === "AbortError", f = (e) => {
|
|
41
43
|
let { status: t } = e;
|
|
42
44
|
return typeof t == "number" ? t : void 0;
|
|
43
|
-
},
|
|
45
|
+
}, p = (e) => {
|
|
46
|
+
let { streamErrorMessage: t, wasStoppedByUser: n } = e;
|
|
47
|
+
if (n === !0) return { wasStoppedByUser: !0 };
|
|
48
|
+
if (typeof t == "string") return { streamErrorMessage: t };
|
|
49
|
+
}, m = (e, t, n) => {
|
|
44
50
|
let i = e.trim();
|
|
45
51
|
if (!i || i.startsWith(":") || !i.startsWith("data: ")) return;
|
|
46
52
|
let a = i.slice(6);
|
|
47
53
|
if (a !== "[DONE]") try {
|
|
48
54
|
let e = JSON.parse(a);
|
|
49
55
|
if (e.error) {
|
|
50
|
-
n(e.error.type === r.type ? new r(
|
|
56
|
+
n(e.error.type === r.type ? new r(f(e.error), p(e.error)) : new o(e.error.display_message ?? e.error.message));
|
|
51
57
|
return;
|
|
52
58
|
}
|
|
53
59
|
t(e);
|
|
54
60
|
} catch {}
|
|
55
|
-
},
|
|
61
|
+
}, h = (n) => {
|
|
56
62
|
let { completionsBasePath: r } = n, i = (...e) => (n.fetchImpl ?? fetch)(...e);
|
|
57
63
|
return {
|
|
58
|
-
streamCompletion: (
|
|
59
|
-
let { onChunk:
|
|
64
|
+
streamCompletion: (c, l, f, p, h, g, _, v, y) => {
|
|
65
|
+
let { onChunk: b, onComplete: x, onError: S, signal: C } = p;
|
|
60
66
|
(async () => {
|
|
61
67
|
let p;
|
|
62
68
|
try {
|
|
@@ -64,65 +70,69 @@ var e = { "Content-Type": "application/json" }, t = 409, n = "The response could
|
|
|
64
70
|
p = await i(`${r}/completions`, {
|
|
65
71
|
method: "POST",
|
|
66
72
|
credentials: "include",
|
|
67
|
-
signal:
|
|
73
|
+
signal: C,
|
|
68
74
|
headers: {
|
|
69
75
|
...e,
|
|
70
76
|
...n.getCsrfToken() == null ? {} : { "X-CSRF-Token": n.getCsrfToken() },
|
|
71
77
|
...t ? { "X-Timezone": t } : {}
|
|
72
78
|
},
|
|
73
79
|
body: JSON.stringify({
|
|
74
|
-
path:
|
|
75
|
-
message:
|
|
76
|
-
model:
|
|
77
|
-
custom_content:
|
|
78
|
-
...
|
|
79
|
-
...
|
|
80
|
-
...
|
|
81
|
-
...
|
|
80
|
+
path: c,
|
|
81
|
+
message: l ?? "",
|
|
82
|
+
model: f,
|
|
83
|
+
custom_content: h || {},
|
|
84
|
+
...g != null && { generationId: g },
|
|
85
|
+
..._ != null && { mode: _ },
|
|
86
|
+
...v != null && { messageIndex: v },
|
|
87
|
+
...y != null && { clientChannelId: y }
|
|
82
88
|
})
|
|
83
89
|
});
|
|
84
90
|
} catch (e) {
|
|
85
|
-
if (
|
|
86
|
-
|
|
91
|
+
if (d(e)) return;
|
|
92
|
+
S(new s(e));
|
|
87
93
|
return;
|
|
88
94
|
}
|
|
89
|
-
let
|
|
90
|
-
if (
|
|
95
|
+
let w = p.headers.get("x-csrf-token");
|
|
96
|
+
if (w && n.setCsrfToken(w), !p.ok) {
|
|
91
97
|
if (p.status === t) {
|
|
92
|
-
|
|
98
|
+
S(new a());
|
|
93
99
|
return;
|
|
94
100
|
}
|
|
95
|
-
|
|
101
|
+
S(/* @__PURE__ */ Error(`Stream request failed with status ${p.status}`));
|
|
96
102
|
return;
|
|
97
103
|
}
|
|
98
104
|
if (!p.body) {
|
|
99
|
-
|
|
105
|
+
S(/* @__PURE__ */ Error("No response body"));
|
|
100
106
|
return;
|
|
101
107
|
}
|
|
102
|
-
let
|
|
103
|
-
|
|
104
|
-
},
|
|
105
|
-
|
|
108
|
+
let T = p.body.getReader(), E = new TextDecoder(), D = "", O = !1, k = !1, A, j = (e) => {
|
|
109
|
+
O || (O = !0, P.stop(), S(e));
|
|
110
|
+
}, M = (e) => {
|
|
111
|
+
e instanceof o ? A ??= e : j(e);
|
|
112
|
+
}, N = (e) => {
|
|
113
|
+
A ?? b(e);
|
|
114
|
+
}, P = u(n.idleTimeoutMs ?? 45e3, () => {
|
|
115
|
+
k = !0, j(A ?? new s()), T.cancel().catch(() => void 0);
|
|
106
116
|
});
|
|
107
117
|
try {
|
|
108
118
|
for (;;) {
|
|
109
|
-
let { done: e, value: t } = await
|
|
110
|
-
if (
|
|
119
|
+
let { done: e, value: t } = await T.read();
|
|
120
|
+
if (k) break;
|
|
111
121
|
if (e) {
|
|
112
|
-
|
|
122
|
+
D.trim() && m(D, N, M);
|
|
113
123
|
break;
|
|
114
124
|
}
|
|
115
|
-
|
|
116
|
-
let n =
|
|
117
|
-
|
|
118
|
-
for (let e of n)
|
|
125
|
+
P.touch(), D += E.decode(t, { stream: !0 });
|
|
126
|
+
let n = D.split("\n");
|
|
127
|
+
D = n.pop() ?? "";
|
|
128
|
+
for (let e of n) m(e, N, M);
|
|
119
129
|
}
|
|
120
|
-
|
|
130
|
+
A ? j(A) : O || (O = !0, x());
|
|
121
131
|
} catch (e) {
|
|
122
|
-
if (
|
|
123
|
-
|
|
132
|
+
if (d(e)) return;
|
|
133
|
+
j(A ?? new s(e));
|
|
124
134
|
} finally {
|
|
125
|
-
|
|
135
|
+
P.stop(), T.releaseLock();
|
|
126
136
|
}
|
|
127
137
|
})();
|
|
128
138
|
},
|
|
@@ -136,9 +146,9 @@ var e = { "Content-Type": "application/json" }, t = 409, n = "The response could
|
|
|
136
146
|
},
|
|
137
147
|
body: JSON.stringify(t)
|
|
138
148
|
}), o = a.headers.get("x-csrf-token");
|
|
139
|
-
if (o && n.setCsrfToken(o), !a.ok) throw
|
|
149
|
+
if (o && n.setCsrfToken(o), !a.ok) throw new c(a.status);
|
|
140
150
|
}
|
|
141
151
|
};
|
|
142
152
|
};
|
|
143
153
|
//#endregion
|
|
144
|
-
export { i as DEFAULT_GENERATION_CONFLICT_MESSAGE, n as DEFAULT_GENERATION_PERSISTENCE_ERROR_MESSAGE,
|
|
154
|
+
export { i as DEFAULT_GENERATION_CONFLICT_MESSAGE, n as DEFAULT_GENERATION_PERSISTENCE_ERROR_MESSAGE, l as DEFAULT_STREAM_IDLE_TIMEOUT_MS, a as GenerationConflictError, r as GenerationPersistenceError, c as StopCompletionError, s as StreamInterruptedError, o as StreamUpstreamError, h as createChatStreamApi };
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { ConversationListItemDto } from '@epam/ai-dial-chat-api-client';
|
|
2
|
+
import { PublishHistoryEntry } from '@epam/ai-dial-publish-panel';
|
|
3
|
+
import { RecipientsCountEntry } from '../../useShareRecipientsCount/useShareRecipientsCount';
|
|
4
|
+
/** Distilled row-action state for a single conversation item. */
|
|
5
|
+
export interface ConversationRowActionState {
|
|
6
|
+
/** `true` when the item is read-only (shared-with-me, published-with-me, or explicitly readonly). */
|
|
7
|
+
isReadonly: boolean;
|
|
8
|
+
/**
|
|
9
|
+
* Deduplicated list of folder paths (as joined slash-delimited strings)
|
|
10
|
+
* to which this conversation has been published. Empty when the conversation
|
|
11
|
+
* is unowned, readonly, or publish history is unavailable.
|
|
12
|
+
*/
|
|
13
|
+
publishedFolders: string[];
|
|
14
|
+
/**
|
|
15
|
+
* `true` when the revoke-access action should be shown: either the
|
|
16
|
+
* recipient count is unknown (lookup pending/failed) or at least one
|
|
17
|
+
* recipient exists.
|
|
18
|
+
*/
|
|
19
|
+
isRevokeVisible: boolean;
|
|
20
|
+
/** `true` when publish is applicable (no published folders yet). */
|
|
21
|
+
isPublishApplicable: boolean;
|
|
22
|
+
/** `true` when unpublish is applicable (at least one published folder exists). */
|
|
23
|
+
isUnpublishApplicable: boolean;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Derives the row-action visibility state for a single conversation item.
|
|
27
|
+
*
|
|
28
|
+
* Extracted from `getActions` in `ConversationPanelView` to isolate the
|
|
29
|
+
* readonly / publish / unpublish / revoke decision logic from the
|
|
30
|
+
* `DropdownItem` construction and `t()` calls that remain in the app.
|
|
31
|
+
*
|
|
32
|
+
* @param item - Conversation DTO fields relevant to ownership classification.
|
|
33
|
+
* @param publishHistory - Resolved publish-history entries, or `undefined`
|
|
34
|
+
* when history is unavailable or should be treated as empty (e.g. while
|
|
35
|
+
* loading or when the item is readonly).
|
|
36
|
+
* @param recipients - Current share-recipients count entry for this item.
|
|
37
|
+
*/
|
|
38
|
+
export declare const deriveConversationRowActionState: (item: Pick<ConversationListItemDto, "sharedWithMe" | "publishedWithMe" | "isReadonly">, publishHistory: PublishHistoryEntry[] | undefined, recipients: RecipientsCountEntry) => ConversationRowActionState;
|
|
39
|
+
//# sourceMappingURL=deriveConversationRowActionState.d.ts.map
|
package/conversation/deriveConversationRowActionState/deriveConversationRowActionState.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deriveConversationRowActionState.d.ts","sourceRoot":"","sources":["../../../src/conversation/deriveConversationRowActionState/deriveConversationRowActionState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAC7E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,uDAAuD,CAAC;AAE/D,iEAAiE;AACjE,MAAM,WAAW,0BAA0B;IACzC,qGAAqG;IACrG,UAAU,EAAE,OAAO,CAAC;IACpB;;;;OAIG;IACH,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B;;;;OAIG;IACH,eAAe,EAAE,OAAO,CAAC;IACzB,oEAAoE;IACpE,mBAAmB,EAAE,OAAO,CAAC;IAC7B,kFAAkF;IAClF,qBAAqB,EAAE,OAAO,CAAC;CAChC;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,gCAAgC,GAC3C,MAAM,IAAI,CACR,uBAAuB,EACvB,cAAc,GAAG,iBAAiB,GAAG,YAAY,CAClD,EACD,gBAAgB,mBAAmB,EAAE,GAAG,SAAS,EACjD,YAAY,oBAAoB,KAC/B,0BA6BF,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { Conversation } from '@epam/ai-dial-chat-shared';
|
|
2
|
+
/** True when the first user/assistant exchange is complete and LLM naming may still run. */
|
|
3
|
+
export declare const shouldWatchForDisplayNameUpdate: (conversation: Conversation) => boolean;
|
|
4
|
+
//# sourceMappingURL=display-name-watch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"display-name-watch.d.ts","sourceRoot":"","sources":["../../src/conversation/display-name-watch.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAG9D,4FAA4F;AAC5F,eAAO,MAAM,+BAA+B,GAC1C,cAAc,YAAY,KACzB,OAQF,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/** Sanitizes footer message HTML to the allowed tag/attribute set. */
|
|
2
|
+
export declare const sanitizeFooterHtml: (html: string) => string;
|
|
3
|
+
/**
|
|
4
|
+
* Normalises a version string for display. The server falls back to a bare
|
|
5
|
+
* `package.json` version (`0.45.0`), while a CI-supplied `CHAT_VERSION` is
|
|
6
|
+
* often already tagged (`v0.45.0`) — prefixing unconditionally would render
|
|
7
|
+
* `vv0.45.0`.
|
|
8
|
+
*/
|
|
9
|
+
export declare const formatAppVersion: (version: string) => string;
|
|
10
|
+
//# sourceMappingURL=footer-message.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"footer-message.d.ts","sourceRoot":"","sources":["../../src/conversation/footer-message.ts"],"names":[],"mappings":"AAOA,sEAAsE;AACtE,eAAO,MAAM,kBAAkB,GAAI,MAAM,MAAM,KAAG,MACgB,CAAC;AAEnE;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,GAAI,SAAS,MAAM,KAAG,MAGlD,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/** Lifecycle of a tracked client generation. */
|
|
2
|
+
export declare enum ClientGenerationStatus {
|
|
3
|
+
Active = "active",
|
|
4
|
+
Done = "done"
|
|
5
|
+
}
|
|
6
|
+
/** A generation tracked under an opaque conversation path. */
|
|
7
|
+
export interface GenerationEntry {
|
|
8
|
+
/** Caller-provided generation identity. */
|
|
9
|
+
generationId: string;
|
|
10
|
+
/** Exact conversation path. */
|
|
11
|
+
path: string;
|
|
12
|
+
/** Controller cancelled when an active generation is replaced. */
|
|
13
|
+
abortController: AbortController;
|
|
14
|
+
/** Current lifecycle state. */
|
|
15
|
+
status: ClientGenerationStatus;
|
|
16
|
+
}
|
|
17
|
+
/** Instance-owned registry; it has no automatic teardown or persistence. */
|
|
18
|
+
export interface GenerationRegistry {
|
|
19
|
+
/** Starts a generation, aborting the prior active entry on this path. */
|
|
20
|
+
startGeneration: (path: string, generationId: string) => AbortController;
|
|
21
|
+
/** Completes the entry only if its generation identity still matches. */
|
|
22
|
+
completeGeneration: (path: string, generationId: string) => void;
|
|
23
|
+
/** Returns the entry for the exact path. */
|
|
24
|
+
getGeneration: (path: string) => GenerationEntry | undefined;
|
|
25
|
+
/** Whether any tracked generation is active. */
|
|
26
|
+
hasActiveGeneration: () => boolean;
|
|
27
|
+
}
|
|
28
|
+
/** Creates an independent generation registry with stable operations. */
|
|
29
|
+
export declare const createGenerationRegistry: () => GenerationRegistry;
|
|
30
|
+
//# sourceMappingURL=generation-registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generation-registry.d.ts","sourceRoot":"","sources":["../../src/conversation/generation-registry.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAChD,oBAAY,sBAAsB;IAChC,MAAM,WAAW;IACjB,IAAI,SAAS;CACd;AAED,8DAA8D;AAC9D,MAAM,WAAW,eAAe;IAC9B,2CAA2C;IAC3C,YAAY,EAAE,MAAM,CAAC;IACrB,+BAA+B;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,kEAAkE;IAClE,eAAe,EAAE,eAAe,CAAC;IACjC,+BAA+B;IAC/B,MAAM,EAAE,sBAAsB,CAAC;CAChC;AAED,4EAA4E;AAC5E,MAAM,WAAW,kBAAkB;IACjC,yEAAyE;IACzE,eAAe,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,eAAe,CAAC;IACzE,yEAAyE;IACzE,kBAAkB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IACjE,4CAA4C;IAC5C,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,eAAe,GAAG,SAAS,CAAC;IAC7D,gDAAgD;IAChD,mBAAmB,EAAE,MAAM,OAAO,CAAC;CACpC;AAED,yEAAyE;AACzE,eAAO,MAAM,wBAAwB,QAAO,kBA+B3C,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
//#region src/conversation/generation-registry.ts
|
|
2
|
+
var e = /* @__PURE__ */ function(e) {
|
|
3
|
+
return e.Active = "active", e.Done = "done", e;
|
|
4
|
+
}({}), t = () => {
|
|
5
|
+
let e = /* @__PURE__ */ new Map();
|
|
6
|
+
return {
|
|
7
|
+
startGeneration: (t, n) => {
|
|
8
|
+
let r = e.get(t);
|
|
9
|
+
r?.status === "active" && r.abortController.abort();
|
|
10
|
+
let i = new AbortController();
|
|
11
|
+
return e.set(t, {
|
|
12
|
+
path: t,
|
|
13
|
+
generationId: n,
|
|
14
|
+
abortController: i,
|
|
15
|
+
status: "active"
|
|
16
|
+
}), i;
|
|
17
|
+
},
|
|
18
|
+
completeGeneration: (t, n) => {
|
|
19
|
+
let r = e.get(t);
|
|
20
|
+
r?.generationId === n && e.set(t, {
|
|
21
|
+
...r,
|
|
22
|
+
status: "done"
|
|
23
|
+
});
|
|
24
|
+
},
|
|
25
|
+
getGeneration: (t) => e.get(t),
|
|
26
|
+
hasActiveGeneration: () => {
|
|
27
|
+
for (let t of e.values()) if (t.status === "active") return !0;
|
|
28
|
+
return !1;
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
//#endregion
|
|
33
|
+
export { e as ClientGenerationStatus, t as createGenerationRegistry };
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { DeploymentItemDto } from '@epam/ai-dial-chat-api-client';
|
|
2
|
+
/**
|
|
3
|
+
* Extracts the deployment/model ID from a DIAL Core conversation ID.
|
|
4
|
+
*
|
|
5
|
+
* The backend builds conversation paths as `{deploymentId}__{title}` then runs
|
|
6
|
+
* `encodeDialResourcePath` which splits on `/` and encodes each segment. This
|
|
7
|
+
* means both the deployment ID and the title may introduce extra `/`-separated
|
|
8
|
+
* URL segments:
|
|
9
|
+
*
|
|
10
|
+
* - Deployment `anthropic/claude-3`, title `My chat`
|
|
11
|
+
* → `conversations/bucket/anthropic/claude-3__My%20chat`
|
|
12
|
+
*
|
|
13
|
+
* - Deployment `uuid`, title `calc 6/2/2026` (title contains slashes)
|
|
14
|
+
* → `conversations/bucket/uuid__calc%206/2/2026`
|
|
15
|
+
*
|
|
16
|
+
* The `__` separator is present in the first filename segment. Versioned
|
|
17
|
+
* application deployments use `{name}__{version}__{title}`, so the version
|
|
18
|
+
* suffix still belongs to the deployment ID.
|
|
19
|
+
*
|
|
20
|
+
* In regular model conversations, the separator is always present in exactly
|
|
21
|
+
* one segment — the first one that contains it. Segments before that segment
|
|
22
|
+
* are deployment ID path prefixes; segments from that point onward are the
|
|
23
|
+
* title (possibly overflowing into further `/`-separated segments).
|
|
24
|
+
*
|
|
25
|
+
* Returns `undefined` when the format is unrecognised.
|
|
26
|
+
*/
|
|
27
|
+
export declare const getModelIdFromConversationId: (id: string) => string | undefined;
|
|
28
|
+
/**
|
|
29
|
+
* Returns every deployment id a conversation id may belong to, longest first,
|
|
30
|
+
* or an empty array when the format is unrecognised.
|
|
31
|
+
*/
|
|
32
|
+
export declare const getModelIdCandidatesFromConversationId: (id: string) => string[];
|
|
33
|
+
/**
|
|
34
|
+
* Returns the deployment a conversation belongs to, resolved from its id
|
|
35
|
+
* alone, or `undefined` when no candidate matches `deployments`.
|
|
36
|
+
*/
|
|
37
|
+
export declare const findDeploymentForConversationId: (deployments: DeploymentItemDto[], conversationId: string) => DeploymentItemDto | undefined;
|
|
38
|
+
//# sourceMappingURL=get-model-id-from-conversation-id.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-model-id-from-conversation-id.d.ts","sourceRoot":"","sources":["../../src/conversation/get-model-id-from-conversation-id.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AA+CvE;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,4BAA4B,GACvC,IAAI,MAAM,KACT,MAAM,GAAG,SA0CX,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,sCAAsC,GACjD,IAAI,MAAM,KACT,MAAM,EAYR,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,+BAA+B,GAC1C,aAAa,iBAAiB,EAAE,EAChC,gBAAgB,MAAM,KACrB,iBAAiB,GAAG,SAGL,CAAC"}
|
|
@@ -8,7 +8,7 @@ var t = "__", n = /[-+]/, r = /^\d+$/, i = ".scheduler", a = "applications", o =
|
|
|
8
8
|
if (n.length < 3) return;
|
|
9
9
|
let r = n.slice(2), o = r[0] === i ? r.slice(2) : r, c = o.findIndex((e) => e.includes(t));
|
|
10
10
|
if (c === -1) return;
|
|
11
|
-
let l = o[c], u = o.slice(0, c).filter(Boolean), d = s(l, u.
|
|
11
|
+
let l = o[c], u = o.slice(0, c).filter(Boolean), d = s(l, u.slice(0, -1).includes(a)), f = [...u, d].filter(Boolean);
|
|
12
12
|
return f.length > 0 ? f.join("/") : void 0;
|
|
13
13
|
}, l = (e) => {
|
|
14
14
|
let t = c(e);
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/** Pre-translated greeting phrase strings for each time-of-day period. */
|
|
2
|
+
export interface GreetingTranslations {
|
|
3
|
+
morningWithName: string;
|
|
4
|
+
morningNoName: string;
|
|
5
|
+
afternoonWithName: string;
|
|
6
|
+
afternoonNoName: string;
|
|
7
|
+
eveningWithName: string;
|
|
8
|
+
eveningNoName: string;
|
|
9
|
+
nightWithName: string;
|
|
10
|
+
nightNoName: string;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Returns a time-of-day greeting string.
|
|
14
|
+
* Hour ranges: morning 5–11, afternoon 12–16, evening 17–20, night 21–4.
|
|
15
|
+
* When firstName is provided the with-name variant is returned; otherwise the no-name variant.
|
|
16
|
+
*/
|
|
17
|
+
export declare const getTimeOfDayGreeting: (hour: number, translations: GreetingTranslations, firstName?: string) => string;
|
|
18
|
+
//# sourceMappingURL=greeting.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"greeting.d.ts","sourceRoot":"","sources":["../../src/conversation/greeting.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,MAAM,WAAW,oBAAoB;IACnC,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,GAC/B,MAAM,MAAM,EACZ,cAAc,oBAAoB,EAClC,YAAY,MAAM,KACjB,MAeF,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { StatusMessage } from '@epam/ai-dial-chat-shared';
|
|
2
|
+
/**
|
|
3
|
+
* Creates a status message recording a deployment change in the conversation timeline.
|
|
4
|
+
* Status messages are never forwarded to DIAL Core.
|
|
5
|
+
*/
|
|
6
|
+
export declare const createDeploymentChangedMessage: (previousDeploymentId: string | null, newDeploymentId: string) => StatusMessage;
|
|
7
|
+
//# sourceMappingURL=message-factory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message-factory.d.ts","sourceRoot":"","sources":["../../src/conversation/message-factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,aAAa,EAEd,MAAM,2BAA2B,CAAC;AAEnC;;;GAGG;AACH,eAAO,MAAM,8BAA8B,GACzC,sBAAsB,MAAM,GAAG,IAAI,EACnC,iBAAiB,MAAM,KACtB,aAcF,CAAC"}
|