@burdenoff/microfe-botmanor 2026.1108.1 → 2026.1109.1

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 (334) hide show
  1. package/dist/botlit/BotlitRoutes.d.ts +2 -0
  2. package/dist/botlit/BotlitRoutes.js +24 -25
  3. package/dist/botlit/BotlitRoutes.js.map +1 -1
  4. package/dist/botlit/BotmanorRoot.d.ts +3 -0
  5. package/dist/botlit/BotmanorRoot.js +1 -2
  6. package/dist/botlit/BotmanorRoot.js.map +1 -1
  7. package/dist/botlit/BotmanorRootInner.d.ts +3 -0
  8. package/dist/botlit/BotmanorRootInner.js +9 -10
  9. package/dist/botlit/BotmanorRootInner.js.map +1 -1
  10. package/dist/botlit/components/AgentApprovalPanel.d.ts +20 -0
  11. package/dist/botlit/components/AgentApprovalPanel.js +49 -50
  12. package/dist/botlit/components/AgentApprovalPanel.js.map +1 -1
  13. package/dist/botlit/components/AiOperationsPanel.d.ts +14 -0
  14. package/dist/botlit/components/AiOperationsPanel.js +54 -55
  15. package/dist/botlit/components/AiOperationsPanel.js.map +1 -1
  16. package/dist/botlit/components/AssistantChannelPanel.d.ts +3 -0
  17. package/dist/botlit/components/AssistantChannelPanel.js +12 -13
  18. package/dist/botlit/components/AssistantChannelPanel.js.map +1 -1
  19. package/dist/botlit/components/AssistantRuntimeSetupPanel.d.ts +4 -0
  20. package/dist/botlit/components/AssistantRuntimeSetupPanel.js +14 -14
  21. package/dist/botlit/components/AssistantRuntimeSetupPanel.js.map +1 -1
  22. package/dist/botlit/components/AssistantWebsitePanel.d.ts +5 -0
  23. package/dist/botlit/components/AssistantWebsitePanel.js +15 -16
  24. package/dist/botlit/components/AssistantWebsitePanel.js.map +1 -1
  25. package/dist/botlit/components/Badge.d.ts +9 -0
  26. package/dist/botlit/components/Badge.js +1 -2
  27. package/dist/botlit/components/Badge.js.map +1 -1
  28. package/dist/botlit/components/Button.d.ts +10 -0
  29. package/dist/botlit/components/Button.js +1 -2
  30. package/dist/botlit/components/Button.js.map +1 -1
  31. package/dist/botlit/components/Card.d.ts +16 -0
  32. package/dist/botlit/components/Card.js +1 -2
  33. package/dist/botlit/components/Card.js.map +1 -1
  34. package/dist/botlit/components/ChannelSelectorSheet.d.ts +23 -0
  35. package/dist/botlit/components/ChannelSelectorSheet.js +1 -2
  36. package/dist/botlit/components/ChannelSelectorSheet.js.map +1 -1
  37. package/dist/botlit/components/EmptyState.d.ts +12 -0
  38. package/dist/botlit/components/EmptyState.js +1 -2
  39. package/dist/botlit/components/EmptyState.js.map +1 -1
  40. package/dist/botlit/components/ErrorState.d.ts +10 -0
  41. package/dist/botlit/components/ErrorState.js +5 -6
  42. package/dist/botlit/components/ErrorState.js.map +1 -1
  43. package/dist/botlit/components/Input.d.ts +27 -0
  44. package/dist/botlit/components/Input.js +1 -2
  45. package/dist/botlit/components/Input.js.map +1 -1
  46. package/dist/botlit/components/KnowledgeSourceImportPanel.d.ts +3 -0
  47. package/dist/botlit/components/KnowledgeSourceImportPanel.js +12 -13
  48. package/dist/botlit/components/KnowledgeSourceImportPanel.js.map +1 -1
  49. package/dist/botlit/components/ModelRegistrationPanel.d.ts +5 -0
  50. package/dist/botlit/components/ModelRegistrationPanel.js +1 -2
  51. package/dist/botlit/components/ModelRegistrationPanel.js.map +1 -1
  52. package/dist/botlit/components/PageLayout.d.ts +12 -0
  53. package/dist/botlit/components/PageLayout.js +1 -2
  54. package/dist/botlit/components/PageLayout.js.map +1 -1
  55. package/dist/botlit/components/QuotaExhaustedDialog.d.ts +9 -0
  56. package/dist/botlit/components/QuotaExhaustedDialog.js +1 -2
  57. package/dist/botlit/components/QuotaExhaustedDialog.js.map +1 -1
  58. package/dist/botlit/components/RetentionStatusPanel.d.ts +2 -0
  59. package/dist/botlit/components/RetentionStatusPanel.js +18 -19
  60. package/dist/botlit/components/RetentionStatusPanel.js.map +1 -1
  61. package/dist/botlit/components/RouteLoader.d.ts +23 -0
  62. package/dist/botlit/components/RouteLoader.js +1 -2
  63. package/dist/botlit/components/RouteLoader.js.map +1 -1
  64. package/dist/botlit/components/VersionHistoryPanel.d.ts +12 -0
  65. package/dist/botlit/components/VersionHistoryPanel.js +23 -24
  66. package/dist/botlit/components/VersionHistoryPanel.js.map +1 -1
  67. package/dist/botlit/components/WorkspaceRequired.d.ts +18 -0
  68. package/dist/botlit/components/WorkspaceRequired.js +1 -2
  69. package/dist/botlit/components/WorkspaceRequired.js.map +1 -1
  70. package/dist/botlit/components/index.d.ts +14 -0
  71. package/dist/botlit/hooks/index.d.ts +36 -0
  72. package/dist/botlit/hooks/index.js +15 -14
  73. package/dist/botlit/hooks/internal/mutationInput.d.ts +56 -0
  74. package/dist/botlit/hooks/internal/mutationInput.js +1 -2
  75. package/dist/botlit/hooks/internal/mutationInput.js.map +1 -1
  76. package/dist/botlit/hooks/internal/workspaceGateway.d.ts +54 -0
  77. package/dist/botlit/hooks/internal/workspaceGateway.js +17 -19
  78. package/dist/botlit/hooks/internal/workspaceGateway.js.map +1 -1
  79. package/dist/botlit/hooks/useA2A.d.ts +104 -0
  80. package/dist/botlit/hooks/useA2A.js +45 -45
  81. package/dist/botlit/hooks/useA2A.js.map +1 -1
  82. package/dist/botlit/hooks/useAgentApprovals.d.ts +62 -0
  83. package/dist/botlit/hooks/useAgentApprovals.js +38 -39
  84. package/dist/botlit/hooks/useAgentApprovals.js.map +1 -1
  85. package/dist/botlit/hooks/useAgents.d.ts +105 -0
  86. package/dist/botlit/hooks/useAgents.js +53 -54
  87. package/dist/botlit/hooks/useAgents.js.map +1 -1
  88. package/dist/botlit/hooks/useAiOperations.d.ts +95 -0
  89. package/dist/botlit/hooks/useAiOperations.js +20 -19
  90. package/dist/botlit/hooks/useAiOperations.js.map +1 -1
  91. package/dist/botlit/hooks/useAssistantChannels.d.ts +16 -0
  92. package/dist/botlit/hooks/useAssistantChannels.js +1 -2
  93. package/dist/botlit/hooks/useAssistantChannels.js.map +1 -1
  94. package/dist/botlit/hooks/useAssistantRuntimeSetup.d.ts +17 -0
  95. package/dist/botlit/hooks/useAssistantRuntimeSetup.js +1 -2
  96. package/dist/botlit/hooks/useAssistantRuntimeSetup.js.map +1 -1
  97. package/dist/botlit/hooks/useAssistantWebsites.d.ts +18 -0
  98. package/dist/botlit/hooks/useAssistantWebsites.js +1 -2
  99. package/dist/botlit/hooks/useAssistantWebsites.js.map +1 -1
  100. package/dist/botlit/hooks/useBotWorkflow.d.ts +22 -0
  101. package/dist/botlit/hooks/useBotWorkflow.js +1 -2
  102. package/dist/botlit/hooks/useBotWorkflow.js.map +1 -1
  103. package/dist/botlit/hooks/useBots.d.ts +68 -0
  104. package/dist/botlit/hooks/useBots.js +32 -33
  105. package/dist/botlit/hooks/useBots.js.map +1 -1
  106. package/dist/botlit/hooks/useBuckets.d.ts +57 -0
  107. package/dist/botlit/hooks/useBuckets.js +38 -39
  108. package/dist/botlit/hooks/useBuckets.js.map +1 -1
  109. package/dist/botlit/hooks/useChannels.d.ts +87 -0
  110. package/dist/botlit/hooks/useChannels.js +73 -73
  111. package/dist/botlit/hooks/useChannels.js.map +1 -1
  112. package/dist/botlit/hooks/useConversations.d.ts +42 -0
  113. package/dist/botlit/hooks/useConversations.js +1 -2
  114. package/dist/botlit/hooks/useConversations.js.map +1 -1
  115. package/dist/botlit/hooks/useExecutions.d.ts +87 -0
  116. package/dist/botlit/hooks/useExecutions.js +37 -37
  117. package/dist/botlit/hooks/useExecutions.js.map +1 -1
  118. package/dist/botlit/hooks/useKnowledgeBases.d.ts +79 -0
  119. package/dist/botlit/hooks/useKnowledgeBases.js +40 -39
  120. package/dist/botlit/hooks/useKnowledgeBases.js.map +1 -1
  121. package/dist/botlit/hooks/useKnowledgeSourceImports.d.ts +21 -0
  122. package/dist/botlit/hooks/useKnowledgeSourceImports.js +1 -2
  123. package/dist/botlit/hooks/useKnowledgeSourceImports.js.map +1 -1
  124. package/dist/botlit/hooks/useLLMProviders.d.ts +66 -0
  125. package/dist/botlit/hooks/useLLMProviders.js +25 -26
  126. package/dist/botlit/hooks/useLLMProviders.js.map +1 -1
  127. package/dist/botlit/hooks/useMCPServers.d.ts +71 -0
  128. package/dist/botlit/hooks/useMCPServers.js +40 -38
  129. package/dist/botlit/hooks/useMCPServers.js.map +1 -1
  130. package/dist/botlit/hooks/usePolicies.d.ts +60 -0
  131. package/dist/botlit/hooks/usePolicies.js +49 -49
  132. package/dist/botlit/hooks/usePolicies.js.map +1 -1
  133. package/dist/botlit/hooks/usePromptTemplates.d.ts +88 -0
  134. package/dist/botlit/hooks/usePromptTemplates.js +57 -57
  135. package/dist/botlit/hooks/usePromptTemplates.js.map +1 -1
  136. package/dist/botlit/hooks/useRetention.d.ts +26 -0
  137. package/dist/botlit/hooks/useRetention.js +3 -3
  138. package/dist/botlit/hooks/useRetention.js.map +1 -1
  139. package/dist/botlit/hooks/useRetrievalProfiles.d.ts +75 -0
  140. package/dist/botlit/hooks/useRetrievalProfiles.js +47 -47
  141. package/dist/botlit/hooks/useRetrievalProfiles.js.map +1 -1
  142. package/dist/botlit/hooks/useSkills.d.ts +64 -0
  143. package/dist/botlit/hooks/useSkills.js +53 -53
  144. package/dist/botlit/hooks/useSkills.js.map +1 -1
  145. package/dist/botlit/hooks/useStore.d.ts +112 -0
  146. package/dist/botlit/hooks/useStore.js +55 -55
  147. package/dist/botlit/hooks/useStore.js.map +1 -1
  148. package/dist/botlit/hooks/useUserPlatformConnection.d.ts +80 -0
  149. package/dist/botlit/hooks/useUserPlatformConnection.js +19 -19
  150. package/dist/botlit/hooks/useUserPlatformConnection.js.map +1 -1
  151. package/dist/botlit/index.d.ts +16 -0
  152. package/dist/botlit/index.js +12 -11
  153. package/dist/botlit/pages/A2AAgentDetailPage.d.ts +6 -0
  154. package/dist/botlit/pages/A2AAgentDetailPage.js +171 -178
  155. package/dist/botlit/pages/A2AAgentDetailPage.js.map +1 -1
  156. package/dist/botlit/pages/A2ARegistryPage.d.ts +2 -0
  157. package/dist/botlit/pages/A2ARegistryPage.js +25 -26
  158. package/dist/botlit/pages/A2ARegistryPage.js.map +1 -1
  159. package/dist/botlit/pages/AgentApprovalsPage.d.ts +2 -0
  160. package/dist/botlit/pages/AgentApprovalsPage.js +32 -33
  161. package/dist/botlit/pages/AgentApprovalsPage.js.map +1 -1
  162. package/dist/botlit/pages/AgentBuilderPage.d.ts +2 -0
  163. package/dist/botlit/pages/AgentBuilderPage.js +59 -60
  164. package/dist/botlit/pages/AgentBuilderPage.js.map +1 -1
  165. package/dist/botlit/pages/AgentDetailPage.d.ts +2 -0
  166. package/dist/botlit/pages/AgentDetailPage.js +83 -84
  167. package/dist/botlit/pages/AgentDetailPage.js.map +1 -1
  168. package/dist/botlit/pages/AgentsListPage.d.ts +2 -0
  169. package/dist/botlit/pages/AgentsListPage.js +71 -72
  170. package/dist/botlit/pages/AgentsListPage.js.map +1 -1
  171. package/dist/botlit/pages/AiOperationsPage.d.ts +2 -0
  172. package/dist/botlit/pages/AiOperationsPage.js +52 -53
  173. package/dist/botlit/pages/AiOperationsPage.js.map +1 -1
  174. package/dist/botlit/pages/BotChannelsTab.d.ts +7 -0
  175. package/dist/botlit/pages/BotChannelsTab.js +120 -122
  176. package/dist/botlit/pages/BotChannelsTab.js.map +1 -1
  177. package/dist/botlit/pages/BotDetailPage.d.ts +7 -0
  178. package/dist/botlit/pages/BotDetailPage.js +353 -358
  179. package/dist/botlit/pages/BotDetailPage.js.map +1 -1
  180. package/dist/botlit/pages/BotWorkflowTab.d.ts +11 -0
  181. package/dist/botlit/pages/BotWorkflowTab.js +20 -21
  182. package/dist/botlit/pages/BotWorkflowTab.js.map +1 -1
  183. package/dist/botlit/pages/BotsListPage.d.ts +2 -0
  184. package/dist/botlit/pages/BotsListPage.js +52 -53
  185. package/dist/botlit/pages/BotsListPage.js.map +1 -1
  186. package/dist/botlit/pages/BucketsPage.d.ts +2 -0
  187. package/dist/botlit/pages/BucketsPage.js +260 -261
  188. package/dist/botlit/pages/BucketsPage.js.map +1 -1
  189. package/dist/botlit/pages/ChannelDetailPage.d.ts +6 -0
  190. package/dist/botlit/pages/ChannelDetailPage.js +97 -96
  191. package/dist/botlit/pages/ChannelDetailPage.js.map +1 -1
  192. package/dist/botlit/pages/ChannelRoutesPage.d.ts +2 -0
  193. package/dist/botlit/pages/ChannelRoutesPage.js +23 -24
  194. package/dist/botlit/pages/ChannelRoutesPage.js.map +1 -1
  195. package/dist/botlit/pages/ChannelsPage.d.ts +2 -0
  196. package/dist/botlit/pages/ChannelsPage.js +44 -45
  197. package/dist/botlit/pages/ChannelsPage.js.map +1 -1
  198. package/dist/botlit/pages/ChatPage.d.ts +1 -0
  199. package/dist/botlit/pages/ChatPage.js +10 -11
  200. package/dist/botlit/pages/ChatPage.js.map +1 -1
  201. package/dist/botlit/pages/ConversationDetailPage.d.ts +2 -0
  202. package/dist/botlit/pages/ConversationsPage.d.ts +2 -0
  203. package/dist/botlit/pages/DashboardPage.d.ts +2 -0
  204. package/dist/botlit/pages/DashboardPage.js +37 -38
  205. package/dist/botlit/pages/DashboardPage.js.map +1 -1
  206. package/dist/botlit/pages/ExecutionDetailPage.d.ts +2 -0
  207. package/dist/botlit/pages/ExecutionDetailPage.js +47 -48
  208. package/dist/botlit/pages/ExecutionDetailPage.js.map +1 -1
  209. package/dist/botlit/pages/ExecutionsPage.d.ts +2 -0
  210. package/dist/botlit/pages/ExecutionsPage.js +72 -70
  211. package/dist/botlit/pages/ExecutionsPage.js.map +1 -1
  212. package/dist/botlit/pages/InstalledPackagesPage.d.ts +2 -0
  213. package/dist/botlit/pages/InstalledPackagesPage.js +77 -78
  214. package/dist/botlit/pages/InstalledPackagesPage.js.map +1 -1
  215. package/dist/botlit/pages/KnowledgeBaseDetailPage.d.ts +6 -0
  216. package/dist/botlit/pages/KnowledgeBaseDetailPage.js +171 -181
  217. package/dist/botlit/pages/KnowledgeBaseDetailPage.js.map +1 -1
  218. package/dist/botlit/pages/KnowledgeBasesPage.d.ts +2 -0
  219. package/dist/botlit/pages/KnowledgeBasesPage.js +30 -31
  220. package/dist/botlit/pages/KnowledgeBasesPage.js.map +1 -1
  221. package/dist/botlit/pages/MCPServerDetailPage.d.ts +6 -0
  222. package/dist/botlit/pages/MCPServerDetailPage.js +82 -83
  223. package/dist/botlit/pages/MCPServerDetailPage.js.map +1 -1
  224. package/dist/botlit/pages/MCPServersPage.d.ts +2 -0
  225. package/dist/botlit/pages/MCPServersPage.js +54 -55
  226. package/dist/botlit/pages/MCPServersPage.js.map +1 -1
  227. package/dist/botlit/pages/PoliciesPage.d.ts +2 -0
  228. package/dist/botlit/pages/PoliciesPage.js +25 -26
  229. package/dist/botlit/pages/PoliciesPage.js.map +1 -1
  230. package/dist/botlit/pages/PolicyDetailPage.d.ts +6 -0
  231. package/dist/botlit/pages/PolicyDetailPage.js +257 -259
  232. package/dist/botlit/pages/PolicyDetailPage.js.map +1 -1
  233. package/dist/botlit/pages/PromptStudioPage.d.ts +2 -0
  234. package/dist/botlit/pages/PromptStudioPage.js +35 -35
  235. package/dist/botlit/pages/PromptStudioPage.js.map +1 -1
  236. package/dist/botlit/pages/PromptTemplateDetailPage.d.ts +6 -0
  237. package/dist/botlit/pages/PromptTemplateDetailPage.js +363 -362
  238. package/dist/botlit/pages/PromptTemplateDetailPage.js.map +1 -1
  239. package/dist/botlit/pages/PromptTemplatesPage.d.ts +2 -0
  240. package/dist/botlit/pages/PromptTemplatesPage.js +26 -27
  241. package/dist/botlit/pages/PromptTemplatesPage.js.map +1 -1
  242. package/dist/botlit/pages/RetrievalProfileDetailPage.d.ts +6 -0
  243. package/dist/botlit/pages/RetrievalProfileDetailPage.js +150 -158
  244. package/dist/botlit/pages/RetrievalProfileDetailPage.js.map +1 -1
  245. package/dist/botlit/pages/RetrievalProfilesPage.d.ts +2 -0
  246. package/dist/botlit/pages/RetrievalProfilesPage.js +24 -25
  247. package/dist/botlit/pages/RetrievalProfilesPage.js.map +1 -1
  248. package/dist/botlit/pages/SettingsPage.d.ts +2 -0
  249. package/dist/botlit/pages/SettingsPage.js +124 -125
  250. package/dist/botlit/pages/SettingsPage.js.map +1 -1
  251. package/dist/botlit/pages/SkillDetailPage.d.ts +6 -0
  252. package/dist/botlit/pages/SkillDetailPage.js +216 -217
  253. package/dist/botlit/pages/SkillDetailPage.js.map +1 -1
  254. package/dist/botlit/pages/SkillsPage.d.ts +2 -0
  255. package/dist/botlit/pages/SkillsPage.js +24 -25
  256. package/dist/botlit/pages/SkillsPage.js.map +1 -1
  257. package/dist/botlit/pages/StorePackageDetailPage.d.ts +2 -0
  258. package/dist/botlit/pages/StorePackageDetailPage.js +38 -39
  259. package/dist/botlit/pages/StorePackageDetailPage.js.map +1 -1
  260. package/dist/botlit/pages/StorePage.d.ts +2 -0
  261. package/dist/botlit/pages/StorePage.js +135 -136
  262. package/dist/botlit/pages/StorePage.js.map +1 -1
  263. package/dist/botlit/pages/index.d.ts +39 -0
  264. package/dist/botlit/permissions/PermissionRequired.d.ts +20 -0
  265. package/dist/botlit/permissions/PermissionRequired.js +10 -11
  266. package/dist/botlit/permissions/PermissionRequired.js.map +1 -1
  267. package/dist/botlit/permissions/botmanorPermissions.d.ts +82 -0
  268. package/dist/botlit/permissions/botmanorPermissions.js +1 -2
  269. package/dist/botlit/permissions/botmanorPermissions.js.map +1 -1
  270. package/dist/botlit/permissions/index.d.ts +7 -0
  271. package/dist/botlit/permissions/index.js +4 -3
  272. package/dist/botlit/permissions/useBotmanorPermissions.d.ts +41 -0
  273. package/dist/botlit/permissions/useBotmanorPermissions.js +1 -2
  274. package/dist/botlit/permissions/useBotmanorPermissions.js.map +1 -1
  275. package/dist/botlit/providers/BotlitProvider.d.ts +14 -0
  276. package/dist/botlit/providers/BotlitProvider.js +3 -3
  277. package/dist/botlit/providers/BotlitProvider.js.map +1 -1
  278. package/dist/botlit/store/botlitStore.d.ts +85 -0
  279. package/dist/botlit/store/botlitStore.js +1 -2
  280. package/dist/botlit/store/botlitStore.js.map +1 -1
  281. package/dist/botlit/store/renamedKeyStorage.d.ts +13 -0
  282. package/dist/botlit/store/renamedKeyStorage.js +1 -2
  283. package/dist/botlit/store/renamedKeyStorage.js.map +1 -1
  284. package/dist/botlit/types/index.d.ts +1008 -0
  285. package/dist/botlit/utils/cn.d.ts +2 -0
  286. package/dist/botlit/utils/cn.js +1 -2
  287. package/dist/botlit/utils/cn.js.map +1 -1
  288. package/dist/botlit/utils/embedding-models.d.ts +9 -0
  289. package/dist/botlit/utils/embedding-models.js +1 -2
  290. package/dist/botlit/utils/embedding-models.js.map +1 -1
  291. package/dist/botlit/utils/errors.d.ts +19 -0
  292. package/dist/botlit/utils/errors.js +1 -2
  293. package/dist/botlit/utils/errors.js.map +1 -1
  294. package/dist/botlit/utils/formatters.d.ts +38 -0
  295. package/dist/botlit/utils/formatters.js +0 -1
  296. package/dist/botlit/utils/formatters.js.map +1 -1
  297. package/dist/botlit/utils/navigation.d.ts +19 -0
  298. package/dist/botlit/utils/navigation.js +1 -2
  299. package/dist/botlit/utils/navigation.js.map +1 -1
  300. package/dist/botlit/utils/policyConfig.d.ts +68 -0
  301. package/dist/botlit/utils/policyConfig.js +2 -3
  302. package/dist/botlit/utils/policyConfig.js.map +1 -1
  303. package/dist/botlit/utils/unions.d.ts +25 -0
  304. package/dist/botlit/utils/unions.js +1 -2
  305. package/dist/botlit/utils/unions.js.map +1 -1
  306. package/dist/dev/App.d.ts +2 -0
  307. package/dist/dev/main.d.ts +0 -0
  308. package/dist/generated/global-operations.d.ts +197 -0
  309. package/dist/generated/global-operations.js +1 -2
  310. package/dist/generated/global-operations.js.map +1 -1
  311. package/dist/generated/global-types.d.ts +27678 -0
  312. package/dist/generated/global-types.js +1 -2
  313. package/dist/generated/global-types.js.map +1 -1
  314. package/dist/generated/wspace-operations.d.ts +5489 -0
  315. package/dist/generated/wspace-operations.js +64 -60
  316. package/dist/generated/wspace-operations.js.map +1 -1
  317. package/dist/generated/wspace-types.d.ts +152017 -0
  318. package/dist/generated/wspace-types.js +1 -2
  319. package/dist/generated/wspace-types.js.map +1 -1
  320. package/dist/index.d.ts +5 -0
  321. package/dist/shared/hooks/useTr.d.ts +16 -0
  322. package/dist/shared/hooks/useTr.js +1 -2
  323. package/dist/shared/hooks/useTr.js.map +1 -1
  324. package/dist/stories/Badge.stories.d.ts +11 -0
  325. package/dist/stories/Button.stories.d.ts +13 -0
  326. package/dist/stories/EmptyState.stories.d.ts +8 -0
  327. package/dist/stories/StatusBadge.stories.d.ts +9 -0
  328. package/dist/test/fixtures.d.ts +39 -0
  329. package/dist/test/happydom.d.ts +1 -0
  330. package/dist/test/renderPage.d.ts +18 -0
  331. package/dist/test/setup.d.ts +9 -0
  332. package/dist/utils/nativeBridge.d.ts +2 -0
  333. package/dist/utils/nativeBridge.js +1 -2
  334. package/package.json +87 -60
