@epam/ai-dial-chat-hooks 1.3.0-dev.37 → 1.3.0-dev.372
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/api-error/api-error.d.ts +2 -0
- package/api-error/api-error.d.ts.map +1 -1
- package/api-error/api-error.js +31 -23
- package/api-transport/create-unauthorized-middleware.js +4 -1
- package/attachment/attach-constraints.d.ts +31 -0
- package/attachment/attach-constraints.d.ts.map +1 -0
- package/attachment/attach-constraints.js +18 -0
- package/attachment/useAttachmentAction/useAttachmentAction.d.ts +1 -1
- package/attachment/useAttachmentAction/useAttachmentAction.d.ts.map +1 -1
- package/attachment/useAttachmentAction/useAttachmentAction.js +25 -28
- package/attachments.js +2 -1
- package/catalog/application-credentials.d.ts +15 -0
- package/catalog/application-credentials.d.ts.map +1 -0
- package/catalog/application-credentials.js +28 -0
- package/catalog/catalog-derivations.d.ts +5 -3
- package/catalog/catalog-derivations.d.ts.map +1 -1
- package/catalog/catalog-derivations.js +13 -6
- package/catalog/catalog-entity-kind.d.ts +31 -0
- package/catalog/catalog-entity-kind.d.ts.map +1 -0
- package/catalog/catalog-entity-kind.js +21 -0
- package/catalog/catalog-preferences.d.ts +8 -0
- package/catalog/catalog-preferences.d.ts.map +1 -0
- package/catalog/catalog-preferences.js +5 -0
- package/catalog/create-publish-api.d.ts +3 -1
- package/catalog/create-publish-api.d.ts.map +1 -1
- package/catalog/create-publish-api.js +4 -0
- package/catalog/deployment-id.d.ts +13 -4
- package/catalog/deployment-id.d.ts.map +1 -1
- package/catalog/deployment-id.js +17 -3
- package/catalog/entity-details.d.ts +2 -0
- package/catalog/entity-details.d.ts.map +1 -1
- package/catalog/favorite-entity-type.d.ts +5 -0
- package/catalog/favorite-entity-type.d.ts.map +1 -0
- package/catalog/favorite-entity-type.js +10 -0
- package/catalog/map-deployment-limits-to-input.d.ts +4 -3
- package/catalog/map-deployment-limits-to-input.d.ts.map +1 -1
- package/catalog/map-deployment-limits-to-input.js +3 -4
- package/catalog/map-deployment-to-catalog-item.d.ts +12 -1
- package/catalog/map-deployment-to-catalog-item.d.ts.map +1 -1
- package/catalog/map-deployment-to-catalog-item.js +22 -15
- package/catalog/map-entity-details-to-catalog.d.ts.map +1 -1
- package/catalog/map-entity-details-to-catalog.js +69 -24
- package/catalog/map-skill-to-catalog-item.d.ts +4 -5
- package/catalog/map-skill-to-catalog-item.d.ts.map +1 -1
- package/catalog/map-skill-to-catalog-item.js +29 -38
- package/catalog/publish.d.ts +1 -1
- package/catalog/publish.d.ts.map +1 -1
- package/catalog/resource-folder.d.ts +8 -0
- package/catalog/resource-folder.d.ts.map +1 -0
- package/catalog/resource-folder.js +13 -0
- package/catalog/resource-name-conflict.d.ts +22 -0
- package/catalog/resource-name-conflict.d.ts.map +1 -0
- package/catalog/resource-name-conflict.js +32 -0
- package/catalog/resource-save-adapter.d.ts +36 -0
- package/catalog/resource-save-adapter.d.ts.map +1 -0
- package/catalog/resource-save-adapter.js +4 -0
- package/catalog/resource-save-adapters.d.ts +93 -0
- package/catalog/resource-save-adapters.d.ts.map +1 -0
- package/catalog/resource-save-adapters.js +116 -0
- package/catalog/resource-save.d.ts +76 -0
- package/catalog/resource-save.d.ts.map +1 -0
- package/catalog/resource-save.js +52 -0
- package/catalog/unpublishable-folders.d.ts +21 -0
- package/catalog/unpublishable-folders.d.ts.map +1 -0
- package/catalog/unpublishable-folders.js +21 -0
- package/catalog/usage-limit-rows.d.ts +14 -0
- package/catalog/usage-limit-rows.d.ts.map +1 -0
- package/catalog/usage-limit-rows.js +19 -0
- package/catalog/use-publish-history.d.ts +19 -0
- package/catalog/use-publish-history.d.ts.map +1 -0
- package/catalog/use-publish-history.js +25 -0
- package/catalog/useApplicationCredentialActions/useApplicationCredentialActions.d.ts +57 -0
- package/catalog/useApplicationCredentialActions/useApplicationCredentialActions.d.ts.map +1 -0
- package/catalog/useApplicationCredentialActions/useApplicationCredentialActions.js +67 -0
- package/catalog/useCatalogEditNavigation/useCatalogEditNavigation.d.ts +23 -6
- package/catalog/useCatalogEditNavigation/useCatalogEditNavigation.d.ts.map +1 -1
- package/catalog/useCatalogEditNavigation/useCatalogEditNavigation.js +108 -107
- package/catalog/useCatalogItemDelete/useCatalogItemDelete.d.ts +41 -0
- package/catalog/useCatalogItemDelete/useCatalogItemDelete.d.ts.map +1 -0
- package/catalog/useCatalogItemDelete/useCatalogItemDelete.js +37 -0
- package/catalog/useCatalogToolsetCredentials/useCatalogToolsetCredentials.d.ts.map +1 -1
- package/catalog/useCatalogToolsetCredentials/useCatalogToolsetCredentials.js +72 -77
- package/catalog/useFavoriteEntitiesState/useFavoriteEntitiesState.js +1 -1
- package/catalog/usePublishFolders/usePublishFolders.d.ts +8 -0
- package/catalog/usePublishFolders/usePublishFolders.d.ts.map +1 -1
- package/catalog/usePublishFolders/usePublishFolders.js +32 -29
- package/catalog/useResourceFolders/useResourceFolders.d.ts +33 -0
- package/catalog/useResourceFolders/useResourceFolders.d.ts.map +1 -0
- package/catalog/useResourceFolders/useResourceFolders.js +58 -0
- package/catalog/useResourceSavePanel/useResourceSavePanel.d.ts +64 -0
- package/catalog/useResourceSavePanel/useResourceSavePanel.d.ts.map +1 -0
- package/catalog/useResourceSavePanel/useResourceSavePanel.js +173 -0
- package/catalog/useSkillItemDetails.js +3 -3
- package/catalog/useUnpublishConfirmation/useUnpublishConfirmation.d.ts +43 -0
- package/catalog/useUnpublishConfirmation/useUnpublishConfirmation.d.ts.map +1 -0
- package/catalog/useUnpublishConfirmation/useUnpublishConfirmation.js +46 -0
- package/catalog/useUnpublishableFolders/useUnpublishableFolders.d.ts +22 -0
- package/catalog/useUnpublishableFolders/useUnpublishableFolders.d.ts.map +1 -0
- package/catalog/useUnpublishableFolders/useUnpublishableFolders.js +53 -0
- package/catalog.js +41 -23
- package/conversation/conversation-data-source.d.ts +47 -0
- package/conversation/conversation-data-source.d.ts.map +1 -0
- package/conversation/conversation-data-source.js +11 -0
- package/conversation/conversation-draft/conversation-draft-store.d.ts +21 -0
- package/conversation/conversation-draft/conversation-draft-store.d.ts.map +1 -0
- package/conversation/conversation-draft/conversation-draft-store.js +84 -0
- package/conversation/conversation-draft/conversation-draft.d.ts +48 -0
- package/conversation/conversation-draft/conversation-draft.d.ts.map +1 -0
- package/conversation/conversation-list.d.ts +6 -0
- package/conversation/conversation-list.d.ts.map +1 -0
- package/conversation/conversation-list.js +5 -0
- package/conversation/conversation-title-stream.d.ts +33 -0
- package/conversation/conversation-title-stream.d.ts.map +1 -0
- package/conversation/conversation-title-stream.js +103 -0
- package/conversation/conversation-transfer/attachment-refs.d.ts +10 -2
- package/conversation/conversation-transfer/attachment-refs.d.ts.map +1 -1
- package/conversation/conversation-transfer/attachment-refs.js +31 -9
- package/conversation/conversation-transfer/export-conversation.d.ts +5 -1
- package/conversation/conversation-transfer/export-conversation.d.ts.map +1 -1
- package/conversation/conversation-transfer/export-conversation.js +19 -18
- package/conversation/conversation-transfer/import-conversation.d.ts +11 -6
- package/conversation/conversation-transfer/import-conversation.d.ts.map +1 -1
- package/conversation/conversation-transfer/import-conversation.js +65 -69
- package/conversation/conversation-transfer/progress.js +1 -1
- package/conversation/conversation-transfer/zip-export.js +1 -7
- package/conversation/conversation-transfer/zip-import.js +1 -1
- package/conversation/create-chat-stream-api.d.ts +24 -3
- package/conversation/create-chat-stream-api.d.ts.map +1 -1
- package/conversation/create-chat-stream-api.js +67 -56
- package/conversation/generation-registry.d.ts +30 -0
- package/conversation/generation-registry.d.ts.map +1 -0
- package/conversation/generation-registry.js +33 -0
- package/conversation/get-model-id-from-conversation-id.d.ts.map +1 -1
- package/conversation/get-model-id-from-conversation-id.js +1 -1
- package/conversation/message-utils.d.ts +6 -0
- package/conversation/message-utils.d.ts.map +1 -1
- package/conversation/message-utils.js +14 -10
- package/conversation/scheduled-task-grouping.d.ts +53 -0
- package/conversation/scheduled-task-grouping.d.ts.map +1 -0
- package/conversation/scheduled-task-grouping.js +45 -0
- package/conversation/useActiveConversationSync/useActiveConversationSync.d.ts +4 -2
- package/conversation/useActiveConversationSync/useActiveConversationSync.d.ts.map +1 -1
- package/conversation/useActiveConversationSync/useActiveConversationSync.js +19 -12
- package/conversation/useAttachmentUpload/useAttachmentUpload.d.ts.map +1 -1
- package/conversation/useAttachmentUpload/useAttachmentUpload.js +4 -1
- package/conversation/useConversationComposerDraft/useConversationComposerDraft.d.ts +39 -0
- package/conversation/useConversationComposerDraft/useConversationComposerDraft.d.ts.map +1 -0
- package/conversation/useConversationComposerDraft/useConversationComposerDraft.js +128 -0
- package/conversation/useConversationDiscovery/useConversationDiscovery.d.ts +22 -0
- package/conversation/useConversationDiscovery/useConversationDiscovery.d.ts.map +1 -0
- package/conversation/useConversationDiscovery/useConversationDiscovery.js +60 -0
- package/conversation/useConversationExport/useConversationExport.d.ts.map +1 -1
- package/conversation/useConversationExport/useConversationExport.js +113 -122
- package/conversation/useConversationHandlers/message-utils.js +2 -2
- package/conversation/useConversationHandlers/useConversationHandlers.js +41 -41
- package/conversation/useConversationImport/useConversationImport.js +24 -24
- package/conversation/useConversationPanelItems/useConversationPanelItems.d.ts +18 -5
- package/conversation/useConversationPanelItems/useConversationPanelItems.d.ts.map +1 -1
- package/conversation/useConversationPanelItems/useConversationPanelItems.js +34 -30
- package/conversation/useConversationScroll/useConversationScroll.d.ts.map +1 -1
- package/conversation/useConversationScroll/useConversationScroll.js +69 -72
- package/conversation/useConversationStream/conversation-path.js +2 -2
- package/conversation/useConversationStream/conversation-stream.types.d.ts +142 -0
- package/conversation/useConversationStream/conversation-stream.types.d.ts.map +1 -0
- package/conversation/useConversationStream/frame-scheduler.js +17 -17
- package/conversation/useConversationStream/generation-resume.d.ts +24 -2
- package/conversation/useConversationStream/generation-resume.d.ts.map +1 -1
- package/conversation/useConversationStream/generation-resume.js +110 -121
- package/conversation/useConversationStream/stream-errors.d.ts +10 -0
- package/conversation/useConversationStream/stream-errors.d.ts.map +1 -0
- package/conversation/useConversationStream/stream-errors.js +10 -0
- package/conversation/useConversationStream/stream-session.d.ts +51 -0
- package/conversation/useConversationStream/stream-session.d.ts.map +1 -0
- package/conversation/useConversationStream/stream-session.js +179 -0
- package/conversation/useConversationStream/useConversationReloadErrors.d.ts +25 -0
- package/conversation/useConversationStream/useConversationReloadErrors.d.ts.map +1 -0
- package/conversation/useConversationStream/useConversationReloadErrors.js +38 -0
- package/conversation/useConversationStream/useConversationStream.d.ts +3 -136
- package/conversation/useConversationStream/useConversationStream.d.ts.map +1 -1
- package/conversation/useConversationStream/useConversationStream.js +141 -325
- package/conversation/useConversationStream/useStopGeneration.d.ts +29 -0
- package/conversation/useConversationStream/useStopGeneration.d.ts.map +1 -0
- package/conversation/useConversationStream/useStopGeneration.js +48 -0
- package/conversation/useConversationStream/useStreamPathState.d.ts +39 -0
- package/conversation/useConversationStream/useStreamPathState.d.ts.map +1 -0
- package/conversation/useConversationStream/useStreamPathState.js +55 -0
- package/conversation/useConversationTitleEnrichmentController.d.ts +64 -0
- package/conversation/useConversationTitleEnrichmentController.d.ts.map +1 -0
- package/conversation/useConversationTitleEnrichmentController.js +155 -0
- package/conversation/useDeploymentChangeTracking.d.ts +14 -0
- package/conversation/useDeploymentChangeTracking.d.ts.map +1 -0
- package/conversation/useDeploymentChangeTracking.js +23 -0
- package/conversation/useEntityPreselection/useEntityPreselection.d.ts +108 -0
- package/conversation/useEntityPreselection/useEntityPreselection.d.ts.map +1 -0
- package/conversation/useEntityPreselection/useEntityPreselection.js +78 -0
- package/conversation/useMessageSelectionReply/useMessageSelectionReply.js +4 -10
- package/conversation/useTranscribeAudio/useTranscribeAudio.d.ts +8 -1
- package/conversation/useTranscribeAudio/useTranscribeAudio.d.ts.map +1 -1
- package/conversation/useTranscribeAudio/useTranscribeAudio.js +36 -27
- package/conversation/useVisibleConversationIdsReporter/useVisibleConversationIdsReporter.d.ts +16 -0
- package/conversation/useVisibleConversationIdsReporter/useVisibleConversationIdsReporter.d.ts.map +1 -0
- package/conversation/useVisibleConversationIdsReporter/useVisibleConversationIdsReporter.js +17 -0
- package/conversation-overlay.js +1 -2
- package/conversation-sources/stage-citations.d.ts +9 -0
- package/conversation-sources/stage-citations.d.ts.map +1 -0
- package/conversation-sources/stage-citations.js +8 -0
- package/conversation-sources/useConversationAnnotationPool/useConversationAnnotationPool.d.ts +4 -0
- package/conversation-sources/useConversationAnnotationPool/useConversationAnnotationPool.d.ts.map +1 -0
- package/conversation-sources/useConversationAnnotationPool/useConversationAnnotationPool.js +5 -0
- package/conversation-sources.js +3 -1
- package/conversation.js +45 -33
- package/entry-points/attachments.d.ts +1 -0
- package/entry-points/attachments.d.ts.map +1 -1
- package/entry-points/catalog.d.ts +17 -0
- package/entry-points/catalog.d.ts.map +1 -1
- package/entry-points/conversation-sources.d.ts +2 -0
- package/entry-points/conversation-sources.d.ts.map +1 -1
- package/entry-points/conversation.d.ts +13 -0
- package/entry-points/conversation.d.ts.map +1 -1
- package/entry-points/external-services.d.ts +6 -0
- package/entry-points/external-services.d.ts.map +1 -0
- package/entry-points/file-manager-canvas.d.ts +1 -0
- package/entry-points/file-manager-canvas.d.ts.map +1 -1
- package/entry-points/file-manager.d.ts +2 -0
- package/entry-points/file-manager.d.ts.map +1 -1
- package/entry-points/oauth.d.ts +1 -0
- package/entry-points/oauth.d.ts.map +1 -1
- package/entry-points/offline-credentials.d.ts +7 -0
- package/entry-points/offline-credentials.d.ts.map +1 -0
- package/entry-points/project.d.ts +20 -0
- package/entry-points/project.d.ts.map +1 -0
- package/entry-points/scheduled-tasks.d.ts +7 -0
- package/entry-points/scheduled-tasks.d.ts.map +1 -1
- package/entry-points/sharing.d.ts +4 -0
- package/entry-points/sharing.d.ts.map +1 -1
- package/entry-points/skill-editor.d.ts +2 -0
- package/entry-points/skill-editor.d.ts.map +1 -1
- package/entry-points/skills-state.d.ts +1 -0
- package/entry-points/skills-state.d.ts.map +1 -1
- package/entry-points/usage-limits.d.ts +9 -0
- package/entry-points/usage-limits.d.ts.map +1 -0
- package/entry-points/utils.d.ts +6 -0
- package/entry-points/utils.d.ts.map +1 -1
- package/entry-points/viewport-layout.d.ts +1 -0
- package/entry-points/viewport-layout.d.ts.map +1 -1
- package/external-services/useExternalServiceLogin.d.ts +99 -0
- package/external-services/useExternalServiceLogin.d.ts.map +1 -0
- package/external-services/useExternalServiceLogin.js +93 -0
- package/external-services.d.ts +2 -0
- package/external-services.js +5 -0
- package/file-manager-canvas.js +3 -2
- package/file-manager.js +32 -30
- package/files/attachment-canvas.d.ts +12 -0
- package/files/attachment-canvas.d.ts.map +1 -1
- package/files/attachment-canvas.js +18 -10
- package/files/attachment-dto-to-display.d.ts.map +1 -1
- package/files/attachment-dto-to-display.js +13 -12
- package/files/attachment-types.js +1 -1
- package/files/browser-download.d.ts +9 -0
- package/files/browser-download.d.ts.map +1 -0
- package/files/browser-download.js +23 -0
- package/files/create-files-api.d.ts +3 -4
- package/files/create-files-api.d.ts.map +1 -1
- package/files/create-files-api.js +1 -1
- package/files/create-upload-file-with-progress.d.ts +21 -1
- package/files/create-upload-file-with-progress.d.ts.map +1 -1
- package/files/create-upload-file-with-progress.js +50 -34
- package/files/dial-file-manager-copy-move.util.d.ts.map +1 -1
- package/files/dial-file-manager-copy-move.util.js +28 -28
- package/files/dial-file-manager-mapping.util.d.ts +23 -3
- package/files/dial-file-manager-mapping.util.d.ts.map +1 -1
- package/files/dial-file-manager-mapping.util.js +97 -69
- package/files/dial-file-manager.types.d.ts +15 -5
- package/files/dial-file-manager.types.d.ts.map +1 -1
- package/files/dial-file-to-attachment.js +3 -3
- package/files/dial-file.d.ts +19 -0
- package/files/dial-file.d.ts.map +1 -1
- package/files/dial-file.js +20 -12
- package/files/dial-files-api.d.ts +2 -2
- package/files/dial-files-api.d.ts.map +1 -1
- package/files/download-progress.d.ts +33 -0
- package/files/download-progress.d.ts.map +1 -0
- package/files/download-progress.js +28 -0
- package/files/source-content.js +1 -1
- package/files/useDialFileListing/useDialFileListing.d.ts.map +1 -1
- package/files/useDialFileListing/useDialFileListing.js +97 -109
- package/files/useDialFileManager/useDialFileManager.d.ts.map +1 -1
- package/files/useDialFileManager/useDialFileManager.js +5 -2
- package/files/useDialFileManagerSections/useDialFileManagerSections.d.ts.map +1 -1
- package/files/useDialFileManagerSections/useDialFileManagerSections.js +59 -68
- package/files/useDialFileManagerTabConfig/useDialFileManagerTabConfig.js +1 -1
- package/files/useDialFileMetadata/useDialFileMetadata.js +3 -3
- package/files/useDialFileMutations/useDialFileMutations.d.ts +9 -0
- package/files/useDialFileMutations/useDialFileMutations.d.ts.map +1 -1
- package/files/useDialFileMutations/useDialFileMutations.js +232 -159
- package/files/useDialFilePreview/useDialFilePreview.d.ts +33 -0
- package/files/useDialFilePreview/useDialFilePreview.d.ts.map +1 -0
- package/files/useDialFilePreview/useDialFilePreview.js +45 -0
- package/files/useDialFileUploadBatch/useDialFileUploadBatch.d.ts.map +1 -1
- package/files/useDialFileUploadBatch/useDialFileUploadBatch.js +114 -103
- package/files/useFileAttachmentModalState/useFileAttachmentModalState.d.ts +25 -0
- package/files/useFileAttachmentModalState/useFileAttachmentModalState.d.ts.map +1 -0
- package/files/useFileAttachmentModalState/useFileAttachmentModalState.js +19 -0
- package/files/useFileAttachmentPicker/useFileAttachmentPicker.js +2 -2
- package/files/useUnshareConfirmationState/useUnshareConfirmationState.d.ts +23 -0
- package/files/useUnshareConfirmationState/useUnshareConfirmationState.d.ts.map +1 -0
- package/files/useUnshareConfirmationState/useUnshareConfirmationState.js +18 -0
- package/index.d.ts +96 -0
- package/index.d.ts.map +1 -1
- package/index.js +244 -149
- package/mcp-apps/mcp-apps-api-client.d.ts.map +1 -1
- package/mcp-apps/mcp-apps-api-client.js +18 -17
- package/mcp-apps/useMcpAppHostContext/useMcpAppHostContext.d.ts +3 -2
- package/mcp-apps/useMcpAppHostContext/useMcpAppHostContext.d.ts.map +1 -1
- package/mcp-apps/useMcpAppHostContext/useMcpAppHostContext.js +28 -10
- package/mcp-apps/useMcpAppTools/useMcpAppTools.d.ts.map +1 -1
- package/mcp-apps/useMcpAppTools/useMcpAppTools.js +45 -45
- package/oauth/authorize-url.d.ts +7 -1
- package/oauth/authorize-url.d.ts.map +1 -1
- package/oauth/authorize-url.js +14 -4
- package/oauth/callback-exchange.d.ts +49 -0
- package/oauth/callback-exchange.d.ts.map +1 -0
- package/oauth/callback-exchange.js +29 -0
- package/oauth/handshake.js +3 -10
- package/oauth/models.d.ts +25 -0
- package/oauth/models.d.ts.map +1 -1
- package/oauth/popup.d.ts.map +1 -1
- package/oauth/popup.js +19 -17
- package/oauth/toolset-id.d.ts +7 -0
- package/oauth/toolset-id.d.ts.map +1 -1
- package/oauth/toolset-id.js +9 -2
- package/oauth/useOAuthCallbackCompletion/useOAuthCallbackCompletion.d.ts.map +1 -1
- package/oauth/useOAuthCallbackCompletion/useOAuthCallbackCompletion.js +41 -42
- package/oauth/useToolsetLogin/useToolsetLogin.d.ts +7 -1
- package/oauth/useToolsetLogin/useToolsetLogin.d.ts.map +1 -1
- package/oauth/useToolsetLogin/useToolsetLogin.js +51 -42
- package/oauth.js +9 -8
- package/offline-credentials/map-offline-credentials-response.d.ts +20 -0
- package/offline-credentials/map-offline-credentials-response.d.ts.map +1 -0
- package/offline-credentials/map-offline-credentials-response.js +17 -0
- package/offline-credentials/scheduled-tasks-login-banner.d.ts +31 -0
- package/offline-credentials/scheduled-tasks-login-banner.d.ts.map +1 -0
- package/offline-credentials/scheduled-tasks-login-banner.js +17 -0
- package/offline-credentials/useOfflineCredentialsAuth/useOfflineCredentialsAuth.d.ts +58 -0
- package/offline-credentials/useOfflineCredentialsAuth/useOfflineCredentialsAuth.d.ts.map +1 -0
- package/offline-credentials/useOfflineCredentialsAuth/useOfflineCredentialsAuth.js +37 -0
- package/offline-credentials/useOfflineCredentialsGate/useOfflineCredentialsGate.d.ts +61 -0
- package/offline-credentials/useOfflineCredentialsGate/useOfflineCredentialsGate.d.ts.map +1 -0
- package/offline-credentials/useOfflineCredentialsGate/useOfflineCredentialsGate.js +37 -0
- package/offline-credentials/useOfflineCredentialsLogin/useOfflineCredentialsLogin.d.ts +28 -0
- package/offline-credentials/useOfflineCredentialsLogin/useOfflineCredentialsLogin.d.ts.map +1 -0
- package/offline-credentials/useOfflineCredentialsLogin/useOfflineCredentialsLogin.js +29 -0
- package/offline-credentials.d.ts +2 -0
- package/offline-credentials.js +7 -0
- package/package.json +49 -25
- package/project/create-project-chat.d.ts +34 -0
- package/project/create-project-chat.d.ts.map +1 -0
- package/project/create-project-chat.js +27 -0
- package/project/project-conversation-data-source.d.ts +36 -0
- package/project/project-conversation-data-source.d.ts.map +1 -0
- package/project/project-conversation-data-source.js +67 -0
- package/project/project-events.d.ts +14 -0
- package/project/project-events.d.ts.map +1 -0
- package/project/project-events.js +25 -0
- package/project/project-file-preview.d.ts +32 -0
- package/project/project-file-preview.d.ts.map +1 -0
- package/project/project-file-preview.js +25 -0
- package/project/project-form-errors.d.ts +23 -0
- package/project/project-form-errors.d.ts.map +1 -0
- package/project/project-form-errors.js +46 -0
- package/project/project-limits.d.ts +17 -0
- package/project/project-limits.d.ts.map +1 -0
- package/project/project-limits.js +11 -0
- package/project/project-mapping.d.ts +16 -0
- package/project/project-mapping.d.ts.map +1 -0
- package/project/project-mapping.js +43 -0
- package/project/project-refresh.d.ts +12 -0
- package/project/project-refresh.d.ts.map +1 -0
- package/project/project-refresh.js +6 -0
- package/project/project-viewed-marks.d.ts +9 -0
- package/project/project-viewed-marks.d.ts.map +1 -0
- package/project/project-viewed-marks.js +8 -0
- package/project/project-watch-stream.d.ts +26 -0
- package/project/project-watch-stream.d.ts.map +1 -0
- package/project/project-watch-stream.js +39 -0
- package/project/projects-api-client.d.ts +179 -0
- package/project/projects-api-client.d.ts.map +1 -0
- package/project/projects-api-client.js +90 -0
- package/project/use-pinned-project-chats.d.ts +58 -0
- package/project/use-pinned-project-chats.d.ts.map +1 -0
- package/project/use-pinned-project-chats.js +269 -0
- package/project/use-project-actions.d.ts +53 -0
- package/project/use-project-actions.d.ts.map +1 -0
- package/project/use-project-actions.js +92 -0
- package/project/use-project-artifacts.d.ts +24 -0
- package/project/use-project-artifacts.d.ts.map +1 -0
- package/project/use-project-artifacts.js +78 -0
- package/project/use-project-conversations.d.ts +32 -0
- package/project/use-project-conversations.d.ts.map +1 -0
- package/project/use-project-conversations.js +200 -0
- package/project/use-project-draft.d.ts +46 -0
- package/project/use-project-draft.d.ts.map +1 -0
- package/project/use-project-draft.js +54 -0
- package/project/use-project-file-preview.d.ts +47 -0
- package/project/use-project-file-preview.d.ts.map +1 -0
- package/project/use-project-file-preview.js +50 -0
- package/project/use-project-submit.d.ts +49 -0
- package/project/use-project-submit.d.ts.map +1 -0
- package/project/use-project-submit.js +73 -0
- package/project/use-project-watch.d.ts +24 -0
- package/project/use-project-watch.d.ts.map +1 -0
- package/project/use-project-watch.js +41 -0
- package/project/use-project.d.ts +23 -0
- package/project/use-project.d.ts.map +1 -0
- package/project/use-project.js +73 -0
- package/project/use-projects.d.ts +27 -0
- package/project/use-projects.d.ts.map +1 -0
- package/project/use-projects.js +92 -0
- package/project.d.ts +2 -0
- package/project.js +20 -0
- package/prompt/prompt.d.ts +11 -0
- package/prompt/prompt.d.ts.map +1 -1
- package/prompt/prompt.js +7 -3
- package/scheduled-task/active-scheduled-task.d.ts +58 -0
- package/scheduled-task/active-scheduled-task.d.ts.map +1 -0
- package/scheduled-task/active-scheduled-task.js +18 -0
- package/scheduled-task/check-scheduled-task-auth-session-error.d.ts +27 -0
- package/scheduled-task/check-scheduled-task-auth-session-error.d.ts.map +1 -0
- package/scheduled-task/check-scheduled-task-auth-session-error.js +17 -0
- package/scheduled-task/scheduled-task-description.d.ts +2 -0
- package/scheduled-task/scheduled-task-description.d.ts.map +1 -1
- package/scheduled-task/scheduled-task-description.js +33 -24
- package/scheduled-task/scheduled-task-display.d.ts +106 -0
- package/scheduled-task/scheduled-task-display.d.ts.map +1 -0
- package/scheduled-task/scheduled-task-display.js +69 -0
- package/scheduled-task/scheduled-task-next-occurrence.d.ts +9 -0
- package/scheduled-task/scheduled-task-next-occurrence.d.ts.map +1 -0
- package/scheduled-task/scheduled-task-next-occurrence.js +20 -0
- package/scheduled-task/scheduled-task-preparation.d.ts +1 -1
- package/scheduled-task/scheduled-task-trigger.d.ts.map +1 -1
- package/scheduled-task/scheduled-task-trigger.js +75 -48
- package/scheduled-task/use-scheduled-task-runs.js +19 -31
- package/scheduled-task/use-scheduled-tasks.d.ts +2 -2
- package/scheduled-task/use-scheduled-tasks.js +1 -1
- package/scheduled-task/useActiveScheduledTaskDetails.d.ts +18 -0
- package/scheduled-task/useActiveScheduledTaskDetails.d.ts.map +1 -0
- package/scheduled-task/useActiveScheduledTaskDetails.js +40 -0
- package/scheduled-task/useScheduledTaskSkillDisplayNames/useScheduledTaskSkillDisplayNames.d.ts +17 -0
- package/scheduled-task/useScheduledTaskSkillDisplayNames/useScheduledTaskSkillDisplayNames.d.ts.map +1 -0
- package/scheduled-task/useScheduledTaskSkillDisplayNames/useScheduledTaskSkillDisplayNames.js +29 -0
- package/scheduled-task/useStartScheduledTask.d.ts +41 -0
- package/scheduled-task/useStartScheduledTask.d.ts.map +1 -0
- package/scheduled-task/useStartScheduledTask.js +169 -0
- package/scheduled-tasks.js +13 -6
- package/scroll-anchoring.js +1 -2
- package/share-invitation/models.d.ts +46 -0
- package/share-invitation/models.d.ts.map +1 -0
- package/share-invitation/share-invitation-error.d.ts +6 -0
- package/share-invitation/share-invitation-error.d.ts.map +1 -0
- package/share-invitation/share-invitation-error.js +37 -0
- package/share-invitation/types.d.ts +10 -0
- package/share-invitation/types.d.ts.map +1 -0
- package/share-invitation/types.js +6 -0
- package/share-invitation/useAcceptShareInvitation/useAcceptShareInvitation.d.ts +9 -0
- package/share-invitation/useAcceptShareInvitation/useAcceptShareInvitation.d.ts.map +1 -0
- package/share-invitation/useAcceptShareInvitation/useAcceptShareInvitation.js +26 -0
- package/shared/application-schema.js +3 -3
- package/shared/client-channel.d.ts +53 -0
- package/shared/client-channel.d.ts.map +1 -0
- package/shared/client-channel.js +6 -0
- package/shared/cron-day-of-month.js +10 -10
- package/shared/external-services.d.ts +1 -1
- package/shared/locale.d.ts +6 -2
- package/shared/locale.d.ts.map +1 -1
- package/shared/locale.js +4 -4
- package/shared/read-sse-events.d.ts +10 -0
- package/shared/read-sse-events.d.ts.map +1 -0
- package/shared/read-sse-events.js +33 -0
- package/shared/serialized-writer.d.ts +12 -0
- package/shared/serialized-writer.d.ts.map +1 -0
- package/shared/serialized-writer.js +44 -0
- package/shared/sleep.d.ts +3 -0
- package/shared/sleep.d.ts.map +1 -0
- package/shared/sleep.js +13 -0
- package/shared/theme-colors.d.ts +16 -0
- package/shared/theme-colors.d.ts.map +1 -0
- package/shared/theme-colors.js +14 -0
- package/shared/url-cleanup.d.ts +18 -0
- package/shared/url-cleanup.d.ts.map +1 -0
- package/shared/url-cleanup.js +18 -0
- package/shared/usage-stat.d.ts +3 -0
- package/shared/usage-stat.d.ts.map +1 -0
- package/shared/usage-stat.js +4 -0
- package/shared/useAppVersionCheck/useAppVersionCheck.d.ts +22 -0
- package/shared/useAppVersionCheck/useAppVersionCheck.d.ts.map +1 -0
- package/shared/useAppVersionCheck/useAppVersionCheck.js +36 -0
- package/shared/usePersistedState/usePersistedState.d.ts +28 -0
- package/shared/usePersistedState/usePersistedState.d.ts.map +1 -0
- package/shared/usePersistedState/usePersistedState.js +24 -0
- package/sharing.js +5 -2
- package/signin-interrupt/models.d.ts +48 -0
- package/signin-interrupt/models.d.ts.map +1 -0
- package/signin-interrupt/signin-row-info.d.ts +10 -0
- package/signin-interrupt/signin-row-info.d.ts.map +1 -0
- package/signin-interrupt/signin-row-info.js +21 -0
- package/signin-interrupt/types.d.ts +28 -0
- package/signin-interrupt/types.d.ts.map +1 -0
- package/signin-interrupt/types.js +10 -0
- package/signin-interrupt/useSigninInterrupt/useSigninInterrupt.d.ts +52 -0
- package/signin-interrupt/useSigninInterrupt/useSigninInterrupt.d.ts.map +1 -0
- package/signin-interrupt/useSigninInterrupt/useSigninInterrupt.js +270 -0
- package/skill/skill-file-batch-validation.d.ts +4 -0
- package/skill/skill-file-batch-validation.d.ts.map +1 -1
- package/skill/skill-file-batch-validation.js +34 -33
- package/skill/skill-lookup.d.ts +20 -0
- package/skill/skill-lookup.d.ts.map +1 -0
- package/skill/skill-lookup.js +12 -0
- package/skill/skill-types.js +1 -1
- package/skill/skill.d.ts +5 -1
- package/skill/skill.d.ts.map +1 -1
- package/skill/skill.js +27 -28
- package/skill/useSkillArchiveImport/useSkillArchiveImport.js +1 -7
- package/skill/useSkillEditorSubmit.d.ts +15 -1
- package/skill/useSkillEditorSubmit.d.ts.map +1 -1
- package/skill/useSkillEditorSubmit.js +164 -87
- package/skill/useSkillFileActions.d.ts +2 -0
- package/skill/useSkillFileActions.d.ts.map +1 -1
- package/skill/useSkillFileActions.js +36 -21
- package/skill-editor/useSkillFilePreviewSyncController.d.ts +41 -0
- package/skill-editor/useSkillFilePreviewSyncController.d.ts.map +1 -0
- package/skill-editor/useSkillFilePreviewSyncController.js +58 -0
- package/skill-editor/useSkillFileSystemPicker/useSkillFileSystemPicker.d.ts +23 -0
- package/skill-editor/useSkillFileSystemPicker/useSkillFileSystemPicker.d.ts.map +1 -0
- package/skill-editor/useSkillFileSystemPicker/useSkillFileSystemPicker.js +43 -0
- package/skill-editor.js +11 -9
- package/skills-state.js +3 -2
- package/source-content.js +1 -2
- package/usage/map-usage-data-to-dashboard.d.ts +1 -16
- package/usage/map-usage-data-to-dashboard.d.ts.map +1 -1
- package/usage/map-user-usage-to-model-limits.d.ts.map +1 -1
- package/usage/map-user-usage-to-model-limits.js +24 -24
- package/usage/usage-banner-source.d.ts +24 -0
- package/usage/usage-banner-source.d.ts.map +1 -0
- package/usage/usage-banner-source.js +61 -0
- package/usage/usage-gauge.d.ts +3 -0
- package/usage/usage-gauge.d.ts.map +1 -0
- package/usage/usage-gauge.js +4 -0
- package/usage/usage-period.d.ts +7 -0
- package/usage/usage-period.d.ts.map +1 -0
- package/usage/usage-period.js +6 -0
- package/usage/usage-reset-time.d.ts +78 -0
- package/usage/usage-reset-time.d.ts.map +1 -0
- package/usage/usage-reset-time.js +82 -0
- package/usage/useDeploymentUsageLimits/useDeploymentUsageLimits.d.ts +56 -0
- package/usage/useDeploymentUsageLimits/useDeploymentUsageLimits.d.ts.map +1 -0
- package/usage/useDeploymentUsageLimits/useDeploymentUsageLimits.js +34 -0
- package/usage/useRefreshUsageAfterGeneration/useRefreshUsageAfterGeneration.d.ts +16 -0
- package/usage/useRefreshUsageAfterGeneration/useRefreshUsageAfterGeneration.d.ts.map +1 -0
- package/usage/useRefreshUsageAfterGeneration/useRefreshUsageAfterGeneration.js +14 -0
- package/usage/useUsageLimitBanner/useUsageLimitBanner.d.ts +58 -0
- package/usage/useUsageLimitBanner/useUsageLimitBanner.d.ts.map +1 -0
- package/usage/useUsageLimitBanner/useUsageLimitBanner.js +70 -0
- package/usage/useUsageLimitBannerDismissal/useUsageLimitBannerDismissal.d.ts +14 -0
- package/usage/useUsageLimitBannerDismissal/useUsageLimitBannerDismissal.d.ts.map +1 -0
- package/usage/useUsageLimitBannerDismissal/useUsageLimitBannerDismissal.js +19 -0
- package/usage-limits.d.ts +2 -0
- package/usage-limits.js +10 -0
- package/useChatSettingsFormConfig/useChatSettingsFormConfig.d.ts +2 -0
- package/useChatSettingsFormConfig/useChatSettingsFormConfig.d.ts.map +1 -1
- package/useChatSettingsFormConfig/useChatSettingsFormConfig.js +25 -21
- package/usePageFileDrag/usePageFileDrag.js +3 -3
- package/useShareLink/useShareLink.d.ts.map +1 -1
- package/useShareLink/useShareLink.js +18 -17
- package/utils.js +23 -17
- package/viewport-layout/canvas-width.d.ts +39 -0
- package/viewport-layout/canvas-width.d.ts.map +1 -0
- package/viewport-layout/canvas-width.js +23 -0
- package/viewport-layout.js +2 -1
package/skill-editor.js
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
import { SKILL_FILE_UPLOAD_MAX_BYTES as e, SKILL_FOLDER_MARKER as t, SKILL_MANIFEST_FILE as n, SKILL_TEXT_FIELD_MAX_LENGTHS as r, SKILL_UPLOAD_MAX_FILES as i, SKILL_UPLOAD_MAX_TOTAL_BYTES as a,
|
|
2
|
-
import { parseSkillManifestDocument as
|
|
3
|
-
import { validateSkillFileBatch as
|
|
4
|
-
import { skillFileToAttachment as
|
|
5
|
-
import { SkillEditorLoadState as
|
|
6
|
-
import { useSkillEditorSubmit as
|
|
7
|
-
import { useSkillFileActions as
|
|
8
|
-
import { SkillArchiveImportErrorKind as
|
|
9
|
-
|
|
1
|
+
import { SKILL_FILE_UPLOAD_MAX_BYTES as e, SKILL_FOLDER_MARKER as t, SKILL_MANIFEST_FILE as n, SKILL_TEXT_FIELD_MAX_LENGTHS as r, SKILL_UPLOAD_MAX_FILES as i, SKILL_UPLOAD_MAX_TOTAL_BYTES as a, SkillTextField as o, buildSkillFilesPayload as s, buildSkillManifest as c, buildSkillManifestForSubmit as l, buildSkillManifestFromFrontmatter as u, getSkillFieldLengthViolations as d, isSkillFolderMarkerPath as f, isValidSkillRelativePath as p, nameFromPath as m, normalizeSkillName as h, parseSkillManifest as g, skillFileBytesToBlob as _, skillFolderMarkerParent as v, startsWithFrontmatterBlock as y, unpackSkillArchive as b } from "./skill/skill.js";
|
|
2
|
+
import { parseSkillManifestDocument as x } from "./skill/skill-manifest.js";
|
|
3
|
+
import { validateSkillFileBatch as S } from "./skill/skill-file-batch-validation.js";
|
|
4
|
+
import { skillFileToAttachment as C } from "./skill/skill-file-preview.js";
|
|
5
|
+
import { SkillEditorLoadState as w, useSkillEditorLoad as T } from "./skill/useSkillEditorLoad.js";
|
|
6
|
+
import { useSkillEditorSubmit as E } from "./skill/useSkillEditorSubmit.js";
|
|
7
|
+
import { useSkillFileActions as D } from "./skill/useSkillFileActions.js";
|
|
8
|
+
import { SkillArchiveImportErrorKind as O, SkillArchiveImportStatus as k, SkillArchiveSelectionRejectionReason as A, classifySkillArchiveImportError as j, useSkillArchiveImport as M } from "./skill/useSkillArchiveImport/useSkillArchiveImport.js";
|
|
9
|
+
import { useSkillFileSystemPicker as N } from "./skill-editor/useSkillFileSystemPicker/useSkillFileSystemPicker.js";
|
|
10
|
+
import { SkillFilePreviewState as P, useSkillFilePreviewSyncController as F } from "./skill-editor/useSkillFilePreviewSyncController.js";
|
|
11
|
+
export { e as SKILL_FILE_UPLOAD_MAX_BYTES, t as SKILL_FOLDER_MARKER, n as SKILL_MANIFEST_FILE, r as SKILL_TEXT_FIELD_MAX_LENGTHS, i as SKILL_UPLOAD_MAX_FILES, a as SKILL_UPLOAD_MAX_TOTAL_BYTES, O as SkillArchiveImportErrorKind, k as SkillArchiveImportStatus, A as SkillArchiveSelectionRejectionReason, w as SkillEditorLoadState, P as SkillFilePreviewState, o as SkillTextField, s as buildSkillFilesPayload, c as buildSkillManifest, l as buildSkillManifestForSubmit, u as buildSkillManifestFromFrontmatter, j as classifySkillArchiveImportError, d as getSkillFieldLengthViolations, f as isSkillFolderMarkerPath, p as isValidSkillRelativePath, m as nameFromPath, h as normalizeSkillName, g as parseSkillManifest, x as parseSkillManifestDocument, _ as skillFileBytesToBlob, C as skillFileToAttachment, v as skillFolderMarkerParent, y as startsWithFrontmatterBlock, b as unpackSkillArchive, M as useSkillArchiveImport, T as useSkillEditorLoad, E as useSkillEditorSubmit, D as useSkillFileActions, F as useSkillFilePreviewSyncController, N as useSkillFileSystemPicker, S as validateSkillFileBatch };
|
package/skills-state.js
CHANGED
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import { findSkillByUrl as e } from "./skill/skill-lookup.js";
|
|
2
|
+
import { useSkillsState as t } from "./skill/useSkillsState/useSkillsState.js";
|
|
3
|
+
export { e as findSkillByUrl, t as useSkillsState };
|
package/source-content.js
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export { e as getUrlFileName, t as isExternalSourcePreviewable, n as resolveExternalSourceContentType };
|
|
1
|
+
export { getUrlFileName, isExternalSourcePreviewable, resolveExternalSourceContentType } from "./files/source-content.js";
|
|
@@ -1,23 +1,8 @@
|
|
|
1
1
|
import { UserLimitStatsResponseDto } from '@epam/ai-dial-chat-api-client';
|
|
2
2
|
import { UsageLimitCardData } from '@epam/ai-dial-usage-dashboard';
|
|
3
|
+
import { ResetTimeDisplay } from './usage-reset-time';
|
|
3
4
|
/** A translate function compatible with i18next's `TFunction`. */
|
|
4
5
|
type Translate = (key: string, options?: Record<string, unknown>) => string;
|
|
5
|
-
/**
|
|
6
|
-
* One reset time, already parsed and formatted by the host. Declared
|
|
7
|
-
* structurally here so this library never imports an application type; the
|
|
8
|
-
* host passes a value that satisfies this shape (e.g. `apps/chat`'s own
|
|
9
|
-
* `ResetTimeDisplay`).
|
|
10
|
-
*/
|
|
11
|
-
export interface ResetTimeDisplay {
|
|
12
|
-
/** Exclusive end of the period as an epoch ms value, for the host's boundary scheduling. */
|
|
13
|
-
resetsAtMs: number;
|
|
14
|
-
/** Machine-readable instant for a `<time dateTime>` attribute. */
|
|
15
|
-
isoValue: string;
|
|
16
|
-
/** Visible reset line. */
|
|
17
|
-
label: string;
|
|
18
|
-
/** Accessible expansion of the reset line. */
|
|
19
|
-
ariaLabel: string;
|
|
20
|
-
}
|
|
21
6
|
/** Formats a raw `resetsAt` into display strings, or returns `undefined` when it cannot be formatted. */
|
|
22
7
|
export type FormatResetTime = (resetsAt: string | undefined) => ResetTimeDisplay | undefined;
|
|
23
8
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"map-usage-data-to-dashboard.d.ts","sourceRoot":"","sources":["../../src/usage/map-usage-data-to-dashboard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,yBAAyB,EAC1B,MAAM,+BAA+B,CAAC;AAEvC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"map-usage-data-to-dashboard.d.ts","sourceRoot":"","sources":["../../src/usage/map-usage-data-to-dashboard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,yBAAyB,EAC1B,MAAM,+BAA+B,CAAC;AAEvC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAExE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,kEAAkE;AAClE,KAAK,SAAS,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,CAAC;AAE5E,yGAAyG;AACzG,MAAM,MAAM,eAAe,GAAG,CAC5B,QAAQ,EAAE,MAAM,GAAG,SAAS,KACzB,gBAAgB,GAAG,SAAS,CAAC;AAElC;;;;GAIG;AACH,eAAO,MAAM,oBAAoB;IAC/B,2DAA2D;;IAE3D,kEAAkE;;IAElE,gEAAgE;;IAEhE,mEAAmE;;IAEnE,kEAAkE;;IAElE,oEAAoE;;IAEpE,sEAAsE;;IAEtE,sHAAsH;;CAE9G,CAAC;AA8FX;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,GAClC,OAAO,yBAAyB,GAAG,SAAS,EAC5C,GAAG,SAAS,EACZ,iBAAiB,eAAe,KAC/B,kBAAkB,EAoCpB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"map-user-usage-to-model-limits.d.ts","sourceRoot":"","sources":["../../src/usage/map-user-usage-to-model-limits.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EAGjB,yBAAyB,EAC1B,MAAM,+BAA+B,CAAC;AAGvC,OAAO,KAAK,EAIV,wBAAwB,EACxB,aAAa,EACd,MAAM,+BAA+B,CAAC;AAMvC,
|
|
1
|
+
{"version":3,"file":"map-user-usage-to-model-limits.d.ts","sourceRoot":"","sources":["../../src/usage/map-user-usage-to-model-limits.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EAGjB,yBAAyB,EAC1B,MAAM,+BAA+B,CAAC;AAGvC,OAAO,KAAK,EAIV,wBAAwB,EACxB,aAAa,EACd,MAAM,+BAA+B,CAAC;AAMvC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAErE,YAAY,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAErE,kEAAkE;AAClE,KAAK,SAAS,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,CAAC;AAE5E,oFAAoF;AACpF,KAAK,cAAc,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,KAAK,MAAM,GAAG,SAAS,CAAC;AAE1E,2EAA2E;AAC3E,KAAK,kBAAkB,GAAG,CACxB,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,GAAG,IAAI,EACxD,MAAM,EAAE,MAAM,KACX,MAAM,CAAC;AAmBZ;;;;GAIG;AACH,eAAO,MAAM,4BAA4B;IACvC,oEAAoE;;IAEpE,oEAAoE;;IAEpE,oEAAoE;;IAEpE,yFAAyF;;IAEzF,qFAAqF;;IAErF,iDAAiD;;IAEjD,kEAAkE;;IAElE,oEAAoE;;IAEpE,wGAAwG;;IAExG,sEAAsE;;IAEtE,sHAAsH;;IAEtH,oEAAoE;;IAEpE,8EAA8E;;IAE9E,sFAAsF;;CAE9E,CAAC;AA+HX;;;;GAIG;AACH,eAAO,MAAM,oCAAoC,GAC/C,OAAO,yBAAyB,GAAG,SAAS,EAC5C,cAAc,MAAM,EACpB,GAAG,SAAS,EACZ,kBAAiB,eAA6B,KAC7C,wBAsBD,CAAC;AAkMH;;;;;;;;GAQG;AACH,eAAO,MAAM,yBAAyB,GACpC,OAAO,yBAAyB,GAAG,SAAS,EAC5C,iBAAiB,iBAAiB,EAAE,EACpC,cAAc,MAAM,EACpB,GAAG,SAAS,EACZ,gBAAgB,cAAc,EAC9B,oBAAoB,kBAAkB,KACrC,aAAa,EAgIf,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { normalizeDeploymentId as e } from "../catalog/deployment-id.js";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { DeploymentItemDtoTypeEnum as t } from "@epam/ai-dial-chat-api-client";
|
|
3
|
+
import { formatCost as n } from "@epam/ai-dial-chat-shared";
|
|
4
4
|
import { ModelLimitMetricKind as r, ModelLimitStatus as i } from "@epam/ai-dial-usage-dashboard";
|
|
5
5
|
//#region src/usage/map-user-usage-to-model-limits.ts
|
|
6
6
|
var a = 2 ** 53, o = 75, s = new Intl.NumberFormat(void 0, {
|
|
@@ -53,10 +53,10 @@ var a = 2 ** 53, o = 75, s = new Intl.NumberFormat(void 0, {
|
|
|
53
53
|
let t = Math.max(0, e.used), n = Math.max(0, e.total);
|
|
54
54
|
return p(n > 0 ? t / n * 100 : 100);
|
|
55
55
|
}, h = (e) => e === i.WithinLimits || e === i.RunningLow || e === i.LimitReached, g = (e, t, n, r, a) => {
|
|
56
|
-
let o = e?.[t.field], s = m(o), c = a(o?.resetsAt), u = r(t.labelKey).toLocaleLowerCase(n);
|
|
57
|
-
return {
|
|
56
|
+
let o = e?.[t.field], s = m(o), c = a(o?.resetsAt), u = r(t.labelKey).toLocaleLowerCase(n), d;
|
|
57
|
+
return s === i.LimitReached ? d = r(l.overallCostLimitReachedTooltip, { period: u }) : s === i.RunningLow && (d = r(l.overallCostLimitRunningLowTooltip, { period: u })), {
|
|
58
58
|
status: s,
|
|
59
|
-
tooltipLabel:
|
|
59
|
+
tooltipLabel: d,
|
|
60
60
|
...c ? {
|
|
61
61
|
resetLabel: c.label,
|
|
62
62
|
resetIsoValue: c.isoValue,
|
|
@@ -95,9 +95,9 @@ var a = 2 ** 53, o = 75, s = new Intl.NumberFormat(void 0, {
|
|
|
95
95
|
percent: Math.round(m)
|
|
96
96
|
})
|
|
97
97
|
};
|
|
98
|
-
}, x = (e,
|
|
99
|
-
if (!f(e)) return y(
|
|
100
|
-
let i = Math.max(0, e.used), o =
|
|
98
|
+
}, x = (e, t) => {
|
|
99
|
+
if (!f(e)) return y(t);
|
|
100
|
+
let i = Math.max(0, e.used), o = t(l.spentLabel, { amount: n(i) });
|
|
101
101
|
if (e.total >= a) return {
|
|
102
102
|
kind: r.Unlimited,
|
|
103
103
|
usedLabel: o,
|
|
@@ -107,12 +107,12 @@ var a = 2 ** 53, o = 75, s = new Intl.NumberFormat(void 0, {
|
|
|
107
107
|
return {
|
|
108
108
|
kind: r.Finite,
|
|
109
109
|
usedLabel: o,
|
|
110
|
-
totalLabel:
|
|
110
|
+
totalLabel: n(s),
|
|
111
111
|
usedPercent: c,
|
|
112
112
|
status: p(c),
|
|
113
|
-
ariaLabel:
|
|
114
|
-
used:
|
|
115
|
-
total:
|
|
113
|
+
ariaLabel: t(l.progressAriaLabel, {
|
|
114
|
+
used: n(i),
|
|
115
|
+
total: n(s),
|
|
116
116
|
percent: Math.round(c)
|
|
117
117
|
})
|
|
118
118
|
};
|
|
@@ -135,31 +135,31 @@ var a = 2 ** 53, o = 75, s = new Intl.NumberFormat(void 0, {
|
|
|
135
135
|
supportingLabel: n(l.includesCalledModelsLabel)
|
|
136
136
|
} : i
|
|
137
137
|
};
|
|
138
|
-
}, E = (e) => e.some((e) => f(e) && e.used > 0), D = (
|
|
139
|
-
let c =
|
|
138
|
+
}, E = (e) => e.some((e) => f(e) && e.used > 0), D = (n, r, i, a, o, s) => {
|
|
139
|
+
let c = n?.deployments;
|
|
140
140
|
if (c == null) return [];
|
|
141
|
-
let d = new Map(r.filter((e) => e.type ===
|
|
142
|
-
return Object.keys(c).map((
|
|
143
|
-
let r = d.get(e(
|
|
144
|
-
if (r?.type ===
|
|
145
|
-
let e = T(m, u.day, a),
|
|
141
|
+
let d = new Map(r.filter((e) => e.type === t.Model || e.type === t.Application).map((t) => [e(t.id), t])), f = v(n, i, a);
|
|
142
|
+
return Object.keys(c).map((n) => {
|
|
143
|
+
let r = d.get(e(n)), p = r == null ? n : s(r.displayName, i) || r.id, m = c[n], h = o(r?.iconUrl);
|
|
144
|
+
if (r?.type === t.Application) {
|
|
145
|
+
let e = T(m, u.day, a), t = T(m, u.week, a), i = T(m, u.month, a);
|
|
146
146
|
return {
|
|
147
147
|
row: {
|
|
148
|
-
id:
|
|
148
|
+
id: n,
|
|
149
149
|
name: p,
|
|
150
150
|
version: r.displayVersion,
|
|
151
151
|
avatarSrc: h,
|
|
152
152
|
typeLabel: a(l.applicationTypeLabel),
|
|
153
153
|
day: e,
|
|
154
|
-
week:
|
|
154
|
+
week: t,
|
|
155
155
|
month: i,
|
|
156
156
|
status: w([
|
|
157
157
|
e.tokens,
|
|
158
|
-
|
|
158
|
+
t.tokens,
|
|
159
159
|
i.tokens
|
|
160
160
|
], [
|
|
161
161
|
e.cost,
|
|
162
|
-
|
|
162
|
+
t.cost,
|
|
163
163
|
i.cost
|
|
164
164
|
], [
|
|
165
165
|
f.day.status,
|
|
@@ -173,7 +173,7 @@ var a = 2 ** 53, o = 75, s = new Intl.NumberFormat(void 0, {
|
|
|
173
173
|
let g = S(m, u.day, f.day.status, a), _ = S(m, u.week, f.week.status, a), v = S(m, u.month, f.month.status, a), y = Object.values(u).flatMap(({ cost: e, tokens: t }) => [m[e], m[t]]);
|
|
174
174
|
return {
|
|
175
175
|
row: {
|
|
176
|
-
id:
|
|
176
|
+
id: n,
|
|
177
177
|
name: p,
|
|
178
178
|
version: r?.displayVersion,
|
|
179
179
|
avatarSrc: h,
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { UsageLimitBannerSeverity } from '@epam/ai-dial-conversation-input';
|
|
2
|
+
import { isCappedStat } from '../shared/usage-stat';
|
|
3
|
+
import { UsagePeriod } from './usage-period';
|
|
4
|
+
import { UsageLimitsSources } from './useDeploymentUsageLimits/useDeploymentUsageLimits';
|
|
5
|
+
export { isCappedStat };
|
|
6
|
+
/** The day/week/month usage stat the composer banner reports on, and how close it is to its limit. */
|
|
7
|
+
export interface UsageBannerSource {
|
|
8
|
+
/** Calendar period of the stat. */
|
|
9
|
+
period: UsagePeriod;
|
|
10
|
+
/** `Reached` at or above 100%, otherwise `Warning`. */
|
|
11
|
+
severity: UsageLimitBannerSeverity;
|
|
12
|
+
/** Consumed share of the stat's limit, rounded and clamped to 0–100. */
|
|
13
|
+
usedPercent: number;
|
|
14
|
+
/** DIAL Core's `resetsAt` for the stat, when it sent one. */
|
|
15
|
+
resetsAt: string | undefined;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Returns the capped day/week/month token stat of `sources.deployment` or cost
|
|
19
|
+
* stat of `sources.account` with the highest used/total ratio, classified
|
|
20
|
+
* against `thresholdPercent`, or `undefined` when no stat is capped or the
|
|
21
|
+
* worst one is below the threshold.
|
|
22
|
+
*/
|
|
23
|
+
export declare const selectUsageBannerSource: (sources: UsageLimitsSources, thresholdPercent: number) => UsageBannerSource | undefined;
|
|
24
|
+
//# sourceMappingURL=usage-banner-source.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usage-banner-source.d.ts","sourceRoot":"","sources":["../../src/usage/usage-banner-source.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qDAAqD,CAAC;AAE9F,OAAO,EAAE,YAAY,EAAE,CAAC;AAExB,sGAAsG;AACtG,MAAM,WAAW,iBAAiB;IAChC,mCAAmC;IACnC,MAAM,EAAE,WAAW,CAAC;IACpB,uDAAuD;IACvD,QAAQ,EAAE,wBAAwB,CAAC;IACnC,wEAAwE;IACxE,WAAW,EAAE,MAAM,CAAC;IACpB,6DAA6D;IAC7D,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9B;AAsCD;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,GAClC,SAAS,kBAAkB,EAC3B,kBAAkB,MAAM,KACvB,iBAAiB,GAAG,SAsCtB,CAAC"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { isCappedStat as e } from "../shared/usage-stat.js";
|
|
2
|
+
import { UsagePeriod as t } from "./usage-period.js";
|
|
3
|
+
import { UsageLimitBannerSeverity as n } from "@epam/ai-dial-conversation-input";
|
|
4
|
+
//#region src/usage/usage-banner-source.ts
|
|
5
|
+
var r = [
|
|
6
|
+
[
|
|
7
|
+
"deployment",
|
|
8
|
+
"monthTokenStats",
|
|
9
|
+
t.Month
|
|
10
|
+
],
|
|
11
|
+
[
|
|
12
|
+
"account",
|
|
13
|
+
"monthCostStats",
|
|
14
|
+
t.Month
|
|
15
|
+
],
|
|
16
|
+
[
|
|
17
|
+
"deployment",
|
|
18
|
+
"weekTokenStats",
|
|
19
|
+
t.Week
|
|
20
|
+
],
|
|
21
|
+
[
|
|
22
|
+
"account",
|
|
23
|
+
"weekCostStats",
|
|
24
|
+
t.Week
|
|
25
|
+
],
|
|
26
|
+
[
|
|
27
|
+
"deployment",
|
|
28
|
+
"dayTokenStats",
|
|
29
|
+
t.Day
|
|
30
|
+
],
|
|
31
|
+
[
|
|
32
|
+
"account",
|
|
33
|
+
"dayCostStats",
|
|
34
|
+
t.Day
|
|
35
|
+
]
|
|
36
|
+
], i = (t, i) => {
|
|
37
|
+
let a;
|
|
38
|
+
for (let [n, i, o] of r) {
|
|
39
|
+
let r = t[n]?.[i];
|
|
40
|
+
if (r == null || !e(r.total)) continue;
|
|
41
|
+
let s = Math.max(r.used, 0) / r.total;
|
|
42
|
+
(a == null || s > a.ratio) && (a = {
|
|
43
|
+
stat: r,
|
|
44
|
+
period: o,
|
|
45
|
+
ratio: s
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
if (a == null) return;
|
|
49
|
+
let o = Math.min(100, Math.round(a.ratio * 100)), s;
|
|
50
|
+
if (a.ratio >= 1) s = n.Reached;
|
|
51
|
+
else if (o >= i) s = n.Warning;
|
|
52
|
+
else return;
|
|
53
|
+
return {
|
|
54
|
+
period: a.period,
|
|
55
|
+
severity: s,
|
|
56
|
+
usedPercent: o,
|
|
57
|
+
resetsAt: a.stat.resetsAt
|
|
58
|
+
};
|
|
59
|
+
};
|
|
60
|
+
//#endregion
|
|
61
|
+
export { e as isCappedStat, i as selectUsageBannerSource };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usage-gauge.d.ts","sourceRoot":"","sources":["../../src/usage/usage-gauge.ts"],"names":[],"mappings":"AASA,8GAA8G;AAC9G,eAAO,MAAM,mBAAmB,GAAI,aAAa,MAAM,KAAG,MAIzD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usage-period.d.ts","sourceRoot":"","sources":["../../src/usage/usage-period.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,oBAAY,WAAW;IACrB,GAAG,QAAQ;IACX,IAAI,SAAS;IACb,KAAK,UAAU;CAChB"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { UsagePeriod } from './usage-period';
|
|
2
|
+
/**
|
|
3
|
+
* i18n key strings the consuming app's translation bundle must define for the
|
|
4
|
+
* reset-time formatters to produce translated strings. The values are the
|
|
5
|
+
* default key paths used by AI DIAL Chat.
|
|
6
|
+
*/
|
|
7
|
+
export declare const USAGE_RESET_I18N_KEYS: {
|
|
8
|
+
/** Visible label for a full reset time. Receives `{ dateTime: string }`. */
|
|
9
|
+
readonly resetsAtLabel: "usage.resetsAtLabel";
|
|
10
|
+
/** Spoken label for a full reset time. Receives `{ dateTime: string }`. */
|
|
11
|
+
readonly resetsAtAriaLabel: "usage.resetsAtAriaLabel";
|
|
12
|
+
/** Short daily reset sentence. Receives `{ time: string }`. */
|
|
13
|
+
readonly resetsAtTime: "conversationInput.usageBanner.resetsAtTime";
|
|
14
|
+
/** Short weekly/monthly reset sentence. Receives `{ date: string }`. */
|
|
15
|
+
readonly resetsOnDate: "conversationInput.usageBanner.resetsOnDate";
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* A DIAL Core `resetsAt` instant, normalized into the preformatted strings the
|
|
19
|
+
* usage dashboard renders. Every `Date` and `Intl` call for reset times lives
|
|
20
|
+
* in this module: the display components receive only these strings
|
|
21
|
+
* and never sees a raw timestamp, a locale, or a timezone.
|
|
22
|
+
*/
|
|
23
|
+
export interface ResetTimeDisplay {
|
|
24
|
+
/** Exclusive end of the period, as an epoch ms value, for boundary scheduling. */
|
|
25
|
+
resetsAtMs: number;
|
|
26
|
+
/** Machine-readable instant for a `<time dateTime>` attribute, e.g. '2026-09-16T00:00:00Z'. */
|
|
27
|
+
isoValue: string;
|
|
28
|
+
/** Visible label, e.g. 'Resets 16 Sept 2026, 03:00 GMT+3'. */
|
|
29
|
+
label: string;
|
|
30
|
+
/** Accessible expansion naming the timezone in full, e.g. 'Usage resets Sep 16, 2026 at 2:00 AM Central European Summer Time'. */
|
|
31
|
+
ariaLabel: string;
|
|
32
|
+
}
|
|
33
|
+
/** A translate function compatible with i18next's `TFunction`. */
|
|
34
|
+
export type TranslateFn = (key: string, options?: Record<string, unknown>) => string;
|
|
35
|
+
/** Offset reference used to format an unchanged reset boundary. */
|
|
36
|
+
export declare enum UsageResetOffsetPolicy {
|
|
37
|
+
CurrentOffset = "current-offset",
|
|
38
|
+
ResetInstant = "reset-instant"
|
|
39
|
+
}
|
|
40
|
+
/** Optional host reset-display policy. */
|
|
41
|
+
export interface UsageResetTimeOptions {
|
|
42
|
+
/** Defaults to current-offset. */ offsetPolicy?: UsageResetOffsetPolicy;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Formats DIAL Core's `resetsAt` for display in the viewer's locale and
|
|
46
|
+
* timezone, at the viewer's current UTC offset, always stating that offset so
|
|
47
|
+
* a UTC boundary shown in local time is never ambiguous.
|
|
48
|
+
*
|
|
49
|
+
* Returns `undefined` on every failure path — an absent, empty, or
|
|
50
|
+
* unparseable value, or an `Intl` implementation that throws (embedded and
|
|
51
|
+
* restricted runtimes expose incomplete ones, which is why the resolution is
|
|
52
|
+
* wrapped, matching `getBrowserTimezone` in `@epam/ai-dial-chat-hooks`). A
|
|
53
|
+
* reset time is decoration on a usage figure and never a gate on it, so the
|
|
54
|
+
* caller renders the rest of the card unchanged when this returns nothing.
|
|
55
|
+
*
|
|
56
|
+
* The boundary is never derived from the browser's own calendar — no local
|
|
57
|
+
* midnight, no start-of-week, no arithmetic on `new Date()`.
|
|
58
|
+
*/
|
|
59
|
+
export declare const formatUsageResetTime: (resetsAt: string | undefined, activeLocale: string, t: TranslateFn, options?: UsageResetTimeOptions) => ResetTimeDisplay | undefined;
|
|
60
|
+
/** A `resetsAt` instant as the one-sentence reset notice the composer usage banner renders. */
|
|
61
|
+
export interface ShortResetTimeDisplay {
|
|
62
|
+
/** Machine-readable instant for a `<time dateTime>` attribute, e.g. '2026-10-13T00:00:00Z'. */
|
|
63
|
+
isoValue: string;
|
|
64
|
+
/** Visible sentence, e.g. 'Resets at 3:00 AM GMT+3.' or 'Resets on Oct 19.'. */
|
|
65
|
+
label: string;
|
|
66
|
+
/** Accessible expansion with the full date, time and zone name, from `formatUsageResetTime`. */
|
|
67
|
+
ariaLabel: string;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Formats DIAL Core's `resetsAt` as the banner's reset sentence: a time with
|
|
71
|
+
* its zone offset for a daily period, a short date (with the year only when it
|
|
72
|
+
* is not the current one) for a weekly or monthly period.
|
|
73
|
+
*
|
|
74
|
+
* Returns `undefined` on the same failure paths as `formatUsageResetTime`,
|
|
75
|
+
* whose spoken form it reuses, so the caller renders the period sentence alone.
|
|
76
|
+
*/
|
|
77
|
+
export declare const formatUsageResetShort: (resetsAt: string | undefined, period: UsagePeriod, activeLocale: string, t: TranslateFn) => ShortResetTimeDisplay | undefined;
|
|
78
|
+
//# sourceMappingURL=usage-reset-time.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usage-reset-time.d.ts","sourceRoot":"","sources":["../../src/usage/usage-reset-time.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C;;;;GAIG;AACH,eAAO,MAAM,qBAAqB;IAChC,4EAA4E;;IAE5E,2EAA2E;;IAE3E,+DAA+D;;IAE/D,wEAAwE;;CAEhE,CAAC;AAEX;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B,kFAAkF;IAClF,UAAU,EAAE,MAAM,CAAC;IACnB,+FAA+F;IAC/F,QAAQ,EAAE,MAAM,CAAC;IACjB,8DAA8D;IAC9D,KAAK,EAAE,MAAM,CAAC;IACd,kIAAkI;IAClI,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,kEAAkE;AAClE,MAAM,MAAM,WAAW,GAAG,CACxB,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC9B,MAAM,CAAC;AAmEZ,mEAAmE;AACnE,oBAAY,sBAAsB;IAChC,aAAa,mBAAmB;IAChC,YAAY,kBAAkB;CAC/B;AACD,0CAA0C;AAC1C,MAAM,WAAW,qBAAqB;IACpC,kCAAkC,CAAC,YAAY,CAAC,EAAE,sBAAsB,CAAC;CAC1E;AACD;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,oBAAoB,GAC/B,UAAU,MAAM,GAAG,SAAS,EAC5B,cAAc,MAAM,EACpB,GAAG,WAAW,EACd,UAAS,qBAA0B,KAClC,gBAAgB,GAAG,SAmErB,CAAC;AAEF,+FAA+F;AAC/F,MAAM,WAAW,qBAAqB;IACpC,+FAA+F;IAC/F,QAAQ,EAAE,MAAM,CAAC;IACjB,gFAAgF;IAChF,KAAK,EAAE,MAAM,CAAC;IACd,gGAAgG;IAChG,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,GAChC,UAAU,MAAM,GAAG,SAAS,EAC5B,QAAQ,WAAW,EACnB,cAAc,MAAM,EACpB,GAAG,WAAW,KACb,qBAAqB,GAAG,SAiD1B,CAAC"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { UsagePeriod as e } from "./usage-period.js";
|
|
2
|
+
//#region src/usage/usage-reset-time.ts
|
|
3
|
+
var t = {
|
|
4
|
+
resetsAtLabel: "usage.resetsAtLabel",
|
|
5
|
+
resetsAtAriaLabel: "usage.resetsAtAriaLabel",
|
|
6
|
+
resetsAtTime: "conversationInput.usageBanner.resetsAtTime",
|
|
7
|
+
resetsOnDate: "conversationInput.usageBanner.resetsOnDate"
|
|
8
|
+
}, n = {
|
|
9
|
+
year: "numeric",
|
|
10
|
+
month: "short",
|
|
11
|
+
day: "numeric",
|
|
12
|
+
hour: "numeric",
|
|
13
|
+
minute: "2-digit"
|
|
14
|
+
}, r = /GMT([+-])(\d{2}):(\d{2})/, i = /* @__PURE__ */ RegExp("\\u202f", "g"), a = (e, t) => {
|
|
15
|
+
let n = new Intl.DateTimeFormat("en-US", {
|
|
16
|
+
timeZoneName: "longOffset",
|
|
17
|
+
...t
|
|
18
|
+
}).formatToParts(e).find((e) => e.type === "timeZoneName")?.value, i = r.exec(n ?? "");
|
|
19
|
+
return i == null ? 0 : (i[1] === "-" ? -1 : 1) * (Number(i[2]) * 60 + Number(i[3]));
|
|
20
|
+
}, o = (e, t, r, o, s) => {
|
|
21
|
+
let c = new Intl.DateTimeFormat(r, {
|
|
22
|
+
timeZoneName: o,
|
|
23
|
+
...s
|
|
24
|
+
}).formatToParts(t).find((e) => e.type === "timeZoneName")?.value ?? "", l = new Date(e + a(t, s) * 6e4);
|
|
25
|
+
return new Intl.DateTimeFormat(r, {
|
|
26
|
+
...n,
|
|
27
|
+
timeZoneName: o,
|
|
28
|
+
timeZone: "UTC"
|
|
29
|
+
}).formatToParts(l).map((e) => e.type === "timeZoneName" ? c : e.value).join("").replace(i, " ");
|
|
30
|
+
}, s = /* @__PURE__ */ function(e) {
|
|
31
|
+
return e.CurrentOffset = "current-offset", e.ResetInstant = "reset-instant", e;
|
|
32
|
+
}({}), c = (e, n, r, i = {}) => {
|
|
33
|
+
if (!e) return;
|
|
34
|
+
let a = Date.parse(e);
|
|
35
|
+
if (!Number.isNaN(a)) try {
|
|
36
|
+
let s = Intl.DateTimeFormat().resolvedOptions().timeZone, c = s ? { timeZone: s } : {}, l = i.offsetPolicy === "reset-instant" ? new Date(a) : /* @__PURE__ */ new Date(), u = o(a, l, n, "shortOffset", c), d = o(a, l, n, "long", c);
|
|
37
|
+
return {
|
|
38
|
+
resetsAtMs: a,
|
|
39
|
+
isoValue: e,
|
|
40
|
+
label: r(t.resetsAtLabel, { dateTime: u }),
|
|
41
|
+
ariaLabel: r(t.resetsAtAriaLabel, { dateTime: d })
|
|
42
|
+
};
|
|
43
|
+
} catch {
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
}, l = (n, r, i, a) => {
|
|
47
|
+
let o = c(n, i, a);
|
|
48
|
+
if (o != null) try {
|
|
49
|
+
let n = Intl.DateTimeFormat().resolvedOptions().timeZone, s = n ? { timeZone: n } : {}, c = new Date(o.resetsAtMs);
|
|
50
|
+
if (r === e.Day) {
|
|
51
|
+
let e = new Intl.DateTimeFormat(i, {
|
|
52
|
+
hour: "numeric",
|
|
53
|
+
minute: "2-digit",
|
|
54
|
+
timeZoneName: "shortOffset",
|
|
55
|
+
...s
|
|
56
|
+
}).format(c);
|
|
57
|
+
return {
|
|
58
|
+
isoValue: o.isoValue,
|
|
59
|
+
label: a(t.resetsAtTime, { time: e }),
|
|
60
|
+
ariaLabel: o.ariaLabel
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
let l = new Intl.DateTimeFormat("en-US", {
|
|
64
|
+
year: "numeric",
|
|
65
|
+
...s
|
|
66
|
+
}), u = l.format(c) !== l.format(/* @__PURE__ */ new Date()), d = new Intl.DateTimeFormat(i, {
|
|
67
|
+
month: "short",
|
|
68
|
+
day: "numeric",
|
|
69
|
+
...u ? { year: "numeric" } : {},
|
|
70
|
+
...s
|
|
71
|
+
}).format(c);
|
|
72
|
+
return {
|
|
73
|
+
isoValue: o.isoValue,
|
|
74
|
+
label: a(t.resetsOnDate, { date: d }),
|
|
75
|
+
ariaLabel: o.ariaLabel
|
|
76
|
+
};
|
|
77
|
+
} catch {
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
};
|
|
81
|
+
//#endregion
|
|
82
|
+
export { t as USAGE_RESET_I18N_KEYS, s as UsageResetOffsetPolicy, l as formatUsageResetShort, c as formatUsageResetTime };
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { DeploymentLimitsResponseDto, UserLimitStatsResponseDto } from '@epam/ai-dial-chat-api-client';
|
|
2
|
+
/** The caller's account-wide cost budget and spend: the top level of a user-usage response. */
|
|
3
|
+
export type AccountUsage = Pick<UserLimitStatsResponseDto, 'dayCostStats' | 'weekCostStats' | 'monthCostStats'>;
|
|
4
|
+
/**
|
|
5
|
+
* What the usage dial and the usage banner are mapped from. Each field has a
|
|
6
|
+
* single scope, so a deployment's figures are never read as the account's or
|
|
7
|
+
* the other way round.
|
|
8
|
+
*/
|
|
9
|
+
export interface UsageLimitsSources {
|
|
10
|
+
/** The selected deployment's own stats (its deployment-usage response). Only its token stats are read. */
|
|
11
|
+
deployment: DeploymentLimitsResponseDto | undefined;
|
|
12
|
+
/** The caller's account budget and spend. Only its cost stats are read. */
|
|
13
|
+
account: AccountUsage | undefined;
|
|
14
|
+
}
|
|
15
|
+
/** Host-configured calls that fetch the two usage sources. */
|
|
16
|
+
export interface UsageLimitsApi {
|
|
17
|
+
/** Fetches one deployment's own usage, every stat scoped to that deployment. */
|
|
18
|
+
getDeploymentUsage: (deploymentId: string) => Promise<DeploymentLimitsResponseDto>;
|
|
19
|
+
/** Fetches the caller's account usage; only its top-level cost stats are read. */
|
|
20
|
+
getAccountUsage: () => Promise<AccountUsage>;
|
|
21
|
+
}
|
|
22
|
+
/** Return shape of {@link useDeploymentUsageLimits}. */
|
|
23
|
+
export interface UseDeploymentUsageLimitsResult {
|
|
24
|
+
/** The last successfully fetched value of each source. */
|
|
25
|
+
sources: UsageLimitsSources;
|
|
26
|
+
/** `true` until both calls of the current fetch have settled. */
|
|
27
|
+
isLoading: boolean;
|
|
28
|
+
/** `true` after either call of the most recent fetch rejected. */
|
|
29
|
+
hasError: boolean;
|
|
30
|
+
/** Re-fetches both sources when no request is in flight. */
|
|
31
|
+
refresh: () => void;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Fetches the selected deployment's own usage and the caller's account usage
|
|
35
|
+
* through the provided `api`. The hook accepts the calls as a parameter so the
|
|
36
|
+
* caller supplies an already-configured API client; the hook never constructs
|
|
37
|
+
* or imports one itself. The identity of `api` is not a re-fetch trigger; only
|
|
38
|
+
* `deploymentId` and `refresh()` are.
|
|
39
|
+
*
|
|
40
|
+
* Two sources rather than one deployment-limits response: there, the cost
|
|
41
|
+
* stats add an application's aggregated callee cost to the account spend that
|
|
42
|
+
* already contains it, so an agent's spend would be counted twice.
|
|
43
|
+
*
|
|
44
|
+
* Both calls share one monotonic request ID, so a slower response for a
|
|
45
|
+
* previous deployment never replaces the current value. Each source keeps its
|
|
46
|
+
* last known value when its own call fails, so the open popover can surface a
|
|
47
|
+
* non-blocking error while the other source still renders. The account source
|
|
48
|
+
* survives a deployment change, since it does not depend on the selection.
|
|
49
|
+
*
|
|
50
|
+
* The raw responses are returned rather than a mapped display model: mapping
|
|
51
|
+
* needs the caller's translated labels and locale-bound reset formatter, and
|
|
52
|
+
* holding the mapped value in state here would leave it stale after a language
|
|
53
|
+
* change until the next fetch.
|
|
54
|
+
*/
|
|
55
|
+
export declare const useDeploymentUsageLimits: (deploymentId: string | undefined, api: UsageLimitsApi) => UseDeploymentUsageLimitsResult;
|
|
56
|
+
//# sourceMappingURL=useDeploymentUsageLimits.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDeploymentUsageLimits.d.ts","sourceRoot":"","sources":["../../../src/usage/useDeploymentUsageLimits/useDeploymentUsageLimits.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,2BAA2B,EAC3B,yBAAyB,EAC1B,MAAM,+BAA+B,CAAC;AAGvC,+FAA+F;AAC/F,MAAM,MAAM,YAAY,GAAG,IAAI,CAC7B,yBAAyB,EACzB,cAAc,GAAG,eAAe,GAAG,gBAAgB,CACpD,CAAC;AAEF;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,0GAA0G;IAC1G,UAAU,EAAE,2BAA2B,GAAG,SAAS,CAAC;IACpD,2EAA2E;IAC3E,OAAO,EAAE,YAAY,GAAG,SAAS,CAAC;CACnC;AAED,8DAA8D;AAC9D,MAAM,WAAW,cAAc;IAC7B,gFAAgF;IAChF,kBAAkB,EAAE,CAClB,YAAY,EAAE,MAAM,KACjB,OAAO,CAAC,2BAA2B,CAAC,CAAC;IAC1C,kFAAkF;IAClF,eAAe,EAAE,MAAM,OAAO,CAAC,YAAY,CAAC,CAAC;CAC9C;AAED,wDAAwD;AACxD,MAAM,WAAW,8BAA8B;IAC7C,0DAA0D;IAC1D,OAAO,EAAE,kBAAkB,CAAC;IAC5B,iEAAiE;IACjE,SAAS,EAAE,OAAO,CAAC;IACnB,kEAAkE;IAClE,QAAQ,EAAE,OAAO,CAAC;IAClB,4DAA4D;IAC5D,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,wBAAwB,GACnC,cAAc,MAAM,GAAG,SAAS,EAChC,KAAK,cAAc,KAClB,8BA6EF,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { useCallback as e, useEffect as t, useMemo as n, useRef as r, useState as i } from "react";
|
|
2
|
+
//#region src/usage/useDeploymentUsageLimits/useDeploymentUsageLimits.ts
|
|
3
|
+
var a = (a, o) => {
|
|
4
|
+
let [s, c] = i(), [l, u] = i(), [d, f] = i(!1), [p, m] = i(!1), [h, g] = i(0), _ = r(0), v = r(!1), y = r(void 0), b = r(o);
|
|
5
|
+
b.current = o;
|
|
6
|
+
let x = e(() => {
|
|
7
|
+
v.current || g((e) => e + 1);
|
|
8
|
+
}, []);
|
|
9
|
+
return t(() => {
|
|
10
|
+
let e = y.current !== a;
|
|
11
|
+
if (y.current = a, !a) {
|
|
12
|
+
_.current += 1, c(void 0), f(!1), m(!1), v.current = !1;
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
e && c(void 0);
|
|
16
|
+
let t = ++_.current, n = !1, r = () => !n && t === _.current;
|
|
17
|
+
return f(!0), m(!1), v.current = !0, (async () => {
|
|
18
|
+
let [e, t] = await Promise.allSettled([b.current.getDeploymentUsage(a), b.current.getAccountUsage()]);
|
|
19
|
+
r() && (e.status === "fulfilled" && c(e.value), t.status === "fulfilled" && u(t.value), m(e.status === "rejected" || t.status === "rejected"), f(!1), v.current = !1);
|
|
20
|
+
})(), () => {
|
|
21
|
+
n = !0;
|
|
22
|
+
};
|
|
23
|
+
}, [a, h]), {
|
|
24
|
+
sources: n(() => ({
|
|
25
|
+
deployment: s,
|
|
26
|
+
account: l
|
|
27
|
+
}), [s, l]),
|
|
28
|
+
isLoading: d,
|
|
29
|
+
hasError: p,
|
|
30
|
+
refresh: x
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
//#endregion
|
|
34
|
+
export { a as useDeploymentUsageLimits };
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export interface UseRefreshUsageAfterGenerationOptions {
|
|
2
|
+
/** Whether the selected deployment is currently generating a response. */
|
|
3
|
+
isGenerationInProgress: boolean;
|
|
4
|
+
/** `true` while the usage fetch is in flight; a pending refresh waits for it. */
|
|
5
|
+
isLoading: boolean;
|
|
6
|
+
/** Re-fetches the usage limits. */
|
|
7
|
+
refresh: () => void;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Refreshes usage limits once after a response finishes streaming
|
|
11
|
+
* (`isGenerationInProgress` `true` → `false`), deferring the refresh while a
|
|
12
|
+
* fetch is still in flight. Shared by the usage dial and the usage banner so
|
|
13
|
+
* the two cannot drift.
|
|
14
|
+
*/
|
|
15
|
+
export declare const useRefreshUsageAfterGeneration: ({ isGenerationInProgress, isLoading, refresh, }: UseRefreshUsageAfterGenerationOptions) => void;
|
|
16
|
+
//# sourceMappingURL=useRefreshUsageAfterGeneration.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useRefreshUsageAfterGeneration.d.ts","sourceRoot":"","sources":["../../../src/usage/useRefreshUsageAfterGeneration/useRefreshUsageAfterGeneration.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,qCAAqC;IACpD,0EAA0E;IAC1E,sBAAsB,EAAE,OAAO,CAAC;IAChC,iFAAiF;IACjF,SAAS,EAAE,OAAO,CAAC;IACnB,mCAAmC;IACnC,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED;;;;;GAKG;AACH,eAAO,MAAM,8BAA8B,GAAI,iDAI5C,qCAAqC,KAAG,IAe1C,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { useEffect as e, useRef as t } from "react";
|
|
2
|
+
//#region src/usage/useRefreshUsageAfterGeneration/useRefreshUsageAfterGeneration.ts
|
|
3
|
+
var n = ({ isGenerationInProgress: n, isLoading: r, refresh: i }) => {
|
|
4
|
+
let a = t(n), o = t(!1);
|
|
5
|
+
e(() => {
|
|
6
|
+
a.current && !n && (o.current = !0), a.current = n, o.current && !r && (o.current = !1, i());
|
|
7
|
+
}, [
|
|
8
|
+
n,
|
|
9
|
+
r,
|
|
10
|
+
i
|
|
11
|
+
]);
|
|
12
|
+
};
|
|
13
|
+
//#endregion
|
|
14
|
+
export { n as useRefreshUsageAfterGeneration };
|