@epam/ai-dial-chat-hooks 1.3.0-dev.37 → 1.3.0-dev.371

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (578) hide show
  1. package/api-error/api-error.d.ts +2 -0
  2. package/api-error/api-error.d.ts.map +1 -1
  3. package/api-error/api-error.js +31 -23
  4. package/api-transport/create-unauthorized-middleware.js +4 -1
  5. package/attachment/attach-constraints.d.ts +31 -0
  6. package/attachment/attach-constraints.d.ts.map +1 -0
  7. package/attachment/attach-constraints.js +18 -0
  8. package/attachment/useAttachmentAction/useAttachmentAction.d.ts +1 -1
  9. package/attachment/useAttachmentAction/useAttachmentAction.d.ts.map +1 -1
  10. package/attachment/useAttachmentAction/useAttachmentAction.js +25 -28
  11. package/attachments.js +2 -1
  12. package/catalog/application-credentials.d.ts +15 -0
  13. package/catalog/application-credentials.d.ts.map +1 -0
  14. package/catalog/application-credentials.js +28 -0
  15. package/catalog/catalog-derivations.d.ts +5 -3
  16. package/catalog/catalog-derivations.d.ts.map +1 -1
  17. package/catalog/catalog-derivations.js +13 -6
  18. package/catalog/catalog-entity-kind.d.ts +31 -0
  19. package/catalog/catalog-entity-kind.d.ts.map +1 -0
  20. package/catalog/catalog-entity-kind.js +21 -0
  21. package/catalog/catalog-preferences.d.ts +8 -0
  22. package/catalog/catalog-preferences.d.ts.map +1 -0
  23. package/catalog/catalog-preferences.js +5 -0
  24. package/catalog/create-publish-api.d.ts +3 -1
  25. package/catalog/create-publish-api.d.ts.map +1 -1
  26. package/catalog/create-publish-api.js +4 -0
  27. package/catalog/deployment-id.d.ts +13 -4
  28. package/catalog/deployment-id.d.ts.map +1 -1
  29. package/catalog/deployment-id.js +17 -3
  30. package/catalog/entity-details.d.ts +2 -0
  31. package/catalog/entity-details.d.ts.map +1 -1
  32. package/catalog/favorite-entity-type.d.ts +5 -0
  33. package/catalog/favorite-entity-type.d.ts.map +1 -0
  34. package/catalog/favorite-entity-type.js +10 -0
  35. package/catalog/map-deployment-limits-to-input.d.ts +4 -3
  36. package/catalog/map-deployment-limits-to-input.d.ts.map +1 -1
  37. package/catalog/map-deployment-limits-to-input.js +3 -4
  38. package/catalog/map-deployment-to-catalog-item.d.ts +12 -1
  39. package/catalog/map-deployment-to-catalog-item.d.ts.map +1 -1
  40. package/catalog/map-deployment-to-catalog-item.js +22 -15
  41. package/catalog/map-entity-details-to-catalog.d.ts.map +1 -1
  42. package/catalog/map-entity-details-to-catalog.js +69 -24
  43. package/catalog/map-skill-to-catalog-item.d.ts +4 -5
  44. package/catalog/map-skill-to-catalog-item.d.ts.map +1 -1
  45. package/catalog/map-skill-to-catalog-item.js +29 -38
  46. package/catalog/publish.d.ts +1 -1
  47. package/catalog/publish.d.ts.map +1 -1
  48. package/catalog/resource-folder.d.ts +8 -0
  49. package/catalog/resource-folder.d.ts.map +1 -0
  50. package/catalog/resource-folder.js +13 -0
  51. package/catalog/resource-name-conflict.d.ts +22 -0
  52. package/catalog/resource-name-conflict.d.ts.map +1 -0
  53. package/catalog/resource-name-conflict.js +32 -0
  54. package/catalog/resource-save-adapter.d.ts +36 -0
  55. package/catalog/resource-save-adapter.d.ts.map +1 -0
  56. package/catalog/resource-save-adapter.js +4 -0
  57. package/catalog/resource-save-adapters.d.ts +93 -0
  58. package/catalog/resource-save-adapters.d.ts.map +1 -0
  59. package/catalog/resource-save-adapters.js +116 -0
  60. package/catalog/resource-save.d.ts +76 -0
  61. package/catalog/resource-save.d.ts.map +1 -0
  62. package/catalog/resource-save.js +52 -0
  63. package/catalog/unpublishable-folders.d.ts +21 -0
  64. package/catalog/unpublishable-folders.d.ts.map +1 -0
  65. package/catalog/unpublishable-folders.js +21 -0
  66. package/catalog/usage-limit-rows.d.ts +14 -0
  67. package/catalog/usage-limit-rows.d.ts.map +1 -0
  68. package/catalog/usage-limit-rows.js +19 -0
  69. package/catalog/use-publish-history.d.ts +19 -0
  70. package/catalog/use-publish-history.d.ts.map +1 -0
  71. package/catalog/use-publish-history.js +25 -0
  72. package/catalog/useApplicationCredentialActions/useApplicationCredentialActions.d.ts +57 -0
  73. package/catalog/useApplicationCredentialActions/useApplicationCredentialActions.d.ts.map +1 -0
  74. package/catalog/useApplicationCredentialActions/useApplicationCredentialActions.js +67 -0
  75. package/catalog/useCatalogEditNavigation/useCatalogEditNavigation.d.ts +23 -6
  76. package/catalog/useCatalogEditNavigation/useCatalogEditNavigation.d.ts.map +1 -1
  77. package/catalog/useCatalogEditNavigation/useCatalogEditNavigation.js +108 -107
  78. package/catalog/useCatalogItemDelete/useCatalogItemDelete.d.ts +41 -0
  79. package/catalog/useCatalogItemDelete/useCatalogItemDelete.d.ts.map +1 -0
  80. package/catalog/useCatalogItemDelete/useCatalogItemDelete.js +37 -0
  81. package/catalog/useCatalogToolsetCredentials/useCatalogToolsetCredentials.d.ts.map +1 -1
  82. package/catalog/useCatalogToolsetCredentials/useCatalogToolsetCredentials.js +72 -77
  83. package/catalog/useFavoriteEntitiesState/useFavoriteEntitiesState.js +1 -1
  84. package/catalog/usePublishFolders/usePublishFolders.d.ts +8 -0
  85. package/catalog/usePublishFolders/usePublishFolders.d.ts.map +1 -1
  86. package/catalog/usePublishFolders/usePublishFolders.js +32 -29
  87. package/catalog/useResourceFolders/useResourceFolders.d.ts +33 -0
  88. package/catalog/useResourceFolders/useResourceFolders.d.ts.map +1 -0
  89. package/catalog/useResourceFolders/useResourceFolders.js +58 -0
  90. package/catalog/useResourceSavePanel/useResourceSavePanel.d.ts +64 -0
  91. package/catalog/useResourceSavePanel/useResourceSavePanel.d.ts.map +1 -0
  92. package/catalog/useResourceSavePanel/useResourceSavePanel.js +173 -0
  93. package/catalog/useSkillItemDetails.js +3 -3
  94. package/catalog/useUnpublishConfirmation/useUnpublishConfirmation.d.ts +43 -0
  95. package/catalog/useUnpublishConfirmation/useUnpublishConfirmation.d.ts.map +1 -0
  96. package/catalog/useUnpublishConfirmation/useUnpublishConfirmation.js +46 -0
  97. package/catalog/useUnpublishableFolders/useUnpublishableFolders.d.ts +22 -0
  98. package/catalog/useUnpublishableFolders/useUnpublishableFolders.d.ts.map +1 -0
  99. package/catalog/useUnpublishableFolders/useUnpublishableFolders.js +53 -0
  100. package/catalog.js +41 -23
  101. package/conversation/conversation-data-source.d.ts +47 -0
  102. package/conversation/conversation-data-source.d.ts.map +1 -0
  103. package/conversation/conversation-data-source.js +11 -0
  104. package/conversation/conversation-draft/conversation-draft-store.d.ts +21 -0
  105. package/conversation/conversation-draft/conversation-draft-store.d.ts.map +1 -0
  106. package/conversation/conversation-draft/conversation-draft-store.js +84 -0
  107. package/conversation/conversation-draft/conversation-draft.d.ts +48 -0
  108. package/conversation/conversation-draft/conversation-draft.d.ts.map +1 -0
  109. package/conversation/conversation-list.d.ts +6 -0
  110. package/conversation/conversation-list.d.ts.map +1 -0
  111. package/conversation/conversation-list.js +5 -0
  112. package/conversation/conversation-title-stream.d.ts +33 -0
  113. package/conversation/conversation-title-stream.d.ts.map +1 -0
  114. package/conversation/conversation-title-stream.js +103 -0
  115. package/conversation/conversation-transfer/attachment-refs.d.ts +10 -2
  116. package/conversation/conversation-transfer/attachment-refs.d.ts.map +1 -1
  117. package/conversation/conversation-transfer/attachment-refs.js +31 -9
  118. package/conversation/conversation-transfer/export-conversation.d.ts +5 -1
  119. package/conversation/conversation-transfer/export-conversation.d.ts.map +1 -1
  120. package/conversation/conversation-transfer/export-conversation.js +19 -18
  121. package/conversation/conversation-transfer/import-conversation.d.ts +11 -6
  122. package/conversation/conversation-transfer/import-conversation.d.ts.map +1 -1
  123. package/conversation/conversation-transfer/import-conversation.js +65 -69
  124. package/conversation/conversation-transfer/progress.js +1 -1
  125. package/conversation/conversation-transfer/zip-export.js +1 -7
  126. package/conversation/conversation-transfer/zip-import.js +1 -1
  127. package/conversation/create-chat-stream-api.d.ts +24 -3
  128. package/conversation/create-chat-stream-api.d.ts.map +1 -1
  129. package/conversation/create-chat-stream-api.js +67 -56
  130. package/conversation/generation-registry.d.ts +30 -0
  131. package/conversation/generation-registry.d.ts.map +1 -0
  132. package/conversation/generation-registry.js +33 -0
  133. package/conversation/get-model-id-from-conversation-id.d.ts.map +1 -1
  134. package/conversation/get-model-id-from-conversation-id.js +1 -1
  135. package/conversation/message-utils.d.ts +6 -0
  136. package/conversation/message-utils.d.ts.map +1 -1
  137. package/conversation/message-utils.js +14 -10
  138. package/conversation/scheduled-task-grouping.d.ts +53 -0
  139. package/conversation/scheduled-task-grouping.d.ts.map +1 -0
  140. package/conversation/scheduled-task-grouping.js +45 -0
  141. package/conversation/useActiveConversationSync/useActiveConversationSync.d.ts +4 -2
  142. package/conversation/useActiveConversationSync/useActiveConversationSync.d.ts.map +1 -1
  143. package/conversation/useActiveConversationSync/useActiveConversationSync.js +19 -12
  144. package/conversation/useAttachmentUpload/useAttachmentUpload.d.ts.map +1 -1
  145. package/conversation/useAttachmentUpload/useAttachmentUpload.js +4 -1
  146. package/conversation/useConversationComposerDraft/useConversationComposerDraft.d.ts +39 -0
  147. package/conversation/useConversationComposerDraft/useConversationComposerDraft.d.ts.map +1 -0
  148. package/conversation/useConversationComposerDraft/useConversationComposerDraft.js +128 -0
  149. package/conversation/useConversationDiscovery/useConversationDiscovery.d.ts +22 -0
  150. package/conversation/useConversationDiscovery/useConversationDiscovery.d.ts.map +1 -0
  151. package/conversation/useConversationDiscovery/useConversationDiscovery.js +60 -0
  152. package/conversation/useConversationExport/useConversationExport.d.ts.map +1 -1
  153. package/conversation/useConversationExport/useConversationExport.js +113 -122
  154. package/conversation/useConversationHandlers/message-utils.js +2 -2
  155. package/conversation/useConversationHandlers/useConversationHandlers.js +41 -41
  156. package/conversation/useConversationImport/useConversationImport.js +24 -24
  157. package/conversation/useConversationPanelItems/useConversationPanelItems.d.ts +18 -5
  158. package/conversation/useConversationPanelItems/useConversationPanelItems.d.ts.map +1 -1
  159. package/conversation/useConversationPanelItems/useConversationPanelItems.js +34 -30
  160. package/conversation/useConversationScroll/useConversationScroll.d.ts.map +1 -1
  161. package/conversation/useConversationScroll/useConversationScroll.js +69 -72
  162. package/conversation/useConversationStream/conversation-path.js +2 -2
  163. package/conversation/useConversationStream/conversation-stream.types.d.ts +142 -0
  164. package/conversation/useConversationStream/conversation-stream.types.d.ts.map +1 -0
  165. package/conversation/useConversationStream/frame-scheduler.js +17 -17
  166. package/conversation/useConversationStream/generation-resume.d.ts +24 -2
  167. package/conversation/useConversationStream/generation-resume.d.ts.map +1 -1
  168. package/conversation/useConversationStream/generation-resume.js +110 -121
  169. package/conversation/useConversationStream/stream-errors.d.ts +10 -0
  170. package/conversation/useConversationStream/stream-errors.d.ts.map +1 -0
  171. package/conversation/useConversationStream/stream-errors.js +10 -0
  172. package/conversation/useConversationStream/stream-session.d.ts +51 -0
  173. package/conversation/useConversationStream/stream-session.d.ts.map +1 -0
  174. package/conversation/useConversationStream/stream-session.js +179 -0
  175. package/conversation/useConversationStream/useConversationReloadErrors.d.ts +25 -0
  176. package/conversation/useConversationStream/useConversationReloadErrors.d.ts.map +1 -0
  177. package/conversation/useConversationStream/useConversationReloadErrors.js +38 -0
  178. package/conversation/useConversationStream/useConversationStream.d.ts +3 -136
  179. package/conversation/useConversationStream/useConversationStream.d.ts.map +1 -1
  180. package/conversation/useConversationStream/useConversationStream.js +141 -325
  181. package/conversation/useConversationStream/useStopGeneration.d.ts +29 -0
  182. package/conversation/useConversationStream/useStopGeneration.d.ts.map +1 -0
  183. package/conversation/useConversationStream/useStopGeneration.js +48 -0
  184. package/conversation/useConversationStream/useStreamPathState.d.ts +39 -0
  185. package/conversation/useConversationStream/useStreamPathState.d.ts.map +1 -0
  186. package/conversation/useConversationStream/useStreamPathState.js +55 -0
  187. package/conversation/useConversationTitleEnrichmentController.d.ts +64 -0
  188. package/conversation/useConversationTitleEnrichmentController.d.ts.map +1 -0
  189. package/conversation/useConversationTitleEnrichmentController.js +155 -0
  190. package/conversation/useDeploymentChangeTracking.d.ts +14 -0
  191. package/conversation/useDeploymentChangeTracking.d.ts.map +1 -0
  192. package/conversation/useDeploymentChangeTracking.js +23 -0
  193. package/conversation/useEntityPreselection/useEntityPreselection.d.ts +108 -0
  194. package/conversation/useEntityPreselection/useEntityPreselection.d.ts.map +1 -0
  195. package/conversation/useEntityPreselection/useEntityPreselection.js +78 -0
  196. package/conversation/useMessageSelectionReply/useMessageSelectionReply.js +4 -10
  197. package/conversation/useTranscribeAudio/useTranscribeAudio.d.ts +8 -1
  198. package/conversation/useTranscribeAudio/useTranscribeAudio.d.ts.map +1 -1
  199. package/conversation/useTranscribeAudio/useTranscribeAudio.js +36 -27
  200. package/conversation/useVisibleConversationIdsReporter/useVisibleConversationIdsReporter.d.ts +16 -0
  201. package/conversation/useVisibleConversationIdsReporter/useVisibleConversationIdsReporter.d.ts.map +1 -0
  202. package/conversation/useVisibleConversationIdsReporter/useVisibleConversationIdsReporter.js +17 -0
  203. package/conversation-overlay.js +1 -2
  204. package/conversation-sources/stage-citations.d.ts +9 -0
  205. package/conversation-sources/stage-citations.d.ts.map +1 -0
  206. package/conversation-sources/stage-citations.js +8 -0
  207. package/conversation-sources/useConversationAnnotationPool/useConversationAnnotationPool.d.ts +4 -0
  208. package/conversation-sources/useConversationAnnotationPool/useConversationAnnotationPool.d.ts.map +1 -0
  209. package/conversation-sources/useConversationAnnotationPool/useConversationAnnotationPool.js +5 -0
  210. package/conversation-sources.js +3 -1
  211. package/conversation.js +45 -33
  212. package/entry-points/attachments.d.ts +1 -0
  213. package/entry-points/attachments.d.ts.map +1 -1
  214. package/entry-points/catalog.d.ts +17 -0
  215. package/entry-points/catalog.d.ts.map +1 -1
  216. package/entry-points/conversation-sources.d.ts +2 -0
  217. package/entry-points/conversation-sources.d.ts.map +1 -1
  218. package/entry-points/conversation.d.ts +13 -0
  219. package/entry-points/conversation.d.ts.map +1 -1
  220. package/entry-points/external-services.d.ts +6 -0
  221. package/entry-points/external-services.d.ts.map +1 -0
  222. package/entry-points/file-manager-canvas.d.ts +1 -0
  223. package/entry-points/file-manager-canvas.d.ts.map +1 -1
  224. package/entry-points/file-manager.d.ts +2 -0
  225. package/entry-points/file-manager.d.ts.map +1 -1
  226. package/entry-points/oauth.d.ts +1 -0
  227. package/entry-points/oauth.d.ts.map +1 -1
  228. package/entry-points/offline-credentials.d.ts +7 -0
  229. package/entry-points/offline-credentials.d.ts.map +1 -0
  230. package/entry-points/project.d.ts +20 -0
  231. package/entry-points/project.d.ts.map +1 -0
  232. package/entry-points/scheduled-tasks.d.ts +7 -0
  233. package/entry-points/scheduled-tasks.d.ts.map +1 -1
  234. package/entry-points/sharing.d.ts +4 -0
  235. package/entry-points/sharing.d.ts.map +1 -1
  236. package/entry-points/skill-editor.d.ts +2 -0
  237. package/entry-points/skill-editor.d.ts.map +1 -1
  238. package/entry-points/skills-state.d.ts +1 -0
  239. package/entry-points/skills-state.d.ts.map +1 -1
  240. package/entry-points/usage-limits.d.ts +9 -0
  241. package/entry-points/usage-limits.d.ts.map +1 -0
  242. package/entry-points/utils.d.ts +6 -0
  243. package/entry-points/utils.d.ts.map +1 -1
  244. package/entry-points/viewport-layout.d.ts +1 -0
  245. package/entry-points/viewport-layout.d.ts.map +1 -1
  246. package/external-services/useExternalServiceLogin.d.ts +99 -0
  247. package/external-services/useExternalServiceLogin.d.ts.map +1 -0
  248. package/external-services/useExternalServiceLogin.js +93 -0
  249. package/external-services.d.ts +2 -0
  250. package/external-services.js +5 -0
  251. package/file-manager-canvas.js +3 -2
  252. package/file-manager.js +32 -30
  253. package/files/attachment-canvas.d.ts +12 -0
  254. package/files/attachment-canvas.d.ts.map +1 -1
  255. package/files/attachment-canvas.js +18 -10
  256. package/files/attachment-dto-to-display.d.ts.map +1 -1
  257. package/files/attachment-dto-to-display.js +13 -12
  258. package/files/attachment-types.js +1 -1
  259. package/files/browser-download.d.ts +9 -0
  260. package/files/browser-download.d.ts.map +1 -0
  261. package/files/browser-download.js +23 -0
  262. package/files/create-files-api.d.ts +3 -4
  263. package/files/create-files-api.d.ts.map +1 -1
  264. package/files/create-files-api.js +1 -1
  265. package/files/create-upload-file-with-progress.d.ts +21 -1
  266. package/files/create-upload-file-with-progress.d.ts.map +1 -1
  267. package/files/create-upload-file-with-progress.js +50 -34
  268. package/files/dial-file-manager-copy-move.util.d.ts.map +1 -1
  269. package/files/dial-file-manager-copy-move.util.js +28 -28
  270. package/files/dial-file-manager-mapping.util.d.ts +23 -3
  271. package/files/dial-file-manager-mapping.util.d.ts.map +1 -1
  272. package/files/dial-file-manager-mapping.util.js +97 -69
  273. package/files/dial-file-manager.types.d.ts +15 -5
  274. package/files/dial-file-manager.types.d.ts.map +1 -1
  275. package/files/dial-file-to-attachment.js +3 -3
  276. package/files/dial-file.d.ts +19 -0
  277. package/files/dial-file.d.ts.map +1 -1
  278. package/files/dial-file.js +20 -12
  279. package/files/dial-files-api.d.ts +2 -2
  280. package/files/dial-files-api.d.ts.map +1 -1
  281. package/files/download-progress.d.ts +33 -0
  282. package/files/download-progress.d.ts.map +1 -0
  283. package/files/download-progress.js +28 -0
  284. package/files/source-content.js +1 -1
  285. package/files/useDialFileListing/useDialFileListing.d.ts.map +1 -1
  286. package/files/useDialFileListing/useDialFileListing.js +97 -109
  287. package/files/useDialFileManager/useDialFileManager.d.ts.map +1 -1
  288. package/files/useDialFileManager/useDialFileManager.js +5 -2
  289. package/files/useDialFileManagerSections/useDialFileManagerSections.d.ts.map +1 -1
  290. package/files/useDialFileManagerSections/useDialFileManagerSections.js +59 -68
  291. package/files/useDialFileManagerTabConfig/useDialFileManagerTabConfig.js +1 -1
  292. package/files/useDialFileMetadata/useDialFileMetadata.js +3 -3
  293. package/files/useDialFileMutations/useDialFileMutations.d.ts +9 -0
  294. package/files/useDialFileMutations/useDialFileMutations.d.ts.map +1 -1
  295. package/files/useDialFileMutations/useDialFileMutations.js +232 -159
  296. package/files/useDialFilePreview/useDialFilePreview.d.ts +33 -0
  297. package/files/useDialFilePreview/useDialFilePreview.d.ts.map +1 -0
  298. package/files/useDialFilePreview/useDialFilePreview.js +45 -0
  299. package/files/useDialFileUploadBatch/useDialFileUploadBatch.d.ts.map +1 -1
  300. package/files/useDialFileUploadBatch/useDialFileUploadBatch.js +114 -103
  301. package/files/useFileAttachmentModalState/useFileAttachmentModalState.d.ts +25 -0
  302. package/files/useFileAttachmentModalState/useFileAttachmentModalState.d.ts.map +1 -0
  303. package/files/useFileAttachmentModalState/useFileAttachmentModalState.js +19 -0
  304. package/files/useFileAttachmentPicker/useFileAttachmentPicker.js +2 -2
  305. package/files/useUnshareConfirmationState/useUnshareConfirmationState.d.ts +23 -0
  306. package/files/useUnshareConfirmationState/useUnshareConfirmationState.d.ts.map +1 -0
  307. package/files/useUnshareConfirmationState/useUnshareConfirmationState.js +18 -0
  308. package/index.d.ts +96 -0
  309. package/index.d.ts.map +1 -1
  310. package/index.js +244 -149
  311. package/mcp-apps/mcp-apps-api-client.d.ts.map +1 -1
  312. package/mcp-apps/mcp-apps-api-client.js +18 -17
  313. package/mcp-apps/useMcpAppHostContext/useMcpAppHostContext.d.ts +3 -2
  314. package/mcp-apps/useMcpAppHostContext/useMcpAppHostContext.d.ts.map +1 -1
  315. package/mcp-apps/useMcpAppHostContext/useMcpAppHostContext.js +28 -10
  316. package/mcp-apps/useMcpAppTools/useMcpAppTools.d.ts.map +1 -1
  317. package/mcp-apps/useMcpAppTools/useMcpAppTools.js +45 -45
  318. package/oauth/authorize-url.d.ts +7 -1
  319. package/oauth/authorize-url.d.ts.map +1 -1
  320. package/oauth/authorize-url.js +14 -4
  321. package/oauth/callback-exchange.d.ts +49 -0
  322. package/oauth/callback-exchange.d.ts.map +1 -0
  323. package/oauth/callback-exchange.js +29 -0
  324. package/oauth/handshake.js +3 -10
  325. package/oauth/models.d.ts +25 -0
  326. package/oauth/models.d.ts.map +1 -1
  327. package/oauth/popup.d.ts.map +1 -1
  328. package/oauth/popup.js +19 -17
  329. package/oauth/toolset-id.d.ts +7 -0
  330. package/oauth/toolset-id.d.ts.map +1 -1
  331. package/oauth/toolset-id.js +9 -2
  332. package/oauth/useOAuthCallbackCompletion/useOAuthCallbackCompletion.d.ts.map +1 -1
  333. package/oauth/useOAuthCallbackCompletion/useOAuthCallbackCompletion.js +41 -42
  334. package/oauth/useToolsetLogin/useToolsetLogin.d.ts +7 -1
  335. package/oauth/useToolsetLogin/useToolsetLogin.d.ts.map +1 -1
  336. package/oauth/useToolsetLogin/useToolsetLogin.js +51 -42
  337. package/oauth.js +9 -8
  338. package/offline-credentials/map-offline-credentials-response.d.ts +20 -0
  339. package/offline-credentials/map-offline-credentials-response.d.ts.map +1 -0
  340. package/offline-credentials/map-offline-credentials-response.js +17 -0
  341. package/offline-credentials/scheduled-tasks-login-banner.d.ts +31 -0
  342. package/offline-credentials/scheduled-tasks-login-banner.d.ts.map +1 -0
  343. package/offline-credentials/scheduled-tasks-login-banner.js +17 -0
  344. package/offline-credentials/useOfflineCredentialsAuth/useOfflineCredentialsAuth.d.ts +58 -0
  345. package/offline-credentials/useOfflineCredentialsAuth/useOfflineCredentialsAuth.d.ts.map +1 -0
  346. package/offline-credentials/useOfflineCredentialsAuth/useOfflineCredentialsAuth.js +37 -0
  347. package/offline-credentials/useOfflineCredentialsGate/useOfflineCredentialsGate.d.ts +61 -0
  348. package/offline-credentials/useOfflineCredentialsGate/useOfflineCredentialsGate.d.ts.map +1 -0
  349. package/offline-credentials/useOfflineCredentialsGate/useOfflineCredentialsGate.js +37 -0
  350. package/offline-credentials/useOfflineCredentialsLogin/useOfflineCredentialsLogin.d.ts +28 -0
  351. package/offline-credentials/useOfflineCredentialsLogin/useOfflineCredentialsLogin.d.ts.map +1 -0
  352. package/offline-credentials/useOfflineCredentialsLogin/useOfflineCredentialsLogin.js +29 -0
  353. package/offline-credentials.d.ts +2 -0
  354. package/offline-credentials.js +7 -0
  355. package/package.json +49 -25
  356. package/project/create-project-chat.d.ts +34 -0
  357. package/project/create-project-chat.d.ts.map +1 -0
  358. package/project/create-project-chat.js +27 -0
  359. package/project/project-conversation-data-source.d.ts +36 -0
  360. package/project/project-conversation-data-source.d.ts.map +1 -0
  361. package/project/project-conversation-data-source.js +67 -0
  362. package/project/project-events.d.ts +14 -0
  363. package/project/project-events.d.ts.map +1 -0
  364. package/project/project-events.js +25 -0
  365. package/project/project-file-preview.d.ts +32 -0
  366. package/project/project-file-preview.d.ts.map +1 -0
  367. package/project/project-file-preview.js +25 -0
  368. package/project/project-form-errors.d.ts +23 -0
  369. package/project/project-form-errors.d.ts.map +1 -0
  370. package/project/project-form-errors.js +46 -0
  371. package/project/project-limits.d.ts +17 -0
  372. package/project/project-limits.d.ts.map +1 -0
  373. package/project/project-limits.js +11 -0
  374. package/project/project-mapping.d.ts +16 -0
  375. package/project/project-mapping.d.ts.map +1 -0
  376. package/project/project-mapping.js +43 -0
  377. package/project/project-refresh.d.ts +12 -0
  378. package/project/project-refresh.d.ts.map +1 -0
  379. package/project/project-refresh.js +6 -0
  380. package/project/project-viewed-marks.d.ts +9 -0
  381. package/project/project-viewed-marks.d.ts.map +1 -0
  382. package/project/project-viewed-marks.js +8 -0
  383. package/project/project-watch-stream.d.ts +26 -0
  384. package/project/project-watch-stream.d.ts.map +1 -0
  385. package/project/project-watch-stream.js +39 -0
  386. package/project/projects-api-client.d.ts +179 -0
  387. package/project/projects-api-client.d.ts.map +1 -0
  388. package/project/projects-api-client.js +90 -0
  389. package/project/use-pinned-project-chats.d.ts +58 -0
  390. package/project/use-pinned-project-chats.d.ts.map +1 -0
  391. package/project/use-pinned-project-chats.js +269 -0
  392. package/project/use-project-actions.d.ts +53 -0
  393. package/project/use-project-actions.d.ts.map +1 -0
  394. package/project/use-project-actions.js +92 -0
  395. package/project/use-project-artifacts.d.ts +24 -0
  396. package/project/use-project-artifacts.d.ts.map +1 -0
  397. package/project/use-project-artifacts.js +78 -0
  398. package/project/use-project-conversations.d.ts +32 -0
  399. package/project/use-project-conversations.d.ts.map +1 -0
  400. package/project/use-project-conversations.js +200 -0
  401. package/project/use-project-draft.d.ts +46 -0
  402. package/project/use-project-draft.d.ts.map +1 -0
  403. package/project/use-project-draft.js +54 -0
  404. package/project/use-project-file-preview.d.ts +47 -0
  405. package/project/use-project-file-preview.d.ts.map +1 -0
  406. package/project/use-project-file-preview.js +50 -0
  407. package/project/use-project-submit.d.ts +49 -0
  408. package/project/use-project-submit.d.ts.map +1 -0
  409. package/project/use-project-submit.js +73 -0
  410. package/project/use-project-watch.d.ts +24 -0
  411. package/project/use-project-watch.d.ts.map +1 -0
  412. package/project/use-project-watch.js +41 -0
  413. package/project/use-project.d.ts +23 -0
  414. package/project/use-project.d.ts.map +1 -0
  415. package/project/use-project.js +73 -0
  416. package/project/use-projects.d.ts +27 -0
  417. package/project/use-projects.d.ts.map +1 -0
  418. package/project/use-projects.js +92 -0
  419. package/project.d.ts +2 -0
  420. package/project.js +20 -0
  421. package/prompt/prompt.d.ts +11 -0
  422. package/prompt/prompt.d.ts.map +1 -1
  423. package/prompt/prompt.js +7 -3
  424. package/scheduled-task/active-scheduled-task.d.ts +58 -0
  425. package/scheduled-task/active-scheduled-task.d.ts.map +1 -0
  426. package/scheduled-task/active-scheduled-task.js +18 -0
  427. package/scheduled-task/check-scheduled-task-auth-session-error.d.ts +27 -0
  428. package/scheduled-task/check-scheduled-task-auth-session-error.d.ts.map +1 -0
  429. package/scheduled-task/check-scheduled-task-auth-session-error.js +17 -0
  430. package/scheduled-task/scheduled-task-description.d.ts +2 -0
  431. package/scheduled-task/scheduled-task-description.d.ts.map +1 -1
  432. package/scheduled-task/scheduled-task-description.js +33 -24
  433. package/scheduled-task/scheduled-task-display.d.ts +106 -0
  434. package/scheduled-task/scheduled-task-display.d.ts.map +1 -0
  435. package/scheduled-task/scheduled-task-display.js +69 -0
  436. package/scheduled-task/scheduled-task-next-occurrence.d.ts +9 -0
  437. package/scheduled-task/scheduled-task-next-occurrence.d.ts.map +1 -0
  438. package/scheduled-task/scheduled-task-next-occurrence.js +20 -0
  439. package/scheduled-task/scheduled-task-preparation.d.ts +1 -1
  440. package/scheduled-task/scheduled-task-trigger.d.ts.map +1 -1
  441. package/scheduled-task/scheduled-task-trigger.js +75 -48
  442. package/scheduled-task/use-scheduled-task-runs.js +19 -31
  443. package/scheduled-task/use-scheduled-tasks.d.ts +2 -2
  444. package/scheduled-task/use-scheduled-tasks.js +1 -1
  445. package/scheduled-task/useActiveScheduledTaskDetails.d.ts +18 -0
  446. package/scheduled-task/useActiveScheduledTaskDetails.d.ts.map +1 -0
  447. package/scheduled-task/useActiveScheduledTaskDetails.js +40 -0
  448. package/scheduled-task/useScheduledTaskSkillDisplayNames/useScheduledTaskSkillDisplayNames.d.ts +17 -0
  449. package/scheduled-task/useScheduledTaskSkillDisplayNames/useScheduledTaskSkillDisplayNames.d.ts.map +1 -0
  450. package/scheduled-task/useScheduledTaskSkillDisplayNames/useScheduledTaskSkillDisplayNames.js +29 -0
  451. package/scheduled-task/useStartScheduledTask.d.ts +41 -0
  452. package/scheduled-task/useStartScheduledTask.d.ts.map +1 -0
  453. package/scheduled-task/useStartScheduledTask.js +169 -0
  454. package/scheduled-tasks.js +13 -6
  455. package/scroll-anchoring.js +1 -2
  456. package/share-invitation/models.d.ts +46 -0
  457. package/share-invitation/models.d.ts.map +1 -0
  458. package/share-invitation/share-invitation-error.d.ts +6 -0
  459. package/share-invitation/share-invitation-error.d.ts.map +1 -0
  460. package/share-invitation/share-invitation-error.js +37 -0
  461. package/share-invitation/types.d.ts +10 -0
  462. package/share-invitation/types.d.ts.map +1 -0
  463. package/share-invitation/types.js +6 -0
  464. package/share-invitation/useAcceptShareInvitation/useAcceptShareInvitation.d.ts +9 -0
  465. package/share-invitation/useAcceptShareInvitation/useAcceptShareInvitation.d.ts.map +1 -0
  466. package/share-invitation/useAcceptShareInvitation/useAcceptShareInvitation.js +26 -0
  467. package/shared/application-schema.js +3 -3
  468. package/shared/client-channel.d.ts +53 -0
  469. package/shared/client-channel.d.ts.map +1 -0
  470. package/shared/client-channel.js +6 -0
  471. package/shared/cron-day-of-month.js +10 -10
  472. package/shared/external-services.d.ts +1 -1
  473. package/shared/locale.d.ts +6 -2
  474. package/shared/locale.d.ts.map +1 -1
  475. package/shared/locale.js +4 -4
  476. package/shared/read-sse-events.d.ts +10 -0
  477. package/shared/read-sse-events.d.ts.map +1 -0
  478. package/shared/read-sse-events.js +33 -0
  479. package/shared/serialized-writer.d.ts +12 -0
  480. package/shared/serialized-writer.d.ts.map +1 -0
  481. package/shared/serialized-writer.js +44 -0
  482. package/shared/sleep.d.ts +3 -0
  483. package/shared/sleep.d.ts.map +1 -0
  484. package/shared/sleep.js +13 -0
  485. package/shared/theme-colors.d.ts +16 -0
  486. package/shared/theme-colors.d.ts.map +1 -0
  487. package/shared/theme-colors.js +14 -0
  488. package/shared/url-cleanup.d.ts +18 -0
  489. package/shared/url-cleanup.d.ts.map +1 -0
  490. package/shared/url-cleanup.js +18 -0
  491. package/shared/usage-stat.d.ts +3 -0
  492. package/shared/usage-stat.d.ts.map +1 -0
  493. package/shared/usage-stat.js +4 -0
  494. package/shared/useAppVersionCheck/useAppVersionCheck.d.ts +22 -0
  495. package/shared/useAppVersionCheck/useAppVersionCheck.d.ts.map +1 -0
  496. package/shared/useAppVersionCheck/useAppVersionCheck.js +36 -0
  497. package/shared/usePersistedState/usePersistedState.d.ts +28 -0
  498. package/shared/usePersistedState/usePersistedState.d.ts.map +1 -0
  499. package/shared/usePersistedState/usePersistedState.js +24 -0
  500. package/sharing.js +5 -2
  501. package/signin-interrupt/models.d.ts +48 -0
  502. package/signin-interrupt/models.d.ts.map +1 -0
  503. package/signin-interrupt/signin-row-info.d.ts +10 -0
  504. package/signin-interrupt/signin-row-info.d.ts.map +1 -0
  505. package/signin-interrupt/signin-row-info.js +21 -0
  506. package/signin-interrupt/types.d.ts +28 -0
  507. package/signin-interrupt/types.d.ts.map +1 -0
  508. package/signin-interrupt/types.js +10 -0
  509. package/signin-interrupt/useSigninInterrupt/useSigninInterrupt.d.ts +52 -0
  510. package/signin-interrupt/useSigninInterrupt/useSigninInterrupt.d.ts.map +1 -0
  511. package/signin-interrupt/useSigninInterrupt/useSigninInterrupt.js +270 -0
  512. package/skill/skill-file-batch-validation.d.ts +4 -0
  513. package/skill/skill-file-batch-validation.d.ts.map +1 -1
  514. package/skill/skill-file-batch-validation.js +34 -33
  515. package/skill/skill-lookup.d.ts +20 -0
  516. package/skill/skill-lookup.d.ts.map +1 -0
  517. package/skill/skill-lookup.js +12 -0
  518. package/skill/skill-types.js +1 -1
  519. package/skill/skill.d.ts +5 -1
  520. package/skill/skill.d.ts.map +1 -1
  521. package/skill/skill.js +27 -28
  522. package/skill/useSkillArchiveImport/useSkillArchiveImport.js +1 -7
  523. package/skill/useSkillEditorSubmit.d.ts +15 -1
  524. package/skill/useSkillEditorSubmit.d.ts.map +1 -1
  525. package/skill/useSkillEditorSubmit.js +164 -87
  526. package/skill/useSkillFileActions.d.ts +2 -0
  527. package/skill/useSkillFileActions.d.ts.map +1 -1
  528. package/skill/useSkillFileActions.js +36 -21
  529. package/skill-editor/useSkillFilePreviewSyncController.d.ts +41 -0
  530. package/skill-editor/useSkillFilePreviewSyncController.d.ts.map +1 -0
  531. package/skill-editor/useSkillFilePreviewSyncController.js +58 -0
  532. package/skill-editor/useSkillFileSystemPicker/useSkillFileSystemPicker.d.ts +23 -0
  533. package/skill-editor/useSkillFileSystemPicker/useSkillFileSystemPicker.d.ts.map +1 -0
  534. package/skill-editor/useSkillFileSystemPicker/useSkillFileSystemPicker.js +43 -0
  535. package/skill-editor.js +11 -9
  536. package/skills-state.js +3 -2
  537. package/source-content.js +1 -2
  538. package/usage/map-usage-data-to-dashboard.d.ts +1 -16
  539. package/usage/map-usage-data-to-dashboard.d.ts.map +1 -1
  540. package/usage/map-user-usage-to-model-limits.d.ts.map +1 -1
  541. package/usage/map-user-usage-to-model-limits.js +24 -24
  542. package/usage/usage-banner-source.d.ts +24 -0
  543. package/usage/usage-banner-source.d.ts.map +1 -0
  544. package/usage/usage-banner-source.js +61 -0
  545. package/usage/usage-gauge.d.ts +3 -0
  546. package/usage/usage-gauge.d.ts.map +1 -0
  547. package/usage/usage-gauge.js +4 -0
  548. package/usage/usage-period.d.ts +7 -0
  549. package/usage/usage-period.d.ts.map +1 -0
  550. package/usage/usage-period.js +6 -0
  551. package/usage/usage-reset-time.d.ts +78 -0
  552. package/usage/usage-reset-time.d.ts.map +1 -0
  553. package/usage/usage-reset-time.js +82 -0
  554. package/usage/useDeploymentUsageLimits/useDeploymentUsageLimits.d.ts +56 -0
  555. package/usage/useDeploymentUsageLimits/useDeploymentUsageLimits.d.ts.map +1 -0
  556. package/usage/useDeploymentUsageLimits/useDeploymentUsageLimits.js +34 -0
  557. package/usage/useRefreshUsageAfterGeneration/useRefreshUsageAfterGeneration.d.ts +16 -0
  558. package/usage/useRefreshUsageAfterGeneration/useRefreshUsageAfterGeneration.d.ts.map +1 -0
  559. package/usage/useRefreshUsageAfterGeneration/useRefreshUsageAfterGeneration.js +14 -0
  560. package/usage/useUsageLimitBanner/useUsageLimitBanner.d.ts +58 -0
  561. package/usage/useUsageLimitBanner/useUsageLimitBanner.d.ts.map +1 -0
  562. package/usage/useUsageLimitBanner/useUsageLimitBanner.js +70 -0
  563. package/usage/useUsageLimitBannerDismissal/useUsageLimitBannerDismissal.d.ts +14 -0
  564. package/usage/useUsageLimitBannerDismissal/useUsageLimitBannerDismissal.d.ts.map +1 -0
  565. package/usage/useUsageLimitBannerDismissal/useUsageLimitBannerDismissal.js +19 -0
  566. package/usage-limits.d.ts +2 -0
  567. package/usage-limits.js +10 -0
  568. package/useChatSettingsFormConfig/useChatSettingsFormConfig.d.ts +2 -0
  569. package/useChatSettingsFormConfig/useChatSettingsFormConfig.d.ts.map +1 -1
  570. package/useChatSettingsFormConfig/useChatSettingsFormConfig.js +25 -21
  571. package/usePageFileDrag/usePageFileDrag.js +3 -3
  572. package/useShareLink/useShareLink.d.ts.map +1 -1
  573. package/useShareLink/useShareLink.js +18 -17
  574. package/utils.js +23 -17
  575. package/viewport-layout/canvas-width.d.ts +39 -0
  576. package/viewport-layout/canvas-width.d.ts.map +1 -0
  577. package/viewport-layout/canvas-width.js +23 -0
  578. 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, buildSkillFilesPayload as o, buildSkillManifest as s, buildSkillManifestForSubmit as c, buildSkillManifestFromFrontmatter as l, getSkillFieldLengthViolations as u, isSkillFolderMarkerPath as d, isValidSkillRelativePath as f, nameFromPath as p, normalizeSkillName as m, parseSkillManifest as h, skillFileBytesToBlob as g, skillFolderMarkerParent as _, startsWithFrontmatterBlock as v, unpackSkillArchive as y } from "./skill/skill.js";
