@epam/ai-dial-chat-hooks 1.1.0-dev.383 → 1.1.0-dev.390

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