@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
package/catalog.d.ts
ADDED
|
@@ -0,0 +1,946 @@
|
|
|
1
|
+
import { CatalogContentTreeNode } from '@epam/ai-dial-catalog';
|
|
2
|
+
import { CatalogEntityType } from '@epam/ai-dial-chat-shared';
|
|
3
|
+
import { CatalogItem } from '@epam/ai-dial-catalog';
|
|
4
|
+
import { CatalogItemApiDetails } from '@epam/ai-dial-catalog';
|
|
5
|
+
import { CatalogItemCredentials } from '@epam/ai-dial-catalog';
|
|
6
|
+
import { CatalogItemDetailsFetchResult } from '@epam/ai-dial-catalog';
|
|
7
|
+
import { CatalogItemLimits } from '@epam/ai-dial-catalog';
|
|
8
|
+
import { CatalogItemOverview } from '@epam/ai-dial-catalog';
|
|
9
|
+
import { CatalogItemTabData } from '@epam/ai-dial-catalog';
|
|
10
|
+
import { DeploymentDetailsDto } from '@epam/ai-dial-chat-api-client';
|
|
11
|
+
import { DeploymentItemDto } from '@epam/ai-dial-chat-api-client';
|
|
12
|
+
import { DeploymentLimitsResponseDto } from '@epam/ai-dial-chat-api-client';
|
|
13
|
+
import { DialToolsetAuthSettingsDto } from '@epam/ai-dial-chat-api-client';
|
|
14
|
+
import { DialToolsetDto } from '@epam/ai-dial-chat-api-client';
|
|
15
|
+
import { ListFilesResponseDto } from '@epam/ai-dial-chat-api-client';
|
|
16
|
+
import { PromptResponseDto } from '@epam/ai-dial-chat-api-client';
|
|
17
|
+
import { PublicationRule } from '@epam/ai-dial-publish-panel';
|
|
18
|
+
import { PublishApi } from '@epam/ai-dial-chat-api-client';
|
|
19
|
+
import { PublishCatalogEntityDto } from '@epam/ai-dial-chat-api-client';
|
|
20
|
+
import { PublishConversationResultDto } from '@epam/ai-dial-chat-api-client';
|
|
21
|
+
import { PublishFolderNode } from '@epam/ai-dial-publish-panel';
|
|
22
|
+
import { PublishHistoryEntry } from '@epam/ai-dial-publish-panel';
|
|
23
|
+
import { PublishHistoryEntryDto } from '@epam/ai-dial-chat-api-client';
|
|
24
|
+
import { PublishResultDto } from '@epam/ai-dial-chat-api-client';
|
|
25
|
+
import { PublishRuleDto } from '@epam/ai-dial-chat-api-client';
|
|
26
|
+
import { SkillFileListResponseDto } from '@epam/ai-dial-chat-api-client';
|
|
27
|
+
import { SkillMetadataItemDto } from '@epam/ai-dial-chat-api-client';
|
|
28
|
+
import { UnpublishCatalogEntityDto } from '@epam/ai-dial-chat-api-client';
|
|
29
|
+
import { UnpublishResultDto } from '@epam/ai-dial-chat-api-client';
|
|
30
|
+
|
|
31
|
+
/** Feature-support flags for an agent (application) deployment. */
|
|
32
|
+
export declare interface AgentCapabilities {
|
|
33
|
+
hasTools?: boolean;
|
|
34
|
+
hasMcp?: boolean;
|
|
35
|
+
hasCaching?: boolean;
|
|
36
|
+
hasParallelToolCalls?: boolean;
|
|
37
|
+
hasUrlAttachments?: boolean;
|
|
38
|
+
hasFolderAttachments?: boolean;
|
|
39
|
+
hasSeed?: boolean;
|
|
40
|
+
hasSystemPrompt?: boolean;
|
|
41
|
+
hasResume?: boolean;
|
|
42
|
+
hasConfiguration?: boolean;
|
|
43
|
+
hasChatCompletion?: boolean;
|
|
44
|
+
hasResponsesApi?: boolean;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
/** Input-attachment configuration for an agent (application) deployment. */
|
|
48
|
+
export declare interface AgentConfiguration {
|
|
49
|
+
inputAttachmentTypes?: string[];
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
/** Full details payload for an agent (application)-type deployment. */
|
|
53
|
+
export declare interface AgentEntityDetails {
|
|
54
|
+
specification?: AgentSpecification;
|
|
55
|
+
configuration?: AgentConfiguration;
|
|
56
|
+
capabilities?: AgentCapabilities;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/** Catalog-facing specification fields for an agent (application) deployment. */
|
|
60
|
+
export declare interface AgentSpecification {
|
|
61
|
+
provider?: string;
|
|
62
|
+
vendor?: string;
|
|
63
|
+
license?: string;
|
|
64
|
+
knowledgeCutoffDate?: string;
|
|
65
|
+
parameters?: string;
|
|
66
|
+
hostedBy?: string;
|
|
67
|
+
createdAt?: number;
|
|
68
|
+
routes?: string[];
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
/** Toolset authentication mechanism as reported by DIAL Core. */
|
|
72
|
+
export declare enum AuthenticationType {
|
|
73
|
+
None = "NONE",
|
|
74
|
+
ApiKey = "API_KEY",
|
|
75
|
+
OAuth = "OAUTH"
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
/** Builds the MCP endpoint URL for an application-deployment resource. */
|
|
79
|
+
export declare const buildApplicationMcpUrl: (baseUrl: string, id: string) => string;
|
|
80
|
+
|
|
81
|
+
/** Builds the OpenAI-compatible Chat Completions endpoint URL for a deployment. */
|
|
82
|
+
export declare const buildChatCompletionsUrl: (baseUrl: string, id: string) => string;
|
|
83
|
+
|
|
84
|
+
/** Builds the "Connect" tab's resource/endpoint/snippet data for the MCP endpoint of the given resource kind. */
|
|
85
|
+
export declare const buildConnectApi: (baseUrl: string, id: string, kind: McpResourceKind) => CatalogItemApiDetails;
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* Builds the "Connect" tab's endpoint list for a model or application
|
|
89
|
+
* deployment: the OpenAI-compatible Chat Completions endpoint and/or the
|
|
90
|
+
* Responses API endpoint, each included only when the deployment reports
|
|
91
|
+
* supporting it. DIAL Core routes both APIs the same way for models and
|
|
92
|
+
* custom applications, keyed by the deployment id.
|
|
93
|
+
*/
|
|
94
|
+
export declare const buildDeploymentConnectApi: (baseUrl: string, id: string, { hasChatCompletion, hasResponsesApi }: DeploymentGenerationApiSupport) => CatalogItemApiDetails | undefined;
|
|
95
|
+
|
|
96
|
+
/**
|
|
97
|
+
* Builds the Overview tab data for a prompt: who authored it and when it last
|
|
98
|
+
* changed. The description is not repeated here — the Details tab already
|
|
99
|
+
* shows it above the body.
|
|
100
|
+
*/
|
|
101
|
+
export declare const buildPromptOverview: (prompt: PromptResponseDto, labels: PromptOverviewLabels) => CatalogItemOverview;
|
|
102
|
+
|
|
103
|
+
/** Builds the Responses API endpoint URL for a deployment. */
|
|
104
|
+
export declare const buildResponsesUrl: (baseUrl: string) => string;
|
|
105
|
+
|
|
106
|
+
/**
|
|
107
|
+
* Builds the Content tab's hierarchical file tree for a skill from
|
|
108
|
+
* `listSkillFiles({ recursive: true })`'s flat listing. Every entry's path is
|
|
109
|
+
* first stripped of the skill's own path prefix and its internal `files`
|
|
110
|
+
* storage directory (see `stripSkillPathPrefix`) — the skill's own root
|
|
111
|
+
* folder and that `files` directory are Core storage implementation details,
|
|
112
|
+
* not authored structure, so neither appears as a wrapping node. An entry
|
|
113
|
+
* that strips to nothing (the skill root, or the bare `files` directory
|
|
114
|
+
* itself) contributes no node. Every folder entry is attached under its own
|
|
115
|
+
* stripped path so an empty grouping folder still appears; every file entry
|
|
116
|
+
* attaches under the folder chain its stripped path implies, synthesizing
|
|
117
|
+
* any intermediate folder the listing never enumerated on its own. A file
|
|
118
|
+
* node's `id` is the listing entry's own (unstripped) path, so it round-trips
|
|
119
|
+
* back to `downloadSkillFile` without being re-derived; a folder node's `id`
|
|
120
|
+
* is the stripped path and only keys client-side expand/collapse state.
|
|
121
|
+
*/
|
|
122
|
+
export declare const buildSkillContentTree: (files: SkillMetadataItemDto[], skillPath: string) => CatalogContentTreeNode[];
|
|
123
|
+
|
|
124
|
+
/**
|
|
125
|
+
* Builds the Overview tab data for a skill: a Specification section from its
|
|
126
|
+
* parsed manifest frontmatter, followed by a Details section covering who
|
|
127
|
+
* authored it, when it last changed, and its file inventory. Grouping folders
|
|
128
|
+
* in the file listing are excluded from both the count and the rows. Sizes are
|
|
129
|
+
* not shown — the skill metadata carries no content-length field.
|
|
130
|
+
*/
|
|
131
|
+
export declare const buildSkillOverview: (skill: SkillMetadataItemDto | undefined, files: SkillMetadataItemDto[], about: SkillAboutDetails | undefined, labels: SkillOverviewLabels) => CatalogItemOverview;
|
|
132
|
+
|
|
133
|
+
/** Builds the MCP endpoint URL for a toolset resource. */
|
|
134
|
+
export declare const buildToolsetMcpUrl: (baseUrl: string, id: string) => string;
|
|
135
|
+
|
|
136
|
+
/** Injected API port for catalog item detail fetching. Mirrors exact server-api wrapper signatures. */
|
|
137
|
+
export declare interface CatalogDetailsApi {
|
|
138
|
+
/** Fetches deployment-level details for a model, agent, toolset, or application. */
|
|
139
|
+
getDeploymentDetails(deploymentId: string): Promise<DeploymentDetailsDto>;
|
|
140
|
+
/** Fetches rate-limit data for a deployment. */
|
|
141
|
+
getDeploymentLimits(deploymentId: string): Promise<DeploymentLimitsResponseDto>;
|
|
142
|
+
/** Fetches a personal or shared prompt by its full `prompts/{bucket}/{path}` resource id. */
|
|
143
|
+
getPrompt(id: string): Promise<PromptResponseDto>;
|
|
144
|
+
/** Fetches a public (organisation) prompt by its bucket-relative path. */
|
|
145
|
+
getPublicPrompt(path: string): Promise<PromptResponseDto>;
|
|
146
|
+
/** Downloads a raw skill file, returning the raw fetch `Response`. */
|
|
147
|
+
downloadSkillFile(bucket: string, path: string, filePath: string, signal?: AbortSignal): Promise<Response>;
|
|
148
|
+
/** Lists files inside a skill package. */
|
|
149
|
+
listSkillFiles(params: {
|
|
150
|
+
bucket: string;
|
|
151
|
+
filePath: string;
|
|
152
|
+
path?: string;
|
|
153
|
+
token?: string;
|
|
154
|
+
limit?: number;
|
|
155
|
+
recursive?: boolean;
|
|
156
|
+
}, signal?: AbortSignal): Promise<SkillFileListResponseDto>;
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
/** Primary action resolved for a deployment (model, agent, toolset, or skill). */
|
|
160
|
+
export declare interface CatalogPrimaryActionDeployment {
|
|
161
|
+
/** Discriminant. */
|
|
162
|
+
kind: CatalogPrimaryActionType.Deployment;
|
|
163
|
+
/** Deployment entity id. */
|
|
164
|
+
id: string;
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
/** Primary action resolved for a prompt. */
|
|
168
|
+
export declare interface CatalogPrimaryActionPrompt {
|
|
169
|
+
/** Discriminant. */
|
|
170
|
+
kind: CatalogPrimaryActionType.Prompt;
|
|
171
|
+
/** Prompt entity id. */
|
|
172
|
+
id: string;
|
|
173
|
+
/** Display name of the prompt. */
|
|
174
|
+
name: string;
|
|
175
|
+
/** Short description of the prompt. */
|
|
176
|
+
description: string;
|
|
177
|
+
/** Resolved prompt body (seeded from details or fetched). */
|
|
178
|
+
content: string;
|
|
179
|
+
/** Whether the prompt body contains at least one `{{parameter}}` placeholder. */
|
|
180
|
+
hasParameters: boolean;
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
/** Discriminated union of catalog primary-action results. */
|
|
184
|
+
export declare type CatalogPrimaryActionResult = CatalogPrimaryActionDeployment | CatalogPrimaryActionPrompt;
|
|
185
|
+
|
|
186
|
+
/** Discriminant for primary-action result variants. */
|
|
187
|
+
export declare enum CatalogPrimaryActionType {
|
|
188
|
+
Deployment = "deployment",
|
|
189
|
+
Prompt = "prompt"
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
/**
|
|
193
|
+
* The publish API's entity-type path param values. Re-declared as a plain
|
|
194
|
+
* string-literal union rather than importing the generated
|
|
195
|
+
* `PublishCatalogEntityEntityTypeEnum`, so this module has no dependency on
|
|
196
|
+
* the app's own `server-api` layer.
|
|
197
|
+
*/
|
|
198
|
+
export declare type CatalogPublishEntityType = 'model' | 'toolset' | 'application' | 'prompt' | 'skill';
|
|
199
|
+
|
|
200
|
+
/**
|
|
201
|
+
* Wraps the generated `PublishApi` in the positional-argument surface the
|
|
202
|
+
* catalog and conversation publish flows call, so each host app re-exports one
|
|
203
|
+
* client instead of re-declaring the same four wrappers. Mirrors
|
|
204
|
+
* {@link createFilesApiClient}.
|
|
205
|
+
*/
|
|
206
|
+
export declare const createPublishApiClient: (publishApi: PublishApi) => PublishApiClient;
|
|
207
|
+
|
|
208
|
+
/** Translated folder-path labels for the Personal/Shared/Public deployment groupings. */
|
|
209
|
+
export declare interface DeploymentFolderLabels {
|
|
210
|
+
personal: string;
|
|
211
|
+
shared: string;
|
|
212
|
+
public: string;
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
/** Which generation APIs a deployment reports supporting. */
|
|
216
|
+
export declare interface DeploymentGenerationApiSupport {
|
|
217
|
+
hasChatCompletion?: boolean;
|
|
218
|
+
hasResponsesApi?: boolean;
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
/** Labels and formatter callbacks for the deployment-limits mapping utility. */
|
|
222
|
+
export declare interface DeploymentLimitsLabels {
|
|
223
|
+
/** Heading of the group every token stat row is listed under. */
|
|
224
|
+
tokenGroup: string;
|
|
225
|
+
/** Label for the tokens-per-day stat row. */
|
|
226
|
+
tokensPerDay: string;
|
|
227
|
+
/** Label for the tokens-per-week stat row. */
|
|
228
|
+
tokensPerWeek: string;
|
|
229
|
+
/** Label for the tokens-per-month stat row. */
|
|
230
|
+
tokensPerMonth: string;
|
|
231
|
+
/** Note shown instead of a total on a row whose limit follows the cost limit. */
|
|
232
|
+
followsCostLimit: string;
|
|
233
|
+
/** Formats the "$X spent" caption under a row's label. */
|
|
234
|
+
formatSpentCaption: (amount: string) => string;
|
|
235
|
+
/** Formats the combined used/total display value for a capped row. */
|
|
236
|
+
formatValueLabel: (used: string, total: string) => string;
|
|
237
|
+
/** Formats the ARIA label for a capped progress row. */
|
|
238
|
+
formatProgressAriaLabel: (params: {
|
|
239
|
+
label: string;
|
|
240
|
+
used: string;
|
|
241
|
+
total: string;
|
|
242
|
+
}) => string;
|
|
243
|
+
/** Formats the ARIA label for an unlimited row, which has no total to announce. */
|
|
244
|
+
formatFollowsCostLimitAriaLabel: (params: {
|
|
245
|
+
label: string;
|
|
246
|
+
used: string;
|
|
247
|
+
}) => string;
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
/**
|
|
251
|
+
* Returns the subset of `tabOrder` entries whose entity type is present in
|
|
252
|
+
* `items`, preserving tab order.
|
|
253
|
+
*/
|
|
254
|
+
export declare const deriveAvailableTabIds: <T extends CatalogEntityType>(items: readonly CatalogItem[], tabOrder: readonly T[]) => T[];
|
|
255
|
+
|
|
256
|
+
/**
|
|
257
|
+
* Returns items marked as a user favorite, in original order.
|
|
258
|
+
*/
|
|
259
|
+
export declare const deriveFavoriteItems: (items: readonly CatalogItem[]) => CatalogItem[];
|
|
260
|
+
|
|
261
|
+
/**
|
|
262
|
+
* Percent-encodes each `/`-separated segment of a deployment/application id
|
|
263
|
+
* so it satisfies the backend's `DEPLOYMENT_ID_PATTERN` (spaces and other
|
|
264
|
+
* reserved characters must be percent-encoded; `/` stays a literal path
|
|
265
|
+
* separator). Applications created via `POST /api/v1/applications` return an
|
|
266
|
+
* id built from the raw, human-readable name (e.g. `applications/<bucket>/My
|
|
267
|
+
* App__1.0`), which is only ever consumed by the settings iframe's postMessage
|
|
268
|
+
* protocol elsewhere — anywhere that id is used as a chat `deploymentId`, it
|
|
269
|
+
* must be encoded first.
|
|
270
|
+
*/
|
|
271
|
+
export declare const encodeDeploymentId: (id: string) => string;
|
|
272
|
+
|
|
273
|
+
/** Discriminated-union entity details for a deployment, keyed by catalog entity type. */
|
|
274
|
+
export declare type EntitySpecificDetails = {
|
|
275
|
+
type: 'MODEL';
|
|
276
|
+
data: ModelEntityDetails;
|
|
277
|
+
} | {
|
|
278
|
+
type: 'AGENT';
|
|
279
|
+
data: AgentEntityDetails;
|
|
280
|
+
} | {
|
|
281
|
+
type: 'TOOLSET';
|
|
282
|
+
data: ToolsetEntityDetails;
|
|
283
|
+
};
|
|
284
|
+
|
|
285
|
+
/** Entity kind used to route a favorite toggle to the correct backend section. */
|
|
286
|
+
export declare enum FavoriteEntityType {
|
|
287
|
+
Deployment = "deployment",
|
|
288
|
+
Toolset = "toolset",
|
|
289
|
+
Prompt = "prompt",
|
|
290
|
+
Skill = "skill"
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
/** Raw favorites payload returned by `loadFavorites`. */
|
|
294
|
+
export declare interface FavoritesPayload {
|
|
295
|
+
deployments: string[];
|
|
296
|
+
toolsets: string[];
|
|
297
|
+
prompts: string[];
|
|
298
|
+
skills: string[];
|
|
299
|
+
}
|
|
300
|
+
|
|
301
|
+
/**
|
|
302
|
+
* Filters catalog items to those whose type is in `visibleTypes`.
|
|
303
|
+
* Call only when selector mode is active; otherwise pass through the original array.
|
|
304
|
+
*/
|
|
305
|
+
export declare const filterCatalogItemsBySelector: (items: readonly CatalogItem[], visibleTypes: ReadonlySet<CatalogEntityType>) => CatalogItem[];
|
|
306
|
+
|
|
307
|
+
/**
|
|
308
|
+
* Filters out items owned by the current user when `hideOwned` is true.
|
|
309
|
+
* Always returns a new array so callers may safely assign to mutable collections.
|
|
310
|
+
*/
|
|
311
|
+
export declare const filterHiddenOwnedItems: (items: readonly CatalogItem[], hideOwned: boolean) => CatalogItem[];
|
|
312
|
+
|
|
313
|
+
/**
|
|
314
|
+
* Finds a deployment matching `idOrReference` by `id` first, falling back to
|
|
315
|
+
* `reference` when no `id` matches. DIAL Core sometimes addresses a
|
|
316
|
+
* deployment by `reference` in places that store a deployment id (e.g. a
|
|
317
|
+
* conversation's or message's `model.id`), so lookups against the fetched
|
|
318
|
+
* deployments list must accept either value.
|
|
319
|
+
*/
|
|
320
|
+
export declare const findDeploymentByIdOrReference: (deployments: DeploymentItemDto[], idOrReference: string | null | undefined) => DeploymentItemDto | undefined;
|
|
321
|
+
|
|
322
|
+
/**
|
|
323
|
+
* Whether a prompt item came from the organisation namespace, which the public
|
|
324
|
+
* prompt endpoints serve. Personal prompts resolve through the caller's own
|
|
325
|
+
* bucket, while shared prompts carry their owner's bucket in the resource URL.
|
|
326
|
+
*/
|
|
327
|
+
export declare const isOrganisationPromptItem: (item: CatalogItem) => boolean;
|
|
328
|
+
|
|
329
|
+
/**
|
|
330
|
+
* Converts the backend `DeploymentDetailsDto` (model/application/toolset,
|
|
331
|
+
* fetched by id) into the strongly-typed `EntitySpecificDetails` domain model
|
|
332
|
+
* consumed by `mapEntityDetailsToCatalogDetails`.
|
|
333
|
+
*/
|
|
334
|
+
export declare const mapDeploymentDetailsDtoToEntityDetails: (dto: DeploymentDetailsDto) => EntitySpecificDetails;
|
|
335
|
+
|
|
336
|
+
/** Maps a deployment limits DTO to display-ready catalog limits, or `undefined` when no qualifying stats exist. */
|
|
337
|
+
export declare const mapDeploymentLimitsDtoToCatalogLimits: (dto: DeploymentLimitsResponseDto | undefined, labels: DeploymentLimitsLabels) => CatalogItemLimits | undefined;
|
|
338
|
+
|
|
339
|
+
/** Maps the monthly deployment token limit to a display-ready value. */
|
|
340
|
+
export declare const mapDeploymentLimitsToInput: (dto: DeploymentLimitsResponseDto | undefined) => MonthlyUsageLimit | undefined;
|
|
341
|
+
|
|
342
|
+
/** Maps a deployment listing row into the catalog UI's `CatalogItem` shape. */
|
|
343
|
+
export declare const mapDeploymentToCatalogItem: (deployment: DeploymentItemDto, { favoriteIds, entityDetails, folderLabels, editableSchemaIds, isCustomAppsEditable, activeLocale, primaryLocale, resolveIconUrl, }: MapDeploymentToCatalogItemOptions) => CatalogItem;
|
|
344
|
+
|
|
345
|
+
/** Parameters for {@link mapDeploymentToCatalogItem}. */
|
|
346
|
+
export declare interface MapDeploymentToCatalogItemOptions {
|
|
347
|
+
favoriteIds?: ReadonlySet<string>;
|
|
348
|
+
entityDetails?: EntitySpecificDetails;
|
|
349
|
+
folderLabels: DeploymentFolderLabels;
|
|
350
|
+
editableSchemaIds?: string[];
|
|
351
|
+
isCustomAppsEditable?: boolean;
|
|
352
|
+
/** The viewer's active display locale, used to resolve `displayName`/`description`. */
|
|
353
|
+
activeLocale: string;
|
|
354
|
+
/** The fixed content language `displayName`/`description` fall back to when `activeLocale` has no entry. */
|
|
355
|
+
primaryLocale: string;
|
|
356
|
+
/** Resolves a deployment's raw `iconUrl` to a displayable URL. Host-owned. */
|
|
357
|
+
resolveIconUrl: (iconUrl: string | undefined) => string | undefined;
|
|
358
|
+
}
|
|
359
|
+
|
|
360
|
+
/**
|
|
361
|
+
* Maps a toolset's auth settings (from a deployment listing row) into the
|
|
362
|
+
* lib's credential-status shape, including both `USER` and `GLOBAL` sign-in
|
|
363
|
+
* status, whether the toolset is public, and whether the current user (if an
|
|
364
|
+
* admin) may manage both levels. Named apart from
|
|
365
|
+
* `map-entity-details-to-catalog.ts`'s `mapToolsetCredentials` (a different
|
|
366
|
+
* input shape, `ToolsetEntityDetails`) to avoid an ambiguous `export *`
|
|
367
|
+
* collision between the two modules.
|
|
368
|
+
*
|
|
369
|
+
* For a non-admin on a public toolset that already has `GLOBAL` credentials
|
|
370
|
+
* signed in, the lib's own `LoginWithMyCreds` CTA fires unconditionally off
|
|
371
|
+
* `isPublic` alone, regardless of whether org-wide credentials already cover
|
|
372
|
+
* everyone (`node_modules/@epam/ai-dial-catalog/dist/index.js`, the `ct`
|
|
373
|
+
* helper). Global auth is sufficient to use the toolset — a personal login
|
|
374
|
+
* is optional, not required — so this suppresses that CTA by reporting
|
|
375
|
+
* `authenticationType: None`, which is the lib's own documented signal to
|
|
376
|
+
* hide the credentials control entirely.
|
|
377
|
+
*/
|
|
378
|
+
export declare const mapDeploymentToolsetCredentials: (toolsetId: string, authSettings: DialToolsetAuthSettingsDto | undefined, isAdmin: boolean) => CatalogItemCredentials | undefined;
|
|
379
|
+
|
|
380
|
+
/**
|
|
381
|
+
* Converts a strongly-typed entity domain model into the lib's `CatalogItemTabData` shape.
|
|
382
|
+
* Every label is a fixed English string — the app's i18n keys for these labels are dropped
|
|
383
|
+
* on the move, since the lib cannot import the app's translation-key enum.
|
|
384
|
+
*/
|
|
385
|
+
export declare const mapEntityDetailsToCatalogDetails: (details: EntitySpecificDetails) => CatalogItemTabData;
|
|
386
|
+
|
|
387
|
+
/**
|
|
388
|
+
* Maps a prompt DTO into a catalog item.
|
|
389
|
+
*
|
|
390
|
+
* `prompt.id` is already the full `prompts/{bucket}/{path}` resource path —
|
|
391
|
+
* the owner bucket for a shared-with-me prompt, the caller's own bucket
|
|
392
|
+
* otherwise — the same shape every other resource type's `CatalogItem.id`
|
|
393
|
+
* carries, so no per-source qualification is needed here.
|
|
394
|
+
*/
|
|
395
|
+
export declare const mapPromptToCatalogItem: (prompt: PromptResponseDto, { folderLabels, overviewLabels, source, favoriteIds, }: MapPromptToCatalogItemOptions) => CatalogItem;
|
|
396
|
+
|
|
397
|
+
/** Parameters for {@link mapPromptToCatalogItem}. */
|
|
398
|
+
export declare interface MapPromptToCatalogItemOptions {
|
|
399
|
+
/** Personal/Shared/Public folder labels; i18n stays at the app edge. */
|
|
400
|
+
folderLabels: DeploymentFolderLabels;
|
|
401
|
+
/** Author/updated/section-title labels for the Overview tab; i18n stays at the app edge. */
|
|
402
|
+
overviewLabels: PromptOverviewLabels;
|
|
403
|
+
/** Namespace the prompt came from; drives ownership flags and the folder prefix. */
|
|
404
|
+
source: PromptSource;
|
|
405
|
+
/** Favorited resource ids from the user config, keyed by prompt path. */
|
|
406
|
+
favoriteIds: ReadonlySet<string>;
|
|
407
|
+
}
|
|
408
|
+
|
|
409
|
+
/** Maps a conversation publish-history API response entry to the publish panel's `PublishHistoryEntry` model. */
|
|
410
|
+
export declare const mapPublishConversationResultDto: (dto: PublishConversationResultDto) => PublishHistoryEntry;
|
|
411
|
+
|
|
412
|
+
/** Maps a publish-history API response entry to the catalog lib's `PublishHistoryEntry` model. */
|
|
413
|
+
export declare const mapPublishHistoryEntryDto: (dto: PublishHistoryEntryDto) => PublishHistoryEntry;
|
|
414
|
+
|
|
415
|
+
/**
|
|
416
|
+
* Maps a skill's DIAL Core metadata into a catalog item. The full
|
|
417
|
+
* `skills/{bucket}/{path}` resource URL is used as `CatalogItem.id` rather
|
|
418
|
+
* than the bucket-relative path: the catalog lists two buckets, and the same
|
|
419
|
+
* relative path can exist in both.
|
|
420
|
+
*/
|
|
421
|
+
export declare const mapSkillToCatalogItem: (skill: SkillMetadataItemDto, { folderLabels, source, favoriteIds }: MapSkillToCatalogItemOptions) => CatalogItem;
|
|
422
|
+
|
|
423
|
+
/** Parameters for {@link mapSkillToCatalogItem}. */
|
|
424
|
+
export declare interface MapSkillToCatalogItemOptions {
|
|
425
|
+
/** Personal/Shared/Public folder labels; i18n stays at the app edge. */
|
|
426
|
+
folderLabels: DeploymentFolderLabels;
|
|
427
|
+
/** Namespace the skill came from; drives ownership flags and the folder prefix. */
|
|
428
|
+
source: SkillSource;
|
|
429
|
+
/** Favorited resource ids from the user config, keyed by skill resource URL. */
|
|
430
|
+
favoriteIds: ReadonlySet<string>;
|
|
431
|
+
}
|
|
432
|
+
|
|
433
|
+
/**
|
|
434
|
+
* Maps a toolset's specification into the lib's credential-status shape,
|
|
435
|
+
* for refreshing the details panel after login/logout. Includes both
|
|
436
|
+
* `USER` and `GLOBAL` status, whether the toolset is public, and whether
|
|
437
|
+
* the current user (if an admin) may manage both levels.
|
|
438
|
+
*/
|
|
439
|
+
export declare const mapToolsetCredentials: (toolsetId: string, data: ToolsetEntityDetails, isAdmin: boolean) => CatalogItemCredentials | undefined;
|
|
440
|
+
|
|
441
|
+
/** Maps a toolset listing row into the catalog UI's `CatalogItem` shape. */
|
|
442
|
+
export declare const mapToolsetToCatalogItem: (toolset: DialToolsetDto, { favoriteIds, isAdmin, folderLabels, activeLocale, primaryLocale, resolveIconUrl, }: MapToolsetToCatalogItemOptions) => CatalogItem;
|
|
443
|
+
|
|
444
|
+
/** Parameters for {@link mapToolsetToCatalogItem}. */
|
|
445
|
+
export declare interface MapToolsetToCatalogItemOptions {
|
|
446
|
+
favoriteIds?: ReadonlySet<string>;
|
|
447
|
+
isAdmin?: boolean;
|
|
448
|
+
folderLabels?: DeploymentFolderLabels;
|
|
449
|
+
/** The viewer's active display locale, used to resolve `displayName`/`description`. */
|
|
450
|
+
activeLocale: string;
|
|
451
|
+
/** The fixed content language `displayName`/`description` fall back to when `activeLocale` has no entry. */
|
|
452
|
+
primaryLocale: string;
|
|
453
|
+
/** Resolves a toolset's raw `iconUrl` to a displayable URL. Host-owned. */
|
|
454
|
+
resolveIconUrl: (iconUrl: string | undefined) => string | undefined;
|
|
455
|
+
}
|
|
456
|
+
|
|
457
|
+
/** Resource families that DIAL Core exposes an MCP endpoint for. */
|
|
458
|
+
export declare enum McpResourceKind {
|
|
459
|
+
/** Toolsets, served under `/v1/toolset/{id}/mcp`. */
|
|
460
|
+
Toolset = "toolset",
|
|
461
|
+
/** Application deployments, served under `/v1/deployments/{id}/mcp`. */
|
|
462
|
+
Application = "application"
|
|
463
|
+
}
|
|
464
|
+
|
|
465
|
+
/** API-resource identifiers for a model deployment. */
|
|
466
|
+
export declare interface ModelApiDetails {
|
|
467
|
+
modelId?: string;
|
|
468
|
+
}
|
|
469
|
+
|
|
470
|
+
/** Feature-support flags for a model deployment. */
|
|
471
|
+
export declare interface ModelCapabilities {
|
|
472
|
+
hasTools?: boolean;
|
|
473
|
+
hasMcp?: boolean;
|
|
474
|
+
hasCaching?: boolean;
|
|
475
|
+
hasParallelToolCalls?: boolean;
|
|
476
|
+
hasUrlAttachments?: boolean;
|
|
477
|
+
hasFolderAttachments?: boolean;
|
|
478
|
+
hasSeed?: boolean;
|
|
479
|
+
hasSystemPrompt?: boolean;
|
|
480
|
+
hasResume?: boolean;
|
|
481
|
+
hasChatCompletion?: boolean;
|
|
482
|
+
hasResponsesApi?: boolean;
|
|
483
|
+
reasoningEfforts?: string[];
|
|
484
|
+
}
|
|
485
|
+
|
|
486
|
+
/** Full details payload for a model-type deployment. */
|
|
487
|
+
export declare interface ModelEntityDetails {
|
|
488
|
+
capabilities?: ModelCapabilities;
|
|
489
|
+
specification?: ModelSpecification;
|
|
490
|
+
pricing?: ModelPricing;
|
|
491
|
+
api?: ModelApiDetails;
|
|
492
|
+
}
|
|
493
|
+
|
|
494
|
+
/** One priced unit for a model deployment. */
|
|
495
|
+
export declare interface ModelPriceRow {
|
|
496
|
+
/** DIAL Core pricing key, e.g. `prompt`, `completion`, `cache_read`. */
|
|
497
|
+
key: string;
|
|
498
|
+
/** Per-unit price formatted for display, e.g. `$3/M tokens`. */
|
|
499
|
+
price: string;
|
|
500
|
+
}
|
|
501
|
+
|
|
502
|
+
/** A model deployment's full price list. */
|
|
503
|
+
export declare interface ModelPricing {
|
|
504
|
+
/** Every price DIAL Core reports for the deployment, `unit` excluded. */
|
|
505
|
+
prices?: ModelPriceRow[];
|
|
506
|
+
}
|
|
507
|
+
|
|
508
|
+
/** Catalog-facing specification fields for a model deployment. */
|
|
509
|
+
export declare interface ModelSpecification {
|
|
510
|
+
provider?: string;
|
|
511
|
+
vendor?: string;
|
|
512
|
+
license?: string;
|
|
513
|
+
knowledgeCutoffDate?: string;
|
|
514
|
+
parameters?: string;
|
|
515
|
+
contextWindowTokens?: number;
|
|
516
|
+
maxOutputTokens?: number;
|
|
517
|
+
inputTypes?: string[];
|
|
518
|
+
hostedBy?: string;
|
|
519
|
+
createdAt?: number;
|
|
520
|
+
}
|
|
521
|
+
|
|
522
|
+
/** Normalized monthly token usage consumed by the conversation input control. */
|
|
523
|
+
export declare interface MonthlyUsageLimit {
|
|
524
|
+
/** Normalized used-token count. */
|
|
525
|
+
used: number;
|
|
526
|
+
/** Configured monthly token limit. */
|
|
527
|
+
total: number;
|
|
528
|
+
/** Remaining monthly tokens, clamped to zero. */
|
|
529
|
+
remaining: number;
|
|
530
|
+
/** Monthly utilization percentage, clamped to 0–100. */
|
|
531
|
+
usedPercent: number;
|
|
532
|
+
}
|
|
533
|
+
|
|
534
|
+
/** A skill resource URL split into the bucket and the path within it. */
|
|
535
|
+
export declare interface ParsedSkillResourceUrl {
|
|
536
|
+
/** DIAL Core bucket name. */
|
|
537
|
+
bucket: string;
|
|
538
|
+
/** Path to the skill within that bucket. */
|
|
539
|
+
path: string;
|
|
540
|
+
}
|
|
541
|
+
|
|
542
|
+
/**
|
|
543
|
+
* Splits a `skills/{bucket}/{path}` resource URL into its parts, mirroring the
|
|
544
|
+
* backend's parser. Returns `null` for a different prefix, an empty bucket, or
|
|
545
|
+
* an empty path, so callers can treat "not a skill URL" as one case.
|
|
546
|
+
*/
|
|
547
|
+
export declare const parseSkillResourceUrl: (url: string) => ParsedSkillResourceUrl | null;
|
|
548
|
+
|
|
549
|
+
/** Translated labels for the Overview tab's author/updated rows and section title. */
|
|
550
|
+
export declare interface PromptOverviewLabels {
|
|
551
|
+
authorLabel: string;
|
|
552
|
+
updatedLabel: string;
|
|
553
|
+
sectionTitle: string;
|
|
554
|
+
}
|
|
555
|
+
|
|
556
|
+
/** Which prompt namespace a catalog prompt item came from. */
|
|
557
|
+
declare enum PromptSource {
|
|
558
|
+
/** The caller's own prompt, editable and deletable by them. */
|
|
559
|
+
Personal = "personal",
|
|
560
|
+
/** Shared with the caller by another user; permissions determine editability. */
|
|
561
|
+
SharedWithMe = "sharedWithMe",
|
|
562
|
+
/** Organisation-wide prompt; read-only for every user. */
|
|
563
|
+
Public = "public"
|
|
564
|
+
}
|
|
565
|
+
|
|
566
|
+
/** DIAL Core bucket holding organisation-wide skills. */
|
|
567
|
+
export declare const PUBLIC_SKILL_BUCKET = "public";
|
|
568
|
+
|
|
569
|
+
/** The DIAL publish API surface produced by {@link createPublishApiClient}. */
|
|
570
|
+
export declare interface PublishApiClient {
|
|
571
|
+
/** Submits a publication request for one catalog entity into `folderPath`. */
|
|
572
|
+
publishCatalogEntity: (entityType: CatalogPublishEntityType, entityId: string, body: PublishCatalogEntityDto) => Promise<PublishResultDto>;
|
|
573
|
+
/**
|
|
574
|
+
* Submits a removal request for one already-published folder of a catalog
|
|
575
|
+
* entity. The removal takes effect only after an administrator approves it,
|
|
576
|
+
* so callers must report a pending request rather than a completed removal.
|
|
577
|
+
*/
|
|
578
|
+
unpublishCatalogEntity: (entityType: CatalogPublishEntityType, entityId: string, body: UnpublishCatalogEntityDto) => Promise<UnpublishResultDto>;
|
|
579
|
+
/** Reads the folders one catalog entity is already published to. */
|
|
580
|
+
getCatalogPublishHistory: (entityType: CatalogPublishEntityType, entityId: string) => Promise<PublishHistoryEntryDto[]>;
|
|
581
|
+
/** Reads a destination folder's already-configured access rules. */
|
|
582
|
+
getPublishRules: (folderPath: string) => Promise<PublicationRule[]>;
|
|
583
|
+
}
|
|
584
|
+
|
|
585
|
+
/**
|
|
586
|
+
* Reads a skill file response as raw bytes, or `null` when the body is
|
|
587
|
+
* larger than `SKILL_MANIFEST_MAX_BYTES`. The declared `content-length` is
|
|
588
|
+
* checked first so an oversized body is never read into memory at all; the
|
|
589
|
+
* actual byte length is checked again after reading, for a response with no
|
|
590
|
+
* (or an inaccurate) declared length. Applies identically to every skill
|
|
591
|
+
* file, text or binary — not only `SKILL.md`.
|
|
592
|
+
*/
|
|
593
|
+
export declare const readSkillFileBytes: (response: Response) => Promise<Uint8Array | null>;
|
|
594
|
+
|
|
595
|
+
/**
|
|
596
|
+
* Reads a skill manifest response as text, or `null` when the body is larger
|
|
597
|
+
* than `SKILL_MANIFEST_MAX_BYTES`. The size is checked before decoding, so an
|
|
598
|
+
* oversized manifest is never turned into a string.
|
|
599
|
+
*/
|
|
600
|
+
export declare const readSkillManifest: (response: Response) => Promise<string | null>;
|
|
601
|
+
|
|
602
|
+
/**
|
|
603
|
+
* Returns the intersection of `persistedTopics` with topics that appear in
|
|
604
|
+
* `items`. Returns a new Set and never mutates either input.
|
|
605
|
+
*/
|
|
606
|
+
export declare const reconcileFilterTopics: (persistedTopics: ReadonlySet<string>, items: readonly CatalogItem[]) => Set<string>;
|
|
607
|
+
|
|
608
|
+
/**
|
|
609
|
+
* Resolves the primary action for a catalog item.
|
|
610
|
+
*
|
|
611
|
+
* For prompts: prefers already-seeded content from `item.details`; otherwise
|
|
612
|
+
* calls `fetchPrompt` once to retrieve the body. Sets `hasParameters` based on
|
|
613
|
+
* whether the content contains prompt-parameter placeholders.
|
|
614
|
+
*
|
|
615
|
+
* For all other entity types: returns a deployment result with the item id.
|
|
616
|
+
*
|
|
617
|
+
* The function does not navigate, select a deployment, show notifications, or
|
|
618
|
+
* import route constants — those remain the caller's responsibility.
|
|
619
|
+
*
|
|
620
|
+
* @throws When `fetchPrompt` rejects (propagated to the caller without wrapping).
|
|
621
|
+
*/
|
|
622
|
+
export declare const resolveCatalogPrimaryAction: (item: CatalogItem, fetchPrompt: (item: CatalogItem) => Promise<PromptResponseDto>) => Promise<CatalogPrimaryActionResult>;
|
|
623
|
+
|
|
624
|
+
export declare const resolveDeploymentFolder: (deployment: Pick<DeploymentItemDto, "isMy" | "sharedWithMe" | "applicationFolder">, labels: DeploymentFolderLabels) => string[];
|
|
625
|
+
|
|
626
|
+
/** Returns the MCP resource kind a catalog item's Connect endpoint belongs to, or `null` when the item exposes no MCP endpoint. */
|
|
627
|
+
export declare const resolveMcpResourceKind: (type: CatalogEntityType, supportsMcp?: boolean) => McpResourceKind | null;
|
|
628
|
+
|
|
629
|
+
/**
|
|
630
|
+
* Converts an opaque file-listing id into the path expected by the single-file
|
|
631
|
+
* download endpoint. Core may prefix listing paths with the skill path and its
|
|
632
|
+
* internal `files` directory, while the endpoint accepts a path relative to
|
|
633
|
+
* that directory. File-relative ids are returned unchanged.
|
|
634
|
+
*/
|
|
635
|
+
export declare const resolveSkillFileDownloadPath: (fileId: string, skillPath: string) => string | null;
|
|
636
|
+
|
|
637
|
+
/**
|
|
638
|
+
* Resolves the manifest file's opaque listing id across DIAL Core versions.
|
|
639
|
+
* Some return file-relative paths (`SKILL.md`), while others prefix the
|
|
640
|
+
* skill's path and its internal `files` directory. The returned id is kept
|
|
641
|
+
* verbatim so it matches the corresponding tree node exactly.
|
|
642
|
+
*/
|
|
643
|
+
export declare const resolveSkillManifestFileId: (files: SkillMetadataItemDto[], skillPath: string) => string;
|
|
644
|
+
|
|
645
|
+
/**
|
|
646
|
+
* Upper bound on `nextToken` follow-ups per listing, so a pathological bucket
|
|
647
|
+
* cannot spin the client forever.
|
|
648
|
+
*/
|
|
649
|
+
export declare const SKILL_LISTING_MAX_PAGES = 10;
|
|
650
|
+
|
|
651
|
+
/** Items requested per skill-listing page. */
|
|
652
|
+
export declare const SKILL_LISTING_PAGE_SIZE = 1000;
|
|
653
|
+
|
|
654
|
+
/**
|
|
655
|
+
* Largest manifest the details panel will decode. A `SKILL.md` past this is
|
|
656
|
+
* treated as unreadable rather than rendered.
|
|
657
|
+
*/
|
|
658
|
+
export declare const SKILL_MANIFEST_MAX_BYTES: number;
|
|
659
|
+
|
|
660
|
+
/** Structured fields lifted from a skill manifest's frontmatter. */
|
|
661
|
+
declare interface SkillAboutDetails {
|
|
662
|
+
whenToUse?: string;
|
|
663
|
+
allowedTools?: string[];
|
|
664
|
+
bundledResources?: string[];
|
|
665
|
+
skillPrompt?: string;
|
|
666
|
+
}
|
|
667
|
+
|
|
668
|
+
/** A skill's parsed manifest details. */
|
|
669
|
+
export declare interface SkillEntityDetails {
|
|
670
|
+
about?: SkillAboutDetails;
|
|
671
|
+
}
|
|
672
|
+
|
|
673
|
+
/**
|
|
674
|
+
* In-memory bytes for a Skill supporting file, plus its MIME type when known
|
|
675
|
+
* (e.g. from a browser upload's `File.type`).
|
|
676
|
+
*/
|
|
677
|
+
declare interface SkillFileContent {
|
|
678
|
+
/** The file's raw bytes. */
|
|
679
|
+
bytes: Uint8Array;
|
|
680
|
+
/**
|
|
681
|
+
* MIME type from the original browser `File.type`. Omit for edit-mode ZIP
|
|
682
|
+
* entries, which carry no MIME metadata — the type is then inferred from
|
|
683
|
+
* the file's path.
|
|
684
|
+
*/
|
|
685
|
+
mimeType?: string;
|
|
686
|
+
}
|
|
687
|
+
|
|
688
|
+
/** Translated labels for the skill Overview tab's Specification/Details sections. */
|
|
689
|
+
export declare interface SkillOverviewLabels {
|
|
690
|
+
whenToUseLabel: string;
|
|
691
|
+
allowedToolsLabel: string;
|
|
692
|
+
bundledResourcesLabel: string;
|
|
693
|
+
specificationSectionTitle: string;
|
|
694
|
+
authorLabel: string;
|
|
695
|
+
updatedLabel: string;
|
|
696
|
+
fileCountLabel: string;
|
|
697
|
+
detailsSectionTitle: string;
|
|
698
|
+
}
|
|
699
|
+
|
|
700
|
+
/** Discriminant for the kind of error a `useSkillFilePreview` load can produce. */
|
|
701
|
+
export declare enum SkillPreviewErrorKind {
|
|
702
|
+
/** HTTP 403 — the caller lacks permission to read this file. */
|
|
703
|
+
Forbidden = "forbidden",
|
|
704
|
+
/** Any non-403 load failure. */
|
|
705
|
+
Generic = "generic"
|
|
706
|
+
}
|
|
707
|
+
|
|
708
|
+
/** Which skill namespace a catalog skill item came from. */
|
|
709
|
+
export declare enum SkillSource {
|
|
710
|
+
/** A skill in the caller's own bucket. */
|
|
711
|
+
Personal = "personal",
|
|
712
|
+
/** A skill another user shared with the caller. */
|
|
713
|
+
SharedWithMe = "sharedWithMe",
|
|
714
|
+
/** An organisation-wide skill; read-only for every user. */
|
|
715
|
+
Public = "public"
|
|
716
|
+
}
|
|
717
|
+
|
|
718
|
+
/** Sign-in status at both the personal and org-wide (global) level for a toolset. */
|
|
719
|
+
export declare interface ToolsetAuthStatusDetails {
|
|
720
|
+
global?: string;
|
|
721
|
+
appLevel?: string;
|
|
722
|
+
userLevel?: string;
|
|
723
|
+
scopesSupported?: string[];
|
|
724
|
+
authorizationEndpoint?: string;
|
|
725
|
+
tokenEndpoint?: string;
|
|
726
|
+
apiKeyHeader?: string;
|
|
727
|
+
}
|
|
728
|
+
|
|
729
|
+
/** Feature-support flags for a toolset. */
|
|
730
|
+
export declare interface ToolsetCapabilities {
|
|
731
|
+
hasMcp?: boolean;
|
|
732
|
+
hasCaching?: boolean;
|
|
733
|
+
hasSystemPrompt?: boolean;
|
|
734
|
+
hasResume?: boolean;
|
|
735
|
+
}
|
|
736
|
+
|
|
737
|
+
/** Full details payload for a toolset-type deployment. */
|
|
738
|
+
export declare interface ToolsetEntityDetails {
|
|
739
|
+
specification?: ToolsetSpecification;
|
|
740
|
+
capabilities?: ToolsetCapabilities;
|
|
741
|
+
}
|
|
742
|
+
|
|
743
|
+
/** Catalog-facing specification fields for a toolset. */
|
|
744
|
+
export declare interface ToolsetSpecification {
|
|
745
|
+
provider?: string;
|
|
746
|
+
vendor?: string;
|
|
747
|
+
license?: string;
|
|
748
|
+
knowledgeCutoffDate?: string;
|
|
749
|
+
parameters?: string;
|
|
750
|
+
authentication?: AuthenticationType;
|
|
751
|
+
permissions?: string[];
|
|
752
|
+
hostedBy?: string;
|
|
753
|
+
authStatus?: ToolsetAuthStatusDetails;
|
|
754
|
+
createdAt?: number;
|
|
755
|
+
/** Names of all tools the underlying MCP server supports, not just the allow-listed subset in `permissions`. */
|
|
756
|
+
allTools?: string[];
|
|
757
|
+
}
|
|
758
|
+
|
|
759
|
+
/** Maps a catalog item's entity type to the publish API's entity-type path param, or `undefined` if that type is not publishable. */
|
|
760
|
+
export declare const toPublishEntityType: (type: CatalogEntityType) => CatalogPublishEntityType | undefined;
|
|
761
|
+
|
|
762
|
+
/**
|
|
763
|
+
* Converts a `PublicationRule` (publish-panel lib model) to the generated
|
|
764
|
+
* client's `PublishRuleDto` shape. The two differ only in how the comparison
|
|
765
|
+
* function is typed, so the value passes through unchanged.
|
|
766
|
+
*/
|
|
767
|
+
export declare const toPublishRuleDto: (rule: PublicationRule) => PublishRuleDto;
|
|
768
|
+
|
|
769
|
+
/**
|
|
770
|
+
* Headless hook that encapsulates catalog item detail fetching.
|
|
771
|
+
* Extracts the inline dispatch logic from `CatalogView` into a reusable,
|
|
772
|
+
* library-isolated unit.
|
|
773
|
+
*/
|
|
774
|
+
export declare const useCatalogItemDetails: ({ api, skills, isAdmin, dialCoreExternalUrl, skillOverviewLabels, promptOverviewLabels, deploymentLimitsLabels, }: UseCatalogItemDetailsOptions) => UseCatalogItemDetailsResult;
|
|
775
|
+
|
|
776
|
+
/** Options accepted by `useCatalogItemDetails`. */
|
|
777
|
+
export declare interface UseCatalogItemDetailsOptions {
|
|
778
|
+
/** Configured API adapter used for all network calls. */
|
|
779
|
+
api: CatalogDetailsApi;
|
|
780
|
+
/**
|
|
781
|
+
* Combined array of all skills visible to this user
|
|
782
|
+
* (personal + shared + public) for overview metadata lookup.
|
|
783
|
+
*/
|
|
784
|
+
skills: SkillMetadataItemDto[];
|
|
785
|
+
/** Whether the current user has admin privileges (affects toolset credential visibility). */
|
|
786
|
+
isAdmin: boolean;
|
|
787
|
+
/** DIAL Core external base URL used for Connect-tab endpoint construction. */
|
|
788
|
+
dialCoreExternalUrl: string | null | undefined;
|
|
789
|
+
/** Labels for skill overview section headers. */
|
|
790
|
+
skillOverviewLabels: SkillOverviewLabels;
|
|
791
|
+
/** Labels for prompt overview section headers. */
|
|
792
|
+
promptOverviewLabels: PromptOverviewLabels;
|
|
793
|
+
/** Labels for deployment limits table. */
|
|
794
|
+
deploymentLimitsLabels: DeploymentLimitsLabels;
|
|
795
|
+
}
|
|
796
|
+
|
|
797
|
+
/** Returned callbacks from `useCatalogItemDetails`. All callbacks are stable for stable inputs. */
|
|
798
|
+
export declare interface UseCatalogItemDetailsResult {
|
|
799
|
+
/**
|
|
800
|
+
* Fetches full detail data for a catalog item.
|
|
801
|
+
* Returns `undefined` on failure (error handled by caller).
|
|
802
|
+
*/
|
|
803
|
+
onFetchDetails(item: CatalogItem): Promise<CatalogItemDetailsFetchResult | undefined>;
|
|
804
|
+
/**
|
|
805
|
+
* Loads the text content of a file inside the currently open skill's package.
|
|
806
|
+
* Returns `undefined` when the file cannot be read or is a directory.
|
|
807
|
+
*/
|
|
808
|
+
onLoadContentFile(fileId: string): Promise<string | undefined>;
|
|
809
|
+
/**
|
|
810
|
+
* Downloads and returns preview bytes for a file inside the currently open skill's package.
|
|
811
|
+
* Throws on HTTP errors, unparseable ids, and size-limit violations.
|
|
812
|
+
*/
|
|
813
|
+
onLoadSkillDetailsFile(fileId: string): Promise<SkillFileContent>;
|
|
814
|
+
}
|
|
815
|
+
|
|
816
|
+
/**
|
|
817
|
+
* Manages the set of favorited entity ids: loads on mount, applies optimistic
|
|
818
|
+
* toggle with exact-inverse rollback on failure, and re-throws persistence
|
|
819
|
+
* errors so callers can react. Does not import any app context or server-api.
|
|
820
|
+
*/
|
|
821
|
+
export declare const useFavoriteEntitiesState: ({ loadFavorites, updateFavorite, }: UseFavoriteEntitiesStateParams) => UseFavoriteEntitiesStateResult;
|
|
822
|
+
|
|
823
|
+
/** Parameters for {@link useFavoriteEntitiesState}. */
|
|
824
|
+
export declare interface UseFavoriteEntitiesStateParams {
|
|
825
|
+
/** Fetches the initial set of favorite ids from the server. */
|
|
826
|
+
loadFavorites: () => Promise<FavoritesPayload>;
|
|
827
|
+
/** Persists a single favorite toggle for the given entity type. */
|
|
828
|
+
updateFavorite: (id: string, isFavorite: boolean, entityType: FavoriteEntityType) => Promise<void>;
|
|
829
|
+
}
|
|
830
|
+
|
|
831
|
+
/** Result returned by {@link useFavoriteEntitiesState}. */
|
|
832
|
+
export declare interface UseFavoriteEntitiesStateResult {
|
|
833
|
+
/** Union of all installed entity ids across every category. */
|
|
834
|
+
favoriteIds: ReadonlySet<string>;
|
|
835
|
+
/** True until the initial load has settled. */
|
|
836
|
+
isLoading: boolean;
|
|
837
|
+
/** Optimistically toggles a favorite and rolls back on persistence failure. */
|
|
838
|
+
toggleFavorite: (id: string, isFavorite: boolean, entityType?: FavoriteEntityType) => Promise<void>;
|
|
839
|
+
}
|
|
840
|
+
|
|
841
|
+
/**
|
|
842
|
+
* Loads the Organization/public bucket's folder tree lazily (one listing per
|
|
843
|
+
* expanded folder, cached by API path) for the Publish flow's folder picker,
|
|
844
|
+
* shared by catalog-entity publish and conversation publish. Scoped to folders
|
|
845
|
+
* only — unlike `useDialFileManager`, it does not list files, rename,
|
|
846
|
+
* copy/move, or upload.
|
|
847
|
+
*
|
|
848
|
+
* Destinations the user has already published to are merged into that tree
|
|
849
|
+
* from `rememberedFolderKeys`. Publishing creates a DIAL Core publication
|
|
850
|
+
* *request*, so a folder picked during publish is not a listable resource in
|
|
851
|
+
* the public files bucket this tree is built from — the remembered list is
|
|
852
|
+
* what keeps such a folder selectable for the next publish instead of
|
|
853
|
+
* vanishing when the panel is reopened.
|
|
854
|
+
*
|
|
855
|
+
* Takes `listPublicFiles` as a parameter and hands remembered destinations
|
|
856
|
+
* back through a callback, so it imports no app context and no storage API.
|
|
857
|
+
*/
|
|
858
|
+
export declare const usePublishFolders: ({ listPublicFiles, rememberedFolderKeys, onRememberedFolderKeysChange, }: UsePublishFoldersParams) => UsePublishFoldersResult;
|
|
859
|
+
|
|
860
|
+
/** Parameters for {@link usePublishFolders}. */
|
|
861
|
+
export declare interface UsePublishFoldersParams {
|
|
862
|
+
/** Lists one folder level of the Organization/public files bucket. */
|
|
863
|
+
listPublicFiles: (params: {
|
|
864
|
+
path?: string;
|
|
865
|
+
}) => Promise<ListFilesResponseDto>;
|
|
866
|
+
/**
|
|
867
|
+
* Folder path keys (`path.join('/')`) the user has published to before.
|
|
868
|
+
* Owned by the host, which is also what persists them — this hook never
|
|
869
|
+
* touches browser storage (library isolation).
|
|
870
|
+
*/
|
|
871
|
+
rememberedFolderKeys?: string[];
|
|
872
|
+
/**
|
|
873
|
+
* Called with the next remembered-key list when {@link
|
|
874
|
+
* UsePublishFoldersResult.rememberPublishFolder} records a destination.
|
|
875
|
+
* Omit it for a host that does not persist destinations.
|
|
876
|
+
*/
|
|
877
|
+
onRememberedFolderKeysChange?: (folderKeys: string[]) => void;
|
|
878
|
+
}
|
|
879
|
+
|
|
880
|
+
/** Result returned by {@link usePublishFolders}. */
|
|
881
|
+
export declare interface UsePublishFoldersResult {
|
|
882
|
+
/** Folder tree loaded so far from the Organization/public bucket. */
|
|
883
|
+
folderItems: PublishFolderNode[];
|
|
884
|
+
/** Folder path keys currently expanded in the tree. */
|
|
885
|
+
expandedPaths: Set<string>;
|
|
886
|
+
/** Folder path keys whose children have already been fetched. */
|
|
887
|
+
loadedPaths: Set<string>;
|
|
888
|
+
/** Folder path keys currently being fetched. */
|
|
889
|
+
loadingPaths: Set<string>;
|
|
890
|
+
/** Called by the folder tree when the set of expanded folders changes. */
|
|
891
|
+
onExpandedPathsChange: (paths: Set<string>) => void;
|
|
892
|
+
/**
|
|
893
|
+
* Adds a folder under `parentPath` to the in-memory tree only — it is
|
|
894
|
+
* never created on the backend here. The path becomes real once the user
|
|
895
|
+
* actually publishes to it: the publish request writes to the nested
|
|
896
|
+
* `folderPath`, which DIAL Core storage creates implicitly, the same way
|
|
897
|
+
* writing a file to a new prefix does. This avoids leaving an orphaned
|
|
898
|
+
* empty folder behind when the user picks a new-folder name and then
|
|
899
|
+
* cancels the publish. Because the folder exists only locally, it is kept
|
|
900
|
+
* apart from the listing cache, so a listing that arrives afterwards
|
|
901
|
+
* cannot drop it again.
|
|
902
|
+
*/
|
|
903
|
+
onCreatePublishFolder: (parentPath: string[], name: string) => Promise<void>;
|
|
904
|
+
/**
|
|
905
|
+
* Records `folderPath` as a publish destination the user has actually used,
|
|
906
|
+
* so it keeps appearing in the tree on later publishes. Call it after a
|
|
907
|
+
* successful publish.
|
|
908
|
+
*/
|
|
909
|
+
rememberPublishFolder: (folderPath: string[]) => void;
|
|
910
|
+
/** Heuristic write-access check for a folder path (see the TODO above). */
|
|
911
|
+
hasPublishWriteAccess: (folderPath: string[]) => boolean;
|
|
912
|
+
}
|
|
913
|
+
|
|
914
|
+
/**
|
|
915
|
+
* Headless hook that manages the skill-file preview loading lifecycle.
|
|
916
|
+
* Starts a new load on mount and whenever `fileId` changes; classifies errors
|
|
917
|
+
* as `Forbidden` (HTTP 403) or `Generic`; discards settlements from superseded
|
|
918
|
+
* or unmounted loads.
|
|
919
|
+
*/
|
|
920
|
+
export declare const useSkillFilePreview: ({ fileId, onLoadFile, }: UseSkillFilePreviewOptions) => UseSkillFilePreviewResult;
|
|
921
|
+
|
|
922
|
+
/** Options accepted by `useSkillFilePreview`. */
|
|
923
|
+
export declare interface UseSkillFilePreviewOptions {
|
|
924
|
+
/**
|
|
925
|
+
* Opaque id of the selected skill file. Changing this resets all state
|
|
926
|
+
* and starts a new load; stale resolutions from the previous id are discarded.
|
|
927
|
+
*/
|
|
928
|
+
fileId: string;
|
|
929
|
+
/**
|
|
930
|
+
* App-owned loader; resolves with the raw file bytes when the request
|
|
931
|
+
* succeeds. The hook never constructs a URL or imports a REST client.
|
|
932
|
+
*/
|
|
933
|
+
onLoadFile: (fileId: string) => Promise<SkillFileContent>;
|
|
934
|
+
}
|
|
935
|
+
|
|
936
|
+
/** State returned by `useSkillFilePreview`. */
|
|
937
|
+
export declare interface UseSkillFilePreviewResult {
|
|
938
|
+
/** `true` while the async load is in flight. */
|
|
939
|
+
isLoading: boolean;
|
|
940
|
+
/** Resolved file content, or `null` while loading or after an error. */
|
|
941
|
+
content: SkillFileContent | null;
|
|
942
|
+
/** Classified load error, or `null` while loading or after a success. */
|
|
943
|
+
error: SkillPreviewErrorKind | null;
|
|
944
|
+
}
|
|
945
|
+
|
|
946
|
+
export { }
|