2
- import { parseSkillManifestDocument as b } from "./skill/skill-manifest.js";
3
- import { validateSkillFileBatch as x } from "./skill/skill-file-batch-validation.js";
4
- import { skillFileToAttachment as S } from "./skill/skill-file-preview.js";
5
- import { SkillEditorLoadState as C, useSkillEditorLoad as w } from "./skill/useSkillEditorLoad.js";
6
- import { useSkillEditorSubmit as T } from "./skill/useSkillEditorSubmit.js";
7
- import { useSkillFileActions as E } from "./skill/useSkillFileActions.js";
8
- import { SkillArchiveImportErrorKind as D, SkillArchiveImportStatus as O, SkillArchiveSelectionRejectionReason as k, classifySkillArchiveImportError as A, useSkillArchiveImport as j } from "./skill/useSkillArchiveImport/useSkillArchiveImport.js";
9
- 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, D as SkillArchiveImportErrorKind, O as SkillArchiveImportStatus, k as SkillArchiveSelectionRejectionReason, C as SkillEditorLoadState, o as buildSkillFilesPayload, s as buildSkillManifest, c as buildSkillManifestForSubmit, l as buildSkillManifestFromFrontmatter, A as classifySkillArchiveImportError, u as getSkillFieldLengthViolations, d as isSkillFolderMarkerPath, f as isValidSkillRelativePath, p as nameFromPath, m as normalizeSkillName, h as parseSkillManifest, b as parseSkillManifestDocument, g as skillFileBytesToBlob, S as skillFileToAttachment, _ as skillFolderMarkerParent, v as startsWithFrontmatterBlock, y as unpackSkillArchive, j as useSkillArchiveImport, w as useSkillEditorLoad, T as useSkillEditorSubmit, E as useSkillFileActions, x as validateSkillFileBatch };
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 { useSkillsState as e } from "./skill/useSkillsState/useSkillsState.js";
2
- export { e as useSkillsState };
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
- import { getUrlFileName as e, isExternalSourcePreviewable as t, resolveExternalSourceContentType as n } from "./files/source-content.js";
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;AAGxE,kEAAkE;AAClE,KAAK,SAAS,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,CAAC;AAE5E;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B,4FAA4F;IAC5F,UAAU,EAAE,MAAM,CAAC;IACnB,kEAAkE;IAClE,QAAQ,EAAE,MAAM,CAAC;IACjB,0BAA0B;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,8CAA8C;IAC9C,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,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
+ {"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,YAAY,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,KAAK,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;AA6HX;;;;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
+ {"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 { formatCost as t } from "@epam/ai-dial-chat-shared";
3
- import { DeploymentItemDtoTypeEnum as n } from "@epam/ai-dial-chat-api-client";
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: s === i.LimitReached ? r(l.overallCostLimitReachedTooltip, { period: u }) : s === i.RunningLow ? r(l.overallCostLimitRunningLowTooltip, { period: u }) : void 0,
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, n) => {
99
- if (!f(e)) return y(n);
100
- let i = Math.max(0, e.used), o = n(l.spentLabel, { amount: t(i) });
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: t(s),
110
+ totalLabel: n(s),
111
111
  usedPercent: c,
112
112
  status: p(c),
113
- ariaLabel: n(l.progressAriaLabel, {
114
- used: t(i),
115
- total: t(s),
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 = (t, r, i, a, o, s) => {
139
- let c = t?.deployments;
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 === n.Model || e.type === n.Application).map((t) => [e(t.id), t])), f = v(t, i, a);
142
- return Object.keys(c).map((t) => {
143
- let r = d.get(e(t)), p = r == null ? t : s(r.displayName, i) || r.id, m = c[t], h = o(r?.iconUrl);
144
- if (r?.type === n.Application) {
145
- let e = T(m, u.day, a), n = T(m, u.week, a), i = T(m, u.month, 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: t,
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: n,
154
+ week: t,
155
155
  month: i,
156
156
  status: w([
157
157
  e.tokens,
158
- n.tokens,
158
+ t.tokens,
159
159
  i.tokens
160
160
  ], [
161
161
  e.cost,
162
- n.cost,
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: t,
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,3 @@
1
+ /** Angle, in degrees clockwise from 12 o'clock, at which the usage dial's needle points for `usedPercent`. */
2
+ export declare const getGaugeNeedleAngle: (usedPercent: number) => number;
3
+ //# sourceMappingURL=usage-gauge.d.ts.map
@@ -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,4 @@
1
+ //#region src/usage/usage-gauge.ts
2
+ var e = (e) => -135 + Math.min(100, Math.max(0, e)) / 100 * 270;
3
+ //#endregion
4
+ export { e as getGaugeNeedleAngle };
@@ -0,0 +1,7 @@
1
+ /** A calendar usage period the composer usage banner can report on. */
2
+ export declare enum UsagePeriod {
3
+ Day = "day",
4
+ Week = "week",
5
+ Month = "month"
6
+ }
7
+ //# sourceMappingURL=usage-period.d.ts.map
@@ -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,6 @@
1
+ //#region src/usage/usage-period.ts
2
+ var e = /* @__PURE__ */ function(e) {
3
+ return e.Day = "day", e.Week = "week", e.Month = "month", e;
4
+ }({});
5
+ //#endregion
6
+ export { e as UsagePeriod };
@@ -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 };