@@ -1,41 +1,41 @@
1
- import { useTr as e } from "../../shared/hooks/useTr.js";
2
- import { useBotlit as t } from "../providers/BotlitProvider.js";
3
- import { formatRelativeTime as n } from "../utils/formatters.js";
1
+ import { useBotlit as e } from "../providers/BotlitProvider.js";
2
+ import { useTr as t } from "../../shared/hooks/useTr.js";
3
+ import { PageLayout as n } from "../components/PageLayout.js";
4
4
  import { BOTMANOR_PERMISSIONS as r } from "../permissions/botmanorPermissions.js";
5
5
  import { BotmanorPermissionGate as i } from "../permissions/useBotmanorPermissions.js";
6
- import { PageLayout as a } from "../components/PageLayout.js";
7
- import { Button as o } from "../components/Button.js";
8
- import "../permissions/index.js";
9
- import { Card as s, CardContent as c, CardDescription as l, CardHeader as u, CardTitle as d } from "../components/Card.js";
10
- import { Badge as f } from "../components/Badge.js";
11
- import { EmptyState as p } from "../components/EmptyState.js";
12
- import { Input as m } from "../components/Input.js";
13
- import { ErrorState as h } from "../components/ErrorState.js";
14
- import { storePackageDescription as g, storePackageName as _, useInstallPackage as v, useInstalledPackages as y, useStorePackages as b } from "../hooks/useStore.js";
6
+ import { Card as a, CardContent as o, CardDescription as s, CardHeader as c, CardTitle as l } from "../components/Card.js";
7
+ import { Button as u } from "../components/Button.js";
8
+ import { Input as ee } from "../components/Input.js";
9
+ import { Badge as d } from "../components/Badge.js";
10
+ import { EmptyState as f } from "../components/EmptyState.js";
11
+ import { ErrorState as p } from "../components/ErrorState.js";
15
12
  import "../hooks/index.js";
