@epam/ai-dial-chat-hooks 1.2.0-dev.99 → 1.3.0-dev.5

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.
Files changed (84) hide show
  1. package/api-error/api-error.js +7 -4
  2. package/catalog/catalog-derivations.js +1 -1
  3. package/catalog/deployment-id.js +8 -2
  4. package/catalog/map-deployment-limits-to-catalog.js +16 -24
  5. package/catalog/map-deployment-limits-to-input.js +81 -9
  6. package/catalog/map-deployment-to-catalog-item.js +34 -34
  7. package/catalog/map-entity-details-to-catalog.js +237 -192
  8. package/catalog/map-skill-to-catalog-item.js +61 -54
  9. package/catalog/publish.js +4 -4
  10. package/catalog/useCatalogEditNavigation/useCatalogEditNavigation.js +122 -101
  11. package/catalog/useCatalogItemDetails.js +9 -8
  12. package/catalog/usePublishFolders/usePublishFolders.js +1 -1
  13. package/catalog.d.ts +171 -34
  14. package/catalog.js +23 -23
  15. package/conversation/conversation-transfer/export-conversation.js +24 -16
  16. package/conversation/conversation-transfer/import-conversation.js +80 -31
  17. package/conversation/create-chat-stream-api.js +89 -49
  18. package/conversation/get-model-id-from-conversation-id.js +15 -9
  19. package/conversation/message-utils.js +44 -2
  20. package/conversation/stage.js +6 -2
  21. package/conversation/useActiveConversationSync/useActiveConversationSync.js +7 -8
  22. package/conversation/useConversationExport/useConversationExport.js +9 -9
  23. package/conversation/useConversationHandlers/message-utils.js +8 -5
  24. package/conversation/useConversationHandlers/useConversationHandlers.js +181 -167
  25. package/conversation/useConversationImport/useConversationImport.js +123 -121
  26. package/conversation/useConversationPanelItems/useConversationPanelItems.js +49 -31
  27. package/conversation/useConversationStream/frame-scheduler.js +39 -0
  28. package/conversation/useConversationStream/generation-resume.js +122 -64
  29. package/conversation/useConversationStream/useConversationStream.js +298 -118
  30. package/conversation/useMessageSelectionReply/useMessageSelectionReply.js +189 -0
  31. package/conversation-sources/useConversationSources/useConversationSources.js +31 -24
  32. package/conversation-sources.d.ts +1 -1
  33. package/conversation-transfer.d.ts +2 -1
  34. package/conversation.d.ts +218 -22
  35. package/conversation.js +32 -31
  36. package/file-manager-canvas.d.ts +27 -7
  37. package/file-manager.d.ts +87 -32
  38. package/file-manager.js +25 -24
  39. package/files/attachment-canvas.js +67 -44
  40. package/files/dial-file-manager-copy-move.util.js +9 -8
  41. package/files/dial-file-manager-mapping.util.js +2 -1
  42. package/files/dial-file-manager-path.util.js +24 -2
  43. package/files/dial-file-manager.model.js +23 -19
  44. package/files/dial-file-manager.types.js +3 -3
  45. package/files/file-manager-variant.js +1 -1
  46. package/files/resolve-dial-file-api-path.js +11 -12
  47. package/files/useDialFileListing/useDialFileListing.js +140 -127
  48. package/files/useDialFileManager/useDialFileManager.js +139 -135
  49. package/files/useDialFileManagerSections/useDialFileManagerSections.js +155 -0
  50. package/files/useDialFileManagerTabConfig/useDialFileManagerTabConfig.js +20 -15
  51. package/files/useDialFileMutations/useDialFileMutations.js +65 -60
  52. package/files/useDialFileUploadBatch/useDialFileUploadBatch.js +117 -110
  53. package/files/useFileAttachmentPicker/useFileAttachmentPicker.js +28 -23
  54. package/index.d.ts +643 -128
  55. package/index.js +136 -134
  56. package/mcp-apps/useMcpAppTools/useMcpAppTools.js +1 -1
  57. package/oauth/authorize-url.js +3 -3
  58. package/oauth/toolset-id.js +5 -3
  59. package/oauth/useToolsetLogin/useToolsetLogin.js +8 -8
  60. package/oauth.d.ts +34 -2
  61. package/oauth.js +9 -9
  62. package/package.json +19 -23
  63. package/scheduled-task/scheduled-task-description.js +43 -39
  64. package/scheduled-task/scheduled-task-trigger.js +74 -71
  65. package/scheduled-task/use-scheduled-task-runs.js +162 -50
  66. package/scheduled-task/use-scheduled-tasks.js +52 -48
  67. package/scheduled-tasks.d.ts +27 -6
  68. package/scheduled-tasks.js +2 -2
  69. package/shared/application-schema.js +5 -2
  70. package/shared/cron-day-of-month.js +13 -0
  71. package/skill/skill-archive.js +19 -0
  72. package/skill/skill-types.js +8 -7
  73. package/skill/skill.js +52 -29
  74. package/skill/useSkillArchiveImport/useSkillArchiveImport.js +38 -34
  75. package/skill/useSkillEditorLoad.js +65 -59
  76. package/skill/useSkillEditorSubmit.js +105 -93
  77. package/skill/useSkillFileActions.js +70 -58
  78. package/skill-editor.d.ts +62 -13
  79. package/skill-editor.js +9 -9
  80. package/usage/map-user-usage-to-model-limits.js +137 -95
  81. package/usage.d.ts +8 -3
  82. package/usePageFileDrag/usePageFileDrag.js +3 -3
  83. package/utils.d.ts +26 -6
  84. package/utils.js +10 -10
package/index.js CHANGED
@@ -12,137 +12,139 @@ import { EXPORT_APP_NAME as k } from "./conversation/conversation-transfer/expor
12
12
  import { formatQuotedNameList as A } from "./conversation/conversation-transfer/import-conversation.js";
13
13
  import { createPublishApiClient as j, toPublishRuleDto as M } from "./catalog/create-publish-api.js";
14
14
  import { buildChatCompletionsUrl as N, buildDeploymentConnectApi as P, buildResponsesUrl as F } from "./catalog/deployment-endpoint-url.js";
