@epam/ai-dial-chat-hooks 1.3.0-dev.358 → 1.3.0-dev.360

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/index.js CHANGED
@@ -98,144 +98,144 @@ import { buildCreateConversationDto as ki, createProjectsApiClient as Ai, splitP
98
98
  import { mapProjectArtifactsToOutputs as Mi, mapProjectDetailsToViewModel as Ni, mapProjectDtoToItem as Pi, mapProjectSource as Fi, mapProjectSourceToFilterTab as Ii, mapStoredContextFiles as Li } from "./project/project-mapping.js";
99
99
  import { DEFAULT_PROJECT_CONTEXT_ALLOWED_EXTENSIONS as Ri, DEFAULT_PROJECT_CONTEXT_FILE_MAX_BYTES as zi, DEFAULT_PROJECT_CONTEXT_TOTAL_MAX_BYTES as Bi, getMimeTypesForExtensions as Vi, resolveByteLimit as Hi, resolveExtensionList as Ui } from "./project/project-limits.js";
100
100
  import { ProjectFormErrorField as Wi, ProjectFormErrorReason as Gi, getProjectFormError as Ki } from "./project/project-form-errors.js";
101
- import { fromProjectOutputCardId as qi, fromProjectPreviewKey as Ji, toProjectContextFileAttachment as Yi, toProjectOutputAttachment as Xi, toProjectOutputCardId as Zi, toProjectPreviewKey as Qi, toStoredProjectFileAttachment as $i } from "./project/project-file-preview.js";
102
- import { useProjectFilePreview as ea } from "./project/use-project-file-preview.js";
103
- import { ProjectDraftMode as ta, useProjectDraft as na } from "./project/use-project-draft.js";
104
- import { ProjectChatCreateFailure as ra, classifyProjectChatCreateError as ia, createProjectChat as aa } from "./project/create-project-chat.js";
105
- import { NO_CONVERSATION_LIST_SYNC as oa } from "./conversation/conversation-data-source.js";
106
- import { getBrowserTimezone as sa } from "./shared/browser-timezone.js";
107
- import { createProjectConversationDataSource as ca } from "./project/project-conversation-data-source.js";
108
- import { useProjects as la } from "./project/use-projects.js";
109
- import { ProjectRefreshOutcome as ua } from "./project/project-refresh.js";
110
- import { useProject as da } from "./project/use-project.js";
111
- import { useProjectWatch as fa } from "./project/use-project-watch.js";
112
- import { useCreateProject as pa, useSaveProject as ma } from "./project/use-project-submit.js";
113
- import { useProjectConversations as ha } from "./project/use-project-conversations.js";
114
- import { PINNED_PROJECT_CHATS_LIMIT as ga, usePinnedProjectChats as _a } from "./project/use-pinned-project-chats.js";
115
- import { useProjectArtifacts as va } from "./project/use-project-artifacts.js";
116
- import { sanitizeFileName as ya, splitFileNameExtension as ba, trimFileNameToByteLimit as xa } from "./files/file-name.js";
117
- import { ProjectActionError as Sa, useProjectActions as Ca } from "./project/use-project-actions.js";
118
- import { createSerializedKeyedWriter as wa } from "./shared/serialized-writer.js";
119
- import { mapOfflineCredentialsResponse as Ta, normalizeOfflineCredentialsConnectSettings as Ea } from "./offline-credentials/map-offline-credentials-response.js";
120
- import { OfflineCredentialsGateStatus as Da, useOfflineCredentialsGate as Oa } from "./offline-credentials/useOfflineCredentialsGate/useOfflineCredentialsGate.js";
121
- import { OfflineCredentialsLogoutOutcomeType as ka, useOfflineCredentialsAuth as Aa } from "./offline-credentials/useOfflineCredentialsAuth/useOfflineCredentialsAuth.js";
122
- import { ScheduledTasksLoginBannerState as ja, getScheduledTasksLoginRetryState as Ma, resolveScheduledTasksLoginBannerState as Na } from "./offline-credentials/scheduled-tasks-login-banner.js";
123
- import { checkScheduledTaskAuthSessionError as Pa } from "./scheduled-task/check-scheduled-task-auth-session-error.js";
124
- import { validateSkillFileBatch as Fa } from "./skill/skill-file-batch-validation.js";
125
- import { skillFileToAttachment as Ia } from "./skill/skill-file-preview.js";
126
- import { SkillEditorLoadState as La, useSkillEditorLoad as Ra } from "./skill/useSkillEditorLoad.js";
127
- import { useSkillEditorSubmit as za } from "./skill/useSkillEditorSubmit.js";
128
- import { useSkillFileActions as Ba } from "./skill/useSkillFileActions.js";
129
- import { SkillPreviewErrorKind as Va, useSkillFilePreview as Ha } from "./skill/useSkillFilePreview.js";
130
- import { findSkillByUrl as Ua } from "./skill/skill-lookup.js";
131
- import { useSkillsState as Wa } from "./skill/useSkillsState/useSkillsState.js";
132
- import { SkillArchiveImportErrorKind as Ga, SkillArchiveImportStatus as Ka, SkillArchiveSelectionRejectionReason as qa, classifySkillArchiveImportError as Ja, useSkillArchiveImport as Ya } from "./skill/useSkillArchiveImport/useSkillArchiveImport.js";
133
- import { RecipientsCountStatus as Xa, useShareRecipientsCount as Za } from "./useShareRecipientsCount/useShareRecipientsCount.js";
134
- import { deriveConversationRowActionState as Qa } from "./conversation/deriveConversationRowActionState/deriveConversationRowActionState.js";
135
- import { useActiveConversationSync as $a } from "./conversation/useActiveConversationSync/useActiveConversationSync.js";
136
- import { useAsyncConfirmDialog as eo } from "./conversation/useAsyncConfirmDialog/useAsyncConfirmDialog.js";
137
- import { useConversationComposerDraft as to } from "./conversation/useConversationComposerDraft/useConversationComposerDraft.js";
138
- import { useConversationLookupMaps as no } from "./conversation/useConversationLookupMaps/useConversationLookupMaps.js";
139
- import { getConversationSource as ro, useConversationPanelItems as io } from "./conversation/useConversationPanelItems/useConversationPanelItems.js";
140
- import { useImportFilePicker as ao } from "./conversation/useImportFilePicker/useImportFilePicker.js";
141
- import { useMessageSelectionReply as oo } from "./conversation/useMessageSelectionReply/useMessageSelectionReply.js";
142
- import { useAttachmentUpload as so } from "./conversation/useAttachmentUpload/useAttachmentUpload.js";
143
- import { AudioTranscriptionError as co, AudioTranscriptionErrorReason as lo } from "./conversation/useTranscribeAudio/audio-transcription-error.js";
144
- import { UploadMimeTypePolicy as uo, useTranscribeAudio as fo } from "./conversation/useTranscribeAudio/useTranscribeAudio.js";
145
- import { DEFAULT_MAX_ARCHIVE_BYTES as po, useConversationExport as mo } from "./conversation/useConversationExport/useConversationExport.js";
146
- import { attachmentToDto as ho, attachmentsToDtos as go } from "./conversation/useConversationHandlers/attachment-to-dto.js";
147
- import { createMessagePair as _o } from "./conversation/useConversationHandlers/message-factory.js";
148
- import { hasActiveToolConfig as vo, isAnswerIncomplete as yo, isMessageChanged as bo, shouldRerunGenerationOnEdit as xo } from "./conversation/useConversationHandlers/message-utils.js";
149
- import { getStarterConversationText as So, getStarterDisplayText as Co, getStarterSubmitText as wo } from "./conversation/useConversationHandlers/starter-option.js";
150
- import { getConversationPath as To } from "./conversation/useConversationStream/conversation-path.js";
151
- import { useConversationHandlers as Eo } from "./conversation/useConversationHandlers/useConversationHandlers.js";
152
- import { useConversationImport as Do } from "./conversation/useConversationImport/useConversationImport.js";
153
- import { useConversationScroll as Oo } from "./conversation/useConversationScroll/useConversationScroll.js";
154
- import { applyChunkToMessages as ko, mergeStages as Ao } from "./conversation/useConversationStream/apply-chunk.js";
155
- import { isAwaitingGenerationResume as jo } from "./conversation/useConversationStream/generation-resume.js";
156
- import { useConversationStream as Mo } from "./conversation/useConversationStream/useConversationStream.js";
157
- import { useConversationSources as No } from "./conversation-sources/useConversationSources/useConversationSources.js";
158
- import { prepareStageCitations as Po } from "./conversation-sources/stage-citations.js";
159
- import { useConversationAnnotationPool as Fo } from "./conversation-sources/useConversationAnnotationPool/useConversationAnnotationPool.js";
160
- import { DialFilesApiUploadMode as Io } from "./files/dial-files-api.js";
161
- import { FileManagerNotificationReason as Lo, FileNameValidationErrorReason as Ro, FileOperationKind as zo } from "./files/dial-file-manager.types.js";
162
- import { COLUMNS_MY_FILES as Bo, COLUMNS_ORGANIZATION as Vo, COLUMNS_SHARED as Ho, CORE_PERMISSION_MAP as Uo, DATE_OPTIONS as Wo, DIAL_FILE_MANAGER_SECTION_TABS as Go, PATH_SEPARATOR_REGEXP as Ko, RESERVED_MARKER_NAME as qo, UPLOAD_CONCURRENCY as Jo } from "./files/dial-file-manager.model.js";
163
- import { buildSharedItemVirtualPath as Yo, dialCorePathToRelative as Xo, findDialFileByPath as Zo, findFolderByVirtualPath as Qo, formatOperationFolderName as $o, getVirtualPathName as es, hasDialFileWritePermission as ts, hasForbiddenNameSymbols as ns, hasSamePaths as rs, isCopyMoveDuplicateAllowed as is, isShareActionsAllowed as as, normalizeVirtualPath as os, parseNewFolderVirtualPath as ss, resolveOwnerCoords as cs, resolveSectionByPath as ls, unionPathSets as us, withRoutableRootLabels as ds } from "./files/dial-file-manager-path.util.js";
164
- import { resolveDialFileApiPath as fs, virtualPathToApiPath as ps } from "./files/resolve-dial-file-api-path.js";
165
- import { prepareCopyItems as ms, prepareMoveRenameItems as hs } from "./files/dial-file-manager-copy-move.util.js";
166
- import { UploadBodyEncoding as gs, UploadNetworkError as _s, createUploadFileWithProgress as vs } from "./files/create-upload-file-with-progress.js";
167
- import { buildFromCache as ys, buildSharedSearchScope as bs, fetchByTab as xs, fetchForSearch as Ss, findFirstSuccessfulCopyMoveItem as Cs, mapCorePermissions as ws, mapFileMetadataToDialFile as Ts, mapSearchItem as Es, mergeCreatedFolderIntoCache as Ds, resolveTransferFailureReason as Os, resolveUploadFailureReason as ks, updateEntry as As } from "./files/dial-file-manager-mapping.util.js";
168
- import { createFilesApiClient as js } from "./files/create-files-api.js";
169
- import { openAnnotationAttachment as Ms } from "./files/annotation.js";
170
- import { annotationToOoxmlCanvasContent as Ns, annotationToPdfCanvasContent as Ps, clearAttachmentCache as Fs, hasAttachmentTextSource as Is, referenceAttachmentToPdfCanvasContent as Ls, resolveAnnotationCanvasContent as Rs, resolveCodeCanvasContent as zs, resolveGroupedVisualizerCanvasContent as Bs, resolveHtmlCanvasContent as Vs, resolveImageCanvasContent as Hs, resolveJsonCanvasContent as Us, resolveMarkdownCanvasContent as Ws, resolveOoxmlCanvasContent as Gs, resolvePdfCanvasContent as Ks, resolveTextCanvasContent as qs, resolveVisualizerCanvasContent as Js } from "./files/attachment-canvas.js";
171
- import { getUrlFileName as Ys, isExternalSourcePreviewable as Xs, resolveExternalSourceContentType as Zs } from "./files/source-content.js";
172
- import { annotationToDisplayAttachment as Qs, attachmentDtoToDisplayAttachment as $s, attachmentDtosToDisplayAttachments as ec } from "./files/attachment-dto-to-display.js";
173
- import { useUnshareConfirmationState as tc } from "./files/useUnshareConfirmationState/useUnshareConfirmationState.js";
174
- import { dialFileToAttachment as nc, dialFilesToAttachments as rc, dialFolderPathToAttachment as ic } from "./files/dial-file-to-attachment.js";
175
- import { DownloadDestinationType as ac } from "./files/download-destination.js";
176
- import { prepareDownloadDestination as oc } from "./files/prepare-download-destination.js";
177
- import { deriveActionProfile as sc } from "./files/file-manager-variant.js";
178
- import { useDialFileListing as cc } from "./files/useDialFileListing/useDialFileListing.js";
179
- import { useDialFileMetadata as lc } from "./files/useDialFileMetadata/useDialFileMetadata.js";
180
- import { useDialFileMutations as uc } from "./files/useDialFileMutations/useDialFileMutations.js";
181
- import { useDialFileSharing as dc } from "./files/useDialFileSharing/useDialFileSharing.js";
182
- import { useDialFileUploadBatch as fc } from "./files/useDialFileUploadBatch/useDialFileUploadBatch.js";
183
- import { useDialFileManager as pc } from "./files/useDialFileManager/useDialFileManager.js";
184
- import { useDialFileManagerSections as mc } from "./files/useDialFileManagerSections/useDialFileManagerSections.js";
185
- import { useDialFileManagerTabConfig as hc } from "./files/useDialFileManagerTabConfig/useDialFileManagerTabConfig.js";
186
- import { useFileAttachmentPicker as gc } from "./files/useFileAttachmentPicker/useFileAttachmentPicker.js";
187
- import { isValidAbsoluteUrl as _c, isValidFeaturesData as vc, parseFeaturesData as yc } from "./shared/custom-apps.js";
188
- import { EXTERNAL_SERVICE_SIGNIN_METHOD as bc, PendingSigninEventKind as xc, TOOLSET_SIGNIN_METHOD as Sc } from "./shared/client-channel.js";
189
- import { ColorScheme as Cc, applyThemeColors as wc, getOsPreferredTheme as Tc } from "./shared/theme-colors.js";
190
- import { AcceptShareInvitationErrorKind as Ec } from "./share-invitation/types.js";
191
- import { DEFAULT_ACCEPT_SHARE_INVITATION_ERROR_LABELS as Dc, resolveAcceptShareInvitationError as Oc } from "./share-invitation/share-invitation-error.js";
192
- import { useAcceptShareInvitation as kc } from "./share-invitation/useAcceptShareInvitation/useAcceptShareInvitation.js";
193
- import { DEFAULT_CHAT_SETTINGS as Ac, useChatSettingsFormConfig as jc } from "./useChatSettingsFormConfig/useChatSettingsFormConfig.js";
194
- import { usePageFileDrag as Mc } from "./usePageFileDrag/usePageFileDrag.js";
195
- import { useViewportWidth as Nc } from "./useViewportWidth/useViewportWidth.js";
196
- import { usePanelMaxWidth as Pc } from "./usePanelMaxWidth/usePanelMaxWidth.js";
197
- import { useShareLink as Fc } from "./useShareLink/useShareLink.js";
198
- import { useToolsMenu as Ic } from "./useToolsMenu/useToolsMenu.js";
199
- import { USAGE_DATA_I18N_KEYS as Lc, mapUsageDataToDashboard as Rc } from "./usage/map-usage-data-to-dashboard.js";
200
- import { USAGE_MODEL_LIMITS_I18N_KEYS as zc, mapOverallCostLimitsToPeriodStatuses as Bc, mapUserUsageToModelLimits as Vc } from "./usage/map-user-usage-to-model-limits.js";
201
- import { UsagePeriod as Hc } from "./usage/usage-period.js";
202
- import { selectUsageBannerSource as Uc } from "./usage/usage-banner-source.js";
203
- import { USAGE_RESET_I18N_KEYS as Wc, UsageResetOffsetPolicy as Gc, formatUsageResetShort as Kc, formatUsageResetTime as qc } from "./usage/usage-reset-time.js";
204
- import { getGaugeNeedleAngle as Jc } from "./usage/usage-gauge.js";
205
- import { useDeploymentUsageLimits as Yc } from "./usage/useDeploymentUsageLimits/useDeploymentUsageLimits.js";
206
- import { useRefreshUsageAfterGeneration as Xc } from "./usage/useRefreshUsageAfterGeneration/useRefreshUsageAfterGeneration.js";
207
- import { resetUsageLimitBannerDismissals as Zc, useUsageLimitBannerDismissal as Qc } from "./usage/useUsageLimitBannerDismissal/useUsageLimitBannerDismissal.js";
208
- import { USAGE_BANNER_I18N_KEYS as $c, useUsageLimitBanner as el } from "./usage/useUsageLimitBanner/useUsageLimitBanner.js";
209
- import { useUsageData as tl } from "./usage/useUsageData/useUsageData.js";
210
- import { McpAppResourceFetchError as nl, createMcpAppsApiClient as rl } from "./mcp-apps/mcp-apps-api-client.js";
211
- import { useMcpAppTools as il } from "./mcp-apps/useMcpAppTools/useMcpAppTools.js";
212
- import { useMcpAppHostContext as al } from "./mcp-apps/useMcpAppHostContext/useMcpAppHostContext.js";
213
- import { useMcpAppHostAdapter as ol } from "./mcp-apps/useMcpAppHostAdapter/useMcpAppHostAdapter.js";
214
- import { useOpenMcpAppCanvas as sl } from "./mcp-apps/useOpenMcpAppCanvas/useOpenMcpAppCanvas.js";
215
- import { triggerBrowserDownload as cl } from "./files/browser-download.js";
216
- import { applyActiveScheduledTaskRun as ll, collapseScheduledTaskConversations as ul, getScheduledTaskRunGroupKey as dl, groupScheduledTaskConversations as fl, isScheduledTaskRunCollapsible as pl } from "./conversation/scheduled-task-grouping.js";
217
- import { useConversationDiscovery as ml } from "./conversation/useConversationDiscovery/useConversationDiscovery.js";
218
- import { useScheduledTaskSkillDisplayNames as hl } from "./scheduled-task/useScheduledTaskSkillDisplayNames/useScheduledTaskSkillDisplayNames.js";
219
- import { useSkillFileSystemPicker as gl } from "./skill-editor/useSkillFileSystemPicker/useSkillFileSystemPicker.js";
220
- import { useFileAttachmentModalState as _l } from "./files/useFileAttachmentModalState/useFileAttachmentModalState.js";
221
- import { useDialFilePreview as vl } from "./files/useDialFilePreview/useDialFilePreview.js";
222
- import { EntityPreselectionOutcome as yl, EntityPreselectionSource as bl, useEntityPreselection as xl } from "./conversation/useEntityPreselection/useEntityPreselection.js";
223
- import { CanvasWidthMode as Sl, resolveCanvasWidth as Cl } from "./viewport-layout/canvas-width.js";
224
- import { usePersistedState as wl } from "./shared/usePersistedState/usePersistedState.js";
225
- import { useAppVersionCheck as Tl } from "./shared/useAppVersionCheck/useAppVersionCheck.js";
226
- import { getCleanedLocationTarget as El } from "./shared/url-cleanup.js";
227
- import { ClientGenerationStatus as Dl, createGenerationRegistry as Ol } from "./conversation/generation-registry.js";
228
- import { ActiveScheduledTaskDetailState as kl, ActiveScheduledTaskStatus as Al, resolveActiveScheduledTask as jl } from "./scheduled-task/active-scheduled-task.js";
229
- import { useActiveScheduledTaskDetails as Ml } from "./scheduled-task/useActiveScheduledTaskDetails.js";
230
- import { ConversationTitleRequestEnd as Nl, useConversationTitleEnrichmentController as Pl } from "./conversation/useConversationTitleEnrichmentController.js";
231
- import { CONVERSATION_TITLE_STREAM_MAX_FRAME_BYTES as Fl, CONVERSATION_TITLE_STREAM_MAX_IDS as Il, CONVERSATION_TITLE_STREAM_MAX_ID_BYTES as Ll, ConversationTitleStreamProtocolError as Rl, createSseFrameDecoder as zl, isConversationTitleStreamUnsupported as Bl, parseConversationTitleStreamEvent as Vl, readConversationTitleStream as Hl } from "./conversation/conversation-title-stream.js";
232
- import { useVisibleConversationIdsReporter as Ul } from "./conversation/useVisibleConversationIdsReporter/useVisibleConversationIdsReporter.js";
233
- import { isTotalDeletionFailure as Wl, resolveConversationPinChange as Gl } from "./conversation/conversation-list.js";
234
- import { SkillFilePreviewState as Kl, useSkillFilePreviewSyncController as ql } from "./skill-editor/useSkillFilePreviewSyncController.js";
235
- import { getSigninEventResourceKey as Jl, resolveExternalServiceSigninRowInfo as Yl, resolveToolsetSigninRowInfo as Xl } from "./signin-interrupt/signin-row-info.js";
236
- import { SigninInterruptAnnouncementKind as Zl, SigninInterruptRowError as Ql, SigninInterruptRowStatus as $l } from "./signin-interrupt/types.js";
237
- import { useSigninInterrupt as eu } from "./signin-interrupt/useSigninInterrupt/useSigninInterrupt.js";
238
- import { useDeploymentChangeTracking as tu } from "./conversation/useDeploymentChangeTracking.js";
239
- import { SchedulerServiceConsentStatus as nu } from "@epam/ai-dial-chat-api-client";
240
- import { useGridEditingScroll as ru } from "@epam/ai-dial-chat-shared";
241
- export { Ec as AcceptShareInvitationErrorKind, kl as ActiveScheduledTaskDetailState, Al as ActiveScheduledTaskStatus, E as AttachmentValidationErrorReason, co as AudioTranscriptionError, lo as AudioTranscriptionErrorReason, J as AuthenticationType, Bo as COLUMNS_MY_FILES, Vo as COLUMNS_ORGANIZATION, Ho as COLUMNS_SHARED, Fl as CONVERSATION_TITLE_STREAM_MAX_FRAME_BYTES, Il as CONVERSATION_TITLE_STREAM_MAX_IDS, Ll as CONVERSATION_TITLE_STREAM_MAX_ID_BYTES, Uo as CORE_PERMISSION_MAP, Sl as CanvasWidthMode, Rt as CatalogEntityKind, Yt as CatalogPrimaryActionType, Dl as ClientGenerationStatus, Cc as ColorScheme, M as ConversationExportMode, Nl as ConversationTitleRequestEnd, Rl as ConversationTitleStreamProtocolError, N as ConversationTransferErrorCode, P as ConversationTransferWarningCode, Wo as DATE_OPTIONS, Dc as DEFAULT_ACCEPT_SHARE_INVITATION_ERROR_LABELS, kn as DEFAULT_APPLICATION_CREDENTIAL_ACTIONS_LABELS, Ac as DEFAULT_CHAT_SETTINGS, we as DEFAULT_ENTITY_DETAILS_LABELS, or as DEFAULT_GENERATION_CONFLICT_MESSAGE, sr as DEFAULT_GENERATION_PERSISTENCE_ERROR_MESSAGE, po as DEFAULT_MAX_ARCHIVE_BYTES, Ri as DEFAULT_PROJECT_CONTEXT_ALLOWED_EXTENSIONS, zi as DEFAULT_PROJECT_CONTEXT_FILE_MAX_BYTES, Bi as DEFAULT_PROJECT_CONTEXT_TOTAL_MAX_BYTES, cr as DEFAULT_STREAM_IDLE_TIMEOUT_MS, Go as DIAL_FILE_MANAGER_SECTION_TABS, Io as DialFilesApiUploadMode, ac as DownloadDestinationType, I as EXPORT_APP_NAME, bc as EXTERNAL_SERVICE_SIGNIN_METHOD, yl as EntityPreselectionOutcome, bl as EntityPreselectionSource, F as ExportFileNameKind, xn as ExternalServiceAuthStatus, Sn as ExternalServiceAuthType, Cn as ExternalServiceCredentialsLevel, wn as ExternalServiceLoginOutcomeType, Vt as FavoriteEntityType, Lo as FileManagerNotificationReason, Ro as FileNameValidationErrorReason, zo as FileOperationKind, f as FileSelectionKind, lr as GenerationConflictError, ur as GenerationPersistenceError, nl as McpAppResourceFetchError, vt as McpResourceKind, oa as NO_CONVERSATION_LIST_SYNC, Q as OAuthResourceKind, Da as OfflineCredentialsGateStatus, gn as OfflineCredentialsLoginOutcomeType, ka as OfflineCredentialsLogoutOutcomeType, Ko as PATH_SEPARATOR_REGEXP, ga as PINNED_PROJECT_CHATS_LIMIT, Ur as PROMPT_CONTENT_MAX_LENGTH, Wr as PROMPT_COUNTER_ANNOUNCE_THRESHOLD, Gr as PROMPT_DESCRIPTION_MAX_LENGTH, Kr as PROMPT_FIELD_VALIDATORS, qr as PROMPT_NAME_MAX_LENGTH, it as PUBLIC_SKILL_BUCKET, xc as PendingSigninEventKind, Sa as ProjectActionError, ra as ProjectChatCreateFailure, ta as ProjectDraftMode, Wi as ProjectFormErrorField, Gi as ProjectFormErrorReason, ua as ProjectRefreshOutcome, Jr as PromptFieldError, Ne as PromptSource, qo as RESERVED_MARKER_NAME, Xa as RecipientsCountStatus, Ln as ResourceSaveError, zn as ResourceSaveOutcome, Bn as ResourceSaveVersionError, Re as SKILL_FILE_UPLOAD_MAX_BYTES, ze as SKILL_FOLDER_MARKER, at as SKILL_LISTING_MAX_PAGES, ot as SKILL_LISTING_PAGE_SIZE, Be as SKILL_MANIFEST_FILE, st as SKILL_MANIFEST_MAX_BYTES, Ve as SKILL_TEXT_FIELD_MAX_LENGTHS, He as SKILL_UPLOAD_MAX_FILES, Ue as SKILL_UPLOAD_MAX_TOTAL_BYTES, Vn as SaveDestinationRoot, ii as ScheduledTaskDeleteErrorKind, Ti as ScheduledTaskRunStatusFeedback, ni as ScheduledTaskTriggerDescriptionKind, ja as ScheduledTasksLoginBannerState, nu as SchedulerServiceConsentStatus, Zl as SigninInterruptAnnouncementKind, Ql as SigninInterruptRowError, $l as SigninInterruptRowStatus, Ga as SkillArchiveImportErrorKind, Ka as SkillArchiveImportStatus, qa as SkillArchiveSelectionRejectionReason, La as SkillEditorLoadState, Kl as SkillFilePreviewState, Va as SkillPreviewErrorKind, ct as SkillSource, dr as StopCompletionError, fr as StreamInterruptedError, pr as StreamUpstreamError, $ as TOOLSET_REDIRECT_STATE_KEY, Sc as TOOLSET_SIGNIN_METHOD, ee as ToolsetAuthStatus, te as ToolsetAuthTypes, ne as ToolsetCredentialsLevel, pn as ToolsetLoginOutcomeType, re as ToolsetOAuthCallbackQuery, ie as ToolsetOAuthChannelControlType, ae as ToolsetOAuthFailureReason, oe as ToolsetOAuthInitiationResultType, se as ToolsetOAuthResultType, Jo as UPLOAD_CONCURRENCY, $c as USAGE_BANNER_I18N_KEYS, Lc as USAGE_DATA_I18N_KEYS, zc as USAGE_MODEL_LIMITS_I18N_KEYS, Wc as USAGE_RESET_I18N_KEYS, ti as UnsupportedTriggerReason, gs as UploadBodyEncoding, uo as UploadMimeTypePolicy, _s as UploadNetworkError, Hc as UsagePeriod, Gc as UsageResetOffsetPolicy, ce as WithLogin, Qs as annotationToDisplayAttachment, Ns as annotationToOoxmlCanvasContent, Ps as annotationToPdfCanvasContent, mi as apSchedulerDayToJsDay, ge as appendLocaleCode, ll as applyActiveScheduledTaskRun, ko as applyChunkToMessages, wc as applyThemeColors, O as areAllMimeTypesAllowed, $s as attachmentDtoToDisplayAttachment, ec as attachmentDtosToDisplayAttachments, ho as attachmentToDto, go as attachmentsToDtos, _e as buildAdditionalLocaleOptions, $n as buildAnnouncementSignature, En as buildApplicationCredentialLoginParams, yt as buildApplicationMcpUrl, k as buildAttachConstraintDescription, B as buildChatCompletionsUrl, bt as buildConnectApi, ki as buildCreateConversationDto, V as buildDeploymentConnectApi, vn as buildExternalServiceScopeId, ys as buildFromCache, Br as buildPromptExportEnvelope, Vr as buildPromptExportFileName, Fe as buildPromptOverview, Yr as buildPromptPath, Y as buildResetFields, H as buildResponsesUrl, Yo as buildSharedItemVirtualPath, bs as buildSharedSearchScope, ut as buildSkillContentTree, We as buildSkillFilesPayload, Ge as buildSkillManifest, Ke as buildSkillManifestForSubmit, qe as buildSkillManifestFromFrontmatter, dt as buildSkillOverview, nn as buildToolsetAuthorizeUrl, xt as buildToolsetMcpUrl, kt as canEditShareAccess, Pa as checkScheduledTaskAuthSessionError, ia as classifyProjectChatCreateError, ai as classifyScheduledTaskDeleteError, Ja as classifySkillArchiveImportError, Fs as clearAttachmentCache, ul as collapseScheduledTaskConversations, ve as composeLocalePayload, mr as createChatStreamApi, a as createCsrfMiddleware, Sr as createDeploymentChangedMessage, U as createDeploymentLookup, Wn as createEmbeddedApplicationSaveAdapter, js as createFilesApiClient, Ol as createGenerationRegistry, Gn as createHostApplicationSaveAdapter, rl as createMcpAppsApiClient, ir as createMemoryConversationDraftStore, _o as createMessagePair, Rr as createOAuthCallbackExchange, aa as createProjectChat, ca as createProjectConversationDataSource, Ai as createProjectsApiClient, Kn as createPromptCreateAdapter, qn as createPromptFolderLister, Jn as createPromptSaveAdapter, R as createPublishApiClient, Hn as createPublishSavedResource, xi as createScheduledTasksApiClient, wa as createSerializedKeyedWriter, Yn as createSkillFolderLister, zl as createSseFrameDecoder, Xn as createToolsetCreateAdapter, Zn as createToolsetSaveAdapter, o as createUnauthorizedMiddleware, vs as createUploadFileWithProgress, ar as createWebStorageConversationDraftStore, W as decodeDeploymentId, le as decodeToolsetId, ye as decomposeLocalizedFields, sc as deriveActionProfile, At as deriveAvailableTabIds, Qa as deriveConversationRowActionState, jt as deriveFavoriteItems, ri as describeScheduledTaskTrigger, Xo as dialCorePathToRelative, nc as dialFileToAttachment, rc as dialFilesToAttachments, ic as dialFolderPathToAttachment, y as downloadAttachment, on as emitToolsetLoginSuccess, G as encodeDeploymentId, ue as encodeToolsetId, xs as fetchByTab, Ss as fetchForSearch, Mt as filterCatalogItemsBySelector, Nt as filterHiddenOwnedItems, K as findDeploymentByIdOrReference, vr as findDeploymentForConversationId, Zo as findDialFileByPath, Cs as findFirstSuccessfulCopyMoveItem, Qo as findFolderByVirtualPath, zt as findSchemaDisplayName, Ua as findSkillByUrl, Jt as findWorstCappedRow, gr as formatAppVersion, Se as formatCalendarDate, A as formatDateYM, j as formatDateYMD, $o as formatOperationFolderName, L as formatQuotedNameList, oi as formatScheduledTaskRunDuration, si as formatScheduledTaskRunTimestamp, ci as formatScheduledTaskScheduleLabel, Kc as formatUsageResetShort, qc as formatUsageResetTime, qi as fromProjectOutputCardId, Ji as fromProjectPreviewKey, e as getAcceptInvitationErrorItemName, t as getApiErrorDetails, n as getApiErrorMessage, r as getApiErrorStatus, sa as getBrowserTimezone, El as getCleanedLocationTarget, To as getConversationPath, ro as getConversationSource, Cr as getEffectiveDeploymentIds, yn as getExternalServiceFallbackName, p as getFileSelectionKind, wr as getFormSchemaToolSyncKey, Jc as getGaugeNeedleAngle, Tr as getLastDeploymentId, Er as getLastUserMessageToolConfiguration, Dr as getLatestToolConfiguration, Vi as getMimeTypesForExtensions, yr as getModelIdCandidatesFromConversationId, br as getModelIdFromConversationId, Oi as getNextCronOccurrence, Tc as getOsPreferredTheme, Ki as getProjectFormError, Ct as getPublicCatalogEntityFolderPath, Nr as getQuickAppConversationStarters, Xr as getRemainingCharacters, Ft as getRunnerSchemas, dl as getScheduledTaskRunGroupKey, Ma as getScheduledTasksLoginRetryState, Jl as getSigninEventResourceKey, Je as getSkillFieldLengthViolations, So as getStarterConversationText, Co as getStarterDisplayText, Ir as getStarterPopulateText, wo as getStarterSubmitText, Lr as getStartersFromSchema, xr as getTimeOfDayGreeting, Or as getToolConfigurationFromFormSchema, de as getToolsetFallbackName, cn as getToolsetOAuthChannelName, rn as getToolsetRedirectUri, Ys as getUrlFileName, es as getVirtualPathName, fl as groupScheduledTaskConversations, vo as hasActiveToolConfig, er as hasAnnouncementContent, Is as hasAttachmentTextSource, ts as hasDialFileWritePermission, ns as hasForbiddenNameSymbols, Mn as hasPublishFolderWriteAccess, rs as hasSamePaths, tr as hasStructuredAnnouncement, s as includesIgnoreCase, un as initiateOAuthLogin, yo as isAnswerIncomplete, jo as isAwaitingGenerationResume, qt as isCappedStat, i as isConversationNotFoundError, Bl as isConversationTitleStreamUnsupported, is as isCopyMoveDuplicateAllowed, It as isCustomAppSchema, S as isDialFileAcceptType, m as isDialFileId, h as isDialFolderId, b as isDownloadableAttachment, Xs as isExternalSourcePreviewable, bo as isMessageChanged, kr as isMessageStreaming, Ie as isOrganisationPromptItem, wt as isPublicCatalogEntityId, fe as isPublicToolsetId, Lt as isQuickAppSchema, Rn as isResourceCreateAdapter, pl as isScheduledTaskRunCollapsible, as as isShareActionsAllowed, Ye as isSkillFolderMarkerPath, Wl as isTotalDeletionFailure, _c as isValidAbsoluteUrl, vc as isValidFeaturesData, Xe as isValidSkillRelativePath, hi as jsDayToApSchedulerDay, Dn as mapApplicationCredentials, ws as mapCorePermissions, Te as mapDeploymentDetailsDtoToEntityDetails, Z as mapDeploymentLimitsDtoToCatalogLimits, X as mapDeploymentLimitsToInput, Oe as mapDeploymentToCatalogItem, ke as mapDeploymentToolsetCredentials, Ee as mapEntityDetailsToCatalogDetails, Ts as mapFileMetadataToDialFile, gi as mapFormValuesToCreateBody, _i as mapFormValuesToUpdateBody, Ta as mapOfflineCredentialsResponse, Bc as mapOverallCostLimitsToPeriodStatuses, Mi as mapProjectArtifactsToOutputs, Ni as mapProjectDetailsToViewModel, Pi as mapProjectDtoToItem, Fi as mapProjectSource, Ii as mapProjectSourceToFilterTab, Le as mapPromptToCatalogItem, Tt as mapPublishConversationResultDto, Et as mapPublishHistoryEntryDto, vi as mapScheduledTaskDtoToFormValues, Es as mapSearchItem, ft as mapSkillToCatalogItem, Pr as mapStages, Li as mapStoredContextFiles, De as mapToolsetCredentials, Ae as mapToolsetToCatalogItem, Rc as mapUsageDataToDashboard, Vc as mapUserUsageToModelLimits, Ds as mergeCreatedFolderIntoCache, Ci as mergeRunsById, Ei as mergeScheduledTaskRuns, Ao as mergeStages, Ar as messageHasStages, C as mimeTypesToAttachmentExtensionLabels, w as mimeTypesToDialFileAcceptTypes, T as mimeTypesToFileAccept, Ze as nameFromPath, dn as navigateToolsetOAuthPopup, q as normalizeDeploymentId, Ea as normalizeOfflineCredentialsConnectSettings, jr as normalizeResponseFormat, Qe as normalizeSkillName, pe as normalizeToolsetId, os as normalizeVirtualPath, Ms as openAnnotationAttachment, fn as openToolsetOAuthPopup, Ce as padTwoDigits, Wt as parseCatalogFilterTopics, Vl as parseConversationTitleStreamEvent, bn as parseExternalServiceUrl, yc as parseFeaturesData, ss as parseNewFolderVirtualPath, Pe as parsePromptResourceUrl, In as parseResourceFolderPath, $e as parseSkillManifest, $t as parseSkillManifestDocument, lt as parseSkillResourceUrl, ms as prepareCopyItems, oc as prepareDownloadDestination, hs as prepareMoveRenameItems, yi as prepareScheduledTaskCreateBody, bi as prepareScheduledTaskUpdateBody, Po as prepareStageCitations, Hl as readConversationTitleStream, pt as readSkillFileBytes, mt as readSkillFilePreviewBytes, ht as readSkillManifest, Pt as reconcileFilterTopics, Ls as referenceAttachmentToPdfCanvasContent, Nn as rememberPublishFolderKey, Zc as resetUsageLimitBannerDismissals, Oc as resolveAcceptShareInvitationError, jl as resolveActiveScheduledTask, Rs as resolveAnnotationCanvasContent, Hi as resolveByteLimit, Cl as resolveCanvasWidth, Gt as resolveCatalogActiveTab, Bt as resolveCatalogEntityKind, Xt as resolveCatalogPrimaryAction, Kt as resolveCatalogSortKey, zs as resolveCodeCanvasContent, Gl as resolveConversationPinChange, je as resolveDeploymentFolder, fs as resolveDialFileApiPath, g as resolveDialFileBucketAndPath, _ as resolveDialFolderPath, Ui as resolveExtensionList, Yl as resolveExternalServiceSigninRowInfo, Zs as resolveExternalSourceContentType, Ut as resolveFavoriteEntityType, Bs as resolveGroupedVisualizerCanvasContent, Vs as resolveHtmlCanvasContent, Hs as resolveImageCanvasContent, Us as resolveJsonCanvasContent, be as resolveLocalizedText, Ws as resolveMarkdownCanvasContent, St as resolveMcpResourceKind, Gs as resolveOoxmlCanvasContent, cs as resolveOwnerCoords, Ks as resolvePdfCanvasContent, v as resolveRelativeDialFilePath, Na as resolveScheduledTasksLoginBannerState, ls as resolveSectionByPath, gt as resolveSkillFileDownloadPath, _t as resolveSkillManifestFileId, qs as resolveTextCanvasContent, me as resolveToolsetCredentialsLevel, Xl as resolveToolsetSigninRowInfo, Os as resolveTransferFailureReason, ks as resolveUploadFailureReason, Js as resolveVisualizerCanvasContent, Un as runResourceSave, c as safeDecodeURI, l as safeDecodeURIComponent, nr as sanitizeAnnouncementHtml, rr as sanitizeAnnouncementMessageHtml, ya as sanitizeFileName, _r as sanitizeFooterHtml, li as selectScheduledTaskErrorMessage, he as selectToolsetAuthStatus, Uc as selectUsageBannerSource, Hr as serializePromptExport, xo as shouldRerunGenerationOnEdit, hr as shouldWatchForDisplayNameUpdate, et as skillFileBytesToBlob, Ia as skillFileToAttachment, tt as skillFolderMarkerParent, ba as splitFileNameExtension, ji as splitProjectConversationId, nt as startsWithFrontmatterBlock, u as stripSurroundingSlashes, d as stripTrailingSlashes, sn as subscribeToolsetLoginSuccess, Me as supportsChatInterface, xe as toBaseLocale, Mr as toOverlayMessages, Yi as toProjectContextFileAttachment, Xi as toProjectOutputAttachment, Zi as toProjectOutputCardId, Qi as toProjectPreviewKey, Dt as toPublishEntityType, z as toPublishRuleDto, ui as toScheduledTaskItem, di as toScheduledTaskItems, fi as toScheduledTaskRunItem, pi as toScheduledTaskRunItems, Fr as toStage, $i as toStoredProjectFileAttachment, an as toToolsetOAuthSettings, cl as triggerBrowserDownload, xa as trimFileNameToByteLimit, us as unionPathSets, rt as unpackSkillArchive, As as updateEntry, kc as useAcceptShareInvitation, $a as useActiveConversationSync, Ml as useActiveScheduledTaskDetails, Tl as useAppVersionCheck, An as useApplicationCredentialActions, On as useApplicationCredentials, eo as useAsyncConfirmDialog, x as useAttachmentAction, so as useAttachmentUpload, D as useAttachmentValidation, Qt as useCatalogEditNavigation, Zt as useCatalogItemDelete, tn as useCatalogItemDetails, hn as useCatalogToolsetCredentials, jc as useChatSettingsFormConfig, Fo as useConversationAnnotationPool, to as useConversationComposerDraft, ml as useConversationDiscovery, mo as useConversationExport, Eo as useConversationHandlers, Do as useConversationImport, no as useConversationLookupMaps, io as useConversationPanelItems, Oo as useConversationScroll, No as useConversationSources, Mo as useConversationStream, Pl as useConversationTitleEnrichmentController, pa as useCreateProject, tu as useDeploymentChangeTracking, Yc as useDeploymentUsageLimits, cc as useDialFileListing, pc as useDialFileManager, mc as useDialFileManagerSections, hc as useDialFileManagerTabConfig, lc as useDialFileMetadata, uc as useDialFileMutations, vl as useDialFilePreview, dc as useDialFileSharing, fc as useDialFileUploadBatch, xl as useEntityPreselection, Tn as useExternalServiceLogin, Ht as useFavoriteEntitiesState, _l as useFileAttachmentModalState, gc as useFileAttachmentPicker, ru as useGridEditingScroll, ao as useImportFilePicker, ol as useMcpAppHostAdapter, al as useMcpAppHostContext, il as useMcpAppTools, oo as useMessageSelectionReply, zr as useOAuthCallbackCompletion, Aa as useOfflineCredentialsAuth, Oa as useOfflineCredentialsGate, _n as useOfflineCredentialsLogin, sl as useOpenMcpAppCanvas, Mc as usePageFileDrag, Pc as usePanelMaxWidth, wl as usePersistedState, _a as usePinnedProjectChats, da as useProject, Ca as useProjectActions, va as useProjectArtifacts, ha as useProjectConversations, na as useProjectDraft, ea as useProjectFilePreview, fa as useProjectWatch, la as useProjects, ei as usePromptsState, Pn as usePublishFolders, Ot as usePublishHistory, Xc as useRefreshUsageAfterGeneration, Fn as useResourceFolders, Qn as useResourceSavePanel, ma as useSaveProject, wi as useScheduledTaskRuns, hl as useScheduledTaskSkillDisplayNames, Si as useScheduledTasks, Fc as useShareLink, Za as useShareRecipientsCount, eu as useSigninInterrupt, Ya as useSkillArchiveImport, jn as useSkillDetailsPanelData, Ra as useSkillEditorLoad, za as useSkillEditorSubmit, Ba as useSkillFileActions, Ha as useSkillFilePreview, ql as useSkillFilePreviewSyncController, gl as useSkillFileSystemPicker, en as useSkillItemDetails, Wa as useSkillsState, Di as useStartScheduledTask, Ic as useToolsMenu, mn as useToolsetLogin, fo as useTranscribeAudio, tc as useUnshareConfirmationState, tl as useUsageData, el as useUsageLimitBanner, Qc as useUsageLimitBannerDismissal, Nc as useViewportWidth, Ul as useVisibleConversationIdsReporter, Zr as validatePromptContent, Qr as validatePromptDescription, $r as validatePromptName, Fa as validateSkillFileBatch, ps as virtualPathToApiPath, ln as waitForToolsetOAuthResult, ds as withRoutableRootLabels };
101
+ import { downloadProjectFileAttachment as qi, fromProjectOutputCardId as Ji, fromProjectPreviewKey as Yi, toProjectContextFileAttachment as Xi, toProjectOutputAttachment as Zi, toProjectOutputCardId as Qi, toProjectPreviewKey as $i, toStoredProjectFileAttachment as ea } from "./project/project-file-preview.js";
102
+ import { useProjectFilePreview as ta } from "./project/use-project-file-preview.js";
103
+ import { ProjectDraftMode as na, useProjectDraft as ra } from "./project/use-project-draft.js";
104
+ import { ProjectChatCreateFailure as ia, classifyProjectChatCreateError as aa, createProjectChat as oa } from "./project/create-project-chat.js";
105
+ import { NO_CONVERSATION_LIST_SYNC as sa } from "./conversation/conversation-data-source.js";
106
+ import { getBrowserTimezone as ca } from "./shared/browser-timezone.js";
107
+ import { createProjectConversationDataSource as la } from "./project/project-conversation-data-source.js";
108
+ import { useProjects as ua } from "./project/use-projects.js";
109
+ import { ProjectRefreshOutcome as da } from "./project/project-refresh.js";
110
+ import { useProject as fa } from "./project/use-project.js";
111
+ import { useProjectWatch as pa } from "./project/use-project-watch.js";
112
+ import { useCreateProject as ma, useSaveProject as ha } from "./project/use-project-submit.js";
113
+ import { useProjectConversations as ga } from "./project/use-project-conversations.js";
114
+ import { PINNED_PROJECT_CHATS_LIMIT as _a, usePinnedProjectChats as va } from "./project/use-pinned-project-chats.js";
115
+ import { useProjectArtifacts as ya } from "./project/use-project-artifacts.js";
116
+ import { sanitizeFileName as ba, splitFileNameExtension as xa, trimFileNameToByteLimit as Sa } from "./files/file-name.js";
117
+ import { ProjectActionError as Ca, useProjectActions as wa } from "./project/use-project-actions.js";
118
+ import { createSerializedKeyedWriter as Ta } from "./shared/serialized-writer.js";
119
+ import { mapOfflineCredentialsResponse as Ea, normalizeOfflineCredentialsConnectSettings as Da } from "./offline-credentials/map-offline-credentials-response.js";
120
+ import { OfflineCredentialsGateStatus as Oa, useOfflineCredentialsGate as ka } from "./offline-credentials/useOfflineCredentialsGate/useOfflineCredentialsGate.js";
121
+ import { OfflineCredentialsLogoutOutcomeType as Aa, useOfflineCredentialsAuth as ja } from "./offline-credentials/useOfflineCredentialsAuth/useOfflineCredentialsAuth.js";
122
+ import { ScheduledTasksLoginBannerState as Ma, getScheduledTasksLoginRetryState as Na, resolveScheduledTasksLoginBannerState as Pa } from "./offline-credentials/scheduled-tasks-login-banner.js";
123
+ import { checkScheduledTaskAuthSessionError as Fa } from "./scheduled-task/check-scheduled-task-auth-session-error.js";
124
+ import { validateSkillFileBatch as Ia } from "./skill/skill-file-batch-validation.js";
125
+ import { skillFileToAttachment as La } from "./skill/skill-file-preview.js";
126
+ import { SkillEditorLoadState as Ra, useSkillEditorLoad as za } from "./skill/useSkillEditorLoad.js";
127
+ import { useSkillEditorSubmit as Ba } from "./skill/useSkillEditorSubmit.js";
128
+ import { useSkillFileActions as Va } from "./skill/useSkillFileActions.js";
129
+ import { SkillPreviewErrorKind as Ha, useSkillFilePreview as Ua } from "./skill/useSkillFilePreview.js";
130
+ import { findSkillByUrl as Wa } from "./skill/skill-lookup.js";
131
+ import { useSkillsState as Ga } from "./skill/useSkillsState/useSkillsState.js";
132
+ import { SkillArchiveImportErrorKind as Ka, SkillArchiveImportStatus as qa, SkillArchiveSelectionRejectionReason as Ja, classifySkillArchiveImportError as Ya, useSkillArchiveImport as Xa } from "./skill/useSkillArchiveImport/useSkillArchiveImport.js";
133
+ import { RecipientsCountStatus as Za, useShareRecipientsCount as Qa } from "./useShareRecipientsCount/useShareRecipientsCount.js";
134
+ import { deriveConversationRowActionState as $a } from "./conversation/deriveConversationRowActionState/deriveConversationRowActionState.js";
135
+ import { useActiveConversationSync as eo } from "./conversation/useActiveConversationSync/useActiveConversationSync.js";
136
+ import { useAsyncConfirmDialog as to } from "./conversation/useAsyncConfirmDialog/useAsyncConfirmDialog.js";
137
+ import { useConversationComposerDraft as no } from "./conversation/useConversationComposerDraft/useConversationComposerDraft.js";
138
+ import { useConversationLookupMaps as ro } from "./conversation/useConversationLookupMaps/useConversationLookupMaps.js";
139
+ import { getConversationSource as io, useConversationPanelItems as ao } from "./conversation/useConversationPanelItems/useConversationPanelItems.js";
140
+ import { useImportFilePicker as oo } from "./conversation/useImportFilePicker/useImportFilePicker.js";
141
+ import { useMessageSelectionReply as so } from "./conversation/useMessageSelectionReply/useMessageSelectionReply.js";
142
+ import { useAttachmentUpload as co } from "./conversation/useAttachmentUpload/useAttachmentUpload.js";
143
+ import { AudioTranscriptionError as lo, AudioTranscriptionErrorReason as uo } from "./conversation/useTranscribeAudio/audio-transcription-error.js";
144
+ import { UploadMimeTypePolicy as fo, useTranscribeAudio as po } from "./conversation/useTranscribeAudio/useTranscribeAudio.js";
145
+ import { DEFAULT_MAX_ARCHIVE_BYTES as mo, useConversationExport as ho } from "./conversation/useConversationExport/useConversationExport.js";
146
+ import { attachmentToDto as go, attachmentsToDtos as _o } from "./conversation/useConversationHandlers/attachment-to-dto.js";
147
+ import { createMessagePair as vo } from "./conversation/useConversationHandlers/message-factory.js";
148
+ import { hasActiveToolConfig as yo, isAnswerIncomplete as bo, isMessageChanged as xo, shouldRerunGenerationOnEdit as So } from "./conversation/useConversationHandlers/message-utils.js";
149
+ import { getStarterConversationText as Co, getStarterDisplayText as wo, getStarterSubmitText as To } from "./conversation/useConversationHandlers/starter-option.js";
150
+ import { getConversationPath as Eo } from "./conversation/useConversationStream/conversation-path.js";
151
+ import { useConversationHandlers as Do } from "./conversation/useConversationHandlers/useConversationHandlers.js";
152
+ import { useConversationImport as Oo } from "./conversation/useConversationImport/useConversationImport.js";
153
+ import { useConversationScroll as ko } from "./conversation/useConversationScroll/useConversationScroll.js";
154
+ import { applyChunkToMessages as Ao, mergeStages as jo } from "./conversation/useConversationStream/apply-chunk.js";
155
+ import { isAwaitingGenerationResume as Mo } from "./conversation/useConversationStream/generation-resume.js";
156
+ import { useConversationStream as No } from "./conversation/useConversationStream/useConversationStream.js";
157
+ import { useConversationSources as Po } from "./conversation-sources/useConversationSources/useConversationSources.js";
158
+ import { prepareStageCitations as Fo } from "./conversation-sources/stage-citations.js";
159
+ import { useConversationAnnotationPool as Io } from "./conversation-sources/useConversationAnnotationPool/useConversationAnnotationPool.js";
160
+ import { DialFilesApiUploadMode as Lo } from "./files/dial-files-api.js";
161
+ import { FileManagerNotificationReason as Ro, FileNameValidationErrorReason as zo, FileOperationKind as Bo } from "./files/dial-file-manager.types.js";
162
+ import { COLUMNS_MY_FILES as Vo, COLUMNS_ORGANIZATION as Ho, COLUMNS_SHARED as Uo, CORE_PERMISSION_MAP as Wo, DATE_OPTIONS as Go, DIAL_FILE_MANAGER_SECTION_TABS as Ko, PATH_SEPARATOR_REGEXP as qo, RESERVED_MARKER_NAME as Jo, UPLOAD_CONCURRENCY as Yo } from "./files/dial-file-manager.model.js";
163
+ import { buildSharedItemVirtualPath as Xo, dialCorePathToRelative as Zo, findDialFileByPath as Qo, findFolderByVirtualPath as $o, formatOperationFolderName as es, getVirtualPathName as ts, hasDialFileWritePermission as ns, hasForbiddenNameSymbols as rs, hasSamePaths as is, isCopyMoveDuplicateAllowed as as, isShareActionsAllowed as os, normalizeVirtualPath as ss, parseNewFolderVirtualPath as cs, resolveOwnerCoords as ls, resolveSectionByPath as us, unionPathSets as ds, withRoutableRootLabels as fs } from "./files/dial-file-manager-path.util.js";
164
+ import { resolveDialFileApiPath as ps, virtualPathToApiPath as ms } from "./files/resolve-dial-file-api-path.js";
165
+ import { prepareCopyItems as hs, prepareMoveRenameItems as gs } from "./files/dial-file-manager-copy-move.util.js";
166
+ import { UploadBodyEncoding as _s, UploadNetworkError as vs, createUploadFileWithProgress as ys } from "./files/create-upload-file-with-progress.js";
167
+ import { buildFromCache as bs, buildSharedSearchScope as xs, fetchByTab as Ss, fetchForSearch as Cs, findFirstSuccessfulCopyMoveItem as ws, mapCorePermissions as Ts, mapFileMetadataToDialFile as Es, mapSearchItem as Ds, mergeCreatedFolderIntoCache as Os, resolveTransferFailureReason as ks, resolveUploadFailureReason as As, updateEntry as js } from "./files/dial-file-manager-mapping.util.js";
168
+ import { createFilesApiClient as Ms } from "./files/create-files-api.js";
169
+ import { openAnnotationAttachment as Ns } from "./files/annotation.js";
170
+ import { annotationToOoxmlCanvasContent as Ps, annotationToPdfCanvasContent as Fs, clearAttachmentCache as Is, hasAttachmentTextSource as Ls, referenceAttachmentToPdfCanvasContent as Rs, resolveAnnotationCanvasContent as zs, resolveCodeCanvasContent as Bs, resolveGroupedVisualizerCanvasContent as Vs, resolveHtmlCanvasContent as Hs, resolveImageCanvasContent as Us, resolveJsonCanvasContent as Ws, resolveMarkdownCanvasContent as Gs, resolveOoxmlCanvasContent as Ks, resolvePdfCanvasContent as qs, resolveTextCanvasContent as Js, resolveVisualizerCanvasContent as Ys } from "./files/attachment-canvas.js";
171
+ import { getUrlFileName as Xs, isExternalSourcePreviewable as Zs, resolveExternalSourceContentType as Qs } from "./files/source-content.js";
172
+ import { annotationToDisplayAttachment as $s, attachmentDtoToDisplayAttachment as ec, attachmentDtosToDisplayAttachments as tc } from "./files/attachment-dto-to-display.js";
173
+ import { useUnshareConfirmationState as nc } from "./files/useUnshareConfirmationState/useUnshareConfirmationState.js";
174
+ import { dialFileToAttachment as rc, dialFilesToAttachments as ic, dialFolderPathToAttachment as ac } from "./files/dial-file-to-attachment.js";
175
+ import { DownloadDestinationType as oc } from "./files/download-destination.js";
176
+ import { prepareDownloadDestination as sc } from "./files/prepare-download-destination.js";
177
+ import { deriveActionProfile as cc } from "./files/file-manager-variant.js";
178
+ import { useDialFileListing as lc } from "./files/useDialFileListing/useDialFileListing.js";
179
+ import { useDialFileMetadata as uc } from "./files/useDialFileMetadata/useDialFileMetadata.js";
180
+ import { useDialFileMutations as dc } from "./files/useDialFileMutations/useDialFileMutations.js";
181
+ import { useDialFileSharing as fc } from "./files/useDialFileSharing/useDialFileSharing.js";
182
+ import { useDialFileUploadBatch as pc } from "./files/useDialFileUploadBatch/useDialFileUploadBatch.js";
183
+ import { useDialFileManager as mc } from "./files/useDialFileManager/useDialFileManager.js";
184
+ import { useDialFileManagerSections as hc } from "./files/useDialFileManagerSections/useDialFileManagerSections.js";
185
+ import { useDialFileManagerTabConfig as gc } from "./files/useDialFileManagerTabConfig/useDialFileManagerTabConfig.js";
186
+ import { useFileAttachmentPicker as _c } from "./files/useFileAttachmentPicker/useFileAttachmentPicker.js";
187
+ import { isValidAbsoluteUrl as vc, isValidFeaturesData as yc, parseFeaturesData as bc } from "./shared/custom-apps.js";
188
+ import { EXTERNAL_SERVICE_SIGNIN_METHOD as xc, PendingSigninEventKind as Sc, TOOLSET_SIGNIN_METHOD as Cc } from "./shared/client-channel.js";
189
+ import { ColorScheme as wc, applyThemeColors as Tc, getOsPreferredTheme as Ec } from "./shared/theme-colors.js";
190
+ import { AcceptShareInvitationErrorKind as Dc } from "./share-invitation/types.js";
191
+ import { DEFAULT_ACCEPT_SHARE_INVITATION_ERROR_LABELS as Oc, resolveAcceptShareInvitationError as kc } from "./share-invitation/share-invitation-error.js";
192
+ import { useAcceptShareInvitation as Ac } from "./share-invitation/useAcceptShareInvitation/useAcceptShareInvitation.js";
193
+ import { DEFAULT_CHAT_SETTINGS as jc, useChatSettingsFormConfig as Mc } from "./useChatSettingsFormConfig/useChatSettingsFormConfig.js";
194
+ import { usePageFileDrag as Nc } from "./usePageFileDrag/usePageFileDrag.js";
195
+ import { useViewportWidth as Pc } from "./useViewportWidth/useViewportWidth.js";
196
+ import { usePanelMaxWidth as Fc } from "./usePanelMaxWidth/usePanelMaxWidth.js";
197
+ import { useShareLink as Ic } from "./useShareLink/useShareLink.js";
198
+ import { useToolsMenu as Lc } from "./useToolsMenu/useToolsMenu.js";
199
+ import { USAGE_DATA_I18N_KEYS as Rc, mapUsageDataToDashboard as zc } from "./usage/map-usage-data-to-dashboard.js";
200
+ import { USAGE_MODEL_LIMITS_I18N_KEYS as Bc, mapOverallCostLimitsToPeriodStatuses as Vc, mapUserUsageToModelLimits as Hc } from "./usage/map-user-usage-to-model-limits.js";
201
+ import { UsagePeriod as Uc } from "./usage/usage-period.js";
202
+ import { selectUsageBannerSource as Wc } from "./usage/usage-banner-source.js";
203
+ import { USAGE_RESET_I18N_KEYS as Gc, UsageResetOffsetPolicy as Kc, formatUsageResetShort as qc, formatUsageResetTime as Jc } from "./usage/usage-reset-time.js";
204
+ import { getGaugeNeedleAngle as Yc } from "./usage/usage-gauge.js";
205
+ import { useDeploymentUsageLimits as Xc } from "./usage/useDeploymentUsageLimits/useDeploymentUsageLimits.js";
206
+ import { useRefreshUsageAfterGeneration as Zc } from "./usage/useRefreshUsageAfterGeneration/useRefreshUsageAfterGeneration.js";
207
+ import { resetUsageLimitBannerDismissals as Qc, useUsageLimitBannerDismissal as $c } from "./usage/useUsageLimitBannerDismissal/useUsageLimitBannerDismissal.js";
208
+ import { USAGE_BANNER_I18N_KEYS as el, useUsageLimitBanner as tl } from "./usage/useUsageLimitBanner/useUsageLimitBanner.js";
209
+ import { useUsageData as nl } from "./usage/useUsageData/useUsageData.js";
210
+ import { McpAppResourceFetchError as rl, createMcpAppsApiClient as il } from "./mcp-apps/mcp-apps-api-client.js";
211
+ import { useMcpAppTools as al } from "./mcp-apps/useMcpAppTools/useMcpAppTools.js";
212
+ import { useMcpAppHostContext as ol } from "./mcp-apps/useMcpAppHostContext/useMcpAppHostContext.js";
213
+ import { useMcpAppHostAdapter as sl } from "./mcp-apps/useMcpAppHostAdapter/useMcpAppHostAdapter.js";
214
+ import { useOpenMcpAppCanvas as cl } from "./mcp-apps/useOpenMcpAppCanvas/useOpenMcpAppCanvas.js";
215
+ import { triggerBrowserDownload as ll } from "./files/browser-download.js";
216
+ import { applyActiveScheduledTaskRun as ul, collapseScheduledTaskConversations as dl, getScheduledTaskRunGroupKey as fl, groupScheduledTaskConversations as pl, isScheduledTaskRunCollapsible as ml } from "./conversation/scheduled-task-grouping.js";
217
+ import { useConversationDiscovery as hl } from "./conversation/useConversationDiscovery/useConversationDiscovery.js";
218
+ import { useScheduledTaskSkillDisplayNames as gl } from "./scheduled-task/useScheduledTaskSkillDisplayNames/useScheduledTaskSkillDisplayNames.js";
219
+ import { useSkillFileSystemPicker as _l } from "./skill-editor/useSkillFileSystemPicker/useSkillFileSystemPicker.js";
220
+ import { useFileAttachmentModalState as vl } from "./files/useFileAttachmentModalState/useFileAttachmentModalState.js";
221
+ import { useDialFilePreview as yl } from "./files/useDialFilePreview/useDialFilePreview.js";
222
+ import { EntityPreselectionOutcome as bl, EntityPreselectionSource as xl, useEntityPreselection as Sl } from "./conversation/useEntityPreselection/useEntityPreselection.js";
223
+ import { CanvasWidthMode as Cl, resolveCanvasWidth as wl } from "./viewport-layout/canvas-width.js";
224
+ import { usePersistedState as Tl } from "./shared/usePersistedState/usePersistedState.js";
225
+ import { useAppVersionCheck as El } from "./shared/useAppVersionCheck/useAppVersionCheck.js";
226
+ import { getCleanedLocationTarget as Dl } from "./shared/url-cleanup.js";
227
+ import { ClientGenerationStatus as Ol, createGenerationRegistry as kl } from "./conversation/generation-registry.js";
228
+ import { ActiveScheduledTaskDetailState as Al, ActiveScheduledTaskStatus as jl, resolveActiveScheduledTask as Ml } from "./scheduled-task/active-scheduled-task.js";
229
+ import { useActiveScheduledTaskDetails as Nl } from "./scheduled-task/useActiveScheduledTaskDetails.js";
230
+ import { ConversationTitleRequestEnd as Pl, useConversationTitleEnrichmentController as Fl } from "./conversation/useConversationTitleEnrichmentController.js";
231
+ import { CONVERSATION_TITLE_STREAM_MAX_FRAME_BYTES as Il, CONVERSATION_TITLE_STREAM_MAX_IDS as Ll, CONVERSATION_TITLE_STREAM_MAX_ID_BYTES as Rl, ConversationTitleStreamProtocolError as zl, createSseFrameDecoder as Bl, isConversationTitleStreamUnsupported as Vl, parseConversationTitleStreamEvent as Hl, readConversationTitleStream as Ul } from "./conversation/conversation-title-stream.js";
232
+ import { useVisibleConversationIdsReporter as Wl } from "./conversation/useVisibleConversationIdsReporter/useVisibleConversationIdsReporter.js";
233
+ import { isTotalDeletionFailure as Gl, resolveConversationPinChange as Kl } from "./conversation/conversation-list.js";
234
+ import { SkillFilePreviewState as ql, useSkillFilePreviewSyncController as Jl } from "./skill-editor/useSkillFilePreviewSyncController.js";
235
+ import { getSigninEventResourceKey as Yl, resolveExternalServiceSigninRowInfo as Xl, resolveToolsetSigninRowInfo as Zl } from "./signin-interrupt/signin-row-info.js";
236
+ import { SigninInterruptAnnouncementKind as Ql, SigninInterruptRowError as $l, SigninInterruptRowStatus as eu } from "./signin-interrupt/types.js";
237
+ import { useSigninInterrupt as tu } from "./signin-interrupt/useSigninInterrupt/useSigninInterrupt.js";
238
+ import { useDeploymentChangeTracking as nu } from "./conversation/useDeploymentChangeTracking.js";
239
+ import { SchedulerServiceConsentStatus as ru } from "@epam/ai-dial-chat-api-client";
240
+ import { useGridEditingScroll as iu } from "@epam/ai-dial-chat-shared";
241
+ export { Dc as AcceptShareInvitationErrorKind, Al as ActiveScheduledTaskDetailState, jl as ActiveScheduledTaskStatus, E as AttachmentValidationErrorReason, lo as AudioTranscriptionError, uo as AudioTranscriptionErrorReason, J as AuthenticationType, Vo as COLUMNS_MY_FILES, Ho as COLUMNS_ORGANIZATION, Uo as COLUMNS_SHARED, Il as CONVERSATION_TITLE_STREAM_MAX_FRAME_BYTES, Ll as CONVERSATION_TITLE_STREAM_MAX_IDS, Rl as CONVERSATION_TITLE_STREAM_MAX_ID_BYTES, Wo as CORE_PERMISSION_MAP, Cl as CanvasWidthMode, Rt as CatalogEntityKind, Yt as CatalogPrimaryActionType, Ol as ClientGenerationStatus, wc as ColorScheme, M as ConversationExportMode, Pl as ConversationTitleRequestEnd, zl as ConversationTitleStreamProtocolError, N as ConversationTransferErrorCode, P as ConversationTransferWarningCode, Go as DATE_OPTIONS, Oc as DEFAULT_ACCEPT_SHARE_INVITATION_ERROR_LABELS, kn as DEFAULT_APPLICATION_CREDENTIAL_ACTIONS_LABELS, jc as DEFAULT_CHAT_SETTINGS, we as DEFAULT_ENTITY_DETAILS_LABELS, or as DEFAULT_GENERATION_CONFLICT_MESSAGE, sr as DEFAULT_GENERATION_PERSISTENCE_ERROR_MESSAGE, mo as DEFAULT_MAX_ARCHIVE_BYTES, Ri as DEFAULT_PROJECT_CONTEXT_ALLOWED_EXTENSIONS, zi as DEFAULT_PROJECT_CONTEXT_FILE_MAX_BYTES, Bi as DEFAULT_PROJECT_CONTEXT_TOTAL_MAX_BYTES, cr as DEFAULT_STREAM_IDLE_TIMEOUT_MS, Ko as DIAL_FILE_MANAGER_SECTION_TABS, Lo as DialFilesApiUploadMode, oc as DownloadDestinationType, I as EXPORT_APP_NAME, xc as EXTERNAL_SERVICE_SIGNIN_METHOD, bl as EntityPreselectionOutcome, xl as EntityPreselectionSource, F as ExportFileNameKind, xn as ExternalServiceAuthStatus, Sn as ExternalServiceAuthType, Cn as ExternalServiceCredentialsLevel, wn as ExternalServiceLoginOutcomeType, Vt as FavoriteEntityType, Ro as FileManagerNotificationReason, zo as FileNameValidationErrorReason, Bo as FileOperationKind, f as FileSelectionKind, lr as GenerationConflictError, ur as GenerationPersistenceError, rl as McpAppResourceFetchError, vt as McpResourceKind, sa as NO_CONVERSATION_LIST_SYNC, Q as OAuthResourceKind, Oa as OfflineCredentialsGateStatus, gn as OfflineCredentialsLoginOutcomeType, Aa as OfflineCredentialsLogoutOutcomeType, qo as PATH_SEPARATOR_REGEXP, _a as PINNED_PROJECT_CHATS_LIMIT, Ur as PROMPT_CONTENT_MAX_LENGTH, Wr as PROMPT_COUNTER_ANNOUNCE_THRESHOLD, Gr as PROMPT_DESCRIPTION_MAX_LENGTH, Kr as PROMPT_FIELD_VALIDATORS, qr as PROMPT_NAME_MAX_LENGTH, it as PUBLIC_SKILL_BUCKET, Sc as PendingSigninEventKind, Ca as ProjectActionError, ia as ProjectChatCreateFailure, na as ProjectDraftMode, Wi as ProjectFormErrorField, Gi as ProjectFormErrorReason, da as ProjectRefreshOutcome, Jr as PromptFieldError, Ne as PromptSource, Jo as RESERVED_MARKER_NAME, Za as RecipientsCountStatus, Ln as ResourceSaveError, zn as ResourceSaveOutcome, Bn as ResourceSaveVersionError, Re as SKILL_FILE_UPLOAD_MAX_BYTES, ze as SKILL_FOLDER_MARKER, at as SKILL_LISTING_MAX_PAGES, ot as SKILL_LISTING_PAGE_SIZE, Be as SKILL_MANIFEST_FILE, st as SKILL_MANIFEST_MAX_BYTES, Ve as SKILL_TEXT_FIELD_MAX_LENGTHS, He as SKILL_UPLOAD_MAX_FILES, Ue as SKILL_UPLOAD_MAX_TOTAL_BYTES, Vn as SaveDestinationRoot, ii as ScheduledTaskDeleteErrorKind, Ti as ScheduledTaskRunStatusFeedback, ni as ScheduledTaskTriggerDescriptionKind, Ma as ScheduledTasksLoginBannerState, ru as SchedulerServiceConsentStatus, Ql as SigninInterruptAnnouncementKind, $l as SigninInterruptRowError, eu as SigninInterruptRowStatus, Ka as SkillArchiveImportErrorKind, qa as SkillArchiveImportStatus, Ja as SkillArchiveSelectionRejectionReason, Ra as SkillEditorLoadState, ql as SkillFilePreviewState, Ha as SkillPreviewErrorKind, ct as SkillSource, dr as StopCompletionError, fr as StreamInterruptedError, pr as StreamUpstreamError, $ as TOOLSET_REDIRECT_STATE_KEY, Cc as TOOLSET_SIGNIN_METHOD, ee as ToolsetAuthStatus, te as ToolsetAuthTypes, ne as ToolsetCredentialsLevel, pn as ToolsetLoginOutcomeType, re as ToolsetOAuthCallbackQuery, ie as ToolsetOAuthChannelControlType, ae as ToolsetOAuthFailureReason, oe as ToolsetOAuthInitiationResultType, se as ToolsetOAuthResultType, Yo as UPLOAD_CONCURRENCY, el as USAGE_BANNER_I18N_KEYS, Rc as USAGE_DATA_I18N_KEYS, Bc as USAGE_MODEL_LIMITS_I18N_KEYS, Gc as USAGE_RESET_I18N_KEYS, ti as UnsupportedTriggerReason, _s as UploadBodyEncoding, fo as UploadMimeTypePolicy, vs as UploadNetworkError, Uc as UsagePeriod, Kc as UsageResetOffsetPolicy, ce as WithLogin, $s as annotationToDisplayAttachment, Ps as annotationToOoxmlCanvasContent, Fs as annotationToPdfCanvasContent, mi as apSchedulerDayToJsDay, ge as appendLocaleCode, ul as applyActiveScheduledTaskRun, Ao as applyChunkToMessages, Tc as applyThemeColors, O as areAllMimeTypesAllowed, ec as attachmentDtoToDisplayAttachment, tc as attachmentDtosToDisplayAttachments, go as attachmentToDto, _o as attachmentsToDtos, _e as buildAdditionalLocaleOptions, $n as buildAnnouncementSignature, En as buildApplicationCredentialLoginParams, yt as buildApplicationMcpUrl, k as buildAttachConstraintDescription, B as buildChatCompletionsUrl, bt as buildConnectApi, ki as buildCreateConversationDto, V as buildDeploymentConnectApi, vn as buildExternalServiceScopeId, bs as buildFromCache, Br as buildPromptExportEnvelope, Vr as buildPromptExportFileName, Fe as buildPromptOverview, Yr as buildPromptPath, Y as buildResetFields, H as buildResponsesUrl, Xo as buildSharedItemVirtualPath, xs as buildSharedSearchScope, ut as buildSkillContentTree, We as buildSkillFilesPayload, Ge as buildSkillManifest, Ke as buildSkillManifestForSubmit, qe as buildSkillManifestFromFrontmatter, dt as buildSkillOverview, nn as buildToolsetAuthorizeUrl, xt as buildToolsetMcpUrl, kt as canEditShareAccess, Fa as checkScheduledTaskAuthSessionError, aa as classifyProjectChatCreateError, ai as classifyScheduledTaskDeleteError, Ya as classifySkillArchiveImportError, Is as clearAttachmentCache, dl as collapseScheduledTaskConversations, ve as composeLocalePayload, mr as createChatStreamApi, a as createCsrfMiddleware, Sr as createDeploymentChangedMessage, U as createDeploymentLookup, Wn as createEmbeddedApplicationSaveAdapter, Ms as createFilesApiClient, kl as createGenerationRegistry, Gn as createHostApplicationSaveAdapter, il as createMcpAppsApiClient, ir as createMemoryConversationDraftStore, vo as createMessagePair, Rr as createOAuthCallbackExchange, oa as createProjectChat, la as createProjectConversationDataSource, Ai as createProjectsApiClient, Kn as createPromptCreateAdapter, qn as createPromptFolderLister, Jn as createPromptSaveAdapter, R as createPublishApiClient, Hn as createPublishSavedResource, xi as createScheduledTasksApiClient, Ta as createSerializedKeyedWriter, Yn as createSkillFolderLister, Bl as createSseFrameDecoder, Xn as createToolsetCreateAdapter, Zn as createToolsetSaveAdapter, o as createUnauthorizedMiddleware, ys as createUploadFileWithProgress, ar as createWebStorageConversationDraftStore, W as decodeDeploymentId, le as decodeToolsetId, ye as decomposeLocalizedFields, cc as deriveActionProfile, At as deriveAvailableTabIds, $a as deriveConversationRowActionState, jt as deriveFavoriteItems, ri as describeScheduledTaskTrigger, Zo as dialCorePathToRelative, rc as dialFileToAttachment, ic as dialFilesToAttachments, ac as dialFolderPathToAttachment, y as downloadAttachment, qi as downloadProjectFileAttachment, on as emitToolsetLoginSuccess, G as encodeDeploymentId, ue as encodeToolsetId, Ss as fetchByTab, Cs as fetchForSearch, Mt as filterCatalogItemsBySelector, Nt as filterHiddenOwnedItems, K as findDeploymentByIdOrReference, vr as findDeploymentForConversationId, Qo as findDialFileByPath, ws as findFirstSuccessfulCopyMoveItem, $o as findFolderByVirtualPath, zt as findSchemaDisplayName, Wa as findSkillByUrl, Jt as findWorstCappedRow, gr as formatAppVersion, Se as formatCalendarDate, A as formatDateYM, j as formatDateYMD, es as formatOperationFolderName, L as formatQuotedNameList, oi as formatScheduledTaskRunDuration, si as formatScheduledTaskRunTimestamp, ci as formatScheduledTaskScheduleLabel, qc as formatUsageResetShort, Jc as formatUsageResetTime, Ji as fromProjectOutputCardId, Yi as fromProjectPreviewKey, e as getAcceptInvitationErrorItemName, t as getApiErrorDetails, n as getApiErrorMessage, r as getApiErrorStatus, ca as getBrowserTimezone, Dl as getCleanedLocationTarget, Eo as getConversationPath, io as getConversationSource, Cr as getEffectiveDeploymentIds, yn as getExternalServiceFallbackName, p as getFileSelectionKind, wr as getFormSchemaToolSyncKey, Yc as getGaugeNeedleAngle, Tr as getLastDeploymentId, Er as getLastUserMessageToolConfiguration, Dr as getLatestToolConfiguration, Vi as getMimeTypesForExtensions, yr as getModelIdCandidatesFromConversationId, br as getModelIdFromConversationId, Oi as getNextCronOccurrence, Ec as getOsPreferredTheme, Ki as getProjectFormError, Ct as getPublicCatalogEntityFolderPath, Nr as getQuickAppConversationStarters, Xr as getRemainingCharacters, Ft as getRunnerSchemas, fl as getScheduledTaskRunGroupKey, Na as getScheduledTasksLoginRetryState, Yl as getSigninEventResourceKey, Je as getSkillFieldLengthViolations, Co as getStarterConversationText, wo as getStarterDisplayText, Ir as getStarterPopulateText, To as getStarterSubmitText, Lr as getStartersFromSchema, xr as getTimeOfDayGreeting, Or as getToolConfigurationFromFormSchema, de as getToolsetFallbackName, cn as getToolsetOAuthChannelName, rn as getToolsetRedirectUri, Xs as getUrlFileName, ts as getVirtualPathName, pl as groupScheduledTaskConversations, yo as hasActiveToolConfig, er as hasAnnouncementContent, Ls as hasAttachmentTextSource, ns as hasDialFileWritePermission, rs as hasForbiddenNameSymbols, Mn as hasPublishFolderWriteAccess, is as hasSamePaths, tr as hasStructuredAnnouncement, s as includesIgnoreCase, un as initiateOAuthLogin, bo as isAnswerIncomplete, Mo as isAwaitingGenerationResume, qt as isCappedStat, i as isConversationNotFoundError, Vl as isConversationTitleStreamUnsupported, as as isCopyMoveDuplicateAllowed, It as isCustomAppSchema, S as isDialFileAcceptType, m as isDialFileId, h as isDialFolderId, b as isDownloadableAttachment, Zs as isExternalSourcePreviewable, xo as isMessageChanged, kr as isMessageStreaming, Ie as isOrganisationPromptItem, wt as isPublicCatalogEntityId, fe as isPublicToolsetId, Lt as isQuickAppSchema, Rn as isResourceCreateAdapter, ml as isScheduledTaskRunCollapsible, os as isShareActionsAllowed, Ye as isSkillFolderMarkerPath, Gl as isTotalDeletionFailure, vc as isValidAbsoluteUrl, yc as isValidFeaturesData, Xe as isValidSkillRelativePath, hi as jsDayToApSchedulerDay, Dn as mapApplicationCredentials, Ts as mapCorePermissions, Te as mapDeploymentDetailsDtoToEntityDetails, Z as mapDeploymentLimitsDtoToCatalogLimits, X as mapDeploymentLimitsToInput, Oe as mapDeploymentToCatalogItem, ke as mapDeploymentToolsetCredentials, Ee as mapEntityDetailsToCatalogDetails, Es as mapFileMetadataToDialFile, gi as mapFormValuesToCreateBody, _i as mapFormValuesToUpdateBody, Ea as mapOfflineCredentialsResponse, Vc as mapOverallCostLimitsToPeriodStatuses, Mi as mapProjectArtifactsToOutputs, Ni as mapProjectDetailsToViewModel, Pi as mapProjectDtoToItem, Fi as mapProjectSource, Ii as mapProjectSourceToFilterTab, Le as mapPromptToCatalogItem, Tt as mapPublishConversationResultDto, Et as mapPublishHistoryEntryDto, vi as mapScheduledTaskDtoToFormValues, Ds as mapSearchItem, ft as mapSkillToCatalogItem, Pr as mapStages, Li as mapStoredContextFiles, De as mapToolsetCredentials, Ae as mapToolsetToCatalogItem, zc as mapUsageDataToDashboard, Hc as mapUserUsageToModelLimits, Os as mergeCreatedFolderIntoCache, Ci as mergeRunsById, Ei as mergeScheduledTaskRuns, jo as mergeStages, Ar as messageHasStages, C as mimeTypesToAttachmentExtensionLabels, w as mimeTypesToDialFileAcceptTypes, T as mimeTypesToFileAccept, Ze as nameFromPath, dn as navigateToolsetOAuthPopup, q as normalizeDeploymentId, Da as normalizeOfflineCredentialsConnectSettings, jr as normalizeResponseFormat, Qe as normalizeSkillName, pe as normalizeToolsetId, ss as normalizeVirtualPath, Ns as openAnnotationAttachment, fn as openToolsetOAuthPopup, Ce as padTwoDigits, Wt as parseCatalogFilterTopics, Hl as parseConversationTitleStreamEvent, bn as parseExternalServiceUrl, bc as parseFeaturesData, cs as parseNewFolderVirtualPath, Pe as parsePromptResourceUrl, In as parseResourceFolderPath, $e as parseSkillManifest, $t as parseSkillManifestDocument, lt as parseSkillResourceUrl, hs as prepareCopyItems, sc as prepareDownloadDestination, gs as prepareMoveRenameItems, yi as prepareScheduledTaskCreateBody, bi as prepareScheduledTaskUpdateBody, Fo as prepareStageCitations, Ul as readConversationTitleStream, pt as readSkillFileBytes, mt as readSkillFilePreviewBytes, ht as readSkillManifest, Pt as reconcileFilterTopics, Rs as referenceAttachmentToPdfCanvasContent, Nn as rememberPublishFolderKey, Qc as resetUsageLimitBannerDismissals, kc as resolveAcceptShareInvitationError, Ml as resolveActiveScheduledTask, zs as resolveAnnotationCanvasContent, Hi as resolveByteLimit, wl as resolveCanvasWidth, Gt as resolveCatalogActiveTab, Bt as resolveCatalogEntityKind, Xt as resolveCatalogPrimaryAction, Kt as resolveCatalogSortKey, Bs as resolveCodeCanvasContent, Kl as resolveConversationPinChange, je as resolveDeploymentFolder, ps as resolveDialFileApiPath, g as resolveDialFileBucketAndPath, _ as resolveDialFolderPath, Ui as resolveExtensionList, Xl as resolveExternalServiceSigninRowInfo, Qs as resolveExternalSourceContentType, Ut as resolveFavoriteEntityType, Vs as resolveGroupedVisualizerCanvasContent, Hs as resolveHtmlCanvasContent, Us as resolveImageCanvasContent, Ws as resolveJsonCanvasContent, be as resolveLocalizedText, Gs as resolveMarkdownCanvasContent, St as resolveMcpResourceKind, Ks as resolveOoxmlCanvasContent, ls as resolveOwnerCoords, qs as resolvePdfCanvasContent, v as resolveRelativeDialFilePath, Pa as resolveScheduledTasksLoginBannerState, us as resolveSectionByPath, gt as resolveSkillFileDownloadPath, _t as resolveSkillManifestFileId, Js as resolveTextCanvasContent, me as resolveToolsetCredentialsLevel, Zl as resolveToolsetSigninRowInfo, ks as resolveTransferFailureReason, As as resolveUploadFailureReason, Ys as resolveVisualizerCanvasContent, Un as runResourceSave, c as safeDecodeURI, l as safeDecodeURIComponent, nr as sanitizeAnnouncementHtml, rr as sanitizeAnnouncementMessageHtml, ba as sanitizeFileName, _r as sanitizeFooterHtml, li as selectScheduledTaskErrorMessage, he as selectToolsetAuthStatus, Wc as selectUsageBannerSource, Hr as serializePromptExport, So as shouldRerunGenerationOnEdit, hr as shouldWatchForDisplayNameUpdate, et as skillFileBytesToBlob, La as skillFileToAttachment, tt as skillFolderMarkerParent, xa as splitFileNameExtension, ji as splitProjectConversationId, nt as startsWithFrontmatterBlock, u as stripSurroundingSlashes, d as stripTrailingSlashes, sn as subscribeToolsetLoginSuccess, Me as supportsChatInterface, xe as toBaseLocale, Mr as toOverlayMessages, Xi as toProjectContextFileAttachment, Zi as toProjectOutputAttachment, Qi as toProjectOutputCardId, $i as toProjectPreviewKey, Dt as toPublishEntityType, z as toPublishRuleDto, ui as toScheduledTaskItem, di as toScheduledTaskItems, fi as toScheduledTaskRunItem, pi as toScheduledTaskRunItems, Fr as toStage, ea as toStoredProjectFileAttachment, an as toToolsetOAuthSettings, ll as triggerBrowserDownload, Sa as trimFileNameToByteLimit, ds as unionPathSets, rt as unpackSkillArchive, js as updateEntry, Ac as useAcceptShareInvitation, eo as useActiveConversationSync, Nl as useActiveScheduledTaskDetails, El as useAppVersionCheck, An as useApplicationCredentialActions, On as useApplicationCredentials, to as useAsyncConfirmDialog, x as useAttachmentAction, co as useAttachmentUpload, D as useAttachmentValidation, Qt as useCatalogEditNavigation, Zt as useCatalogItemDelete, tn as useCatalogItemDetails, hn as useCatalogToolsetCredentials, Mc as useChatSettingsFormConfig, Io as useConversationAnnotationPool, no as useConversationComposerDraft, hl as useConversationDiscovery, ho as useConversationExport, Do as useConversationHandlers, Oo as useConversationImport, ro as useConversationLookupMaps, ao as useConversationPanelItems, ko as useConversationScroll, Po as useConversationSources, No as useConversationStream, Fl as useConversationTitleEnrichmentController, ma as useCreateProject, nu as useDeploymentChangeTracking, Xc as useDeploymentUsageLimits, lc as useDialFileListing, mc as useDialFileManager, hc as useDialFileManagerSections, gc as useDialFileManagerTabConfig, uc as useDialFileMetadata, dc as useDialFileMutations, yl as useDialFilePreview, fc as useDialFileSharing, pc as useDialFileUploadBatch, Sl as useEntityPreselection, Tn as useExternalServiceLogin, Ht as useFavoriteEntitiesState, vl as useFileAttachmentModalState, _c as useFileAttachmentPicker, iu as useGridEditingScroll, oo as useImportFilePicker, sl as useMcpAppHostAdapter, ol as useMcpAppHostContext, al as useMcpAppTools, so as useMessageSelectionReply, zr as useOAuthCallbackCompletion, ja as useOfflineCredentialsAuth, ka as useOfflineCredentialsGate, _n as useOfflineCredentialsLogin, cl as useOpenMcpAppCanvas, Nc as usePageFileDrag, Fc as usePanelMaxWidth, Tl as usePersistedState, va as usePinnedProjectChats, fa as useProject, wa as useProjectActions, ya as useProjectArtifacts, ga as useProjectConversations, ra as useProjectDraft, ta as useProjectFilePreview, pa as useProjectWatch, ua as useProjects, ei as usePromptsState, Pn as usePublishFolders, Ot as usePublishHistory, Zc as useRefreshUsageAfterGeneration, Fn as useResourceFolders, Qn as useResourceSavePanel, ha as useSaveProject, wi as useScheduledTaskRuns, gl as useScheduledTaskSkillDisplayNames, Si as useScheduledTasks, Ic as useShareLink, Qa as useShareRecipientsCount, tu as useSigninInterrupt, Xa as useSkillArchiveImport, jn as useSkillDetailsPanelData, za as useSkillEditorLoad, Ba as useSkillEditorSubmit, Va as useSkillFileActions, Ua as useSkillFilePreview, Jl as useSkillFilePreviewSyncController, _l as useSkillFileSystemPicker, en as useSkillItemDetails, Ga as useSkillsState, Di as useStartScheduledTask, Lc as useToolsMenu, mn as useToolsetLogin, po as useTranscribeAudio, nc as useUnshareConfirmationState, nl as useUsageData, tl as useUsageLimitBanner, $c as useUsageLimitBannerDismissal, Pc as useViewportWidth, Wl as useVisibleConversationIdsReporter, Zr as validatePromptContent, Qr as validatePromptDescription, $r as validatePromptName, Ia as validateSkillFileBatch, ms as virtualPathToApiPath, ln as waitForToolsetOAuthResult, fs as withRoutableRootLabels };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@epam/ai-dial-chat-hooks",
3
3
  "description": "Framework-level React hooks extracted from AI DIAL Chat for building custom chat interfaces",
4
- "version": "1.3.0-dev.358",
4
+ "version": "1.3.0-dev.360",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
7
7
  "main": "./index.js",
@@ -131,7 +131,7 @@
131
131
  }