16
- import { InstallMode as x, PackageKind as S } from "../../generated/wspace-types.js";
17
- import { useMemo as C, useState as w } from "react";
18
- import { GlassCard as T, PagePurpose as E } from "@burdenoff/fe-libs/ui";
19
- import { jsx as D, jsxs as O } from "react/jsx-runtime";
20
- import { Link as k } from "react-router";
21
- import { Bot as A, Check as j, Database as M, ExternalLink as ee, FileText as N, Package as P, Search as F, Shield as I, Sparkles as L, Store as R, Wrench as z } from "lucide-react";
13
+ import { formatRelativeTime as m } from "../utils/formatters.js";
14
+ import { storePackageDescription as h, storePackageName as g, useInstallPackage as _, useInstalledPackages as v, useStorePackages as y } from "../hooks/useStore.js";
15
+ import { InstallMode as b, PackageKind as x } from "../../generated/wspace-types.js";
16
+ import "../permissions/index.js";
17
+ import { useMemo as S, useState as C } from "react";
18
+ import { GlassCard as w, PagePurpose as T } from "@burdenoff/fe-libs/ui";
19
+ import { jsx as E, jsxs as D } from "react/jsx-runtime";
20
+ import { Link as O } from "react-router";
21
+ import { Bot as k, Check as A, Database as j, ExternalLink as M, FileText as N, Package as P, Search as F, Shield as I, Sparkles as L, Store as R, Wrench as z } from "lucide-react";
22
22
  import { toast as B } from "sonner";
23
- //#region src/botlit/pages/StorePage.tsx
23
+ // src/botlit/pages/StorePage.tsx
24
24
  var V = ({ kind: e, className: t }) => {
25
25
  switch (e) {
26
- case "APP": return /* @__PURE__ */ D(P, { className: t });
26
+ case "APP": return /* @__PURE__ */ E(P, { className: t });
27
27
  case "AGENT":
28
- case "A2A_AGENT": return /* @__PURE__ */ D(A, { className: t });
28
+ case "A2A_AGENT": return /* @__PURE__ */ E(k, { className: t });
29
29
  case "MCP_PACK":
30
- case "TOOL": return /* @__PURE__ */ D(z, { className: t });
30
+ case "TOOL": return /* @__PURE__ */ E(z, { className: t });
31
31
  case "PROMPT_TEMPLATE":
32
- case "PROMPT": return /* @__PURE__ */ D(N, { className: t });
33
- case "SKILL": return /* @__PURE__ */ D(L, { className: t });
32
+ case "PROMPT": return /* @__PURE__ */ E(N, { className: t });
33
+ case "SKILL": return /* @__PURE__ */ E(L, { className: t });
34
34
  case "RETRIEVAL_PROFILE":
35
35
  case "KNOWLEDGE_BASE":
36
- case "KB_TEMPLATE": return /* @__PURE__ */ D(M, { className: t });
37
- case "POLICY_BUNDLE": return /* @__PURE__ */ D(I, { className: t });
38
- default: return /* @__PURE__ */ D(P, { className: t });
36
+ case "KB_TEMPLATE": return /* @__PURE__ */ E(j, { className: t });
37
+ case "POLICY_BUNDLE": return /* @__PURE__ */ E(I, { className: t });
38
+ default: return /* @__PURE__ */ E(P, { className: t });
39
39
  }
40
40
  };
41
41
  function H(e) {
@@ -59,7 +59,7 @@ function H(e) {
59
59
  };
60
60
  }