15
- import { encodeDeploymentId as I, findDeploymentByIdOrReference as L } from "./catalog/deployment-id.js";
16
- import { AuthenticationType as R } from "./catalog/entity-details.js";
17
- import { mapDeploymentLimitsDtoToCatalogLimits as z } from "./catalog/map-deployment-limits-to-catalog.js";
18
- import { mapDeploymentLimitsToInput as B } from "./catalog/map-deployment-limits-to-input.js";
19
- import { decodeToolsetId as V, encodeToolsetId as H, isPublicToolsetId as U } from "./oauth/toolset-id.js";
20
- import { appendLocaleCode as W, buildAdditionalLocaleOptions as G, composeLocalePayload as K, decomposeLocalizedFields as q, resolveLocalizedText as J, toBaseLocale as Y } from "./shared/locale.js";
21
- import { formatCalendarDate as X, padTwoDigits as Z } from "./shared/formatting.js";
22
- import { mapDeploymentDetailsDtoToEntityDetails as Q, mapEntityDetailsToCatalogDetails as $, mapToolsetCredentials as ee } from "./catalog/map-entity-details-to-catalog.js";
23
- import { mapDeploymentToCatalogItem as te, mapDeploymentToolsetCredentials as ne, mapToolsetToCatalogItem as re, resolveDeploymentFolder as ie } from "./catalog/map-deployment-to-catalog-item.js";
24
- import { PromptSource as ae, parsePromptResourceUrl as oe } from "./prompt/prompt-resource.js";
25
- import { buildPromptOverview as se, isOrganisationPromptItem as ce, mapPromptToCatalogItem as le } from "./catalog/map-prompt-to-catalog-item.js";
26
- import { SKILL_FILE_UPLOAD_MAX_BYTES as ue, SKILL_MANIFEST_FILE as de, SKILL_UPLOAD_MAX_FILES as fe, SKILL_UPLOAD_MAX_TOTAL_BYTES as pe, buildSkillFilesPayload as me, buildSkillManifest as he, buildSkillManifestForSubmit as ge, buildSkillManifestFromFrontmatter as _e, isValidSkillRelativePath as ve, nameFromPath as ye, normalizeSkillName as be, parseSkillManifest as xe, skillFileBytesToBlob as Se, startsWithFrontmatterBlock as Ce, unpackSkillArchive as we } from "./skill/skill.js";
27
- import { PUBLIC_SKILL_BUCKET as Te, SKILL_LISTING_MAX_PAGES as Ee, SKILL_LISTING_PAGE_SIZE as De, SKILL_MANIFEST_MAX_BYTES as Oe, SkillSource as ke, parseSkillResourceUrl as Ae } from "./skill/skill-types.js";
28
- import { buildSkillContentTree as je, buildSkillOverview as Me, mapSkillToCatalogItem as Ne, readSkillFileBytes as Pe, readSkillFilePreviewBytes as Fe, readSkillManifest as Ie, resolveSkillFileDownloadPath as Le, resolveSkillManifestFileId as Re } from "./catalog/map-skill-to-catalog-item.js";
29
- import { McpResourceKind as ze, buildApplicationMcpUrl as Be, buildConnectApi as Ve, buildToolsetMcpUrl as He, resolveMcpResourceKind as Ue } from "./catalog/mcp-endpoint-url.js";
30
- import { getPublicCatalogEntityFolderPath as We, isPublicCatalogEntityId as Ge, mapPublishConversationResultDto as Ke, mapPublishHistoryEntryDto as qe, toPublishEntityType as Je } from "./catalog/publish.js";
31
- import { deriveAvailableTabIds as Ye, deriveFavoriteItems as Xe, filterCatalogItemsBySelector as Ze, filterHiddenOwnedItems as Qe, reconcileFilterTopics as $e } from "./catalog/catalog-derivations.js";
32
- import { CatalogPrimaryActionType as et, resolveCatalogPrimaryAction as tt } from "./catalog/catalog-primary-action.js";
33
- import { useCatalogEditNavigation as nt } from "./catalog/useCatalogEditNavigation/useCatalogEditNavigation.js";
34
- import { parseSkillManifestDocument as rt } from "./skill/skill-manifest.js";
35
- import { useSkillItemDetails as it } from "./catalog/useSkillItemDetails.js";
36
- import { useCatalogItemDetails as at } from "./catalog/useCatalogItemDetails.js";
37
- import { OAuthResourceKind as ot, TOOLSET_REDIRECT_STATE_KEY as st, ToolsetAuthStatus as ct, ToolsetAuthTypes as lt, ToolsetCredentialsLevel as ut, ToolsetOAuthCallbackQuery as dt, ToolsetOAuthChannelControlType as ft, ToolsetOAuthFailureReason as pt, ToolsetOAuthInitiationResultType as mt, ToolsetOAuthResultType as ht, WithLogin as gt } from "./oauth/types.js";
38
- import { emitToolsetLoginSuccess as _t, subscribeToolsetLoginSuccess as vt } from "./shared/toolset-login-events.js";
39
- import { getToolsetOAuthChannelName as yt, waitForToolsetOAuthResult as bt } from "./oauth/handshake.js";
40
- import { buildToolsetAuthorizeUrl as xt, getToolsetRedirectUri as St } from "./oauth/authorize-url.js";
41
- import { initiateOAuthLogin as Ct, navigateToolsetOAuthPopup as wt, openToolsetOAuthPopup as Tt } from "./oauth/popup.js";
42
- import { ToolsetLoginOutcomeType as Et, useToolsetLogin as Dt } from "./oauth/useToolsetLogin/useToolsetLogin.js";
43
- import { useCatalogToolsetCredentials as Ot } from "./catalog/useCatalogToolsetCredentials/useCatalogToolsetCredentials.js";
44
- import { useApplicationCredentials as kt } from "./catalog/useApplicationCredentials/useApplicationCredentials.js";
45
- import { useSkillDetailsPanelData as At } from "./catalog/useSkillDetailsPanelData/useSkillDetailsPanelData.js";
46
- import { FavoriteEntityType as jt, useFavoriteEntitiesState as Mt } from "./catalog/useFavoriteEntitiesState/useFavoriteEntitiesState.js";
47
- import { usePublishFolders as Nt } from "./catalog/usePublishFolders/usePublishFolders.js";
48
- import { buildAnnouncementSignature as Pt, hasAnnouncementContent as Ft, hasStructuredAnnouncement as It, sanitizeAnnouncementHtml as Lt, sanitizeAnnouncementMessageHtml as Rt } from "./conversation/announcement-message.js";
49
- import { DEFAULT_GENERATION_CONFLICT_MESSAGE as zt, GenerationConflictError as Bt, createChatStreamApi as Vt } from "./conversation/create-chat-stream-api.js";
50
- import { shouldWatchForDisplayNameUpdate as Ht } from "./conversation/display-name-watch.js";
51
- import { formatAppVersion as Ut, sanitizeFooterHtml as Wt } from "./conversation/footer-message.js";
52
- import { getModelIdFromConversationId as Gt } from "./conversation/get-model-id-from-conversation-id.js";
53
- import { getTimeOfDayGreeting as Kt } from "./conversation/greeting.js";
54
- import { createDeploymentChangedMessage as qt } from "./conversation/message-factory.js";
55
- import { getLastDeploymentId as Jt, getLastUserMessageToolConfiguration as Yt, isMessageStreaming as Xt, messageHasStages as Zt, normalizeResponseFormat as Qt } from "./conversation/message-utils.js";
56
- import { toOverlayMessages as $t } from "./conversation/overlay-messages.js";
57
- import { getQuickAppConversationStarters as en } from "./conversation/quick-app-conversation-starters.js";
58
- import { mapStages as tn, toStage as nn } from "./conversation/stage.js";
59
- import { getStarterPopulateText as rn, getStartersFromSchema as an } from "./conversation/starter-option.js";
60
- import { useOAuthCallbackCompletion as on } from "./oauth/useOAuthCallbackCompletion/useOAuthCallbackCompletion.js";
61
- import { buildPromptExportEnvelope as sn, buildPromptExportFileName as cn, serializePromptExport as ln } from "./prompt/export-prompt.js";
62
- import { PROMPT_CONTENT_MAX_LENGTH as un, PROMPT_COUNTER_ANNOUNCE_THRESHOLD as dn, PROMPT_DESCRIPTION_MAX_LENGTH as fn, PROMPT_NAME_MAX_LENGTH as pn, PromptFieldError as mn, buildPromptPath as hn, getRemainingCharacters as gn, validatePromptContent as _n, validatePromptDescription as vn, validatePromptName as yn } from "./prompt/prompt.js";
63
- import { usePromptsState as bn } from "./prompt/usePromptsState/usePromptsState.js";
64
- import { UnsupportedTriggerReason as xn } from "./scheduled-task/scheduled-task-mapping.js";
65
- import { ScheduledTaskTriggerDescriptionKind as Sn, describeScheduledTaskTrigger as Cn } from "./scheduled-task/scheduled-task-description.js";
66
- import { apSchedulerDayToJsDay as wn, jsDayToApSchedulerDay as Tn } from "./shared/cron-weekday.js";
67
- import { mapFormValuesToCreateBody as En, mapFormValuesToUpdateBody as Dn, mapScheduledTaskDtoToFormValues as On } from "./scheduled-task/scheduled-task-trigger.js";
68
- import { prepareScheduledTaskCreateBody as kn, prepareScheduledTaskUpdateBody as An } from "./scheduled-task/scheduled-task-preparation.js";
69
- import { createScheduledTasksApiClient as jn } from "./scheduled-task/scheduled-tasks-api-client.js";
70
- import { useScheduledTasks as Mn } from "./scheduled-task/use-scheduled-tasks.js";
71
- import { useScheduledTaskRuns as Nn } from "./scheduled-task/use-scheduled-task-runs.js";
72
- import { validateSkillFileBatch as Pn } from "./skill/skill-file-batch-validation.js";
73
- import { skillFileToAttachment as Fn } from "./skill/skill-file-preview.js";
74
- import { SkillEditorLoadState as In, useSkillEditorLoad as Ln } from "./skill/useSkillEditorLoad.js";
75
- import { useSkillEditorSubmit as Rn } from "./skill/useSkillEditorSubmit.js";
76
- import { useSkillFileActions as zn } from "./skill/useSkillFileActions.js";
77
- import { SkillPreviewErrorKind as Bn, useSkillFilePreview as Vn } from "./skill/useSkillFilePreview.js";
78
- import { useSkillsState as Hn } from "./skill/useSkillsState/useSkillsState.js";
79
- import { SkillArchiveImportErrorKind as Un, SkillArchiveImportStatus as Wn, SkillArchiveSelectionRejectionReason as Gn, classifySkillArchiveImportError as Kn, useSkillArchiveImport as qn } from "./skill/useSkillArchiveImport/useSkillArchiveImport.js";
80
- import { RecipientsCountStatus as Jn, useShareRecipientsCount as Yn } from "./useShareRecipientsCount/useShareRecipientsCount.js";
81
- import { deriveConversationRowActionState as Xn } from "./conversation/deriveConversationRowActionState/deriveConversationRowActionState.js";
82
- import { useActiveConversationSync as Zn } from "./conversation/useActiveConversationSync/useActiveConversationSync.js";
83
- import { useAsyncConfirmDialog as Qn } from "./conversation/useAsyncConfirmDialog/useAsyncConfirmDialog.js";
84
- import { useConversationLookupMaps as $n } from "./conversation/useConversationLookupMaps/useConversationLookupMaps.js";
85
- import { getConversationSource as er, useConversationPanelItems as tr } from "./conversation/useConversationPanelItems/useConversationPanelItems.js";
86
- import { useImportFilePicker as nr } from "./conversation/useImportFilePicker/useImportFilePicker.js";
87
- import { sanitizeFileName as rr, splitFileNameExtension as ir, trimFileNameToByteLimit as ar } from "./files/file-name.js";
88
- import { useAttachmentUpload as or } from "./conversation/useAttachmentUpload/useAttachmentUpload.js";
89
- import { AudioTranscriptionError as sr, AudioTranscriptionErrorReason as cr } from "./conversation/useTranscribeAudio/audio-transcription-error.js";
90
- import { useTranscribeAudio as lr } from "./conversation/useTranscribeAudio/useTranscribeAudio.js";
91
- import { DEFAULT_MAX_ARCHIVE_BYTES as ur, useConversationExport as dr } from "./conversation/useConversationExport/useConversationExport.js";
92
- import { attachmentToDto as fr, attachmentsToDtos as pr } from "./conversation/useConversationHandlers/attachment-to-dto.js";
93
- import { createMessagePair as mr } from "./conversation/useConversationHandlers/message-factory.js";
94
- import { hasActiveToolConfig as hr, isAnswerIncomplete as gr, isMessageChanged as _r, shouldRerunGenerationOnEdit as vr } from "./conversation/useConversationHandlers/message-utils.js";
95
- import { getStarterConversationText as yr, getStarterDisplayText as br, getStarterSubmitText as xr } from "./conversation/useConversationHandlers/starter-option.js";
96
- import { getConversationPath as Sr } from "./conversation/useConversationStream/conversation-path.js";
97
- import { useConversationHandlers as Cr } from "./conversation/useConversationHandlers/useConversationHandlers.js";
98
- import { useConversationImport as wr } from "./conversation/useConversationImport/useConversationImport.js";
99
- import { useConversationScroll as Tr } from "./conversation/useConversationScroll/useConversationScroll.js";
100
- import { applyChunkToMessages as Er, mergeStages as Dr } from "./conversation/useConversationStream/apply-chunk.js";
101
- import { isAwaitingGenerationResume as Or } from "./conversation/useConversationStream/generation-resume.js";
102
- import { useConversationStream as kr } from "./conversation/useConversationStream/useConversationStream.js";
103
- import { useConversationSources as Ar } from "./conversation-sources/useConversationSources/useConversationSources.js";
104
- import { DialFilesApiUploadMode as jr } from "./files/dial-files-api.js";
105
- import { FileManagerNotificationReason as Mr, FileNameValidationErrorReason as Nr, FileOperationKind as Pr } from "./files/dial-file-manager.types.js";
106
- import { COLUMNS_WITHOUT_AUTHOR as Fr, COLUMNS_WITH_AUTHOR as Ir, CORE_PERMISSION_MAP as Lr, DATE_OPTIONS as Rr, PATH_SEPARATOR_REGEXP as zr, RESERVED_MARKER_NAME as Br, UPLOAD_CONCURRENCY as Vr } from "./files/dial-file-manager.model.js";
107
- import { DialFileManagerActionProfile as Hr, DialFileManagerVariant as Ur, deriveActionProfile as Wr } from "./files/file-manager-variant.js";
108
- import { buildSharedItemVirtualPath as Gr, dialCorePathToRelative as Kr, findDialFileByPath as qr, findFolderByVirtualPath as Jr, formatOperationFolderName as Yr, getVirtualPathName as Xr, hasDialFileWritePermission as Zr, hasForbiddenNameSymbols as Qr, isCopyMoveDuplicateAllowed as $r, isShareActionsAllowed as ei, normalizeVirtualPath as ti, parseNewFolderVirtualPath as ni, resolveOwnerCoords as ri } from "./files/dial-file-manager-path.util.js";
109
- import { getParentFolderPath as ii, resolveDialFileApiPath as ai, virtualPathToApiPath as oi } from "./files/resolve-dial-file-api-path.js";
110
- import { prepareCopyItems as si, prepareMoveRenameItems as ci } from "./files/dial-file-manager-copy-move.util.js";
111
- import { buildFromCache as li, fetchByTab as ui, fetchForSearch as di, findFirstSuccessfulCopyMoveItem as fi, mapCorePermissions as pi, mapFileMetadataToDialFile as mi, mapSearchItem as hi, mergeCreatedFolderIntoCache as gi, updateEntry as _i } from "./files/dial-file-manager-mapping.util.js";
112
- import { createFilesApiClient as vi } from "./files/create-files-api.js";
113
- import { createUploadFileWithProgress as yi } from "./files/create-upload-file-with-progress.js";
114
- import { openAnnotationAttachment as bi } from "./files/annotation.js";
115
- import { annotationToOoxmlCanvasContent as xi, annotationToPdfCanvasContent as Si, clearAttachmentCache as Ci, hasAttachmentTextSource as wi, referenceAttachmentToPdfCanvasContent as Ti, resolveCodeCanvasContent as Ei, resolveGroupedVisualizerCanvasContent as Di, resolveHtmlCanvasContent as Oi, resolveImageCanvasContent as ki, resolveJsonCanvasContent as Ai, resolveMarkdownCanvasContent as ji, resolveOoxmlCanvasContent as Mi, resolvePdfCanvasContent as Ni, resolveTextCanvasContent as Pi, resolveVisualizerCanvasContent as Fi } from "./files/attachment-canvas.js";
116
- import { getUrlFileName as Ii, isExternalSourcePreviewable as Li, resolveExternalSourceContentType as Ri } from "./files/source-content.js";
117
- import { annotationToDisplayAttachment as zi, attachmentDtoToDisplayAttachment as Bi, attachmentDtosToDisplayAttachments as Vi } from "./files/attachment-dto-to-display.js";
118
- import { dialFileToAttachment as Hi, dialFilesToAttachments as Ui, dialFolderPathToAttachment as Wi } from "./files/dial-file-to-attachment.js";
119
- import { DownloadDestinationType as Gi } from "./files/download-destination.js";
120
- import { prepareDownloadDestination as Ki } from "./files/prepare-download-destination.js";
121
- import { useDialFileListing as qi } from "./files/useDialFileListing/useDialFileListing.js";
122
- import { useDialFileMetadata as Ji } from "./files/useDialFileMetadata/useDialFileMetadata.js";
123
- import { useDialFileMutations as Yi } from "./files/useDialFileMutations/useDialFileMutations.js";
124
- import { useDialFileSharing as Xi } from "./files/useDialFileSharing/useDialFileSharing.js";
125
- import { useDialFileUploadBatch as Zi } from "./files/useDialFileUploadBatch/useDialFileUploadBatch.js";
126
- import { useDialFileManager as Qi } from "./files/useDialFileManager/useDialFileManager.js";
127
- import { useDialFileManagerTabConfig as $i } from "./files/useDialFileManagerTabConfig/useDialFileManagerTabConfig.js";
128
- import { useFileAttachmentPicker as ea } from "./files/useFileAttachmentPicker/useFileAttachmentPicker.js";
129
- import { isCustomAppSchema as ta, isQuickAppSchema as na } from "./shared/application-schema.js";
130
- import { getBrowserTimezone as ra } from "./shared/browser-timezone.js";
131
- import { isValidAbsoluteUrl as ia, isValidFeaturesData as aa, parseFeaturesData as oa } from "./shared/custom-apps.js";
132
- import { buildExternalServiceScopeId as sa, getExternalServiceFallbackName as ca, parseExternalServiceUrl as la } from "./shared/external-services.js";
133
- import { useChatSettingsFormConfig as ua } from "./useChatSettingsFormConfig/useChatSettingsFormConfig.js";
134
- import { usePageFileDrag as da } from "./usePageFileDrag/usePageFileDrag.js";
135
- import { useViewportWidth as fa } from "./useViewportWidth/useViewportWidth.js";
136
- import { usePanelMaxWidth as pa } from "./usePanelMaxWidth/usePanelMaxWidth.js";
137
- import { useShareLink as ma } from "./useShareLink/useShareLink.js";
138
- import { useToolsMenu as ha } from "./useToolsMenu/useToolsMenu.js";
139
- import { USAGE_DATA_I18N_KEYS as ga, mapUsageDataToDashboard as _a } from "./usage/map-usage-data-to-dashboard.js";
140
- import { USAGE_MODEL_LIMITS_I18N_KEYS as va, mapOverallCostLimitsToPeriodStatuses as ya, mapUserUsageToModelLimits as ba } from "./usage/map-user-usage-to-model-limits.js";
141
- import { useUsageData as xa } from "./usage/useUsageData/useUsageData.js";
142
- import { McpAppResourceFetchError as Sa, createMcpAppsApiClient as Ca } from "./mcp-apps/mcp-apps-api-client.js";
143
- import { useMcpAppTools as wa } from "./mcp-apps/useMcpAppTools/useMcpAppTools.js";
144
- import { useMcpAppHostContext as Ta } from "./mcp-apps/useMcpAppHostContext/useMcpAppHostContext.js";
145
- import { useMcpAppHostAdapter as Ea } from "./mcp-apps/useMcpAppHostAdapter/useMcpAppHostAdapter.js";
146
- import { useOpenMcpAppCanvas as Da } from "./mcp-apps/useOpenMcpAppCanvas/useOpenMcpAppCanvas.js";
147
- import { useGridEditingScroll as Oa } from "@epam/ai-dial-chat-shared";
148
- export { x as AttachmentValidationErrorReason, sr as AudioTranscriptionError, cr as AudioTranscriptionErrorReason, R as AuthenticationType, Fr as COLUMNS_WITHOUT_AUTHOR, Ir as COLUMNS_WITH_AUTHOR, Lr as CORE_PERMISSION_MAP, et as CatalogPrimaryActionType, T as ConversationExportMode, E as ConversationTransferErrorCode, D as ConversationTransferWarningCode, Rr as DATE_OPTIONS, zt as DEFAULT_GENERATION_CONFLICT_MESSAGE, ur as DEFAULT_MAX_ARCHIVE_BYTES, Hr as DialFileManagerActionProfile, Ur as DialFileManagerVariant, jr as DialFilesApiUploadMode, Gi as DownloadDestinationType, k as EXPORT_APP_NAME, O as ExportFileNameKind, jt as FavoriteEntityType, Mr as FileManagerNotificationReason, Nr as FileNameValidationErrorReason, Pr as FileOperationKind, Bt as GenerationConflictError, Sa as McpAppResourceFetchError, ze as McpResourceKind, ot as OAuthResourceKind, zr as PATH_SEPARATOR_REGEXP, un as PROMPT_CONTENT_MAX_LENGTH, dn as PROMPT_COUNTER_ANNOUNCE_THRESHOLD, fn as PROMPT_DESCRIPTION_MAX_LENGTH, pn as PROMPT_NAME_MAX_LENGTH, Te as PUBLIC_SKILL_BUCKET, mn as PromptFieldError, ae as PromptSource, Br as RESERVED_MARKER_NAME, Jn as RecipientsCountStatus, ue as SKILL_FILE_UPLOAD_MAX_BYTES, Ee as SKILL_LISTING_MAX_PAGES, De as SKILL_LISTING_PAGE_SIZE, de as SKILL_MANIFEST_FILE, Oe as SKILL_MANIFEST_MAX_BYTES, fe as SKILL_UPLOAD_MAX_FILES, pe as SKILL_UPLOAD_MAX_TOTAL_BYTES, Sn as ScheduledTaskTriggerDescriptionKind, Un as SkillArchiveImportErrorKind, Wn as SkillArchiveImportStatus, Gn as SkillArchiveSelectionRejectionReason, In as SkillEditorLoadState, Bn as SkillPreviewErrorKind, ke as SkillSource, st as TOOLSET_REDIRECT_STATE_KEY, ct as ToolsetAuthStatus, lt as ToolsetAuthTypes, ut as ToolsetCredentialsLevel, Et as ToolsetLoginOutcomeType, dt as ToolsetOAuthCallbackQuery, ft as ToolsetOAuthChannelControlType, pt as ToolsetOAuthFailureReason, mt as ToolsetOAuthInitiationResultType, ht as ToolsetOAuthResultType, Vr as UPLOAD_CONCURRENCY, ga as USAGE_DATA_I18N_KEYS, va as USAGE_MODEL_LIMITS_I18N_KEYS, xn as UnsupportedTriggerReason, gt as WithLogin, zi as annotationToDisplayAttachment, xi as annotationToOoxmlCanvasContent, Si as annotationToPdfCanvasContent, wn as apSchedulerDayToJsDay, W as appendLocaleCode, Er as applyChunkToMessages, Bi as attachmentDtoToDisplayAttachment, Vi as attachmentDtosToDisplayAttachments, fr as attachmentToDto, pr as attachmentsToDtos, G as buildAdditionalLocaleOptions, Pt as buildAnnouncementSignature, Be as buildApplicationMcpUrl, N as buildChatCompletionsUrl, Ve as buildConnectApi, P as buildDeploymentConnectApi, sa as buildExternalServiceScopeId, li as buildFromCache, sn as buildPromptExportEnvelope, cn as buildPromptExportFileName, se as buildPromptOverview, hn as buildPromptPath, F as buildResponsesUrl, Gr as buildSharedItemVirtualPath, je as buildSkillContentTree, me as buildSkillFilesPayload, he as buildSkillManifest, ge as buildSkillManifestForSubmit, _e as buildSkillManifestFromFrontmatter, Me as buildSkillOverview, xt as buildToolsetAuthorizeUrl, He as buildToolsetMcpUrl, Kn as classifySkillArchiveImportError, Ci as clearAttachmentCache, K as composeLocalePayload, Vt as createChatStreamApi, i as createCsrfMiddleware, qt as createDeploymentChangedMessage, vi as createFilesApiClient, Ca as createMcpAppsApiClient, mr as createMessagePair, j as createPublishApiClient, jn as createScheduledTasksApiClient, a as createUnauthorizedMiddleware, yi as createUploadFileWithProgress, V as decodeToolsetId, q as decomposeLocalizedFields, Wr as deriveActionProfile, Ye as deriveAvailableTabIds, Xn as deriveConversationRowActionState, Xe as deriveFavoriteItems, Cn as describeScheduledTaskTrigger, Kr as dialCorePathToRelative, Hi as dialFileToAttachment, Ui as dialFilesToAttachments, Wi as dialFolderPathToAttachment, m as downloadAttachment, _t as emitToolsetLoginSuccess, I as encodeDeploymentId, H as encodeToolsetId, ui as fetchByTab, di as fetchForSearch, Ze as filterCatalogItemsBySelector, Qe as filterHiddenOwnedItems, L as findDeploymentByIdOrReference, qr as findDialFileByPath, fi as findFirstSuccessfulCopyMoveItem, Jr as findFolderByVirtualPath, Ut as formatAppVersion, X as formatCalendarDate, C as formatDateYM, w as formatDateYMD, Yr as formatOperationFolderName, A as formatQuotedNameList, e as getApiErrorDetails, t as getApiErrorMessage, n as getApiErrorStatus, ra as getBrowserTimezone, Sr as getConversationPath, er as getConversationSource, ca as getExternalServiceFallbackName, Jt as getLastDeploymentId, Yt as getLastUserMessageToolConfiguration, Gt as getModelIdFromConversationId, ii as getParentFolderPath, We as getPublicCatalogEntityFolderPath, en as getQuickAppConversationStarters, gn as getRemainingCharacters, yr as getStarterConversationText, br as getStarterDisplayText, rn as getStarterPopulateText, xr as getStarterSubmitText, an as getStartersFromSchema, Kt as getTimeOfDayGreeting, yt as getToolsetOAuthChannelName, St as getToolsetRedirectUri, Ii as getUrlFileName, Xr as getVirtualPathName, hr as hasActiveToolConfig, Ft as hasAnnouncementContent, wi as hasAttachmentTextSource, Zr as hasDialFileWritePermission, Qr as hasForbiddenNameSymbols, It as hasStructuredAnnouncement, o as includesIgnoreCase, Ct as initiateOAuthLogin, gr as isAnswerIncomplete, Or as isAwaitingGenerationResume, r as isConversationNotFoundError, $r as isCopyMoveDuplicateAllowed, ta as isCustomAppSchema, _ as isDialFileAcceptType, d as isDialFileId, h as isDownloadableAttachment, Li as isExternalSourcePreviewable, _r as isMessageChanged, Xt as isMessageStreaming, ce as isOrganisationPromptItem, Ge as isPublicCatalogEntityId, U as isPublicToolsetId, na as isQuickAppSchema, ei as isShareActionsAllowed, ia as isValidAbsoluteUrl, aa as isValidFeaturesData, ve as isValidSkillRelativePath, Tn as jsDayToApSchedulerDay, pi as mapCorePermissions, Q as mapDeploymentDetailsDtoToEntityDetails, z as mapDeploymentLimitsDtoToCatalogLimits, B as mapDeploymentLimitsToInput, te as mapDeploymentToCatalogItem, ne as mapDeploymentToolsetCredentials, $ as mapEntityDetailsToCatalogDetails, mi as mapFileMetadataToDialFile, En as mapFormValuesToCreateBody, Dn as mapFormValuesToUpdateBody, ya as mapOverallCostLimitsToPeriodStatuses, le as mapPromptToCatalogItem, Ke as mapPublishConversationResultDto, qe as mapPublishHistoryEntryDto, On as mapScheduledTaskDtoToFormValues, hi as mapSearchItem, Ne as mapSkillToCatalogItem, tn as mapStages, ee as mapToolsetCredentials, re as mapToolsetToCatalogItem, _a as mapUsageDataToDashboard, ba as mapUserUsageToModelLimits, gi as mergeCreatedFolderIntoCache, Dr as mergeStages, Zt as messageHasStages, v as mimeTypesToAttachmentExtensionLabels, y as mimeTypesToDialFileAcceptTypes, b as mimeTypesToFileAccept, ye as nameFromPath, wt as navigateToolsetOAuthPopup, Qt as normalizeResponseFormat, be as normalizeSkillName, ti as normalizeVirtualPath, bi as openAnnotationAttachment, Tt as openToolsetOAuthPopup, Z as padTwoDigits, la as parseExternalServiceUrl, oa as parseFeaturesData, ni as parseNewFolderVirtualPath, oe as parsePromptResourceUrl, xe as parseSkillManifest, rt as parseSkillManifestDocument, Ae as parseSkillResourceUrl, si as prepareCopyItems, Ki as prepareDownloadDestination, ci as prepareMoveRenameItems, kn as prepareScheduledTaskCreateBody, An as prepareScheduledTaskUpdateBody, Pe as readSkillFileBytes, Fe as readSkillFilePreviewBytes, Ie as readSkillManifest, $e as reconcileFilterTopics, Ti as referenceAttachmentToPdfCanvasContent, tt as resolveCatalogPrimaryAction, Ei as resolveCodeCanvasContent, ie as resolveDeploymentFolder, ai as resolveDialFileApiPath, f as resolveDialFileBucketAndPath, Ri as resolveExternalSourceContentType, Di as resolveGroupedVisualizerCanvasContent, Oi as resolveHtmlCanvasContent, ki as resolveImageCanvasContent, Ai as resolveJsonCanvasContent, J as resolveLocalizedText, ji as resolveMarkdownCanvasContent, Ue as resolveMcpResourceKind, Mi as resolveOoxmlCanvasContent, ri as resolveOwnerCoords, Ni as resolvePdfCanvasContent, p as resolveRelativeDialFilePath, Le as resolveSkillFileDownloadPath, Re as resolveSkillManifestFileId, Pi as resolveTextCanvasContent, Fi as resolveVisualizerCanvasContent, s as safeDecodeURI, c as safeDecodeURIComponent, Lt as sanitizeAnnouncementHtml, Rt as sanitizeAnnouncementMessageHtml, rr as sanitizeFileName, Wt as sanitizeFooterHtml, ln as serializePromptExport, vr as shouldRerunGenerationOnEdit, Ht as shouldWatchForDisplayNameUpdate, Se as skillFileBytesToBlob, Fn as skillFileToAttachment, ir as splitFileNameExtension, Ce as startsWithFrontmatterBlock, l as stripSurroundingSlashes, u as stripTrailingSlashes, vt as subscribeToolsetLoginSuccess, Y as toBaseLocale, $t as toOverlayMessages, Je as toPublishEntityType, M as toPublishRuleDto, nn as toStage, ar as trimFileNameToByteLimit, we as unpackSkillArchive, _i as updateEntry, Zn as useActiveConversationSync, kt as useApplicationCredentials, Qn as useAsyncConfirmDialog, g as useAttachmentAction, or as useAttachmentUpload, S as useAttachmentValidation, nt as useCatalogEditNavigation, at as useCatalogItemDetails, Ot as useCatalogToolsetCredentials, ua as useChatSettingsFormConfig, dr as useConversationExport, Cr as useConversationHandlers, wr as useConversationImport, $n as useConversationLookupMaps, tr as useConversationPanelItems, Tr as useConversationScroll, Ar as useConversationSources, kr as useConversationStream, qi as useDialFileListing, Qi as useDialFileManager, $i as useDialFileManagerTabConfig, Ji as useDialFileMetadata, Yi as useDialFileMutations, Xi as useDialFileSharing, Zi as useDialFileUploadBatch, Mt as useFavoriteEntitiesState, ea as useFileAttachmentPicker, Oa as useGridEditingScroll, nr as useImportFilePicker, Ea as useMcpAppHostAdapter, Ta as useMcpAppHostContext, wa as useMcpAppTools, on as useOAuthCallbackCompletion, Da as useOpenMcpAppCanvas, da as usePageFileDrag, pa as usePanelMaxWidth, bn as usePromptsState, Nt as usePublishFolders, Nn as useScheduledTaskRuns, Mn as useScheduledTasks, ma as useShareLink, Yn as useShareRecipientsCount, qn as useSkillArchiveImport, At as useSkillDetailsPanelData, Ln as useSkillEditorLoad, Rn as useSkillEditorSubmit, zn as useSkillFileActions, Vn as useSkillFilePreview, it as useSkillItemDetails, Hn as useSkillsState, ha as useToolsMenu, Dt as useToolsetLogin, lr as useTranscribeAudio, xa as useUsageData, fa as useViewportWidth, _n as validatePromptContent, vn as validatePromptDescription, yn as validatePromptName, Pn as validateSkillFileBatch, oi as virtualPathToApiPath, bt as waitForToolsetOAuthResult };
15
+ import { decodeDeploymentId as I, encodeDeploymentId as L, findDeploymentByIdOrReference as R, normalizeDeploymentId as z } from "./catalog/deployment-id.js";
16
+ import { AuthenticationType as B } from "./catalog/entity-details.js";
17
+ import { buildResetFields as V, mapDeploymentLimitsToInput as H } from "./catalog/map-deployment-limits-to-input.js";
18
+ import { mapDeploymentLimitsDtoToCatalogLimits as U } from "./catalog/map-deployment-limits-to-catalog.js";
19
+ import { OAuthResourceKind as W, TOOLSET_REDIRECT_STATE_KEY as G, ToolsetAuthStatus as K, ToolsetAuthTypes as q, ToolsetCredentialsLevel as J, ToolsetOAuthCallbackQuery as Y, ToolsetOAuthChannelControlType as X, ToolsetOAuthFailureReason as Z, ToolsetOAuthInitiationResultType as Q, ToolsetOAuthResultType as $, WithLogin as ee } from "./oauth/types.js";
20
+ import { decodeToolsetId as te, encodeToolsetId as ne, isPublicToolsetId as re, normalizeToolsetId as ie, resolveToolsetCredentialsLevel as ae, selectToolsetAuthStatus as oe } from "./oauth/toolset-id.js";
21
+ import { appendLocaleCode as se, buildAdditionalLocaleOptions as ce, composeLocalePayload as le, decomposeLocalizedFields as ue, resolveLocalizedText as de, toBaseLocale as fe } from "./shared/locale.js";
22
+ import { formatCalendarDate as pe, padTwoDigits as me } from "./shared/formatting.js";
23
+ import { DEFAULT_ENTITY_DETAILS_LABELS as he, mapDeploymentDetailsDtoToEntityDetails as ge, mapEntityDetailsToCatalogDetails as _e, mapToolsetCredentials as ve } from "./catalog/map-entity-details-to-catalog.js";
24
+ import { mapDeploymentToCatalogItem as ye, mapDeploymentToolsetCredentials as be, mapToolsetToCatalogItem as xe, resolveDeploymentFolder as Se } from "./catalog/map-deployment-to-catalog-item.js";
25
+ import { PromptSource as Ce, parsePromptResourceUrl as we } from "./prompt/prompt-resource.js";
26
+ import { buildPromptOverview as Te, isOrganisationPromptItem as Ee, mapPromptToCatalogItem as De } from "./catalog/map-prompt-to-catalog-item.js";
27
+ import { SKILL_FILE_UPLOAD_MAX_BYTES as Oe, SKILL_FOLDER_MARKER as ke, SKILL_MANIFEST_FILE as Ae, SKILL_TEXT_FIELD_MAX_LENGTHS as je, SKILL_UPLOAD_MAX_FILES as Me, SKILL_UPLOAD_MAX_TOTAL_BYTES as Ne, buildSkillFilesPayload as Pe, buildSkillManifest as Fe, buildSkillManifestForSubmit as Ie, buildSkillManifestFromFrontmatter as Le, getSkillFieldLengthViolations as Re, isSkillFolderMarkerPath as ze, isValidSkillRelativePath as Be, nameFromPath as Ve, normalizeSkillName as He, parseSkillManifest as Ue, skillFileBytesToBlob as We, skillFolderMarkerParent as Ge, startsWithFrontmatterBlock as Ke, unpackSkillArchive as qe } from "./skill/skill.js";
28
+ import { PUBLIC_SKILL_BUCKET as Je, SKILL_LISTING_MAX_PAGES as Ye, SKILL_LISTING_PAGE_SIZE as Xe, SKILL_MANIFEST_MAX_BYTES as Ze, SkillSource as Qe, parseSkillResourceUrl as $e } from "./skill/skill-types.js";
29
+ import { buildSkillContentTree as et, buildSkillOverview as tt, mapSkillToCatalogItem as nt, readSkillFileBytes as rt, readSkillFilePreviewBytes as it, readSkillManifest as at, resolveSkillFileDownloadPath as ot, resolveSkillManifestFileId as st } from "./catalog/map-skill-to-catalog-item.js";
30
+ import { McpResourceKind as ct, buildApplicationMcpUrl as lt, buildConnectApi as ut, buildToolsetMcpUrl as dt, resolveMcpResourceKind as ft } from "./catalog/mcp-endpoint-url.js";
31
+ import { getPublicCatalogEntityFolderPath as pt, isPublicCatalogEntityId as mt, mapPublishConversationResultDto as ht, mapPublishHistoryEntryDto as gt, toPublishEntityType as _t } from "./catalog/publish.js";
32
+ import { deriveAvailableTabIds as vt, deriveFavoriteItems as yt, filterCatalogItemsBySelector as bt, filterHiddenOwnedItems as xt, reconcileFilterTopics as St } from "./catalog/catalog-derivations.js";
33
+ import { CatalogPrimaryActionType as Ct, resolveCatalogPrimaryAction as wt } from "./catalog/catalog-primary-action.js";
34
+ import { getRunnerSchemas as Tt, isCustomAppSchema as Et, isQuickAppSchema as Dt } from "./shared/application-schema.js";
35
+ import { useCatalogEditNavigation as Ot } from "./catalog/useCatalogEditNavigation/useCatalogEditNavigation.js";
36
+ import { parseSkillManifestDocument as kt } from "./skill/skill-manifest.js";
37
+ import { useSkillItemDetails as At } from "./catalog/useSkillItemDetails.js";
38
+ import { useCatalogItemDetails as jt } from "./catalog/useCatalogItemDetails.js";
39
+ import { emitToolsetLoginSuccess as Mt, subscribeToolsetLoginSuccess as Nt } from "./shared/toolset-login-events.js";
40
+ import { getToolsetOAuthChannelName as Pt, waitForToolsetOAuthResult as Ft } from "./oauth/handshake.js";
41
+ import { buildToolsetAuthorizeUrl as It, getToolsetRedirectUri as Lt } from "./oauth/authorize-url.js";
42
+ import { initiateOAuthLogin as Rt, navigateToolsetOAuthPopup as zt, openToolsetOAuthPopup as Bt } from "./oauth/popup.js";
43
+ import { ToolsetLoginOutcomeType as Vt, useToolsetLogin as Ht } from "./oauth/useToolsetLogin/useToolsetLogin.js";
44
+ import { useCatalogToolsetCredentials as Ut } from "./catalog/useCatalogToolsetCredentials/useCatalogToolsetCredentials.js";
45
+ import { useApplicationCredentials as Wt } from "./catalog/useApplicationCredentials/useApplicationCredentials.js";
46
+ import { useSkillDetailsPanelData as Gt } from "./catalog/useSkillDetailsPanelData/useSkillDetailsPanelData.js";
47
+ import { FavoriteEntityType as Kt, useFavoriteEntitiesState as qt } from "./catalog/useFavoriteEntitiesState/useFavoriteEntitiesState.js";
48
+ import { usePublishFolders as Jt } from "./catalog/usePublishFolders/usePublishFolders.js";
49
+ import { buildAnnouncementSignature as Yt, hasAnnouncementContent as Xt, hasStructuredAnnouncement as Zt, sanitizeAnnouncementHtml as Qt, sanitizeAnnouncementMessageHtml as $t } from "./conversation/announcement-message.js";
50
+ import { DEFAULT_GENERATION_CONFLICT_MESSAGE as en, DEFAULT_GENERATION_PERSISTENCE_ERROR_MESSAGE as tn, DEFAULT_STREAM_IDLE_TIMEOUT_MS as nn, GenerationConflictError as rn, GenerationPersistenceError as an, StreamInterruptedError as on, StreamUpstreamError as sn, createChatStreamApi as cn } from "./conversation/create-chat-stream-api.js";
51
+ import { shouldWatchForDisplayNameUpdate as ln } from "./conversation/display-name-watch.js";
52
+ import { formatAppVersion as un, sanitizeFooterHtml as dn } from "./conversation/footer-message.js";
53
+ import { findDeploymentForConversationId as fn, getModelIdCandidatesFromConversationId as pn, getModelIdFromConversationId as mn } from "./conversation/get-model-id-from-conversation-id.js";
54
+ import { getTimeOfDayGreeting as hn } from "./conversation/greeting.js";
55
+ import { createDeploymentChangedMessage as gn } from "./conversation/message-factory.js";
56
+ import { getFormSchemaToolSyncKey as _n, getLastDeploymentId as vn, getLastUserMessageToolConfiguration as yn, getLatestToolConfiguration as bn, getToolConfigurationFromFormSchema as xn, isMessageStreaming as Sn, messageHasStages as Cn, normalizeResponseFormat as wn } from "./conversation/message-utils.js";
57
+ import { toOverlayMessages as Tn } from "./conversation/overlay-messages.js";
58
+ import { getQuickAppConversationStarters as En } from "./conversation/quick-app-conversation-starters.js";
59
+ import { mapStages as Dn, toStage as On } from "./conversation/stage.js";
60
+ import { getStarterPopulateText as kn, getStartersFromSchema as An } from "./conversation/starter-option.js";
61
+ import { useOAuthCallbackCompletion as jn } from "./oauth/useOAuthCallbackCompletion/useOAuthCallbackCompletion.js";
62
+ import { buildPromptExportEnvelope as Mn, buildPromptExportFileName as Nn, serializePromptExport as Pn } from "./prompt/export-prompt.js";
63
+ import { PROMPT_CONTENT_MAX_LENGTH as Fn, PROMPT_COUNTER_ANNOUNCE_THRESHOLD as In, PROMPT_DESCRIPTION_MAX_LENGTH as Ln, PROMPT_NAME_MAX_LENGTH as Rn, PromptFieldError as zn, buildPromptPath as Bn, getRemainingCharacters as Vn, validatePromptContent as Hn, validatePromptDescription as Un, validatePromptName as Wn } from "./prompt/prompt.js";
64
+ import { usePromptsState as Gn } from "./prompt/usePromptsState/usePromptsState.js";
65
+ import { UnsupportedTriggerReason as Kn } from "./scheduled-task/scheduled-task-mapping.js";
66
+ import { ScheduledTaskTriggerDescriptionKind as qn, describeScheduledTaskTrigger as Jn } from "./scheduled-task/scheduled-task-description.js";
67
+ import { apSchedulerDayToJsDay as Yn, jsDayToApSchedulerDay as Xn } from "./shared/cron-weekday.js";
68
+ import { mapFormValuesToCreateBody as Zn, mapFormValuesToUpdateBody as Qn, mapScheduledTaskDtoToFormValues as $n } from "./scheduled-task/scheduled-task-trigger.js";
69
+ import { prepareScheduledTaskCreateBody as er, prepareScheduledTaskUpdateBody as tr } from "./scheduled-task/scheduled-task-preparation.js";
70
+ import { createScheduledTasksApiClient as nr } from "./scheduled-task/scheduled-tasks-api-client.js";
71
+ import { useScheduledTasks as rr } from "./scheduled-task/use-scheduled-tasks.js";
72
+ import { mergeRunsById as ir, useScheduledTaskRuns as ar } from "./scheduled-task/use-scheduled-task-runs.js";
73
+ import { validateSkillFileBatch as or } from "./skill/skill-file-batch-validation.js";
74
+ import { skillFileToAttachment as sr } from "./skill/skill-file-preview.js";
75
+ import { SkillEditorLoadState as cr, useSkillEditorLoad as lr } from "./skill/useSkillEditorLoad.js";
76
+ import { useSkillEditorSubmit as ur } from "./skill/useSkillEditorSubmit.js";
77
+ import { useSkillFileActions as dr } from "./skill/useSkillFileActions.js";
78
+ import { SkillPreviewErrorKind as fr, useSkillFilePreview as pr } from "./skill/useSkillFilePreview.js";
79
+ import { useSkillsState as mr } from "./skill/useSkillsState/useSkillsState.js";
80
+ import { SkillArchiveImportErrorKind as hr, SkillArchiveImportStatus as gr, SkillArchiveSelectionRejectionReason as _r, classifySkillArchiveImportError as vr, useSkillArchiveImport as yr } from "./skill/useSkillArchiveImport/useSkillArchiveImport.js";
81
+ import { RecipientsCountStatus as br, useShareRecipientsCount as xr } from "./useShareRecipientsCount/useShareRecipientsCount.js";
82
+ import { deriveConversationRowActionState as Sr } from "./conversation/deriveConversationRowActionState/deriveConversationRowActionState.js";
83
+ import { useActiveConversationSync as Cr } from "./conversation/useActiveConversationSync/useActiveConversationSync.js";
84
+ import { useAsyncConfirmDialog as wr } from "./conversation/useAsyncConfirmDialog/useAsyncConfirmDialog.js";
85
+ import { useConversationLookupMaps as Tr } from "./conversation/useConversationLookupMaps/useConversationLookupMaps.js";
86
+ import { getConversationSource as Er, useConversationPanelItems as Dr } from "./conversation/useConversationPanelItems/useConversationPanelItems.js";
87
+ import { useImportFilePicker as Or } from "./conversation/useImportFilePicker/useImportFilePicker.js";
88
+ import { useMessageSelectionReply as kr } from "./conversation/useMessageSelectionReply/useMessageSelectionReply.js";
89
+ import { sanitizeFileName as Ar, splitFileNameExtension as jr, trimFileNameToByteLimit as Mr } from "./files/file-name.js";
90
+ import { useAttachmentUpload as Nr } from "./conversation/useAttachmentUpload/useAttachmentUpload.js";
91
+ import { AudioTranscriptionError as Pr, AudioTranscriptionErrorReason as Fr } from "./conversation/useTranscribeAudio/audio-transcription-error.js";
92
+ import { useTranscribeAudio as Ir } from "./conversation/useTranscribeAudio/useTranscribeAudio.js";
93
+ import { DEFAULT_MAX_ARCHIVE_BYTES as Lr, useConversationExport as Rr } from "./conversation/useConversationExport/useConversationExport.js";
94
+ import { attachmentToDto as zr, attachmentsToDtos as Br } from "./conversation/useConversationHandlers/attachment-to-dto.js";
95
+ import { createMessagePair as Vr } from "./conversation/useConversationHandlers/message-factory.js";
96
+ import { hasActiveToolConfig as Hr, isAnswerIncomplete as Ur, isMessageChanged as Wr, shouldRerunGenerationOnEdit as Gr } from "./conversation/useConversationHandlers/message-utils.js";
97
+ import { getStarterConversationText as Kr, getStarterDisplayText as qr, getStarterSubmitText as Jr } from "./conversation/useConversationHandlers/starter-option.js";
98
+ import { getConversationPath as Yr } from "./conversation/useConversationStream/conversation-path.js";
99
+ import { useConversationHandlers as Xr } from "./conversation/useConversationHandlers/useConversationHandlers.js";
100
+ import { useConversationImport as Zr } from "./conversation/useConversationImport/useConversationImport.js";
101
+ import { useConversationScroll as Qr } from "./conversation/useConversationScroll/useConversationScroll.js";
102
+ import { applyChunkToMessages as $r, mergeStages as ei } from "./conversation/useConversationStream/apply-chunk.js";
103
+ import { isAwaitingGenerationResume as ti } from "./conversation/useConversationStream/generation-resume.js";
104
+ import { useConversationStream as ni } from "./conversation/useConversationStream/useConversationStream.js";
105
+ import { useConversationSources as ri } from "./conversation-sources/useConversationSources/useConversationSources.js";
106
+ import { DialFilesApiUploadMode as ii } from "./files/dial-files-api.js";
107
+ import { FileManagerNotificationReason as ai, FileNameValidationErrorReason as oi, FileOperationKind as si } from "./files/dial-file-manager.types.js";
108
+ import { COLUMNS_WITHOUT_AUTHOR as ci, COLUMNS_WITH_AUTHOR as li, CORE_PERMISSION_MAP as ui, DATE_OPTIONS as di, DIAL_FILE_MANAGER_SECTION_TABS as fi, PATH_SEPARATOR_REGEXP as pi, RESERVED_MARKER_NAME as mi, UPLOAD_CONCURRENCY as hi } from "./files/dial-file-manager.model.js";
109
+ import { buildSharedItemVirtualPath as gi, dialCorePathToRelative as _i, findDialFileByPath as vi, findFolderByVirtualPath as yi, formatOperationFolderName as bi, getVirtualPathName as xi, hasDialFileWritePermission as Si, hasForbiddenNameSymbols as Ci, hasSamePaths as wi, isCopyMoveDuplicateAllowed as Ti, isShareActionsAllowed as Ei, normalizeVirtualPath as Di, parseNewFolderVirtualPath as Oi, resolveOwnerCoords as ki, resolveSectionByPath as Ai, unionPathSets as ji, withRoutableRootLabels as Mi } from "./files/dial-file-manager-path.util.js";
110
+ import { resolveDialFileApiPath as Ni, virtualPathToApiPath as Pi } from "./files/resolve-dial-file-api-path.js";
111
+ import { prepareCopyItems as Fi, prepareMoveRenameItems as Ii } from "./files/dial-file-manager-copy-move.util.js";
112
+ import { buildFromCache as Li, fetchByTab as Ri, fetchForSearch as zi, findFirstSuccessfulCopyMoveItem as Bi, mapCorePermissions as Vi, mapFileMetadataToDialFile as Hi, mapSearchItem as Ui, mergeCreatedFolderIntoCache as Wi, updateEntry as Gi } from "./files/dial-file-manager-mapping.util.js";
113
+ import { createFilesApiClient as Ki } from "./files/create-files-api.js";
114
+ import { createUploadFileWithProgress as qi } from "./files/create-upload-file-with-progress.js";
115
+ import { openAnnotationAttachment as Ji } from "./files/annotation.js";
116
+ import { annotationToOoxmlCanvasContent as Yi, annotationToPdfCanvasContent as Xi, clearAttachmentCache as Zi, hasAttachmentTextSource as Qi, referenceAttachmentToPdfCanvasContent as $i, resolveCodeCanvasContent as ea, resolveGroupedVisualizerCanvasContent as ta, resolveHtmlCanvasContent as na, resolveImageCanvasContent as ra, resolveJsonCanvasContent as ia, resolveMarkdownCanvasContent as aa, resolveOoxmlCanvasContent as oa, resolvePdfCanvasContent as sa, resolveTextCanvasContent as ca, resolveVisualizerCanvasContent as la } from "./files/attachment-canvas.js";
117
+ import { getUrlFileName as ua, isExternalSourcePreviewable as da, resolveExternalSourceContentType as fa } from "./files/source-content.js";
118
+ import { annotationToDisplayAttachment as pa, attachmentDtoToDisplayAttachment as ma, attachmentDtosToDisplayAttachments as ha } from "./files/attachment-dto-to-display.js";
119
+ import { dialFileToAttachment as ga, dialFilesToAttachments as _a, dialFolderPathToAttachment as va } from "./files/dial-file-to-attachment.js";
120
+ import { DownloadDestinationType as ya } from "./files/download-destination.js";
121
+ import { prepareDownloadDestination as ba } from "./files/prepare-download-destination.js";
122
+ import { deriveActionProfile as xa } from "./files/file-manager-variant.js";
123
+ import { useDialFileListing as Sa } from "./files/useDialFileListing/useDialFileListing.js";
124
+ import { useDialFileMetadata as Ca } from "./files/useDialFileMetadata/useDialFileMetadata.js";
125
+ import { useDialFileMutations as wa } from "./files/useDialFileMutations/useDialFileMutations.js";
126
+ import { useDialFileSharing as Ta } from "./files/useDialFileSharing/useDialFileSharing.js";
127
+ import { useDialFileUploadBatch as Ea } from "./files/useDialFileUploadBatch/useDialFileUploadBatch.js";
128
+ import { useDialFileManager as Da } from "./files/useDialFileManager/useDialFileManager.js";
129
+ import { useDialFileManagerSections as Oa } from "./files/useDialFileManagerSections/useDialFileManagerSections.js";
130
+ import { useDialFileManagerTabConfig as ka } from "./files/useDialFileManagerTabConfig/useDialFileManagerTabConfig.js";
131
+ import { useFileAttachmentPicker as Aa } from "./files/useFileAttachmentPicker/useFileAttachmentPicker.js";
132
+ import { getBrowserTimezone as ja } from "./shared/browser-timezone.js";
133
+ import { isValidAbsoluteUrl as Ma, isValidFeaturesData as Na, parseFeaturesData as Pa } from "./shared/custom-apps.js";
134
+ import { buildExternalServiceScopeId as Fa, getExternalServiceFallbackName as Ia, parseExternalServiceUrl as La } from "./shared/external-services.js";
135
+ import { useChatSettingsFormConfig as Ra } from "./useChatSettingsFormConfig/useChatSettingsFormConfig.js";
136
+ import { usePageFileDrag as za } from "./usePageFileDrag/usePageFileDrag.js";
137
+ import { useViewportWidth as Ba } from "./useViewportWidth/useViewportWidth.js";
138
+ import { usePanelMaxWidth as Va } from "./usePanelMaxWidth/usePanelMaxWidth.js";
139
+ import { useShareLink as Ha } from "./useShareLink/useShareLink.js";
140
+ import { useToolsMenu as Ua } from "./useToolsMenu/useToolsMenu.js";
141
+ import { USAGE_DATA_I18N_KEYS as Wa, mapUsageDataToDashboard as Ga } from "./usage/map-usage-data-to-dashboard.js";
142
+ import { USAGE_MODEL_LIMITS_I18N_KEYS as Ka, mapOverallCostLimitsToPeriodStatuses as qa, mapUserUsageToModelLimits as Ja } from "./usage/map-user-usage-to-model-limits.js";
143
+ import { useUsageData as Ya } from "./usage/useUsageData/useUsageData.js";
144
+ import { McpAppResourceFetchError as Xa, createMcpAppsApiClient as Za } from "./mcp-apps/mcp-apps-api-client.js";
145
+ import { useMcpAppTools as Qa } from "./mcp-apps/useMcpAppTools/useMcpAppTools.js";
146
+ import { useMcpAppHostContext as $a } from "./mcp-apps/useMcpAppHostContext/useMcpAppHostContext.js";
147
+ import { useMcpAppHostAdapter as eo } from "./mcp-apps/useMcpAppHostAdapter/useMcpAppHostAdapter.js";
148
+ import { useOpenMcpAppCanvas as to } from "./mcp-apps/useOpenMcpAppCanvas/useOpenMcpAppCanvas.js";
149
+ import { useGridEditingScroll as no } from "@epam/ai-dial-chat-shared";
150
+ export { x as AttachmentValidationErrorReason, Pr as AudioTranscriptionError, Fr as AudioTranscriptionErrorReason, B as AuthenticationType, ci as COLUMNS_WITHOUT_AUTHOR, li as COLUMNS_WITH_AUTHOR, ui as CORE_PERMISSION_MAP, Ct as CatalogPrimaryActionType, T as ConversationExportMode, E as ConversationTransferErrorCode, D as ConversationTransferWarningCode, di as DATE_OPTIONS, he as DEFAULT_ENTITY_DETAILS_LABELS, en as DEFAULT_GENERATION_CONFLICT_MESSAGE, tn as DEFAULT_GENERATION_PERSISTENCE_ERROR_MESSAGE, Lr as DEFAULT_MAX_ARCHIVE_BYTES, nn as DEFAULT_STREAM_IDLE_TIMEOUT_MS, fi as DIAL_FILE_MANAGER_SECTION_TABS, ii as DialFilesApiUploadMode, ya as DownloadDestinationType, k as EXPORT_APP_NAME, O as ExportFileNameKind, Kt as FavoriteEntityType, ai as FileManagerNotificationReason, oi as FileNameValidationErrorReason, si as FileOperationKind, rn as GenerationConflictError, an as GenerationPersistenceError, Xa as McpAppResourceFetchError, ct as McpResourceKind, W as OAuthResourceKind, pi as PATH_SEPARATOR_REGEXP, Fn as PROMPT_CONTENT_MAX_LENGTH, In as PROMPT_COUNTER_ANNOUNCE_THRESHOLD, Ln as PROMPT_DESCRIPTION_MAX_LENGTH, Rn as PROMPT_NAME_MAX_LENGTH, Je as PUBLIC_SKILL_BUCKET, zn as PromptFieldError, Ce as PromptSource, mi as RESERVED_MARKER_NAME, br as RecipientsCountStatus, Oe as SKILL_FILE_UPLOAD_MAX_BYTES, ke as SKILL_FOLDER_MARKER, Ye as SKILL_LISTING_MAX_PAGES, Xe as SKILL_LISTING_PAGE_SIZE, Ae as SKILL_MANIFEST_FILE, Ze as SKILL_MANIFEST_MAX_BYTES, je as SKILL_TEXT_FIELD_MAX_LENGTHS, Me as SKILL_UPLOAD_MAX_FILES, Ne as SKILL_UPLOAD_MAX_TOTAL_BYTES, qn as ScheduledTaskTriggerDescriptionKind, hr as SkillArchiveImportErrorKind, gr as SkillArchiveImportStatus, _r as SkillArchiveSelectionRejectionReason, cr as SkillEditorLoadState, fr as SkillPreviewErrorKind, Qe as SkillSource, on as StreamInterruptedError, sn as StreamUpstreamError, G as TOOLSET_REDIRECT_STATE_KEY, K as ToolsetAuthStatus, q as ToolsetAuthTypes, J as ToolsetCredentialsLevel, Vt as ToolsetLoginOutcomeType, Y as ToolsetOAuthCallbackQuery, X as ToolsetOAuthChannelControlType, Z as ToolsetOAuthFailureReason, Q as ToolsetOAuthInitiationResultType, $ as ToolsetOAuthResultType, hi as UPLOAD_CONCURRENCY, Wa as USAGE_DATA_I18N_KEYS, Ka as USAGE_MODEL_LIMITS_I18N_KEYS, Kn as UnsupportedTriggerReason, ee as WithLogin, pa as annotationToDisplayAttachment, Yi as annotationToOoxmlCanvasContent, Xi as annotationToPdfCanvasContent, Yn as apSchedulerDayToJsDay, se as appendLocaleCode, $r as applyChunkToMessages, ma as attachmentDtoToDisplayAttachment, ha as attachmentDtosToDisplayAttachments, zr as attachmentToDto, Br as attachmentsToDtos, ce as buildAdditionalLocaleOptions, Yt as buildAnnouncementSignature, lt as buildApplicationMcpUrl, N as buildChatCompletionsUrl, ut as buildConnectApi, P as buildDeploymentConnectApi, Fa as buildExternalServiceScopeId, Li as buildFromCache, Mn as buildPromptExportEnvelope, Nn as buildPromptExportFileName, Te as buildPromptOverview, Bn as buildPromptPath, V as buildResetFields, F as buildResponsesUrl, gi as buildSharedItemVirtualPath, et as buildSkillContentTree, Pe as buildSkillFilesPayload, Fe as buildSkillManifest, Ie as buildSkillManifestForSubmit, Le as buildSkillManifestFromFrontmatter, tt as buildSkillOverview, It as buildToolsetAuthorizeUrl, dt as buildToolsetMcpUrl, vr as classifySkillArchiveImportError, Zi as clearAttachmentCache, le as composeLocalePayload, cn as createChatStreamApi, i as createCsrfMiddleware, gn as createDeploymentChangedMessage, Ki as createFilesApiClient, Za as createMcpAppsApiClient, Vr as createMessagePair, j as createPublishApiClient, nr as createScheduledTasksApiClient, a as createUnauthorizedMiddleware, qi as createUploadFileWithProgress, I as decodeDeploymentId, te as decodeToolsetId, ue as decomposeLocalizedFields, xa as deriveActionProfile, vt as deriveAvailableTabIds, Sr as deriveConversationRowActionState, yt as deriveFavoriteItems, Jn as describeScheduledTaskTrigger, _i as dialCorePathToRelative, ga as dialFileToAttachment, _a as dialFilesToAttachments, va as dialFolderPathToAttachment, m as downloadAttachment, Mt as emitToolsetLoginSuccess, L as encodeDeploymentId, ne as encodeToolsetId, Ri as fetchByTab, zi as fetchForSearch, bt as filterCatalogItemsBySelector, xt as filterHiddenOwnedItems, R as findDeploymentByIdOrReference, fn as findDeploymentForConversationId, vi as findDialFileByPath, Bi as findFirstSuccessfulCopyMoveItem, yi as findFolderByVirtualPath, un as formatAppVersion, pe as formatCalendarDate, C as formatDateYM, w as formatDateYMD, bi as formatOperationFolderName, A as formatQuotedNameList, e as getApiErrorDetails, t as getApiErrorMessage, n as getApiErrorStatus, ja as getBrowserTimezone, Yr as getConversationPath, Er as getConversationSource, Ia as getExternalServiceFallbackName, _n as getFormSchemaToolSyncKey, vn as getLastDeploymentId, yn as getLastUserMessageToolConfiguration, bn as getLatestToolConfiguration, pn as getModelIdCandidatesFromConversationId, mn as getModelIdFromConversationId, pt as getPublicCatalogEntityFolderPath, En as getQuickAppConversationStarters, Vn as getRemainingCharacters, Tt as getRunnerSchemas, Re as getSkillFieldLengthViolations, Kr as getStarterConversationText, qr as getStarterDisplayText, kn as getStarterPopulateText, Jr as getStarterSubmitText, An as getStartersFromSchema, hn as getTimeOfDayGreeting, xn as getToolConfigurationFromFormSchema, Pt as getToolsetOAuthChannelName, Lt as getToolsetRedirectUri, ua as getUrlFileName, xi as getVirtualPathName, Hr as hasActiveToolConfig, Xt as hasAnnouncementContent, Qi as hasAttachmentTextSource, Si as hasDialFileWritePermission, Ci as hasForbiddenNameSymbols, wi as hasSamePaths, Zt as hasStructuredAnnouncement, o as includesIgnoreCase, Rt as initiateOAuthLogin, Ur as isAnswerIncomplete, ti as isAwaitingGenerationResume, r as isConversationNotFoundError, Ti as isCopyMoveDuplicateAllowed, Et as isCustomAppSchema, _ as isDialFileAcceptType, d as isDialFileId, h as isDownloadableAttachment, da as isExternalSourcePreviewable, Wr as isMessageChanged, Sn as isMessageStreaming, Ee as isOrganisationPromptItem, mt as isPublicCatalogEntityId, re as isPublicToolsetId, Dt as isQuickAppSchema, Ei as isShareActionsAllowed, ze as isSkillFolderMarkerPath, Ma as isValidAbsoluteUrl, Na as isValidFeaturesData, Be as isValidSkillRelativePath, Xn as jsDayToApSchedulerDay, Vi as mapCorePermissions, ge as mapDeploymentDetailsDtoToEntityDetails, U as mapDeploymentLimitsDtoToCatalogLimits, H as mapDeploymentLimitsToInput, ye as mapDeploymentToCatalogItem, be as mapDeploymentToolsetCredentials, _e as mapEntityDetailsToCatalogDetails, Hi as mapFileMetadataToDialFile, Zn as mapFormValuesToCreateBody, Qn as mapFormValuesToUpdateBody, qa as mapOverallCostLimitsToPeriodStatuses, De as mapPromptToCatalogItem, ht as mapPublishConversationResultDto, gt as mapPublishHistoryEntryDto, $n as mapScheduledTaskDtoToFormValues, Ui as mapSearchItem, nt as mapSkillToCatalogItem, Dn as mapStages, ve as mapToolsetCredentials, xe as mapToolsetToCatalogItem, Ga as mapUsageDataToDashboard, Ja as mapUserUsageToModelLimits, Wi as mergeCreatedFolderIntoCache, ir as mergeRunsById, ei as mergeStages, Cn as messageHasStages, v as mimeTypesToAttachmentExtensionLabels, y as mimeTypesToDialFileAcceptTypes, b as mimeTypesToFileAccept, Ve as nameFromPath, zt as navigateToolsetOAuthPopup, z as normalizeDeploymentId, wn as normalizeResponseFormat, He as normalizeSkillName, ie as normalizeToolsetId, Di as normalizeVirtualPath, Ji as openAnnotationAttachment, Bt as openToolsetOAuthPopup, me as padTwoDigits, La as parseExternalServiceUrl, Pa as parseFeaturesData, Oi as parseNewFolderVirtualPath, we as parsePromptResourceUrl, Ue as parseSkillManifest, kt as parseSkillManifestDocument, $e as parseSkillResourceUrl, Fi as prepareCopyItems, ba as prepareDownloadDestination, Ii as prepareMoveRenameItems, er as prepareScheduledTaskCreateBody, tr as prepareScheduledTaskUpdateBody, rt as readSkillFileBytes, it as readSkillFilePreviewBytes, at as readSkillManifest, St as reconcileFilterTopics, $i as referenceAttachmentToPdfCanvasContent, wt as resolveCatalogPrimaryAction, ea as resolveCodeCanvasContent, Se as resolveDeploymentFolder, Ni as resolveDialFileApiPath, f as resolveDialFileBucketAndPath, fa as resolveExternalSourceContentType, ta as resolveGroupedVisualizerCanvasContent, na as resolveHtmlCanvasContent, ra as resolveImageCanvasContent, ia as resolveJsonCanvasContent, de as resolveLocalizedText, aa as resolveMarkdownCanvasContent, ft as resolveMcpResourceKind, oa as resolveOoxmlCanvasContent, ki as resolveOwnerCoords, sa as resolvePdfCanvasContent, p as resolveRelativeDialFilePath, Ai as resolveSectionByPath, ot as resolveSkillFileDownloadPath, st as resolveSkillManifestFileId, ca as resolveTextCanvasContent, ae as resolveToolsetCredentialsLevel, la as resolveVisualizerCanvasContent, s as safeDecodeURI, c as safeDecodeURIComponent, Qt as sanitizeAnnouncementHtml, $t as sanitizeAnnouncementMessageHtml, Ar as sanitizeFileName, dn as sanitizeFooterHtml, oe as selectToolsetAuthStatus, Pn as serializePromptExport, Gr as shouldRerunGenerationOnEdit, ln as shouldWatchForDisplayNameUpdate, We as skillFileBytesToBlob, sr as skillFileToAttachment, Ge as skillFolderMarkerParent, jr as splitFileNameExtension, Ke as startsWithFrontmatterBlock, l as stripSurroundingSlashes, u as stripTrailingSlashes, Nt as subscribeToolsetLoginSuccess, fe as toBaseLocale, Tn as toOverlayMessages, _t as toPublishEntityType, M as toPublishRuleDto, On as toStage, Mr as trimFileNameToByteLimit, ji as unionPathSets, qe as unpackSkillArchive, Gi as updateEntry, Cr as useActiveConversationSync, Wt as useApplicationCredentials, wr as useAsyncConfirmDialog, g as useAttachmentAction, Nr as useAttachmentUpload, S as useAttachmentValidation, Ot as useCatalogEditNavigation, jt as useCatalogItemDetails, Ut as useCatalogToolsetCredentials, Ra as useChatSettingsFormConfig, Rr as useConversationExport, Xr as useConversationHandlers, Zr as useConversationImport, Tr as useConversationLookupMaps, Dr as useConversationPanelItems, Qr as useConversationScroll, ri as useConversationSources, ni as useConversationStream, Sa as useDialFileListing, Da as useDialFileManager, Oa as useDialFileManagerSections, ka as useDialFileManagerTabConfig, Ca as useDialFileMetadata, wa as useDialFileMutations, Ta as useDialFileSharing, Ea as useDialFileUploadBatch, qt as useFavoriteEntitiesState, Aa as useFileAttachmentPicker, no as useGridEditingScroll, Or as useImportFilePicker, eo as useMcpAppHostAdapter, $a as useMcpAppHostContext, Qa as useMcpAppTools, kr as useMessageSelectionReply, jn as useOAuthCallbackCompletion, to as useOpenMcpAppCanvas, za as usePageFileDrag, Va as usePanelMaxWidth, Gn as usePromptsState, Jt as usePublishFolders, ar as useScheduledTaskRuns, rr as useScheduledTasks, Ha as useShareLink, xr as useShareRecipientsCount, yr as useSkillArchiveImport, Gt as useSkillDetailsPanelData, lr as useSkillEditorLoad, ur as useSkillEditorSubmit, dr as useSkillFileActions, pr as useSkillFilePreview, At as useSkillItemDetails, mr as useSkillsState, Ua as useToolsMenu, Ht as useToolsetLogin, Ir as useTranscribeAudio, Ya as useUsageData, Ba as useViewportWidth, Hn as validatePromptContent, Un as validatePromptDescription, Wn as validatePromptName, or as validateSkillFileBatch, Pi as virtualPathToApiPath, Ft as waitForToolsetOAuthResult, Mi as withRoutableRootLabels };
@@ -65,7 +65,7 @@ var a = (a, o, s, c) => {
65
65
  m,
66
66
  c,
67
67
  a
68
- ]), [...l, ...d];
68
+ ]), t(() => [...l, ...d], [l, d]);
69
69
  };