132
132
  },
133
133
  "dependencies": {
134
- "@epam/ai-dial-chat-api-client": "1.3.0-dev.358",
134
+ "@epam/ai-dial-chat-api-client": "1.3.0-dev.360",
135
135
  "dompurify": "3.4.17",
136
136
  "fflate": "^0.8.3",
137
137
  "lru-cache": "^10.4.3",
@@ -140,23 +140,23 @@
140
140
  },
141
141
  "peerDependencies": {
142
142
  "react": "^19.2.8",
143
- "@epam/ai-dial-attachment-canvas": "1.3.0-dev.358",
144
- "@epam/ai-dial-attachment-input": "1.3.0-dev.358",
145
- "@epam/ai-dial-catalog": "1.3.0-dev.358",
146
- "@epam/ai-dial-chat-overlay": "1.3.0-dev.358",
147
- "@epam/ai-dial-chat-shared": "1.3.0-dev.358",
148
- "@epam/ai-dial-conversation-input": "1.3.0-dev.358",
149
- "@epam/ai-dial-mcp-apps": "1.3.0-dev.358",
150
- "@epam/ai-dial-projects": "1.3.0-dev.358",
151
- "@epam/ai-dial-publish-panel": "1.3.0-dev.358",
152
- "@epam/ai-dial-quotations": "1.3.0-dev.358",
143
+ "@epam/ai-dial-attachment-canvas": "1.3.0-dev.360",
144
+ "@epam/ai-dial-attachment-input": "1.3.0-dev.360",
145
+ "@epam/ai-dial-catalog": "1.3.0-dev.360",
146
+ "@epam/ai-dial-chat-overlay": "1.3.0-dev.360",
147
+ "@epam/ai-dial-chat-shared": "1.3.0-dev.360",
148
+ "@epam/ai-dial-conversation-input": "1.3.0-dev.360",
149
+ "@epam/ai-dial-mcp-apps": "1.3.0-dev.360",
150
+ "@epam/ai-dial-projects": "1.3.0-dev.360",
151
+ "@epam/ai-dial-publish-panel": "1.3.0-dev.360",
152
+ "@epam/ai-dial-quotations": "1.3.0-dev.360",
153
153
  "@epam/ai-dial-react-file-manager": "^0.4.1",
154
- "@epam/ai-dial-scheduled-tasks": "1.3.0-dev.358",
155
- "@epam/ai-dial-share": "1.3.0-dev.358",
156
- "@epam/ai-dial-skill-editor": "1.3.0-dev.358",
157
- "@epam/ai-dial-source-panel": "1.3.0-dev.358",
154
+ "@epam/ai-dial-scheduled-tasks": "1.3.0-dev.360",
155
+ "@epam/ai-dial-share": "1.3.0-dev.360",
156
+ "@epam/ai-dial-skill-editor": "1.3.0-dev.360",
157
+ "@epam/ai-dial-source-panel": "1.3.0-dev.360",
158
158
  "@epam/ai-dial-ui-kit": "^0.16.0",
159
- "@epam/ai-dial-usage-dashboard": "1.3.0-dev.358",
159
+ "@epam/ai-dial-usage-dashboard": "1.3.0-dev.360",
160
160
  "@modelcontextprotocol/sdk": "^1.32.2",
161
161
  "@epam/pdf-highlighter-kit": "^0.0.21"
162
162
  },