61
61
  var U = () => {
62
- let A = e(), { getPath: M } = t(), N = H(A), [P, I] = w(""), [L, z] = w(null), [U, W] = w("recent"), [G, K] = w(null), { data: q, loading: J, error: Y, refetch: X } = b(C(() => ({
62
+ let k = t(), { getPath: j } = e(), N = H(k), [P, I] = C(""), [L, z] = C(null), [U, W] = C("recent"), [G, K] = C(null), q = S(() => ({
63
63
  search: P,
64
64
  kind: L ? [L] : void 0,
65
65
  sortBy: U
@@ -67,179 +67,179 @@ var U = () => {
67
67
  P,
68
68
  L,
69
69
  U
70
- ])), { data: Z, refetch: Q } = y(), { install: te } = v(), $ = C(() => new Set(Z.map((e) => e.package?.slug).filter((e) => typeof e == "string")), [Z]), ne = async (e, t) => {
70
+ ]), { data: J, loading: Y, error: X, refetch: Z } = y(q), { data: Q, refetch: te } = v(), { install: ne } = _(), $ = S(() => new Set(Q.map((e) => e.package?.slug).filter((e) => typeof e == "string")), [Q]), re = async (e, t) => {
71
71
  t.preventDefault(), t.stopPropagation(), K(e.slug);
72
72
  try {
73
- await te({
73
+ await ne({
74
74
  packageId: e.id,
75
- mode: x.Linked
76
- }), B.success(A("botlit.store.install.success", "Installed \"{{name}}\"", { name: _(e) })), Q();
75
+ mode: b.Linked
76
+ }), B.success(k("botlit.store.install.success", "Installed \"{{name}}\"", { name: g(e) })), te();
77
77
  } catch (e) {
78
- B.error(e instanceof Error ? e.message : A("botlit.store.install.error", "Failed to install package"));
78
+ B.error(e instanceof Error ? e.message : k("botlit.store.install.error", "Failed to install package"));
79
79
  } finally {
80
80
  K(null);
81
81
  }
82
- }, re = [
83
- S.Agent,
84
- S.McpPack,
85
- S.Skill,
86
- S.PromptTemplate,
87
- S.PolicyBundle
82
+ }, ie = [
83
+ x.Agent,
84
+ x.McpPack,
85
+ x.Skill,
86
+ x.PromptTemplate,
87
+ x.PolicyBundle
88
88
  ];
89
- return /* @__PURE__ */ D(a, {
90
- title: A("botlit.store.title", "BotManor Store"),
91
- description: A("botlit.store.description", "Discover and install pre-built agents, tools, and configurations"),
92
- actions: /* @__PURE__ */ O("div", {
89
+ return /* @__PURE__ */ E(n, {
90
+ title: k("botlit.store.title", "BotManor Store"),
91
+ description: k("botlit.store.description", "Discover and install pre-built agents, tools, and configurations"),
92
+ actions: /* @__PURE__ */ D("div", {
93
93
  className: "flex gap-2",
94
- children: [/* @__PURE__ */ D(o, {
94
+ children: [/* @__PURE__ */ E(u, {
95
95
  variant: "outline",
96
- children: /* @__PURE__ */ D(k, {
97
- to: M("store/installed"),
98
- children: A("botlit.store.actions.viewInstalled", "View Installed ({{count}})", { count: Z.length })
96
+ children: /* @__PURE__ */ E(O, {
97
+ to: j("store/installed"),
98
+ children: k("botlit.store.actions.viewInstalled", "View Installed ({{count}})", { count: Q.length })
99
99
  })
100
- }), /* @__PURE__ */ D(o, {
100
+ }), /* @__PURE__ */ E(u, {
101
101
  variant: "outline",
102
- leftIcon: /* @__PURE__ */ D(ee, { size: 16 }),
103
- children: A("botlit.store.actions.publishPackage", "Publish Package")
102
+ leftIcon: /* @__PURE__ */ E(M, { size: 16 }),
103
+ children: k("botlit.store.actions.publishPackage", "Publish Package")
104
104
  })]
105
105
  }),
106
- children: /* @__PURE__ */ O("div", {
106
+ children: /* @__PURE__ */ D("div", {
107
107
  className: "space-y-6",
108
108
  children: [
109
- /* @__PURE__ */ D(E, {
110
- icon: /* @__PURE__ */ D(R, { size: 18 }),
111
- children: A("botlit.store.purpose", "The store is a marketplace of ready-made building blocks — full bots, agents, MCP tool packs, prompt templates and policy bundles published by the BotManor team and the community. Browse and install a package to skip the setup and start from a working example, then customise it for your own use case instead of building everything from scratch.")
109
+ /* @__PURE__ */ E(T, {
110
+ icon: /* @__PURE__ */ E(R, { size: 18 }),
111
+ children: k("botlit.store.purpose", "The store is a marketplace of ready-made building blocks — full bots, agents, MCP tool packs, prompt templates and policy bundles published by the BotManor team and the community. Browse and install a package to skip the setup and start from a working example, then customise it for your own use case instead of building everything from scratch.")
112
112
  }),
113
- /* @__PURE__ */ O("div", {
113
+ /* @__PURE__ */ D("div", {
114
114
  className: "flex flex-wrap items-center gap-4",
115
115
  children: [
116
- /* @__PURE__ */ O("div", {
116
+ /* @__PURE__ */ D("div", {
117
117
  className: "relative flex-1 max-w-md",
118
- children: [/* @__PURE__ */ D(F, { className: "absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-text-secondary" }), /* @__PURE__ */ D(m, {
119
- placeholder: A("botlit.store.searchPlaceholder", "Search packages..."),
118
+ children: [/* @__PURE__ */ E(F, { className: "absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-text-secondary" }), /* @__PURE__ */ E(ee, {
119
+ placeholder: k("botlit.store.searchPlaceholder", "Search packages..."),
120
120
  value: P,
121
121
  onChange: (e) => I(e.target.value),
122
122
  className: "pl-9"
123
123
  })]
124
124
  }),
125
- /* @__PURE__ */ O("div", {
125
+ /* @__PURE__ */ D("div", {
126
126
  className: "flex gap-2",
127
- children: [/* @__PURE__ */ D(o, {
127
+ children: [/* @__PURE__ */ E(u, {
128
128
  variant: L === null ? "default" : "outline",
129
129
  size: "sm",
130
130
  onClick: () => z(null),
131
- children: A("botlit.store.filters.all", "All")
132
- }), re.map((e) => /* @__PURE__ */ D(o, {
131
+ children: k("botlit.store.filters.all", "All")
132
+ }), ie.map((e) => /* @__PURE__ */ E(u, {
133
133
  variant: L === e ? "default" : "outline",
134
134
  size: "sm",
135
135
  onClick: () => z(e),
136
- leftIcon: /* @__PURE__ */ D(V, {
136
+ leftIcon: /* @__PURE__ */ E(V, {
137
137
  kind: e,
138
138
  className: "h-4 w-4"
139
139
  }),
140
140
  children: N[e]
141
141
  }, e))]
142
142
  }),
143
- /* @__PURE__ */ O("select", {
144
- "aria-label": A("botlit.store.filters.sortLabel", "Sort packages"),
143
+ /* @__PURE__ */ D("select", {
144
+ "aria-label": k("botlit.store.filters.sortLabel", "Sort packages"),
145
145
  className: "h-9 px-3 border border-border-default rounded-md bg-bg-surface text-sm",
146
146
  value: U,
147
147
  onChange: (e) => W(e.target.value),
148
- children: [/* @__PURE__ */ D("option", {
148
+ children: [/* @__PURE__ */ E("option", {
149
149
  value: "recent",
150
- children: A("botlit.store.sort.recent", "Recently Published")
151
- }), /* @__PURE__ */ D("option", {
150
+ children: k("botlit.store.sort.recent", "Recently Published")
151
+ }), /* @__PURE__ */ E("option", {
152
152
  value: "name",
153
- children: A("botlit.store.sort.name", "Name (A–Z)")
153
+ children: k("botlit.store.sort.name", "Name (A–Z)")
154
154
  })]
155
155
  })
156
156
  ]
157
157
  }),
158
- /* @__PURE__ */ O("div", {
158
+ /* @__PURE__ */ D("div", {
159
159
  className: "grid grid-cols-1 md:grid-cols-3 gap-4",
160
- children: [/* @__PURE__ */ D(T, {
160
+ children: [/* @__PURE__ */ E(w, {
161
161
  treatment: "glass",
162
162
  glow: !0,
163
163
  className: "md:col-span-2 p-6",
164
- children: /* @__PURE__ */ O("div", {
164
+ children: /* @__PURE__ */ D("div", {
165
165
  className: "flex items-start gap-4",
166
- children: [/* @__PURE__ */ D("div", {
166
+ children: [/* @__PURE__ */ E("div", {
167
167
  className: "p-3 bg-action-primary-bg/20 rounded-lg",
168
- children: /* @__PURE__ */ D(R, { className: "h-8 w-8 text-primary" })
169
- }), /* @__PURE__ */ O("div", { children: [
170
- /* @__PURE__ */ D("h3", {
168
+ children: /* @__PURE__ */ E(R, { className: "h-8 w-8 text-primary" })
169
+ }), /* @__PURE__ */ D("div", { children: [
170
+ /* @__PURE__ */ E("h3", {
171
171
  className: "text-lg font-semibold text-text-primary",
172
- children: A("botlit.store.featured.title", "Welcome to the BotManor Store")
172
+ children: k("botlit.store.featured.title", "Welcome to the BotManor Store")
173
173
  }),
174
- /* @__PURE__ */ D("p", {
174
+ /* @__PURE__ */ E("p", {
175
175
  className: "text-sm text-text-secondary mt-1",
176
- children: A("botlit.store.featured.description", "Discover production-ready agents, tool packs, and configurations built by the community and BotManor team. Install packages to jumpstart your AI applications.")
176
+ children: k("botlit.store.featured.description", "Discover production-ready agents, tool packs, and configurations built by the community and BotManor team. Install packages to jumpstart your AI applications.")
177
177
  }),
178
- /* @__PURE__ */ O("div", {
178
+ /* @__PURE__ */ D("div", {
179
179
  className: "flex gap-4 mt-4",
180
- children: [/* @__PURE__ */ O("div", {
180
+ children: [/* @__PURE__ */ D("div", {
181
181
  className: "text-center",
182
- children: [/* @__PURE__ */ D("p", {
182
+ children: [/* @__PURE__ */ E("p", {
183
183
  className: "text-2xl font-bold tabular-nums",
184
- children: q.length
185
- }), /* @__PURE__ */ D("p", {
184
+ children: J.length
185
+ }), /* @__PURE__ */ E("p", {
186
186
  className: "text-xs text-text-secondary",
187
- children: A("botlit.store.featured.packages", "Packages")
187
+ children: k("botlit.store.featured.packages", "Packages")
188
188
  })]
189
- }), /* @__PURE__ */ O("div", {
189
+ }), /* @__PURE__ */ D("div", {
190
190
  className: "text-center",
191
- children: [/* @__PURE__ */ D("p", {
191
+ children: [/* @__PURE__ */ E("p", {
192
192
  className: "text-2xl font-bold tabular-nums",
193
- children: Z.length
194
- }), /* @__PURE__ */ D("p", {
193
+ children: Q.length
194
+ }), /* @__PURE__ */ E("p", {
195
195
  className: "text-xs text-text-secondary",
196
- children: A("botlit.store.featured.installed", "Installed")
196
+ children: k("botlit.store.featured.installed", "Installed")
197
197
  })]
198
198
  })]
199
199
  })
200
200
  ] })]
201
201
  })
202
- }), /* @__PURE__ */ O(s, { children: [/* @__PURE__ */ D(u, {
202
+ }), /* @__PURE__ */ D(a, { children: [/* @__PURE__ */ E(c, {
203
203
  className: "pb-2",
204
- children: /* @__PURE__ */ D(d, {
204
+ children: /* @__PURE__ */ E(l, {
205
205
  className: "text-sm",
206
- children: A("botlit.store.featured.quickInstall", "Quick Install")
206
+ children: k("botlit.store.featured.quickInstall", "Quick Install")
207
207
  })
208
- }), /* @__PURE__ */ D(c, {
208
+ }), /* @__PURE__ */ E(o, {
209
209
  className: "space-y-2",
210
- children: q.slice(0, 3).map((e) => /* @__PURE__ */ O("div", {
210
+ children: J.slice(0, 3).map((e) => /* @__PURE__ */ D("div", {
211
211
  className: "flex items-center justify-between p-2 bg-bg-sunken rounded",
212
- children: [/* @__PURE__ */ O("div", {
212
+ children: [/* @__PURE__ */ D("div", {
213
213
  className: "flex items-center gap-2",
214
- children: [/* @__PURE__ */ D(V, {
214
+ children: [/* @__PURE__ */ E(V, {
215
215
  kind: e.kind,
216
216
  className: "h-4 w-4 text-text-secondary"
217
- }), /* @__PURE__ */ D("span", {
217
+ }), /* @__PURE__ */ E("span", {
218
218
  className: "text-sm truncate max-w-[150px]",
219
- children: _(e)
219
+ children: g(e)
220
220
  })]
221
- }), $.has(e.slug) ? /* @__PURE__ */ O(f, {
221
+ }), $.has(e.slug) ? /* @__PURE__ */ D(d, {
222
222
  variant: "success",
223
223
  className: "text-xs",
224
- children: [/* @__PURE__ */ D(j, {
224
+ children: [/* @__PURE__ */ E(A, {
225
225
  size: 12,
226
226
  className: "mr-1"
227
- }), A("botlit.store.install.installedBadge", "Installed")]
228
- }) : /* @__PURE__ */ D(i, {
227
+ }), k("botlit.store.install.installedBadge", "Installed")]
228
+ }) : /* @__PURE__ */ E(i, {
229
229
  permission: r.STORE_CREATE,
230
- children: /* @__PURE__ */ D(o, {
230
+ children: /* @__PURE__ */ E(u, {
231
231
  size: "sm",
232
232
  variant: "ghost",
233
233
  className: "h-6 text-xs",
234
- onClick: (t) => void ne(e, t),
234
+ onClick: (t) => void re(e, t),
235
235
  isLoading: G === e.slug,
236
- children: A("botlit.store.install.action", "Install")
236
+ children: k("botlit.store.install.action", "Install")
237
237
  })
238
238
  })]
239
239
  }, e.id))
240
240
  })] })]
241
241
  }),
242
- J ? /* @__PURE__ */ D("div", {
242
+ Y ? /* @__PURE__ */ E("div", {
243
243
  className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4",
244
244
  children: [
245
245
  1,
@@ -248,31 +248,31 @@ var U = () => {
248
248
  4,
249
249
  5,
250
250
  6
251
- ].map((e) => /* @__PURE__ */ D("div", { className: "h-56 bg-bg-sunken motion-safe:animate-vc-shimmer rounded-lg" }, e))
252
- }) : Y ? /* @__PURE__ */ D(h, {
251
+ ].map((e) => /* @__PURE__ */ E("div", { className: "h-56 bg-bg-sunken motion-safe:animate-vc-shimmer rounded-lg" }, e))
252
+ }) : X ? /* @__PURE__ */ E(p, {
253
253
  resource: "store packages",
254
- error: Y,
255
- onRetry: () => void X()
256
- }) : q.length > 0 ? /* @__PURE__ */ D("div", {
254
+ error: X,
255
+ onRetry: () => void Z()
256
+ }) : J.length > 0 ? /* @__PURE__ */ E("div", {
257
257
  className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4",
258
- children: q.map((e) => /* @__PURE__ */ D(k, {
259
- to: M(`store/package/${e.slug}`),
260
- children: /* @__PURE__ */ O(s, {
258
+ children: J.map((e) => /* @__PURE__ */ E(O, {
259
+ to: j(`store/package/${e.slug}`),
260
+ children: /* @__PURE__ */ D(a, {
261
261
  className: "h-full hover:border-primary/50 transition-colors cursor-pointer",
262
- children: [/* @__PURE__ */ D(u, { children: /* @__PURE__ */ O("div", {
262
+ children: [/* @__PURE__ */ E(c, { children: /* @__PURE__ */ D("div", {
263
263
  className: "flex items-start justify-between",
264
- children: [/* @__PURE__ */ O("div", {
264
+ children: [/* @__PURE__ */ D("div", {
265
265
  className: "flex items-center gap-3",
266
- children: [/* @__PURE__ */ D("div", {
266
+ children: [/* @__PURE__ */ E("div", {
267
267
  className: "p-2 bg-action-primary-bg/10 rounded-lg",
268
- children: /* @__PURE__ */ D(V, {
268
+ children: /* @__PURE__ */ E(V, {
269
269
  kind: e.kind,
270
270
  className: "h-5 w-5 text-primary"
271
271
  })
272
- }), /* @__PURE__ */ O("div", { children: [/* @__PURE__ */ D(d, {
272
+ }), /* @__PURE__ */ D("div", { children: [/* @__PURE__ */ E(l, {
273
273
  className: "text-base",
274
- children: _(e)
275
- }), /* @__PURE__ */ O(l, {
274
+ children: g(e)
275
+ }), /* @__PURE__ */ D(s, {
276
276
  className: "text-xs",
277
277
  children: [
278
278
  e.slug,
@@ -280,43 +280,42 @@ var U = () => {
280
280
  e.version
281
281
  ]
282
282
  })] })]
283
- }), $.has(e.slug) && /* @__PURE__ */ O(f, {
283
+ }), $.has(e.slug) && /* @__PURE__ */ D(d, {
284
284
  variant: "success",
285
285
  className: "text-xs",
286
- children: [/* @__PURE__ */ D(j, {
286
+ children: [/* @__PURE__ */ E(A, {
287
287
  size: 10,
288
288
  className: "mr-1"
289
- }), A("botlit.store.install.installedBadge", "Installed")]
289
+ }), k("botlit.store.install.installedBadge", "Installed")]
290
290
  })]
291
- }) }), /* @__PURE__ */ D(c, { children: /* @__PURE__ */ O("div", {
291
+ }) }), /* @__PURE__ */ E(o, { children: /* @__PURE__ */ D("div", {
292
292
  className: "space-y-3",
293
- children: [/* @__PURE__ */ D("p", {
293
+ children: [/* @__PURE__ */ E("p", {
294
294
  className: "text-sm text-text-secondary line-clamp-2",
295
- children: g(e)
296
- }), /* @__PURE__ */ O("div", {
295
+ children: h(e)
296
+ }), /* @__PURE__ */ D("div", {
297
297
  className: "pt-3 border-t border-border-subtle flex items-center justify-between",
298
- children: [/* @__PURE__ */ D(f, {
298
+ children: [/* @__PURE__ */ E(d, {
299
299
  variant: "outline",
300
300
  className: "text-xs",
301
301
  children: N[e.kind] ?? e.kind
302
- }), /* @__PURE__ */ D("span", {
302
+ }), /* @__PURE__ */ E("span", {
303
303
  className: "text-xs text-text-secondary",
304
- children: n(e.publishedAt)
304
+ children: m(e.publishedAt)
305
305
  })]
306
306
  })]
307
307
  }) })]
308
308
  })
309
309
  }, e.id))
310
- }) : /* @__PURE__ */ D(p, {
310
+ }) : /* @__PURE__ */ E(f, {
311
311
  illustration: "empty-search",
312
- title: A("botlit.store.empty.title", "No packages found"),
313
- description: P || L ? A("botlit.store.empty.descriptionFiltered", "Try adjusting your search or filters.") : A("botlit.store.empty.descriptionNoPackages", "No packages available in the store yet.")
312
+ title: k("botlit.store.empty.title", "No packages found"),
313
+ description: P || L ? k("botlit.store.empty.descriptionFiltered", "Try adjusting your search or filters.") : k("botlit.store.empty.descriptionNoPackages", "No packages available in the store yet.")
314
314
  })
315
315
  ]
316
316
  })
317
317
  });
318
318
  };
319
- //#endregion
320
319
  export { U as StorePage };
321
320
 
322
321
  //# sourceMappingURL=StorePage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"StorePage.js","names":[],"sources":["../../../src/botlit/pages/StorePage.tsx"],"sourcesContent":["/**\n * Store Page\n * @module botlit/pages\n */\n\nimport type { FC, MouseEvent } from 'react';\nimport { useMemo, useState } from 'react';\nimport { Link } from 'react-router';\nimport { useBotlit } from '../providers/BotlitProvider';\nimport {\n Search as SearchIcon,\n Store,\n Package,\n Bot,\n Wrench,\n FileText,\n Sparkles,\n Database,\n Shield,\n Check,\n ExternalLink,\n} from 'lucide-react';\nimport { toast } from 'sonner';\nimport { useTr } from '../../shared/hooks/useTr';\nimport { PagePurpose, GlassCard } from '@burdenoff/fe-libs/ui';\nimport { PageLayout } from '../components/PageLayout';\nimport { Card, CardHeader, CardTitle, CardContent, CardDescription } from '../components/Card';\nimport { Button } from '../components/Button';\nimport { Input } from '../components/Input';\nimport { Badge } from '../components/Badge';\nimport { EmptyState } from '../components/EmptyState';\nimport { ErrorState } from '../components/ErrorState';\nimport {\n useStorePackages,\n useInstalledPackages,\n useInstallPackage,\n storePackageName,\n storePackageDescription,\n type StorePackageRecord,\n type StoreSortBy,\n} from '../hooks';\nimport { formatRelativeTime } from '../utils/formatters';\nimport {\n InstallMode as GqlInstallMode,\n PackageKind as GqlPackageKind,\n} from '../../generated/wspace-types';\nimport type { PackageKind } from '../types';\nimport { BOTMANOR_PERMISSIONS, BotmanorPermissionGate } from '../permissions';\n\nconst KindIcon: FC<{ kind: string; className?: string }> = ({ kind, className }) => {\n switch (kind) {\n case 'APP':\n return <Package className={className} />;\n case 'AGENT':\n case 'A2A_AGENT':\n return <Bot className={className} />;\n case 'MCP_PACK':\n case 'TOOL':\n return <Wrench className={className} />;\n case 'PROMPT_TEMPLATE':\n case 'PROMPT':\n return <FileText className={className} />;\n case 'SKILL':\n return <Sparkles className={className} />;\n case 'RETRIEVAL_PROFILE':\n case 'KNOWLEDGE_BASE':\n case 'KB_TEMPLATE':\n return <Database className={className} />;\n case 'POLICY_BUNDLE':\n return <Shield className={className} />;\n default:\n return <Package className={className} />;\n }\n};\n\nfunction useKindLabel(t: ReturnType<typeof useTr>): Record<string, string> {\n return {\n APP: t('botlit.store.kindLabel.APP', 'Bot'),\n AGENT: t('botlit.store.kindLabel.AGENT', 'Agent'),\n MCP_PACK: t('botlit.store.kindLabel.MCP_PACK', 'MCP Pack'),\n PROMPT_TEMPLATE: t('botlit.store.kindLabel.PROMPT_TEMPLATE', 'Prompt Template'),\n PROMPT: t('botlit.store.kindLabel.PROMPT', 'Prompt'),\n SKILL: t('botlit.store.kindLabel.SKILL', 'Skill'),\n RETRIEVAL_PROFILE: t('botlit.store.kindLabel.RETRIEVAL_PROFILE', 'Retrieval Profile'),\n POLICY_BUNDLE: t('botlit.store.kindLabel.POLICY_BUNDLE', 'Policy Bundle'),\n CHANNEL_TEMPLATE: t('botlit.store.kindLabel.CHANNEL_TEMPLATE', 'Channel Template'),\n A2A_AGENT: t('botlit.store.kindLabel.A2A_AGENT', 'A2A Agent'),\n KB_TEMPLATE: t('botlit.store.kindLabel.KB_TEMPLATE', 'KB Template'),\n KNOWLEDGE_BASE: t('botlit.store.kindLabel.KNOWLEDGE_BASE', 'Knowledge Base'),\n INTEGRATION: t('botlit.store.kindLabel.INTEGRATION', 'Integration'),\n TEMPLATE: t('botlit.store.kindLabel.TEMPLATE', 'Template'),\n TOOL: t('botlit.store.kindLabel.TOOL', 'Tool'),\n WORKFLOW: t('botlit.store.kindLabel.WORKFLOW', 'Workflow'),\n };\n}\n\nexport const StorePage: FC = () => {\n const t = useTr();\n const { getPath } = useBotlit();\n const kindLabel = useKindLabel(t);\n const [search, setSearch] = useState('');\n const [selectedKind, setSelectedKind] = useState<PackageKind | null>(null);\n const [sortBy, setSortBy] = useState<StoreSortBy>('recent');\n const [installingSlug, setInstallingSlug] = useState<string | null>(null);\n\n const storeFilter = useMemo(\n () => ({ search, kind: selectedKind ? [selectedKind] : undefined, sortBy }),\n [search, selectedKind, sortBy]\n );\n const { data: packages, loading, error, refetch } = useStorePackages(storeFilter);\n const { data: installed, refetch: refetchInstalled } = useInstalledPackages();\n const { install } = useInstallPackage();\n\n const installedSlugs = useMemo(\n () =>\n new Set(\n installed\n .map((entry) => entry.package?.slug)\n .filter((slug): slug is string => typeof slug === 'string')\n ),\n [installed]\n );\n\n const handleInstall = async (pkg: StorePackageRecord, e: MouseEvent) => {\n e.preventDefault();\n e.stopPropagation();\n setInstallingSlug(pkg.slug);\n try {\n await install({ packageId: pkg.id, mode: GqlInstallMode.Linked });\n toast.success(\n t('botlit.store.install.success', 'Installed \"{{name}}\"', {\n name: storePackageName(pkg),\n })\n );\n void refetchInstalled();\n } catch (err) {\n toast.error(\n err instanceof Error\n ? err.message\n : t('botlit.store.install.error', 'Failed to install package')\n );\n } finally {\n setInstallingSlug(null);\n }\n };\n\n const kinds: PackageKind[] = [\n GqlPackageKind.Agent,\n GqlPackageKind.McpPack,\n GqlPackageKind.Skill,\n GqlPackageKind.PromptTemplate,\n GqlPackageKind.PolicyBundle,\n ];\n\n return (\n <PageLayout\n title={t('botlit.store.title', 'BotManor Store')}\n description={t(\n 'botlit.store.description',\n 'Discover and install pre-built agents, tools, and configurations'\n )}\n actions={\n <div className=\"flex gap-2\">\n <Button variant=\"outline\">\n <Link to={getPath('store/installed')}>\n {t('botlit.store.actions.viewInstalled', 'View Installed ({{count}})', {\n count: installed.length,\n })}\n </Link>\n </Button>\n <Button variant=\"outline\" leftIcon={<ExternalLink size={16} />}>\n {t('botlit.store.actions.publishPackage', 'Publish Package')}\n </Button>\n </div>\n }\n >\n <div className=\"space-y-6\">\n <PagePurpose icon={<Store size={18} />}>\n {t(\n 'botlit.store.purpose',\n 'The store is a marketplace of ready-made building blocks — full bots, agents, MCP tool packs, prompt templates and policy bundles published by the BotManor team and the community. Browse and install a package to skip the setup and start from a working example, then customise it for your own use case instead of building everything from scratch.'\n )}\n </PagePurpose>\n\n {/* Search and Filters */}\n <div className=\"flex flex-wrap items-center gap-4\">\n <div className=\"relative flex-1 max-w-md\">\n <SearchIcon className=\"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-text-secondary\" />\n <Input\n placeholder={t('botlit.store.searchPlaceholder', 'Search packages...')}\n value={search}\n onChange={(e) => setSearch(e.target.value)}\n className=\"pl-9\"\n />\n </div>\n\n {/* Kind Filters */}\n <div className=\"flex gap-2\">\n <Button\n variant={selectedKind === null ? 'default' : 'outline'}\n size=\"sm\"\n onClick={() => setSelectedKind(null)}\n >\n {t('botlit.store.filters.all', 'All')}\n </Button>\n {kinds.map((kind) => (\n <Button\n key={kind}\n variant={selectedKind === kind ? 'default' : 'outline'}\n size=\"sm\"\n onClick={() => setSelectedKind(kind)}\n leftIcon={<KindIcon kind={kind} className=\"h-4 w-4\" />}\n >\n {kindLabel[kind]}\n </Button>\n ))}\n </div>\n\n {/* Sort */}\n <select\n aria-label={t('botlit.store.filters.sortLabel', 'Sort packages')}\n className=\"h-9 px-3 border border-border-default rounded-md bg-bg-surface text-sm\"\n value={sortBy}\n onChange={(e) => setSortBy(e.target.value as StoreSortBy)}\n >\n <option value=\"recent\">{t('botlit.store.sort.recent', 'Recently Published')}</option>\n <option value=\"name\">{t('botlit.store.sort.name', 'Name (A–Z)')}</option>\n </select>\n </div>\n\n {/* Featured Section */}\n <div className=\"grid grid-cols-1 md:grid-cols-3 gap-4\">\n <GlassCard treatment=\"glass\" glow className=\"md:col-span-2 p-6\">\n <div className=\"flex items-start gap-4\">\n <div className=\"p-3 bg-action-primary-bg/20 rounded-lg\">\n <Store className=\"h-8 w-8 text-primary\" />\n </div>\n <div>\n <h3 className=\"text-lg font-semibold text-text-primary\">\n {t('botlit.store.featured.title', 'Welcome to the BotManor Store')}\n </h3>\n <p className=\"text-sm text-text-secondary mt-1\">\n {t(\n 'botlit.store.featured.description',\n 'Discover production-ready agents, tool packs, and configurations built by the community and BotManor team. Install packages to jumpstart your AI applications.'\n )}\n </p>\n <div className=\"flex gap-4 mt-4\">\n <div className=\"text-center\">\n <p className=\"text-2xl font-bold tabular-nums\">{packages.length}</p>\n <p className=\"text-xs text-text-secondary\">\n {t('botlit.store.featured.packages', 'Packages')}\n </p>\n </div>\n <div className=\"text-center\">\n <p className=\"text-2xl font-bold tabular-nums\">{installed.length}</p>\n <p className=\"text-xs text-text-secondary\">\n {t('botlit.store.featured.installed', 'Installed')}\n </p>\n </div>\n </div>\n </div>\n </div>\n </GlassCard>\n <Card>\n <CardHeader className=\"pb-2\">\n <CardTitle className=\"text-sm\">\n {t('botlit.store.featured.quickInstall', 'Quick Install')}\n </CardTitle>\n </CardHeader>\n <CardContent className=\"space-y-2\">\n {packages.slice(0, 3).map((pkg: StorePackageRecord) => (\n <div\n key={pkg.id}\n className=\"flex items-center justify-between p-2 bg-bg-sunken rounded\"\n >\n <div className=\"flex items-center gap-2\">\n <KindIcon kind={pkg.kind} className=\"h-4 w-4 text-text-secondary\" />\n <span className=\"text-sm truncate max-w-[150px]\">{storePackageName(pkg)}</span>\n </div>\n {installedSlugs.has(pkg.slug) ? (\n <Badge variant=\"success\" className=\"text-xs\">\n <Check size={12} className=\"mr-1\" />\n {t('botlit.store.install.installedBadge', 'Installed')}\n </Badge>\n ) : (\n <BotmanorPermissionGate permission={BOTMANOR_PERMISSIONS.STORE_CREATE}>\n <Button\n size=\"sm\"\n variant=\"ghost\"\n className=\"h-6 text-xs\"\n onClick={(e) => void handleInstall(pkg, e)}\n isLoading={installingSlug === pkg.slug}\n >\n {t('botlit.store.install.action', 'Install')}\n </Button>\n </BotmanorPermissionGate>\n )}\n </div>\n ))}\n </CardContent>\n </Card>\n </div>\n\n {/* Packages Grid */}\n {loading ? (\n <div className=\"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4\">\n {[1, 2, 3, 4, 5, 6].map((i) => (\n <div\n key={i}\n className=\"h-56 bg-bg-sunken motion-safe:animate-vc-shimmer rounded-lg\"\n />\n ))}\n </div>\n ) : error ? (\n <ErrorState resource=\"store packages\" error={error} onRetry={() => void refetch()} />\n ) : packages.length > 0 ? (\n <div className=\"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4\">\n {packages.map((pkg: StorePackageRecord) => (\n <Link key={pkg.id} to={getPath(`store/package/${pkg.slug}`)}>\n <Card className=\"h-full hover:border-primary/50 transition-colors cursor-pointer\">\n <CardHeader>\n <div className=\"flex items-start justify-between\">\n <div className=\"flex items-center gap-3\">\n <div className=\"p-2 bg-action-primary-bg/10 rounded-lg\">\n <KindIcon kind={pkg.kind} className=\"h-5 w-5 text-primary\" />\n </div>\n <div>\n <CardTitle className=\"text-base\">{storePackageName(pkg)}</CardTitle>\n <CardDescription className=\"text-xs\">\n {pkg.slug} v{pkg.version}\n </CardDescription>\n </div>\n </div>\n {installedSlugs.has(pkg.slug) && (\n <Badge variant=\"success\" className=\"text-xs\">\n <Check size={10} className=\"mr-1\" />\n {t('botlit.store.install.installedBadge', 'Installed')}\n </Badge>\n )}\n </div>\n </CardHeader>\n <CardContent>\n <div className=\"space-y-3\">\n <p className=\"text-sm text-text-secondary line-clamp-2\">\n {storePackageDescription(pkg)}\n </p>\n\n {/* Footer */}\n <div className=\"pt-3 border-t border-border-subtle flex items-center justify-between\">\n <Badge variant=\"outline\" className=\"text-xs\">\n {kindLabel[pkg.kind] ?? pkg.kind}\n </Badge>\n <span className=\"text-xs text-text-secondary\">\n {formatRelativeTime(pkg.publishedAt)}\n </span>\n </div>\n </div>\n </CardContent>\n </Card>\n </Link>\n ))}\n </div>\n ) : (\n <EmptyState\n illustration=\"empty-search\"\n title={t('botlit.store.empty.title', 'No packages found')}\n description={\n search || selectedKind\n ? t(\n 'botlit.store.empty.descriptionFiltered',\n 'Try adjusting your search or filters.'\n )\n : t(\n 'botlit.store.empty.descriptionNoPackages',\n 'No packages available in the store yet.'\n )\n }\n />\n )}\n </div>\n </PageLayout>\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAiDA,IAAM,KAAsD,EAAE,SAAM,mBAAgB;AAClF,SAAQ,GAAR;EACE,KAAK,MACH,QAAO,kBAAC,GAAD,EAAoB,cAAa,CAAA;EAC1C,KAAK;EACL,KAAK,YACH,QAAO,kBAAC,GAAD,EAAgB,cAAa,CAAA;EACtC,KAAK;EACL,KAAK,OACH,QAAO,kBAAC,GAAD,EAAmB,cAAa,CAAA;EACzC,KAAK;EACL,KAAK,SACH,QAAO,kBAAC,GAAD,EAAqB,cAAa,CAAA;EAC3C,KAAK,QACH,QAAO,kBAAC,GAAD,EAAqB,cAAa,CAAA;EAC3C,KAAK;EACL,KAAK;EACL,KAAK,cACH,QAAO,kBAAC,GAAD,EAAqB,cAAa,CAAA;EAC3C,KAAK,gBACH,QAAO,kBAAC,GAAD,EAAmB,cAAa,CAAA;EACzC,QACE,QAAO,kBAAC,GAAD,EAAoB,cAAa,CAAA;;;AAI9C,SAAS,EAAa,GAAqD;AACzE,QAAO;EACL,KAAK,EAAE,8BAA8B,MAAM;EAC3C,OAAO,EAAE,gCAAgC,QAAQ;EACjD,UAAU,EAAE,mCAAmC,WAAW;EAC1D,iBAAiB,EAAE,0CAA0C,kBAAkB;EAC/E,QAAQ,EAAE,iCAAiC,SAAS;EACpD,OAAO,EAAE,gCAAgC,QAAQ;EACjD,mBAAmB,EAAE,4CAA4C,oBAAoB;EACrF,eAAe,EAAE,wCAAwC,gBAAgB;EACzE,kBAAkB,EAAE,2CAA2C,mBAAmB;EAClF,WAAW,EAAE,oCAAoC,YAAY;EAC7D,aAAa,EAAE,sCAAsC,cAAc;EACnE,gBAAgB,EAAE,yCAAyC,iBAAiB;EAC5E,aAAa,EAAE,sCAAsC,cAAc;EACnE,UAAU,EAAE,mCAAmC,WAAW;EAC1D,MAAM,EAAE,+BAA+B,OAAO;EAC9C,UAAU,EAAE,mCAAmC,WAAW;EAC3D;;AAGH,IAAa,UAAsB;CACjC,IAAM,IAAI,GAAO,EACX,EAAE,eAAY,GAAW,EACzB,IAAY,EAAa,EAAE,EAC3B,CAAC,GAAQ,KAAa,EAAS,GAAG,EAClC,CAAC,GAAc,KAAmB,EAA6B,KAAK,EACpE,CAAC,GAAQ,KAAa,EAAsB,SAAS,EACrD,CAAC,GAAgB,KAAqB,EAAwB,KAAK,EAMnE,EAAE,MAAM,GAAU,YAAS,UAAO,eAAY,EAJhC,SACX;EAAE;EAAQ,MAAM,IAAe,CAAC,EAAa,GAAG,KAAA;EAAW;EAAQ,GAC1E;EAAC;EAAQ;EAAc;EAAO,CAC/B,CACgF,EAC3E,EAAE,MAAM,GAAW,SAAS,MAAqB,GAAsB,EACvE,EAAE,gBAAY,GAAmB,EAEjC,IAAiB,QAEnB,IAAI,IACF,EACG,KAAK,MAAU,EAAM,SAAS,KAAK,CACnC,QAAQ,MAAyB,OAAO,KAAS,SAAS,CAC9D,EACH,CAAC,EAAU,CACZ,EAEK,KAAgB,OAAO,GAAyB,MAAkB;AAGtE,EAFA,EAAE,gBAAgB,EAClB,EAAE,iBAAiB,EACnB,EAAkB,EAAI,KAAK;AAC3B,MAAI;AAOG,GANL,MAAM,GAAQ;IAAE,WAAW,EAAI;IAAI,MAAM,EAAe;IAAQ,CAAC,EACjE,EAAM,QACJ,EAAE,gCAAgC,0BAAwB,EACxD,MAAM,EAAiB,EAAI,EAC5B,CAAC,CACH,EACI,GAAkB;WAChB,GAAK;AACZ,KAAM,MACJ,aAAe,QACX,EAAI,UACJ,EAAE,8BAA8B,4BAA4B,CACjE;YACO;AACR,KAAkB,KAAK;;IAIrB,KAAuB;EAC3B,EAAe;EACf,EAAe;EACf,EAAe;EACf,EAAe;EACf,EAAe;EAChB;AAED,QACE,kBAAC,GAAD;EACE,OAAO,EAAE,sBAAsB,iBAAiB;EAChD,aAAa,EACX,4BACA,mEACD;EACD,SACE,kBAAC,OAAD;GAAK,WAAU;aAAf,CACE,kBAAC,GAAD;IAAQ,SAAQ;cACd,kBAAC,GAAD;KAAM,IAAI,EAAQ,kBAAkB;eACjC,EAAE,sCAAsC,8BAA8B,EACrE,OAAO,EAAU,QAClB,CAAC;KACG,CAAA;IACA,CAAA,EACT,kBAAC,GAAD;IAAQ,SAAQ;IAAU,UAAU,kBAAC,IAAD,EAAc,MAAM,IAAM,CAAA;cAC3D,EAAE,uCAAuC,kBAAkB;IACrD,CAAA,CACL;;YAGR,kBAAC,OAAD;GAAK,WAAU;aAAf;IACE,kBAAC,GAAD;KAAa,MAAM,kBAAC,GAAD,EAAO,MAAM,IAAM,CAAA;eACnC,EACC,wBACA,4VACD;KACW,CAAA;IAGd,kBAAC,OAAD;KAAK,WAAU;eAAf;MACE,kBAAC,OAAD;OAAK,WAAU;iBAAf,CACE,kBAAC,GAAD,EAAY,WAAU,wEAAyE,CAAA,EAC/F,kBAAC,GAAD;QACE,aAAa,EAAE,kCAAkC,qBAAqB;QACtE,OAAO;QACP,WAAW,MAAM,EAAU,EAAE,OAAO,MAAM;QAC1C,WAAU;QACV,CAAA,CACE;;MAGN,kBAAC,OAAD;OAAK,WAAU;iBAAf,CACE,kBAAC,GAAD;QACE,SAAS,MAAiB,OAAO,YAAY;QAC7C,MAAK;QACL,eAAe,EAAgB,KAAK;kBAEnC,EAAE,4BAA4B,MAAM;QAC9B,CAAA,EACR,GAAM,KAAK,MACV,kBAAC,GAAD;QAEE,SAAS,MAAiB,IAAO,YAAY;QAC7C,MAAK;QACL,eAAe,EAAgB,EAAK;QACpC,UAAU,kBAAC,GAAD;SAAgB;SAAM,WAAU;SAAY,CAAA;kBAErD,EAAU;QACJ,EAPF,EAOE,CACT,CACE;;MAGN,kBAAC,UAAD;OACE,cAAY,EAAE,kCAAkC,gBAAgB;OAChE,WAAU;OACV,OAAO;OACP,WAAW,MAAM,EAAU,EAAE,OAAO,MAAqB;iBAJ3D,CAME,kBAAC,UAAD;QAAQ,OAAM;kBAAU,EAAE,4BAA4B,qBAAqB;QAAU,CAAA,EACrF,kBAAC,UAAD;QAAQ,OAAM;kBAAQ,EAAE,0BAA0B,aAAa;QAAU,CAAA,CAClE;;MACL;;IAGN,kBAAC,OAAD;KAAK,WAAU;eAAf,CACE,kBAAC,GAAD;MAAW,WAAU;MAAQ,MAAA;MAAK,WAAU;gBAC1C,kBAAC,OAAD;OAAK,WAAU;iBAAf,CACE,kBAAC,OAAD;QAAK,WAAU;kBACb,kBAAC,GAAD,EAAO,WAAU,wBAAyB,CAAA;QACtC,CAAA,EACN,kBAAC,OAAD,EAAA,UAAA;QACE,kBAAC,MAAD;SAAI,WAAU;mBACX,EAAE,+BAA+B,gCAAgC;SAC/D,CAAA;QACL,kBAAC,KAAD;SAAG,WAAU;mBACV,EACC,qCACA,iKACD;SACC,CAAA;QACJ,kBAAC,OAAD;SAAK,WAAU;mBAAf,CACE,kBAAC,OAAD;UAAK,WAAU;oBAAf,CACE,kBAAC,KAAD;WAAG,WAAU;qBAAmC,EAAS;WAAW,CAAA,EACpE,kBAAC,KAAD;WAAG,WAAU;qBACV,EAAE,kCAAkC,WAAW;WAC9C,CAAA,CACA;aACN,kBAAC,OAAD;UAAK,WAAU;oBAAf,CACE,kBAAC,KAAD;WAAG,WAAU;qBAAmC,EAAU;WAAW,CAAA,EACrE,kBAAC,KAAD;WAAG,WAAU;qBACV,EAAE,mCAAmC,YAAY;WAChD,CAAA,CACA;YACF;;QACF,EAAA,CAAA,CACF;;MACI,CAAA,EACZ,kBAAC,GAAD,EAAA,UAAA,CACE,kBAAC,GAAD;MAAY,WAAU;gBACpB,kBAAC,GAAD;OAAW,WAAU;iBAClB,EAAE,sCAAsC,gBAAgB;OAC/C,CAAA;MACD,CAAA,EACb,kBAAC,GAAD;MAAa,WAAU;gBACpB,EAAS,MAAM,GAAG,EAAE,CAAC,KAAK,MACzB,kBAAC,OAAD;OAEE,WAAU;iBAFZ,CAIE,kBAAC,OAAD;QAAK,WAAU;kBAAf,CACE,kBAAC,GAAD;SAAU,MAAM,EAAI;SAAM,WAAU;SAAgC,CAAA,EACpE,kBAAC,QAAD;SAAM,WAAU;mBAAkC,EAAiB,EAAI;SAAQ,CAAA,CAC3E;WACL,EAAe,IAAI,EAAI,KAAK,GAC3B,kBAAC,GAAD;QAAO,SAAQ;QAAU,WAAU;kBAAnC,CACE,kBAAC,GAAD;SAAO,MAAM;SAAI,WAAU;SAAS,CAAA,EACnC,EAAE,uCAAuC,YAAY,CAChD;YAER,kBAAC,GAAD;QAAwB,YAAY,EAAqB;kBACvD,kBAAC,GAAD;SACE,MAAK;SACL,SAAQ;SACR,WAAU;SACV,UAAU,MAAM,KAAK,GAAc,GAAK,EAAE;SAC1C,WAAW,MAAmB,EAAI;mBAEjC,EAAE,+BAA+B,UAAU;SACrC,CAAA;QACc,CAAA,CAEvB;SAzBC,EAAI,GAyBL,CACN;MACU,CAAA,CACT,EAAA,CAAA,CACH;;IAGL,IACC,kBAAC,OAAD;KAAK,WAAU;eACZ;MAAC;MAAG;MAAG;MAAG;MAAG;MAAG;MAAE,CAAC,KAAK,MACvB,kBAAC,OAAD,EAEE,WAAU,+DACV,EAFK,EAEL,CACF;KACE,CAAA,GACJ,IACF,kBAAC,GAAD;KAAY,UAAS;KAAwB;KAAO,eAAe,KAAK,GAAS;KAAI,CAAA,GACnF,EAAS,SAAS,IACpB,kBAAC,OAAD;KAAK,WAAU;eACZ,EAAS,KAAK,MACb,kBAAC,GAAD;MAAmB,IAAI,EAAQ,iBAAiB,EAAI,OAAO;gBACzD,kBAAC,GAAD;OAAM,WAAU;iBAAhB,CACE,kBAAC,GAAD,EAAA,UACE,kBAAC,OAAD;QAAK,WAAU;kBAAf,CACE,kBAAC,OAAD;SAAK,WAAU;mBAAf,CACE,kBAAC,OAAD;UAAK,WAAU;oBACb,kBAAC,GAAD;WAAU,MAAM,EAAI;WAAM,WAAU;WAAyB,CAAA;UACzD,CAAA,EACN,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,GAAD;UAAW,WAAU;oBAAa,EAAiB,EAAI;UAAa,CAAA,EACpE,kBAAC,GAAD;UAAiB,WAAU;oBAA3B;WACG,EAAI;WAAK;WAAG,EAAI;WACD;YACd,EAAA,CAAA,CACF;YACL,EAAe,IAAI,EAAI,KAAK,IAC3B,kBAAC,GAAD;SAAO,SAAQ;SAAU,WAAU;mBAAnC,CACE,kBAAC,GAAD;UAAO,MAAM;UAAI,WAAU;UAAS,CAAA,EACnC,EAAE,uCAAuC,YAAY,CAChD;WAEN;WACK,CAAA,EACb,kBAAC,GAAD,EAAA,UACE,kBAAC,OAAD;QAAK,WAAU;kBAAf,CACE,kBAAC,KAAD;SAAG,WAAU;mBACV,EAAwB,EAAI;SAC3B,CAAA,EAGJ,kBAAC,OAAD;SAAK,WAAU;mBAAf,CACE,kBAAC,GAAD;UAAO,SAAQ;UAAU,WAAU;oBAChC,EAAU,EAAI,SAAS,EAAI;UACtB,CAAA,EACR,kBAAC,QAAD;UAAM,WAAU;oBACb,EAAmB,EAAI,YAAY;UAC/B,CAAA,CACH;WACF;WACM,CAAA,CACT;;MACF,EAzCI,EAAI,GAyCR,CACP;KACE,CAAA,GAEN,kBAAC,GAAD;KACE,cAAa;KACb,OAAO,EAAE,4BAA4B,oBAAoB;KACzD,aACE,KAAU,IACN,EACE,0CACA,wCACD,GACD,EACE,4CACA,0CACD;KAEP,CAAA;IAEA;;EACK,CAAA"}
1
+ {"version":3,"file":"StorePage.js","names":["GqlInstallMode","GqlPackageKind","SearchIcon","KindIcon","kind","Package","Bot","Wrench","FileText","Sparkles","Database","Shield","useKindLabel","t","StorePage","useTr","useBotlit","kindLabel","search","setSearch","useState","selectedKind","setSelectedKind","sortBy","setSortBy","installingSlug","setInstallingSlug","storeFilter","useMemo","packages","useStorePackages","installed","refetchInstalled","useInstalledPackages","useInstallPackage","installedSlugs","entry","slug","handleInstall","e","pkg","install","InstallMode","toast","storePackageName","err","kinds","PackageKind","PageLayout","Button","Link","getPath","ExternalLink","PagePurpose","Store","Search","Input","GlassCard","Card","CardHeader","CardTitle","CardContent","Badge","Check","BotmanorPermissionGate","BOTMANOR_PERMISSIONS","loading","i","error","ErrorState","refetch","CardDescription","storePackageDescription","formatRelativeTime","EmptyState"],"sources":["../../../src/botlit/pages/StorePage.tsx"],"sourcesContent":["/**\n * Store Page\n * @module botlit/pages\n */\n\nimport type { FC, MouseEvent } from 'react';\nimport { useMemo, useState } from 'react';\nimport { Link } from 'react-router';\nimport { useBotlit } from '../providers/BotlitProvider';\nimport {\n Search as SearchIcon,\n Store,\n Package,\n Bot,\n Wrench,\n FileText,\n Sparkles,\n Database,\n Shield,\n Check,\n ExternalLink,\n} from 'lucide-react';\nimport { toast } from 'sonner';\nimport { useTr } from '../../shared/hooks/useTr';\nimport { PagePurpose, GlassCard } from '@burdenoff/fe-libs/ui';\nimport { PageLayout } from '../components/PageLayout';\nimport { Card, CardHeader, CardTitle, CardContent, CardDescription } from '../components/Card';\nimport { Button } from '../components/Button';\nimport { Input } from '../components/Input';\nimport { Badge } from '../components/Badge';\nimport { EmptyState } from '../components/EmptyState';\nimport { ErrorState } from '../components/ErrorState';\nimport {\n useStorePackages,\n useInstalledPackages,\n useInstallPackage,\n storePackageName,\n storePackageDescription,\n type StorePackageRecord,\n type StoreSortBy,\n} from '../hooks';\nimport { formatRelativeTime } from '../utils/formatters';\nimport {\n InstallMode as GqlInstallMode,\n PackageKind as GqlPackageKind,\n} from '../../generated/wspace-types';\nimport type { PackageKind } from '../types';\nimport { BOTMANOR_PERMISSIONS, BotmanorPermissionGate } from '../permissions';\n\nconst KindIcon: FC<{ kind: string; className?: string }> = ({ kind, className }) => {\n switch (kind) {\n case 'APP':\n return <Package className={className} />;\n case 'AGENT':\n case 'A2A_AGENT':\n return <Bot className={className} />;\n case 'MCP_PACK':\n case 'TOOL':\n return <Wrench className={className} />;\n case 'PROMPT_TEMPLATE':\n case 'PROMPT':\n return <FileText className={className} />;\n case 'SKILL':\n return <Sparkles className={className} />;\n case 'RETRIEVAL_PROFILE':\n case 'KNOWLEDGE_BASE':\n case 'KB_TEMPLATE':\n return <Database className={className} />;\n case 'POLICY_BUNDLE':\n return <Shield className={className} />;\n default:\n return <Package className={className} />;\n }\n};\n\nfunction useKindLabel(t: ReturnType<typeof useTr>): Record<string, string> {\n return {\n APP: t('botlit.store.kindLabel.APP', 'Bot'),\n AGENT: t('botlit.store.kindLabel.AGENT', 'Agent'),\n MCP_PACK: t('botlit.store.kindLabel.MCP_PACK', 'MCP Pack'),\n PROMPT_TEMPLATE: t('botlit.store.kindLabel.PROMPT_TEMPLATE', 'Prompt Template'),\n PROMPT: t('botlit.store.kindLabel.PROMPT', 'Prompt'),\n SKILL: t('botlit.store.kindLabel.SKILL', 'Skill'),\n RETRIEVAL_PROFILE: t('botlit.store.kindLabel.RETRIEVAL_PROFILE', 'Retrieval Profile'),\n POLICY_BUNDLE: t('botlit.store.kindLabel.POLICY_BUNDLE', 'Policy Bundle'),\n CHANNEL_TEMPLATE: t('botlit.store.kindLabel.CHANNEL_TEMPLATE', 'Channel Template'),\n A2A_AGENT: t('botlit.store.kindLabel.A2A_AGENT', 'A2A Agent'),\n KB_TEMPLATE: t('botlit.store.kindLabel.KB_TEMPLATE', 'KB Template'),\n KNOWLEDGE_BASE: t('botlit.store.kindLabel.KNOWLEDGE_BASE', 'Knowledge Base'),\n INTEGRATION: t('botlit.store.kindLabel.INTEGRATION', 'Integration'),\n TEMPLATE: t('botlit.store.kindLabel.TEMPLATE', 'Template'),\n TOOL: t('botlit.store.kindLabel.TOOL', 'Tool'),\n WORKFLOW: t('botlit.store.kindLabel.WORKFLOW', 'Workflow'),\n };\n}\n\nexport const StorePage: FC = () => {\n const t = useTr();\n const { getPath } = useBotlit();\n const kindLabel = useKindLabel(t);\n const [search, setSearch] = useState('');\n const [selectedKind, setSelectedKind] = useState<PackageKind | null>(null);\n const [sortBy, setSortBy] = useState<StoreSortBy>('recent');\n const [installingSlug, setInstallingSlug] = useState<string | null>(null);\n\n const storeFilter = useMemo(\n () => ({ search, kind: selectedKind ? [selectedKind] : undefined, sortBy }),\n [search, selectedKind, sortBy]\n );\n const { data: packages, loading, error, refetch } = useStorePackages(storeFilter);\n const { data: installed, refetch: refetchInstalled } = useInstalledPackages();\n const { install } = useInstallPackage();\n\n const installedSlugs = useMemo(\n () =>\n new Set(\n installed\n .map((entry) => entry.package?.slug)\n .filter((slug): slug is string => typeof slug === 'string')\n ),\n [installed]\n );\n\n const handleInstall = async (pkg: StorePackageRecord, e: MouseEvent) => {\n e.preventDefault();\n e.stopPropagation();\n setInstallingSlug(pkg.slug);\n try {\n await install({ packageId: pkg.id, mode: GqlInstallMode.Linked });\n toast.success(\n t('botlit.store.install.success', 'Installed \"{{name}}\"', {\n name: storePackageName(pkg),\n })\n );\n void refetchInstalled();\n } catch (err) {\n toast.error(\n err instanceof Error\n ? err.message\n : t('botlit.store.install.error', 'Failed to install package')\n );\n } finally {\n setInstallingSlug(null);\n }\n };\n\n const kinds: PackageKind[] = [\n GqlPackageKind.Agent,\n GqlPackageKind.McpPack,\n GqlPackageKind.Skill,\n GqlPackageKind.PromptTemplate,\n GqlPackageKind.PolicyBundle,\n ];\n\n return (\n <PageLayout\n title={t('botlit.store.title', 'BotManor Store')}\n description={t(\n 'botlit.store.description',\n 'Discover and install pre-built agents, tools, and configurations'\n )}\n actions={\n <div className=\"flex gap-2\">\n <Button variant=\"outline\">\n <Link to={getPath('store/installed')}>\n {t('botlit.store.actions.viewInstalled', 'View Installed ({{count}})', {\n count: installed.length,\n })}\n </Link>\n </Button>\n <Button variant=\"outline\" leftIcon={<ExternalLink size={16} />}>\n {t('botlit.store.actions.publishPackage', 'Publish Package')}\n </Button>\n </div>\n }\n >\n <div className=\"space-y-6\">\n <PagePurpose icon={<Store size={18} />}>\n {t(\n 'botlit.store.purpose',\n 'The store is a marketplace of ready-made building blocks — full bots, agents, MCP tool packs, prompt templates and policy bundles published by the BotManor team and the community. Browse and install a package to skip the setup and start from a working example, then customise it for your own use case instead of building everything from scratch.'\n )}\n </PagePurpose>\n\n {/* Search and Filters */}\n <div className=\"flex flex-wrap items-center gap-4\">\n <div className=\"relative flex-1 max-w-md\">\n <SearchIcon className=\"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-text-secondary\" />\n <Input\n placeholder={t('botlit.store.searchPlaceholder', 'Search packages...')}\n value={search}\n onChange={(e) => setSearch(e.target.value)}\n className=\"pl-9\"\n />\n </div>\n\n {/* Kind Filters */}\n <div className=\"flex gap-2\">\n <Button\n variant={selectedKind === null ? 'default' : 'outline'}\n size=\"sm\"\n onClick={() => setSelectedKind(null)}\n >\n {t('botlit.store.filters.all', 'All')}\n </Button>\n {kinds.map((kind) => (\n <Button\n key={kind}\n variant={selectedKind === kind ? 'default' : 'outline'}\n size=\"sm\"\n onClick={() => setSelectedKind(kind)}\n leftIcon={<KindIcon kind={kind} className=\"h-4 w-4\" />}\n >\n {kindLabel[kind]}\n </Button>\n ))}\n </div>\n\n {/* Sort */}\n <select\n aria-label={t('botlit.store.filters.sortLabel', 'Sort packages')}\n className=\"h-9 px-3 border border-border-default rounded-md bg-bg-surface text-sm\"\n value={sortBy}\n onChange={(e) => setSortBy(e.target.value as StoreSortBy)}\n >\n <option value=\"recent\">{t('botlit.store.sort.recent', 'Recently Published')}</option>\n <option value=\"name\">{t('botlit.store.sort.name', 'Name (A–Z)')}</option>\n </select>\n </div>\n\n {/* Featured Section */}\n <div className=\"grid grid-cols-1 md:grid-cols-3 gap-4\">\n <GlassCard treatment=\"glass\" glow className=\"md:col-span-2 p-6\">\n <div className=\"flex items-start gap-4\">\n <div className=\"p-3 bg-action-primary-bg/20 rounded-lg\">\n <Store className=\"h-8 w-8 text-primary\" />\n </div>\n <div>\n <h3 className=\"text-lg font-semibold text-text-primary\">\n {t('botlit.store.featured.title', 'Welcome to the BotManor Store')}\n </h3>\n <p className=\"text-sm text-text-secondary mt-1\">\n {t(\n 'botlit.store.featured.description',\n 'Discover production-ready agents, tool packs, and configurations built by the community and BotManor team. Install packages to jumpstart your AI applications.'\n )}\n </p>\n <div className=\"flex gap-4 mt-4\">\n <div className=\"text-center\">\n <p className=\"text-2xl font-bold tabular-nums\">{packages.length}</p>\n <p className=\"text-xs text-text-secondary\">\n {t('botlit.store.featured.packages', 'Packages')}\n </p>\n </div>\n <div className=\"text-center\">\n <p className=\"text-2xl font-bold tabular-nums\">{installed.length}</p>\n <p className=\"text-xs text-text-secondary\">\n {t('botlit.store.featured.installed', 'Installed')}\n </p>\n </div>\n </div>\n </div>\n </div>\n </GlassCard>\n <Card>\n <CardHeader className=\"pb-2\">\n <CardTitle className=\"text-sm\">\n {t('botlit.store.featured.quickInstall', 'Quick Install')}\n </CardTitle>\n </CardHeader>\n <CardContent className=\"space-y-2\">\n {packages.slice(0, 3).map((pkg: StorePackageRecord) => (\n <div\n key={pkg.id}\n className=\"flex items-center justify-between p-2 bg-bg-sunken rounded\"\n >\n <div className=\"flex items-center gap-2\">\n <KindIcon kind={pkg.kind} className=\"h-4 w-4 text-text-secondary\" />\n <span className=\"text-sm truncate max-w-[150px]\">{storePackageName(pkg)}</span>\n </div>\n {installedSlugs.has(pkg.slug) ? (\n <Badge variant=\"success\" className=\"text-xs\">\n <Check size={12} className=\"mr-1\" />\n {t('botlit.store.install.installedBadge', 'Installed')}\n </Badge>\n ) : (\n <BotmanorPermissionGate permission={BOTMANOR_PERMISSIONS.STORE_CREATE}>\n <Button\n size=\"sm\"\n variant=\"ghost\"\n className=\"h-6 text-xs\"\n onClick={(e) => void handleInstall(pkg, e)}\n isLoading={installingSlug === pkg.slug}\n >\n {t('botlit.store.install.action', 'Install')}\n </Button>\n </BotmanorPermissionGate>\n )}\n </div>\n ))}\n </CardContent>\n </Card>\n </div>\n\n {/* Packages Grid */}\n {loading ? (\n <div className=\"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4\">\n {[1, 2, 3, 4, 5, 6].map((i) => (\n <div\n key={i}\n className=\"h-56 bg-bg-sunken motion-safe:animate-vc-shimmer rounded-lg\"\n />\n ))}\n </div>\n ) : error ? (\n <ErrorState resource=\"store packages\" error={error} onRetry={() => void refetch()} />\n ) : packages.length > 0 ? (\n <div className=\"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4\">\n {packages.map((pkg: StorePackageRecord) => (\n <Link key={pkg.id} to={getPath(`store/package/${pkg.slug}`)}>\n <Card className=\"h-full hover:border-primary/50 transition-colors cursor-pointer\">\n <CardHeader>\n <div className=\"flex items-start justify-between\">\n <div className=\"flex items-center gap-3\">\n <div className=\"p-2 bg-action-primary-bg/10 rounded-lg\">\n <KindIcon kind={pkg.kind} className=\"h-5 w-5 text-primary\" />\n </div>\n <div>\n <CardTitle className=\"text-base\">{storePackageName(pkg)}</CardTitle>\n <CardDescription className=\"text-xs\">\n {pkg.slug} v{pkg.version}\n </CardDescription>\n </div>\n </div>\n {installedSlugs.has(pkg.slug) && (\n <Badge variant=\"success\" className=\"text-xs\">\n <Check size={10} className=\"mr-1\" />\n {t('botlit.store.install.installedBadge', 'Installed')}\n </Badge>\n )}\n </div>\n </CardHeader>\n <CardContent>\n <div className=\"space-y-3\">\n <p className=\"text-sm text-text-secondary line-clamp-2\">\n {storePackageDescription(pkg)}\n </p>\n\n {/* Footer */}\n <div className=\"pt-3 border-t border-border-subtle flex items-center justify-between\">\n <Badge variant=\"outline\" className=\"text-xs\">\n {kindLabel[pkg.kind] ?? pkg.kind}\n </Badge>\n <span className=\"text-xs text-text-secondary\">\n {formatRelativeTime(pkg.publishedAt)}\n </span>\n </div>\n </div>\n </CardContent>\n </Card>\n </Link>\n ))}\n </div>\n ) : (\n <EmptyState\n illustration=\"empty-search\"\n title={t('botlit.store.empty.title', 'No packages found')}\n description={\n search || selectedKind\n ? t(\n 'botlit.store.empty.descriptionFiltered',\n 'Try adjusting your search or filters.'\n )\n : t(\n 'botlit.store.empty.descriptionNoPackages',\n 'No packages available in the store yet.'\n )\n }\n />\n )}\n </div>\n </PageLayout>\n );\n};\n"],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Pages Index
3
+ * @module botlit/pages
4
+ */
5
+ export { DashboardPage } from './DashboardPage';
6
+ export { BotsListPage } from './BotsListPage';
7
+ export { BotDetailPage } from './BotDetailPage';
8
+ export { AgentsListPage } from './AgentsListPage';
9
+ export { AgentDetailPage } from './AgentDetailPage';
10
+ export { AgentBuilderPage } from './AgentBuilderPage';
11
+ export { KnowledgeBasesPage } from './KnowledgeBasesPage';
12
+ export { KnowledgeBaseDetailPage } from './KnowledgeBaseDetailPage';
13
+ export { RetrievalProfilesPage } from './RetrievalProfilesPage';
14
+ export { RetrievalProfileDetailPage } from './RetrievalProfileDetailPage';
15
+ export { MCPServersPage } from './MCPServersPage';
16
+ export { MCPServerDetailPage } from './MCPServerDetailPage';
17
+ export { A2ARegistryPage } from './A2ARegistryPage';
18
+ export { A2AAgentDetailPage } from './A2AAgentDetailPage';
19
+ export { ChannelsPage } from './ChannelsPage';
20
+ export { ChannelDetailPage } from './ChannelDetailPage';
21
+ export { ChannelRoutesPage } from './ChannelRoutesPage';
22
+ export { PoliciesPage } from './PoliciesPage';
23
+ export { PolicyDetailPage } from './PolicyDetailPage';
24
+ export { SkillsPage } from './SkillsPage';
25
+ export { SkillDetailPage } from './SkillDetailPage';
26
+ export { PromptTemplatesPage } from './PromptTemplatesPage';
27
+ export { PromptTemplateDetailPage } from './PromptTemplateDetailPage';
28
+ export { PromptStudioPage } from './PromptStudioPage';
29
+ export { ExecutionsPage } from './ExecutionsPage';
30
+ export { AiOperationsPage } from './AiOperationsPage';
31
+ export { ExecutionDetailPage } from './ExecutionDetailPage';
32
+ export { BucketsPage } from './BucketsPage';
33
+ export { StorePage } from './StorePage';
34
+ export { StorePackageDetailPage } from './StorePackageDetailPage';
35
+ export { InstalledPackagesPage } from './InstalledPackagesPage';
36
+ export { ConversationsPage } from './ConversationsPage';
37
+ export { ConversationDetailPage } from './ConversationDetailPage';
38
+ export { ChatPage } from './ChatPage';
39
+ export { SettingsPage } from './SettingsPage';