70
70
  //#endregion
71
71
  export { a as useMcpAppTools };
@@ -1,12 +1,12 @@
1
1
  //#region src/oauth/authorize-url.ts
2
- var e = (e) => `${window.location.origin}${e}`, t = (e) => e === "localhost" || e === "[::1]" || /^127(?:\.\d{1,3}){3}$/.test(e), n = (e) => e.protocol === "https:" ? !0 : e.protocol === "http:" && t(e.hostname), r = (e, t, r) => {
2
+ var e = (e) => `${window.location.origin}${e}`, t = new Set(["http:", "https:"]), n = (e, n, r) => {
3
3
  if (!e.authorizationEndpoint?.trim() || !e.clientId?.trim()) return null;
4
4
  try {
5
5
  let i = new URL(e.authorizationEndpoint.trim());
6
- return n(i) ? (i.searchParams.set("response_type", "code"), i.searchParams.set("client_id", e.clientId.trim()), i.searchParams.set("redirect_uri", t), e.codeChallenge && i.searchParams.set("code_challenge", e.codeChallenge), e.codeChallengeMethod && i.searchParams.set("code_challenge_method", e.codeChallengeMethod), i.searchParams.set("state", r), e.scopes && e.scopes.length > 0 && i.searchParams.set("scope", e.scopes.join(" ")), i.toString()) : null;
6
+ return t.has(i.protocol) ? (i.searchParams.set("response_type", "code"), i.searchParams.set("client_id", e.clientId.trim()), i.searchParams.set("redirect_uri", n), e.codeChallenge && i.searchParams.set("code_challenge", e.codeChallenge), e.codeChallengeMethod && i.searchParams.set("code_challenge_method", e.codeChallengeMethod), i.searchParams.set("state", r), e.scopes && e.scopes.length > 0 && i.searchParams.set("scope", e.scopes.join(" ")), i.toString()) : null;
7
7
  } catch {
8
8
  return null;
9
9
  }
10
10
  };
11
11
  //#endregion
12
- export { r as buildToolsetAuthorizeUrl, e as getToolsetRedirectUri };
12
+ export { n as buildToolsetAuthorizeUrl, e as getToolsetRedirectUri };
@@ -1,10 +1,12 @@
1
+ import { ToolsetCredentialsLevel as e } from "./types.js";
2
+ import { PUBLIC_BUCKET as t } from "@epam/ai-dial-chat-shared";
1
3
  //#region src/oauth/toolset-id.ts
2
- var e = "toolsets/", t = "public", n = (e) => e.split("/").map((e) => encodeURIComponent(e)).join("/"), r = (e) => e.split("/").map((e) => {
4
+ var n = "toolsets/", r = (e) => e.split("/").map((e) => encodeURIComponent(e)).join("/"), i = (e) => e.split("/").map((e) => {
3
5
  try {
4
6
  return decodeURIComponent(e);
5
7
  } catch {
6
8
  return e;
7
9
  }
8
- }).join("/"), i = (n) => n.startsWith(e) ? n.slice(9).split("/")[0] === t : !1;
10
+ }).join("/"), a = (e) => e.startsWith(n) ? e.slice(9).split("/")[0] === t : !1, o = (e) => r(i(e)), s = (t) => a(t) ? e.User : e.Global, c = (t, n) => n === e.User ? t?.userLevelAuthStatus : t?.globalAuthStatus;
9
11
  //#endregion
10
- export { r as decodeToolsetId, n as encodeToolsetId, i as isPublicToolsetId };
12
+ export { i as decodeToolsetId, r as encodeToolsetId, a as isPublicToolsetId, o as normalizeToolsetId, s as resolveToolsetCredentialsLevel, c as selectToolsetAuthStatus };
@@ -1,4 +1,5 @@
1
- import { OAuthResourceKind as e, ToolsetAuthStatus as t, ToolsetAuthTypes as n, ToolsetCredentialsLevel as r, ToolsetOAuthInitiationResultType as i, ToolsetOAuthResultType as a } from "../types.js";
1
+ import { OAuthResourceKind as e, ToolsetAuthStatus as t, ToolsetAuthTypes as n, ToolsetOAuthInitiationResultType as r, ToolsetOAuthResultType as i } from "../types.js";
2
+ import { selectToolsetAuthStatus as a } from "../toolset-id.js";
2
3
  import { emitToolsetLoginSuccess as o } from "../../shared/toolset-login-events.js";
3
4
  import { waitForToolsetOAuthResult as s } from "../handshake.js";
4
5
  import { initiateOAuthLogin as c, navigateToolsetOAuthPopup as l, openToolsetOAuthPopup as u } from "../popup.js";
@@ -24,23 +25,22 @@ var f = /* @__PURE__ */ function(e) {
24
25
  codeChallengeMethod: _?.codeChallengeMethod
25
26
  }, x = v ? await (async () => {
26
27
  let t = u();
27
- return t ? (await g(p, m, n.OAuth), l(t, b, p, f, m, e.Toolset, y)) : { type: i.Blocked };
28
+ return t ? (await g(p, m, n.OAuth), l(t, b, p, f, m, e.Toolset, y)) : { type: r.Blocked };
28
29
  })() : c(b, p, f, m, y);
29
- if (x.type === i.Blocked) return { type: "popup-blocked" };
30
- if (x.type !== i.Started) return { type: "failure" };
30
+ if (x.type === r.Blocked) return { type: "popup-blocked" };
31
+ if (x.type !== r.Started) return { type: "failure" };
31
32
  let S = await s(x.popup, x.flowId, {
32
33
  toolsetId: p,
33
34
  credentialsLevel: m,
34
35
  callbackPath: f
35
36
  });
36
- if (S.type === a.Success) return o({
37
+ if (S.type === i.Success) return o({
37
38
  toolsetId: p,
38
39
  credentialsLevel: m
39
40
  }), { type: "success" };
40
- if (S.type === a.Failure) return { type: "failure" };
41
+ if (S.type === i.Failure) return { type: "failure" };
41
42
  try {
42
- let e = await h(p);
43
- if ((m === r.User ? e.authSettings?.userLevelAuthStatus : e.authSettings?.globalAuthStatus) === t.SignedIn) return o({
43
+ if (a((await h(p)).authSettings, m) === t.SignedIn) return o({
44
44
  toolsetId: p,
45
45
  credentialsLevel: m
46
46
  }), { type: "success" };
package/oauth.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import { DialToolsetAuthSettingsDto } from '@epam/ai-dial-chat-api-client';
1
2
  import { DialToolsetDto } from '@epam/ai-dial-chat-api-client';
2
3
  import { ToolsetLoginBodyDto } from '@epam/ai-dial-chat-api-client';
3
4
  import { ToolsetLogoutBodyDto } from '@epam/ai-dial-chat-api-client';
@@ -6,8 +7,8 @@ import { ToolsetLogoutBodyDto } from '@epam/ai-dial-chat-api-client';
6
7
  * Builds the OAuth authorize URL for a given, already-generated `state`
7
8
  * value. The caller owns what `state` carries — see `initiateOAuthLogin`.
8
9
  * Returns `null` rather than throwing for a configuration that cannot
9
- * produce a valid URL, including one whose authorization endpoint is not
10
- * reachable over a secure transport.
10
+ * produce a valid URL, including one whose authorization endpoint is not an
11
+ * `http:`/`https:` URL.
11
12
  */
12
13
  export declare const buildToolsetAuthorizeUrl: (auth: ToolsetOAuthSettings, redirectUri: string, state: string) => string | null;
13
14
 
@@ -74,6 +75,19 @@ export declare const isPublicToolsetId: (toolsetId: string) => boolean;
74
75
  */
75
76
  export declare const navigateToolsetOAuthPopup: (popup: Window, auth: ToolsetOAuthSettings, toolsetId: string, callbackPath: string, credentialsLevel?: ToolsetCredentialsLevel, resourceKind?: OAuthResourceKind, offlineUsageConsent?: boolean) => ToolsetOAuthInitiationResult;
76
77
 
78
+ /**
79
+ * Encodes a toolset id to its single-encoded form regardless of whether the
80
+ * value received it in was already percent-encoded or the raw,
81
+ * human-readable form — decoding first then re-encoding once is idempotent
82
+ * either way, since `decodeToolsetId` on a raw (unencoded) id is a no-op.
83
+ * Use this instead of `encodeToolsetId` at a boundary that cannot guarantee
84
+ * which form it receives, such as a `postMessage` payload from an embedded
85
+ * iframe: calling `encodeToolsetId` directly on a value the sender already
86
+ * encoded escapes the existing `%` characters a second time (`%20` becomes
87
+ * `%2520`), which the backend only ever undoes once and so 404s on.
88
+ */
89
+ export declare const normalizeToolsetId: (toolsetId: string) => string;
90
+
77
91
  /** Arguments handed to the host's exchange callback. */
78
92
  export declare interface OAuthExchangeParams {
79
93
  /** One-time authorization code the provider returned. */
@@ -115,6 +129,24 @@ export declare enum OAuthResourceKind {
115
129
  */
116
130
  export declare const openToolsetOAuthPopup: () => Window | null;
117
131
 
132
+ /**
133
+ * Resolves which credentials level a toolset's login applies to, per DIAL
134
+ * Core's public/private toolset convention: a `public`-bucket toolset is
135
+ * shared credentials-wise at `User` level, while a private/workspace toolset
136
+ * is scoped at `Global` level. Every surface that drives a toolset login
137
+ * (the sign-in-interrupt dialog, the QuickApps editor iframe bridge,
138
+ * `useToolsetLogin`) must resolve the level this way rather than assuming one.
139
+ */
140
+ export declare const resolveToolsetCredentialsLevel: (toolsetId: string) => ToolsetCredentialsLevel.User | ToolsetCredentialsLevel.Global;
141
+
142
+ /**
143
+ * Picks the auth-status field matching one credentials level out of a
144
+ * toolset's `authSettings` — DIAL Core reports `userLevelAuthStatus` and
145
+ * `globalAuthStatus` as independent fields rather than one status keyed by
146
+ * level.
147
+ */
148
+ export declare const selectToolsetAuthStatus: (authSettings: Pick<DialToolsetAuthSettingsDto, "userLevelAuthStatus" | "globalAuthStatus"> | undefined, credentialsLevel: ToolsetCredentialsLevel) => string | undefined;
149
+
118
150
  export declare const subscribeToolsetLoginSuccess: <T>(listener: (detail: ToolsetLoginSuccessDetail<T>) => void) => (() => void);
119
151
 
120
152
  /** `sessionStorage` key the flow writes its `ToolsetRedirectState` under, in the popup it opens. */
package/oauth.js CHANGED
@@ -1,9 +1,9 @@
1
- import { decodeToolsetId as e, encodeToolsetId as t, isPublicToolsetId as n } from "./oauth/toolset-id.js";
2
- import { OAuthResourceKind as r, TOOLSET_REDIRECT_STATE_KEY as i, ToolsetAuthStatus as a, ToolsetAuthTypes as o, ToolsetCredentialsLevel as s, ToolsetOAuthCallbackQuery as c, ToolsetOAuthChannelControlType as l, ToolsetOAuthFailureReason as u, ToolsetOAuthInitiationResultType as d, ToolsetOAuthResultType as f, WithLogin as p } from "./oauth/types.js";
3
- import { emitToolsetLoginSuccess as m, subscribeToolsetLoginSuccess as h } from "./shared/toolset-login-events.js";
4
- import { getToolsetOAuthChannelName as g, waitForToolsetOAuthResult as _ } from "./oauth/handshake.js";
5
- import { buildToolsetAuthorizeUrl as v, getToolsetRedirectUri as y } from "./oauth/authorize-url.js";
6
- import { initiateOAuthLogin as b, navigateToolsetOAuthPopup as x, openToolsetOAuthPopup as S } from "./oauth/popup.js";
7
- import { ToolsetLoginOutcomeType as C, useToolsetLogin as w } from "./oauth/useToolsetLogin/useToolsetLogin.js";
8
- import { useOAuthCallbackCompletion as T } from "./oauth/useOAuthCallbackCompletion/useOAuthCallbackCompletion.js";
9
- export { r as OAuthResourceKind, i as TOOLSET_REDIRECT_STATE_KEY, a as ToolsetAuthStatus, o as ToolsetAuthTypes, s as ToolsetCredentialsLevel, C as ToolsetLoginOutcomeType, c as ToolsetOAuthCallbackQuery, l as ToolsetOAuthChannelControlType, u as ToolsetOAuthFailureReason, d as ToolsetOAuthInitiationResultType, f as ToolsetOAuthResultType, p as WithLogin, v as buildToolsetAuthorizeUrl, e as decodeToolsetId, m as emitToolsetLoginSuccess, t as encodeToolsetId, g as getToolsetOAuthChannelName, y as getToolsetRedirectUri, b as initiateOAuthLogin, n as isPublicToolsetId, x as navigateToolsetOAuthPopup, S as openToolsetOAuthPopup, h as subscribeToolsetLoginSuccess, T as useOAuthCallbackCompletion, w as useToolsetLogin, _ as waitForToolsetOAuthResult };
1
+ import { OAuthResourceKind as e, TOOLSET_REDIRECT_STATE_KEY as t, ToolsetAuthStatus as n, ToolsetAuthTypes as r, ToolsetCredentialsLevel as i, ToolsetOAuthCallbackQuery as a, ToolsetOAuthChannelControlType as o, ToolsetOAuthFailureReason as s, ToolsetOAuthInitiationResultType as c, ToolsetOAuthResultType as l, WithLogin as u } from "./oauth/types.js";
2
+ import { decodeToolsetId as d, encodeToolsetId as f, isPublicToolsetId as p, normalizeToolsetId as m, resolveToolsetCredentialsLevel as h, selectToolsetAuthStatus as g } from "./oauth/toolset-id.js";
3
+ import { emitToolsetLoginSuccess as _, subscribeToolsetLoginSuccess as v } from "./shared/toolset-login-events.js";
4
+ import { getToolsetOAuthChannelName as y, waitForToolsetOAuthResult as b } from "./oauth/handshake.js";
5
+ import { buildToolsetAuthorizeUrl as x, getToolsetRedirectUri as S } from "./oauth/authorize-url.js";
6
+ import { initiateOAuthLogin as C, navigateToolsetOAuthPopup as w, openToolsetOAuthPopup as T } from "./oauth/popup.js";
7
+ import { ToolsetLoginOutcomeType as E, useToolsetLogin as D } from "./oauth/useToolsetLogin/useToolsetLogin.js";
8
+ import { useOAuthCallbackCompletion as O } from "./oauth/useOAuthCallbackCompletion/useOAuthCallbackCompletion.js";
9
+ export { e as OAuthResourceKind, t as TOOLSET_REDIRECT_STATE_KEY, n as ToolsetAuthStatus, r as ToolsetAuthTypes, i as ToolsetCredentialsLevel, E as ToolsetLoginOutcomeType, a as ToolsetOAuthCallbackQuery, o as ToolsetOAuthChannelControlType, s as ToolsetOAuthFailureReason, c as ToolsetOAuthInitiationResultType, l as ToolsetOAuthResultType, u as WithLogin, x as buildToolsetAuthorizeUrl, d as decodeToolsetId, _ as emitToolsetLoginSuccess, f as encodeToolsetId, y as getToolsetOAuthChannelName, S as getToolsetRedirectUri, C as initiateOAuthLogin, p as isPublicToolsetId, w as navigateToolsetOAuthPopup, m as normalizeToolsetId, T as openToolsetOAuthPopup, h as resolveToolsetCredentialsLevel, g as selectToolsetAuthStatus, v as subscribeToolsetLoginSuccess, O as useOAuthCallbackCompletion, D as useToolsetLogin, b as waitForToolsetOAuthResult };