@@ -11,6 +11,8 @@ export interface ProjectFileCard {
11
11
  }
12
12
  /** Builds the locator a canvas content resolver fetches for a project file, from the project id and the file name. The host owns the scheme. */
13
13
  export type ProjectFileLocatorBuilder = (projectId: string, name: string) => string;
14
+ /** Resolves a project file locator to the URL that downloads it, or `undefined` when the host serves no download for it. The host owns the endpoints. */
15
+ export type ProjectFileDownloadUrlResolver = (locator: string) => string | undefined;
14
16
  /** Returns the canvas key of a project file, `{scope}::{id}`; the scope keeps one file name in two projects apart. */
15
17
  export declare const toProjectPreviewKey: (scope: string, id: string) => string;
16
18
  /** Returns the card id behind a canvas key, or `undefined` when the key belongs to another scope or is not a project key. */
@@ -25,4 +27,6 @@ export declare const toStoredProjectFileAttachment: ({ id, name, contentType }:
25
27
  export declare const toProjectOutputAttachment: ({ name, contentType }: ProjectOutputItem, projectId: string, toLocator: ProjectFileLocatorBuilder) => DisplayAttachment;
26
28
  /** Returns the attachment a project form opens in the canvas for one of its cards: a file added in this session is its own attachment (it carries the `File`), a stored one is built from its project, and a stored file with no project yields `undefined`. */
27
29
  export declare const toProjectContextFileAttachment: (file: ProjectContextFile, projectId: string | null, toLocator: ProjectFileLocatorBuilder) => DisplayAttachment | undefined;
30
+ /** Downloads a project file attachment, a file added in this session from its own `File` and a stored one from the URL the host resolves for its locator; returns whether a download started. */
31
+ export declare const downloadProjectFileAttachment: (attachment: DisplayAttachment, resolveDownloadUrl: ProjectFileDownloadUrlResolver | undefined) => boolean;
28
32
  //# sourceMappingURL=project-file-preview.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"project-file-preview.d.ts","sourceRoot":"","sources":["../../src/project/project-file-preview.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,iBAAiB,EAGvB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACvB,MAAM,wBAAwB,CAAC;AAMhC,yFAAyF;AACzF,MAAM,WAAW,eAAe;IAC9B,0DAA0D;IAC1D,EAAE,EAAE,MAAM,CAAC;IACX,4CAA4C;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,6BAA6B;IAC7B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,gJAAgJ;AAChJ,MAAM,MAAM,yBAAyB,GAAG,CACtC,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,KACT,MAAM,CAAC;AAEZ,sHAAsH;AACtH,eAAO,MAAM,mBAAmB,GAAI,OAAO,MAAM,EAAE,IAAI,MAAM,KAAG,MACvB,CAAC;AAE1C,6HAA6H;AAC7H,eAAO,MAAM,qBAAqB,GAChC,OAAO,MAAM,EACb,KAAK,MAAM,GAAG,SAAS,KACtB,MAAM,GAAG,SAGX,CAAC;AAEF,qFAAqF;AACrF,eAAO,MAAM,qBAAqB,GAAI,MAAM,MAAM,KAAG,MAClB,CAAC;AAEpC,+FAA+F;AAC/F,eAAO,MAAM,uBAAuB,GAClC,QAAQ,MAAM,GAAG,SAAS,KACzB,MAAM,GAAG,SAGG,CAAC;AAEhB,wJAAwJ;AACxJ,eAAO,MAAM,6BAA6B,GACxC,2BAA2B,eAAe,EAC1C,WAAW,MAAM,EACjB,WAAW,yBAAyB,KACnC,iBAOD,CAAC;AAEH,sIAAsI;AACtI,eAAO,MAAM,yBAAyB,GACpC,uBAAuB,iBAAiB,EACxC,WAAW,MAAM,EACjB,WAAW,yBAAyB,KACnC,iBAKA,CAAC;AAEJ,gQAAgQ;AAChQ,eAAO,MAAM,8BAA8B,GACzC,MAAM,kBAAkB,EACxB,WAAW,MAAM,GAAG,IAAI,EACxB,WAAW,yBAAyB,KACnC,iBAAiB,GAAG,SAKtB,CAAC"}
1
+ {"version":3,"file":"project-file-preview.d.ts","sourceRoot":"","sources":["../../src/project/project-file-preview.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,iBAAiB,EAMvB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACvB,MAAM,wBAAwB,CAAC;AAMhC,yFAAyF;AACzF,MAAM,WAAW,eAAe;IAC9B,0DAA0D;IAC1D,EAAE,EAAE,MAAM,CAAC;IACX,4CAA4C;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,6BAA6B;IAC7B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,gJAAgJ;AAChJ,MAAM,MAAM,yBAAyB,GAAG,CACtC,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,KACT,MAAM,CAAC;AAEZ,yJAAyJ;AACzJ,MAAM,MAAM,8BAA8B,GAAG,CAC3C,OAAO,EAAE,MAAM,KACZ,MAAM,GAAG,SAAS,CAAC;AAExB,sHAAsH;AACtH,eAAO,MAAM,mBAAmB,GAAI,OAAO,MAAM,EAAE,IAAI,MAAM,KAAG,MACvB,CAAC;AAE1C,6HAA6H;AAC7H,eAAO,MAAM,qBAAqB,GAChC,OAAO,MAAM,EACb,KAAK,MAAM,GAAG,SAAS,KACtB,MAAM,GAAG,SAGX,CAAC;AAEF,qFAAqF;AACrF,eAAO,MAAM,qBAAqB,GAAI,MAAM,MAAM,KAAG,MAClB,CAAC;AAEpC,+FAA+F;AAC/F,eAAO,MAAM,uBAAuB,GAClC,QAAQ,MAAM,GAAG,SAAS,KACzB,MAAM,GAAG,SAGG,CAAC;AAEhB,wJAAwJ;AACxJ,eAAO,MAAM,6BAA6B,GACxC,2BAA2B,eAAe,EAC1C,WAAW,MAAM,EACjB,WAAW,yBAAyB,KACnC,iBAOD,CAAC;AAEH,sIAAsI;AACtI,eAAO,MAAM,yBAAyB,GACpC,uBAAuB,iBAAiB,EACxC,WAAW,MAAM,EACjB,WAAW,yBAAyB,KACnC,iBAKA,CAAC;AAEJ,gQAAgQ;AAChQ,eAAO,MAAM,8BAA8B,GACzC,MAAM,kBAAkB,EACxB,WAAW,MAAM,GAAG,IAAI,EACxB,WAAW,yBAAyB,KACnC,iBAAiB,GAAG,SAKtB,CAAC;AAEF,iMAAiM;AACjM,eAAO,MAAM,6BAA6B,GACxC,YAAY,iBAAiB,EAC7B,oBAAoB,8BAA8B,GAAG,SAAS,KAC7D,OAeF,CAAC"}
@@ -1,20 +1,25 @@
1
- import { RequestStatus as e, getAttachmentTypeFromMime as t } from "@epam/ai-dial-chat-shared";
2
- import { isStoredContextFile as n } from "@epam/ai-dial-projects";
1
+ import { RequestStatus as e, ensureDownloadFilename as t, getAttachmentTypeFromMime as n, triggerAnchorDownload as r, triggerBlobDownload as i } from "@epam/ai-dial-chat-shared";
2
+ import { isStoredContextFile as a } from "@epam/ai-dial-projects";
3
3
  //#region src/project/project-file-preview.ts
4
- var r = "::", i = "artifacts/", a = (e, t) => `${e}${r}${t}`, o = (e, t) => {
5
- let n = `${e}${r}`;
4
+ var o = "::", s = "artifacts/", c = (e, t) => `${e}${o}${t}`, l = (e, t) => {
5
+ let n = `${e}${o}`;
6
6
  return t?.startsWith(n) ? t.slice(n.length) : void 0;
7
- }, s = (e) => `${i}${e}`, c = (e) => e?.startsWith(i) ? e.slice(10) : void 0, l = ({ id: n, name: r, contentType: i }, a, o) => ({
8
- id: n,
7
+ }, u = (e) => `${s}${e}`, d = (e) => e?.startsWith(s) ? e.slice(10) : void 0, f = ({ id: t, name: r, contentType: i }, a, o) => ({
8
+ id: t,
9
9
  name: r,
10
10
  contentType: i,
11
- type: t(i),
11
+ type: n(i),
12
12
  status: e.Idle,
13
13
  url: o(a, r)
14
- }), u = ({ name: e, contentType: t }, n, r) => l({
14
+ }), p = ({ name: e, contentType: t }, n, r) => f({
15
15
  id: e,
16
16
  name: e,
17
17
  contentType: t
18
- }, n, r), d = (e, t, r) => n(e) ? t == null ? void 0 : l(e, t, r) : e;
18
+ }, n, r), m = (e, t, n) => a(e) ? t == null ? void 0 : f(e, t, n) : e, h = (e, n) => {
19
+ let { name: a, url: o, contentType: s } = e, c = t(a, o, s);
20
+ if ("file" in e && e.file instanceof Blob) return i(e.file, c), !0;
21
+ let l = o == null ? void 0 : n?.(o);
22
+ return l != null && (r(l, c), !0);
23
+ };
19
24
  //#endregion
20
- export { c as fromProjectOutputCardId, o as fromProjectPreviewKey, d as toProjectContextFileAttachment, u as toProjectOutputAttachment, s as toProjectOutputCardId, a as toProjectPreviewKey, l as toStoredProjectFileAttachment };
25
+ export { h as downloadProjectFileAttachment, d as fromProjectOutputCardId, l as fromProjectPreviewKey, m as toProjectContextFileAttachment, p as toProjectOutputAttachment, u as toProjectOutputCardId, c as toProjectPreviewKey, f as toStoredProjectFileAttachment };
@@ -1,4 +1,4 @@
1
- import { AttachmentDto, ConversationResponseDto, CreateConversationDto, CreateProjectResponseDto, ListProjectsResponseDto, ProjectArtifactListResponseDto, ProjectConversationListResponseDto, ProjectConversationTitlesResponseDto, ProjectDetailsDto, RenameConversationResponseDto, UpdateProjectResponseDto } from '@epam/ai-dial-chat-api-client';
1
+ import { AttachmentDto, ConversationResponseDto, CreateConversationDto, CreateProjectResponseDto, ListProjectsResponseDto, ProjectArtifactListResponseDto, ProjectConversationListResponseDto, ProjectConversationTitlesResponseDto, ProjectDetailsDto, GenerateTitleResponseDto, RenameConversationResponseDto, UpdateProjectResponseDto } from '@epam/ai-dial-chat-api-client';
2
2
  import { RequestSkill } from '@epam/ai-dial-chat-shared';
3
3
  /** A generated-client `Raw` answer, of which only the native response is read. */
4
4
  interface RawApiResponse {
@@ -72,6 +72,10 @@ export interface ProjectsConfiguredClient {
72
72
  newTitle: string;
73
73
  };
74
74
  }) => Promise<RenameConversationResponseDto>;
75
+ generateProjectConversationTitle: (request: {
76
+ id: string;
77
+ conversationName: string;
78
+ }) => Promise<GenerateTitleResponseDto>;
75
79
  deleteProjectConversation: (request: {
76
80
  id: string;
77
81
  conversationName: string;
@@ -146,6 +150,8 @@ export interface ProjectsApiClient {
146
150
  getProjectConversation: (conversationId: string, signal?: AbortSignal) => Promise<ConversationResponseDto>;
147
151
  saveProjectConversation: (conversationId: string, conversation: ConversationResponseDto) => Promise<ConversationResponseDto>;
148
152
  renameProjectConversation: (conversationId: string, newTitle: string) => Promise<RenameConversationResponseDto>;
153
+ /** Suggests a title for the conversation without saving it. */
154
+ generateProjectConversationTitle: (conversationId: string) => Promise<GenerateTitleResponseDto>;
149
155
  deleteProjectConversation: (conversationId: string) => Promise<void>;
150
156
  /** Records that the caller has seen the conversation's current version; a host without it keeps no read state. */
151
157
  markProjectConversationViewed?: (conversationId: string) => Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"projects-api-client.d.ts","sourceRoot":"","sources":["../../src/project/projects-api-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"projects-api-client.d.ts","sourceRoot":"","sources":["../../src/project/projects-api-client.ts"],"names":[],"mappings":"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"}
@@ -69,6 +69,7 @@ var e = (e) => {
69
69
  ...t(n),
70
70
  renameConversationBodyDto: { newTitle: r }
71
71
  }),
72
+ generateProjectConversationTitle: (n) => e.generateProjectConversationTitle(t(n)),
72
73
  deleteProjectConversation: (n) => e.deleteProjectConversation(t(n)),
73
74
  markProjectConversationViewed: (n) => e.markProjectConversationViewed(t(n)),
74
75
  attachToProjectGeneration: async (t, r, i) => {
@@ -13,7 +13,7 @@ import { ProjectsApiClient } from './projects-api-client';
13
13
  * @param client - Configured project requests, from `createProjectsApiClient`; it must be referentially stable, because a new object reloads the list.
14
14
  * @param projectId - The project's DIAL id, or `null` while none is known.
15
15
  */
16
- export declare const useProjectConversations: (client: Pick<ProjectsApiClient, "listProjectConversations" | "getProjectConversationTitles" | "renameProjectConversation" | "deleteProjectConversation" | "markProjectConversationViewed">, projectId: string | null) => {
16
+ export declare const useProjectConversations: (client: Pick<ProjectsApiClient, "listProjectConversations" | "getProjectConversationTitles" | "renameProjectConversation" | "generateProjectConversationTitle" | "deleteProjectConversation" | "markProjectConversationViewed">, projectId: string | null) => {
17
17
  items: ProjectConversationListItem[];
18
18
  isLoading: boolean;
19
19
  hasError: boolean;
@@ -24,6 +24,7 @@ export declare const useProjectConversations: (client: Pick<ProjectsApiClient, "
24
24
  retry: () => void;
25
25
  loadMore: () => Promise<void>;
26
26
  rename: (id: string, newTitle: string) => Promise<void>;
27
+ generateTitle: (id: string) => Promise<string>;
27
28
  remove: (id: string) => Promise<void>;
28
29
  refresh: () => Promise<void>;
29
30
  markViewed: (id: string) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"use-project-conversations.d.ts","sourceRoot":"","sources":["../../src/project/use-project-conversations.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAG1E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AA8E/D;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,uBAAuB,GAClC,QAAQ,IAAI,CACV,iBAAiB,EACf,0BAA0B,GAC1B,8BAA8B,GAC9B,2BAA2B,GAC3B,2BAA2B,GAC3B,+BAA+B,CAClC,EACD,WAAW,MAAM,GAAG,IAAI;;;;IA6NtB,8CAA8C;;IAE9C,2DAA2D;;;;iBA1ChD,MAAM,YAAY,MAAM;iBAaxB,MAAM;;qBAlCZ,MAAM;CAwEd,CAAC"}
1
+ {"version":3,"file":"use-project-conversations.d.ts","sourceRoot":"","sources":["../../src/project/use-project-conversations.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAG1E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AA8E/D;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,uBAAuB,GAClC,QAAQ,IAAI,CACV,iBAAiB,EACf,0BAA0B,GAC1B,8BAA8B,GAC9B,2BAA2B,GAC3B,kCAAkC,GAClC,2BAA2B,GAC3B,+BAA+B,CAClC,EACD,WAAW,MAAM,GAAG,IAAI;;;;IAqOtB,8CAA8C;;IAE9C,2DAA2D;;;;iBAlDhD,MAAM,YAAY,MAAM;wBAaxB,MAAM;iBAQN,MAAM;;qBA1CZ,MAAM;CAiFd,CAAC"}
@@ -169,6 +169,9 @@ var o = 20, s = 100, c = {
169
169
  } : e)
170
170
  }));
171
171
  }, [e]), M = t(async (t) => {
172
+ let { name: n } = await e.generateProjectConversationTitle(t);
173
+ return n;
174
+ }, [e]), N = t(async (t) => {
172
175
  await e.deleteProjectConversation(t);
173
176
  let { rows: n, visibleCount: r } = C.current, i = n.filter((e) => e.id !== t);
174
177
  h((e) => ({
@@ -177,17 +180,18 @@ var o = 20, s = 100, c = {
177
180
  }));
178
181
  let a = v.current;
179
182
  a != null && E(i, r, a.signal);
180
- }, [e, E]), { rows: N, visibleCount: P, isLoading: F, hasError: I, isLoadingMore: L } = m;
183
+ }, [e, E]), { rows: P, visibleCount: F, isLoading: I, hasError: L, isLoadingMore: R } = m;
181
184
  return {
182
- items: r(() => N.slice(0, P).map(f), [N, P]),
183
- isLoading: F,
184
- hasError: I,
185
- hasMore: P < N.length,
186
- isLoadingMore: L,
185
+ items: r(() => P.slice(0, F).map(f), [P, F]),
186
+ isLoading: I,
187
+ hasError: L,
188
+ hasMore: F < P.length,
189
+ isLoadingMore: R,
187
190
  retry: D,
188
191
  loadMore: O,
189
192
  rename: j,
190
- remove: M,
193
+ generateTitle: M,
194
+ remove: N,
191
195
  refresh: k,
192
196
  markViewed: A
193
197
  };
@@ -1,4 +1,5 @@
1
1
  import { DisplayAttachment } from '@epam/ai-dial-chat-shared';
2
+ import { ProjectFileDownloadUrlResolver } from './project-file-preview';
2
3
  /** Tells whether the request that produced a result may still show it; `false` once a newer request superseded it. */
3
4
  export type ProjectPreviewCommitGuard = () => boolean;
4
5
  /** Opens an attachment in the host's canvas under a key, showing it only while the guard allows; the host's `openAttachmentCanvas` fits. */
@@ -19,6 +20,8 @@ export interface UseProjectFilePreviewOptions {
19
20
  resolveContextAttachment: (cardId: string) => DisplayAttachment | undefined;
20
21
  /** Returns the attachment to open for an output name; omit it where outputs are not shown. */
21
22
  resolveOutputAttachment?: (name: string) => DisplayAttachment | undefined;
23
+ /** Resolves a stored file's locator to its download URL; when omitted, only files added in this session download. */
24
+ resolveDownloadUrl?: ProjectFileDownloadUrlResolver;
22
25
  }
23
26
  /** Selection state and stable card callbacks of the project file preview. */
24
27
  export interface UseProjectFilePreviewResult {
@@ -32,11 +35,13 @@ export interface UseProjectFilePreviewResult {
32
35
  onContextFileClick: (cardId: string) => void;
33
36
  /** Opens an output, or closes the canvas when that output is already open. */
34
37
  onOutputClick: (name: string) => void;
38
+ /** Downloads a context card's file without opening it in the canvas. */
39
+ onContextFileDownload: (cardId: string) => void;
35
40
  /** Closes the canvas when the open context card is no longer among the page's cards. */
36
41
  closeIfRemoved: (cards: readonly {
37
42
  id: string;
38
43
  }[]) => void;
39
44
  }
40
45
  /** Opens project files in the host's attachment canvas for the New project, Edit project and project view pages, deriving the selected card from the canvas. */
41
- export declare const useProjectFilePreview: ({ scope, attachmentId, openAttachment, closeCanvas, startRequest, resolveContextAttachment, resolveOutputAttachment, }: UseProjectFilePreviewOptions) => UseProjectFilePreviewResult;
46
+ export declare const useProjectFilePreview: ({ scope, attachmentId, openAttachment, closeCanvas, startRequest, resolveContextAttachment, resolveOutputAttachment, resolveDownloadUrl, }: UseProjectFilePreviewOptions) => UseProjectFilePreviewResult;
42
47
  //# sourceMappingURL=use-project-file-preview.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-project-file-preview.d.ts","sourceRoot":"","sources":["../../src/project/use-project-file-preview.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AASnE,sHAAsH;AACtH,MAAM,MAAM,yBAAyB,GAAG,MAAM,OAAO,CAAC;AAEtD,4IAA4I;AAC5I,MAAM,MAAM,4BAA4B,GAAG,CACzC,UAAU,EAAE,iBAAiB,EAC7B,kBAAkB,EAAE,MAAM,EAC1B,YAAY,EAAE,yBAAyB,KACpC,OAAO,CAAC;AAEb,4EAA4E;AAC5E,MAAM,WAAW,4BAA4B;IAC3C,yHAAyH;IACzH,KAAK,EAAE,MAAM,CAAC;IACd,mFAAmF;IACnF,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,qDAAqD;IACrD,cAAc,EAAE,4BAA4B,CAAC;IAC7C,yBAAyB;IACzB,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,8FAA8F;IAC9F,YAAY,EAAE,MAAM,yBAAyB,CAAC;IAC9C,yKAAyK;IACzK,wBAAwB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,iBAAiB,GAAG,SAAS,CAAC;IAC5E,8FAA8F;IAC9F,uBAAuB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,iBAAiB,GAAG,SAAS,CAAC;CAC3E;AAED,6EAA6E;AAC7E,MAAM,WAAW,2BAA2B;IAC1C,sHAAsH;IACtH,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,wFAAwF;IACxF,qBAAqB,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,oFAAoF;IACpF,kBAAkB,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,iFAAiF;IACjF,kBAAkB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,8EAA8E;IAC9E,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,wFAAwF;IACxF,cAAc,EAAE,CAAC,KAAK,EAAE,SAAS;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,EAAE,KAAK,IAAI,CAAC;CAC5D;AAED,gKAAgK;AAChK,eAAO,MAAM,qBAAqB,GAAI,wHAQnC,4BAA4B,KAAG,2BA6EjC,CAAC"}
1
+ {"version":3,"file":"use-project-file-preview.d.ts","sourceRoot":"","sources":["../../src/project/use-project-file-preview.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAEnE,OAAO,EAIL,KAAK,8BAA8B,EAGpC,MAAM,wBAAwB,CAAC;AAEhC,sHAAsH;AACtH,MAAM,MAAM,yBAAyB,GAAG,MAAM,OAAO,CAAC;AAEtD,4IAA4I;AAC5I,MAAM,MAAM,4BAA4B,GAAG,CACzC,UAAU,EAAE,iBAAiB,EAC7B,kBAAkB,EAAE,MAAM,EAC1B,YAAY,EAAE,yBAAyB,KACpC,OAAO,CAAC;AAEb,4EAA4E;AAC5E,MAAM,WAAW,4BAA4B;IAC3C,yHAAyH;IACzH,KAAK,EAAE,MAAM,CAAC;IACd,mFAAmF;IACnF,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,qDAAqD;IACrD,cAAc,EAAE,4BAA4B,CAAC;IAC7C,yBAAyB;IACzB,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,8FAA8F;IAC9F,YAAY,EAAE,MAAM,yBAAyB,CAAC;IAC9C,yKAAyK;IACzK,wBAAwB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,iBAAiB,GAAG,SAAS,CAAC;IAC5E,8FAA8F;IAC9F,uBAAuB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,iBAAiB,GAAG,SAAS,CAAC;IAC1E,qHAAqH;IACrH,kBAAkB,CAAC,EAAE,8BAA8B,CAAC;CACrD;AAED,6EAA6E;AAC7E,MAAM,WAAW,2BAA2B;IAC1C,sHAAsH;IACtH,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,wFAAwF;IACxF,qBAAqB,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,oFAAoF;IACpF,kBAAkB,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,iFAAiF;IACjF,kBAAkB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,8EAA8E;IAC9E,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,wEAAwE;IACxE,qBAAqB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD,wFAAwF;IACxF,cAAc,EAAE,CAAC,KAAK,EAAE,SAAS;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,EAAE,KAAK,IAAI,CAAC;CAC5D;AAED,gKAAgK;AAChK,eAAO,MAAM,qBAAqB,GAAI,4IASnC,4BAA4B,KAAG,2BAuFjC,CAAC"}
@@ -1,46 +1,50 @@
1
- import { fromProjectOutputCardId as e, fromProjectPreviewKey as t, toProjectOutputCardId as n, toProjectPreviewKey as r } from "./project-file-preview.js";
2
- import { useCallback as i } from "react";
1
+ import { downloadProjectFileAttachment as e, fromProjectOutputCardId as t, fromProjectPreviewKey as n, toProjectOutputCardId as r, toProjectPreviewKey as i } from "./project-file-preview.js";
2
+ import { useCallback as a } from "react";
3
3
  //#region src/project/use-project-file-preview.ts
4
- var a = ({ scope: a, attachmentId: o, openAttachment: s, closeCanvas: c, startRequest: l, resolveContextAttachment: u, resolveOutputAttachment: d }) => {
5
- let f = t(a, o), p = e(f), m = p == null ? f : void 0;
4
+ var o = ({ scope: o, attachmentId: s, openAttachment: c, closeCanvas: l, startRequest: u, resolveContextAttachment: d, resolveOutputAttachment: f, resolveDownloadUrl: p }) => {
5
+ let m = n(o, s), h = t(m), g = h == null ? m : void 0;
6
6
  return {
7
- selectedCardId: f,
8
- selectedContextFileId: m,
9
- selectedOutputName: p,
10
- onContextFileClick: i((e) => {
11
- if (e === m) {
12
- c();
7
+ selectedCardId: m,
8
+ selectedContextFileId: g,
9
+ selectedOutputName: h,
10
+ onContextFileClick: a((e) => {
11
+ if (e === g) {
12
+ l();
13
13
  return;
14
14
  }
15
- let t = u(e);
16
- t && s(t, r(a, e), l());
15
+ let t = d(e);
16
+ t && c(t, i(o, e), u());
17
17
  }, [
18
+ l,
18
19
  c,
19
- s,
20
- u,
21
- a,
22
- m,
23
- l
20
+ d,
21
+ o,
22
+ g,
23
+ u
24
24
  ]),
25
- onOutputClick: i((e) => {
26
- if (e === p) {
27
- c();
25
+ onOutputClick: a((e) => {
26
+ if (e === h) {
27
+ l();
28
28
  return;
29
29
  }
30
- let t = d?.(e);
31
- t && s(t, r(a, n(e)), l());
30
+ let t = f?.(e);
31
+ t && c(t, i(o, r(e)), u());
32
32
  }, [
33
+ l,
33
34
  c,
34
- s,
35
- d,
36
- a,
37
- p,
38
- l
35
+ f,
36
+ o,
37
+ h,
38
+ u
39
39
  ]),
40
- closeIfRemoved: i((e) => {
41
- m != null && !e.some((e) => e.id === m) && c();
42
- }, [c, m])
40
+ onContextFileDownload: a((t) => {
41
+ let n = d(t);
42
+ n && e(n, p);
43
+ }, [d, p]),
44
+ closeIfRemoved: a((e) => {
45
+ g != null && !e.some((e) => e.id === g) && l();
46
+ }, [l, g])
43
47
  };
44
48
  };
45
49
  //#endregion
46
- export { a as useProjectFilePreview };
50
+ export { o as useProjectFilePreview };
package/project.js CHANGED
@@ -2,19 +2,19 @@ import { buildCreateConversationDto as e, createProjectsApiClient as t, splitPro
2
2
  import { mapProjectArtifactsToOutputs as r, mapProjectDetailsToViewModel as i, mapProjectDtoToItem as a, mapProjectSource as o, mapProjectSourceToFilterTab as s, mapStoredContextFiles as c } from "./project/project-mapping.js";
3
3
  import { DEFAULT_PROJECT_CONTEXT_ALLOWED_EXTENSIONS as l, DEFAULT_PROJECT_CONTEXT_FILE_MAX_BYTES as u, DEFAULT_PROJECT_CONTEXT_TOTAL_MAX_BYTES as d, getMimeTypesForExtensions as f, resolveByteLimit as p, resolveExtensionList as m } from "./project/project-limits.js";
4
4
  import { ProjectFormErrorField as h, ProjectFormErrorReason as g, getProjectFormError as _ } from "./project/project-form-errors.js";
5
- import { fromProjectOutputCardId as v, fromProjectPreviewKey as y, toProjectContextFileAttachment as b, toProjectOutputAttachment as x, toProjectOutputCardId as S, toProjectPreviewKey as C, toStoredProjectFileAttachment as w } from "./project/project-file-preview.js";
6
- import { useProjectFilePreview as T } from "./project/use-project-file-preview.js";
7
- import { ProjectDraftMode as E, useProjectDraft as D } from "./project/use-project-draft.js";
8
- import { ProjectChatCreateFailure as O, classifyProjectChatCreateError as k, createProjectChat as A } from "./project/create-project-chat.js";
9
- import { createProjectConversationDataSource as j } from "./project/project-conversation-data-source.js";
10
- import { useProjects as M } from "./project/use-projects.js";
11
- import { ProjectRefreshOutcome as N } from "./project/project-refresh.js";
12
- import { useProject as P } from "./project/use-project.js";
13
- import { useProjectWatch as F } from "./project/use-project-watch.js";
14
- import { useCreateProject as I, useSaveProject as L } from "./project/use-project-submit.js";
15
- import { useProjectConversations as R } from "./project/use-project-conversations.js";
16
- import { PINNED_PROJECT_CHATS_LIMIT as z, usePinnedProjectChats as B } from "./project/use-pinned-project-chats.js";
17
- import { useProjectArtifacts as V } from "./project/use-project-artifacts.js";
18
- import { ProjectActionError as H, useProjectActions as U } from "./project/use-project-actions.js";
19
- import { createSerializedKeyedWriter as W } from "./shared/serialized-writer.js";
20
- export { l as DEFAULT_PROJECT_CONTEXT_ALLOWED_EXTENSIONS, u as DEFAULT_PROJECT_CONTEXT_FILE_MAX_BYTES, d as DEFAULT_PROJECT_CONTEXT_TOTAL_MAX_BYTES, z as PINNED_PROJECT_CHATS_LIMIT, H as ProjectActionError, O as ProjectChatCreateFailure, E as ProjectDraftMode, h as ProjectFormErrorField, g as ProjectFormErrorReason, N as ProjectRefreshOutcome, e as buildCreateConversationDto, k as classifyProjectChatCreateError, A as createProjectChat, j as createProjectConversationDataSource, t as createProjectsApiClient, W as createSerializedKeyedWriter, v as fromProjectOutputCardId, y as fromProjectPreviewKey, f as getMimeTypesForExtensions, _ as getProjectFormError, r as mapProjectArtifactsToOutputs, i as mapProjectDetailsToViewModel, a as mapProjectDtoToItem, o as mapProjectSource, s as mapProjectSourceToFilterTab, c as mapStoredContextFiles, p as resolveByteLimit, m as resolveExtensionList, n as splitProjectConversationId, b as toProjectContextFileAttachment, x as toProjectOutputAttachment, S as toProjectOutputCardId, C as toProjectPreviewKey, w as toStoredProjectFileAttachment, I as useCreateProject, B as usePinnedProjectChats, P as useProject, U as useProjectActions, V as useProjectArtifacts, R as useProjectConversations, D as useProjectDraft, T as useProjectFilePreview, F as useProjectWatch, M as useProjects, L as useSaveProject };
5
+ import { downloadProjectFileAttachment as v, fromProjectOutputCardId as y, fromProjectPreviewKey as b, toProjectContextFileAttachment as x, toProjectOutputAttachment as S, toProjectOutputCardId as C, toProjectPreviewKey as w, toStoredProjectFileAttachment as T } from "./project/project-file-preview.js";
6
+ import { useProjectFilePreview as E } from "./project/use-project-file-preview.js";
7
+ import { ProjectDraftMode as D, useProjectDraft as O } from "./project/use-project-draft.js";
8
+ import { ProjectChatCreateFailure as k, classifyProjectChatCreateError as A, createProjectChat as j } from "./project/create-project-chat.js";
9
+ import { createProjectConversationDataSource as M } from "./project/project-conversation-data-source.js";
10
+ import { useProjects as N } from "./project/use-projects.js";
11
+ import { ProjectRefreshOutcome as P } from "./project/project-refresh.js";
12
+ import { useProject as F } from "./project/use-project.js";
13
+ import { useProjectWatch as I } from "./project/use-project-watch.js";
14
+ import { useCreateProject as L, useSaveProject as R } from "./project/use-project-submit.js";
15
+ import { useProjectConversations as z } from "./project/use-project-conversations.js";
16
+ import { PINNED_PROJECT_CHATS_LIMIT as B, usePinnedProjectChats as V } from "./project/use-pinned-project-chats.js";
17
+ import { useProjectArtifacts as H } from "./project/use-project-artifacts.js";
18
+ import { ProjectActionError as U, useProjectActions as W } from "./project/use-project-actions.js";
19
+ import { createSerializedKeyedWriter as G } from "./shared/serialized-writer.js";
20
+ export { l as DEFAULT_PROJECT_CONTEXT_ALLOWED_EXTENSIONS, u as DEFAULT_PROJECT_CONTEXT_FILE_MAX_BYTES, d as DEFAULT_PROJECT_CONTEXT_TOTAL_MAX_BYTES, B as PINNED_PROJECT_CHATS_LIMIT, U as ProjectActionError, k as ProjectChatCreateFailure, D as ProjectDraftMode, h as ProjectFormErrorField, g as ProjectFormErrorReason, P as ProjectRefreshOutcome, e as buildCreateConversationDto, A as classifyProjectChatCreateError, j as createProjectChat, M as createProjectConversationDataSource, t as createProjectsApiClient, G as createSerializedKeyedWriter, v as downloadProjectFileAttachment, y as fromProjectOutputCardId, b as fromProjectPreviewKey, f as getMimeTypesForExtensions, _ as getProjectFormError, r as mapProjectArtifactsToOutputs, i as mapProjectDetailsToViewModel, a as mapProjectDtoToItem, o as mapProjectSource, s as mapProjectSourceToFilterTab, c as mapStoredContextFiles, p as resolveByteLimit, m as resolveExtensionList, n as splitProjectConversationId, x as toProjectContextFileAttachment, S as toProjectOutputAttachment, C as toProjectOutputCardId, w as toProjectPreviewKey, T as toStoredProjectFileAttachment, L as useCreateProject, V as usePinnedProjectChats, F as useProject, W as useProjectActions, H as useProjectArtifacts, z as useProjectConversations, O as useProjectDraft, E as useProjectFilePreview, I as useProjectWatch, N as useProjects, R as useSaveProject };