@burdenoff/microfe-botmanor 2026.1106.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 +40 -37
  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 +253 -0
  15. package/dist/botlit/components/AiOperationsPanel.js.map +1 -0
  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 +2 -3
  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 -13
  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 +154 -0
  90. package/dist/botlit/hooks/useAiOperations.js.map +1 -0
  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 +202 -190
  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 +165 -0
  173. package/dist/botlit/pages/AiOperationsPage.js.map +1 -0
  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 +246 -237
  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 +172 -75
  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 +6 -5
  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,25 +1,25 @@
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, CardHeader as l, CardTitle as u } from "../components/Card.js";
6
+ import { Card as a, CardContent as o, CardHeader as s, CardTitle as c } from "../components/Card.js";
7
+ import { Button as l } from "../components/Button.js";
8
+ import { Input as u } from "../components/Input.js";
10
9
  import { Badge as d, StatusBadge as f } from "../components/Badge.js";
11
10
  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 { usePolicies as g } from "../hooks/usePolicies.js";
11
+ import { ErrorState as m } from "../components/ErrorState.js";
15
12
  import "../hooks/index.js";
13
+ import { formatRelativeTime as h } from "../utils/formatters.js";
14
+ import { usePolicies as g } from "../hooks/usePolicies.js";
15
+ import "../permissions/index.js";
16
16
  import { RetentionStatusPanel as _ } from "../components/RetentionStatusPanel.js";
17
17
  import { useState as v } from "react";
18
18
  import { GlassCard as y, PagePurpose as b } from "@burdenoff/fe-libs/ui";
19
19
  import { jsx as x, jsxs as S } from "react/jsx-runtime";
20
20
  import { Link as C } from "react-router";
21
21
  import { AlertTriangle as w, Clock as T, Database as E, DollarSign as D, Filter as O, MessageSquare as k, Plus as A, Search as j, Shield as M, Trash2 as N, Wrench as P } from "lucide-react";
22
- //#region src/botlit/pages/PoliciesPage.tsx
22
+ // src/botlit/pages/PoliciesPage.tsx
23
23
  var F = ({ type: e, className: t }) => {
24
24
  switch (e) {
25
25
  case "CONTENT": return /* @__PURE__ */ x(w, { className: t });
@@ -44,13 +44,13 @@ function I(e) {
44
44
  };
45
45
  }
46
46
  var L = () => {
47
- let w = e(), { getPath: T } = t(), [E, D] = v(""), [k, N] = v(null), { data: P, loading: L, error: R, refetch: z } = g({ search: E }), B = I(w), V = k ? P.filter((e) => e.type === k) : P;
48
- return /* @__PURE__ */ x(a, {
47
+ let w = t(), { getPath: T } = e(), [E, D] = v(""), [k, N] = v(null), { data: P, loading: L, error: R, refetch: z } = g({ search: E }), B = I(w), V = k ? P.filter((e) => e.type === k) : P;
48
+ return /* @__PURE__ */ x(n, {
49
49
  title: w("botlit.policies.title", "Policies & Guardrails"),
50
50
  description: w("botlit.policies.description", "Configure safety rules, access controls, and operational limits"),
51
51
  actions: /* @__PURE__ */ x(i, {
52
52
  permission: r.POLICY_CREATE,
53
- children: /* @__PURE__ */ x(o, {
53
+ children: /* @__PURE__ */ x(l, {
54
54
  leftIcon: /* @__PURE__ */ x(A, { size: 16 }),
55
55
  children: /* @__PURE__ */ x(C, {
56
56
  to: T("policies/new"),
@@ -68,7 +68,7 @@ var L = () => {
68
68
  /* @__PURE__ */ x(_, {}),
69
69
  /* @__PURE__ */ S("div", {
70
70
  className: "flex flex-wrap gap-2",
71
- children: [/* @__PURE__ */ x(o, {
71
+ children: [/* @__PURE__ */ x(l, {
72
72
  variant: k === null ? "default" : "outline",
73
73
  size: "sm",
74
74
  onClick: () => N(null),
@@ -81,7 +81,7 @@ var L = () => {
81
81
  "BUDGET",
82
82
  "RATE_LIMIT",
83
83
  "RETENTION"
84
- ].map((e) => /* @__PURE__ */ x(o, {
84
+ ].map((e) => /* @__PURE__ */ x(l, {
85
85
  variant: k === e ? "default" : "outline",
86
86
  size: "sm",
87
87
  onClick: () => N(e),
@@ -96,13 +96,13 @@ var L = () => {
96
96
  className: "flex items-center gap-4",
97
97
  children: [/* @__PURE__ */ S("div", {
98
98
  className: "relative flex-1 max-w-md",
99
- children: [/* @__PURE__ */ x(j, { className: "absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-text-secondary" }), /* @__PURE__ */ x(m, {
99
+ children: [/* @__PURE__ */ x(j, { className: "absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-text-secondary" }), /* @__PURE__ */ x(u, {
100
100
  placeholder: w("botlit.policies.searchPlaceholder", "Search policies..."),
101
101
  value: E,
102
102
  onChange: (e) => D(e.target.value),
103
103
  className: "pl-9"
104
104
  })]
105
- }), /* @__PURE__ */ x(o, {
105
+ }), /* @__PURE__ */ x(l, {
106
106
  variant: "outline",
107
107
  leftIcon: /* @__PURE__ */ x(O, { size: 16 }),
108
108
  children: w("botlit.policies.actions.moreFilters", "More Filters")
@@ -118,7 +118,7 @@ var L = () => {
118
118
  5,
119
119
  6
120
120
  ].map((e) => /* @__PURE__ */ x("div", { className: "h-40 bg-bg-sunken motion-safe:animate-vc-shimmer rounded-lg" }, e))
121
- }) : R ? /* @__PURE__ */ x(h, {
121
+ }) : R ? /* @__PURE__ */ x(m, {
122
122
  resource: "policies",
123
123
  error: R,
124
124
  onRetry: () => void z()
@@ -126,9 +126,9 @@ var L = () => {
126
126
  className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4",
127
127
  children: V.map((e) => /* @__PURE__ */ x(C, {
128
128
  to: T(`policies/${e.id}`),
129
- children: /* @__PURE__ */ S(s, {
129
+ children: /* @__PURE__ */ S(a, {
130
130
  className: "h-full hover:border-primary/50 transition-colors cursor-pointer",
131
- children: [/* @__PURE__ */ x(l, {
131
+ children: [/* @__PURE__ */ x(s, {
132
132
  className: "pb-2",
133
133
  children: /* @__PURE__ */ S("div", {
134
134
  className: "flex items-start justify-between",
@@ -140,13 +140,13 @@ var L = () => {
140
140
  type: e.type,
141
141
  className: `h-5 w-5 ${e.type === "CONTENT" ? "text-status-error-text" : e.type === "TOOL" ? "text-status-info-text" : e.type === "BUDGET" ? "text-status-warning-text" : "text-primary"}`
142
142
  })
143
- }), /* @__PURE__ */ x("div", { children: /* @__PURE__ */ x(u, {
143
+ }), /* @__PURE__ */ x("div", { children: /* @__PURE__ */ x(c, {
144
144
  className: "text-base",
145
145
  children: e.name
146
146
  }) })]
147
147
  }), /* @__PURE__ */ x(f, { status: e.status })]
148
148
  })
149
- }), /* @__PURE__ */ x(c, { children: /* @__PURE__ */ S("div", {
149
+ }), /* @__PURE__ */ x(o, { children: /* @__PURE__ */ S("div", {
150
150
  className: "space-y-3",
151
151
  children: [/* @__PURE__ */ x("p", {
152
152
  className: "text-sm text-text-secondary line-clamp-2",
@@ -159,7 +159,7 @@ var L = () => {
159
159
  children: B[e.type]
160
160
  }), /* @__PURE__ */ x("span", {
161
161
  className: "text-xs text-text-secondary",
162
- children: n(e.createdAt)
162
+ children: h(e.createdAt)
163
163
  })]
164
164
  })]
165
165
  }) })]
@@ -171,7 +171,7 @@ var L = () => {
171
171
  description: w("botlit.policies.empty.description", "Create policies to enforce safety rules and operational limits across your agents."),
172
172
  action: /* @__PURE__ */ x(i, {
173
173
  permission: r.POLICY_CREATE,
174
- children: /* @__PURE__ */ x(o, {
174
+ children: /* @__PURE__ */ x(l, {
175
175
  leftIcon: /* @__PURE__ */ x(A, { size: 16 }),
176
176
  children: /* @__PURE__ */ x(C, {
177
177
  to: T("policies/new"),
@@ -234,7 +234,6 @@ var L = () => {
234
234
  })
235
235
  });
236
236
  };
237
- //#endregion
238
237
  export { L as PoliciesPage };
239
238
 
240
239
  //# sourceMappingURL=PoliciesPage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PoliciesPage.js","names":[],"sources":["../../../src/botlit/pages/PoliciesPage.tsx"],"sourcesContent":["/**\n * Policies Page\n * @module botlit/pages\n */\n\nimport type { FC } from 'react';\nimport { useState } from 'react';\nimport { Link } from 'react-router';\nimport { useBotlit } from '../providers/BotlitProvider';\nimport {\n Plus,\n Search as SearchIcon,\n Filter,\n Shield,\n Wrench,\n Database,\n MessageSquare,\n DollarSign,\n Clock,\n Trash2,\n AlertTriangle,\n} from 'lucide-react';\nimport { useTr } from '../../shared/hooks/useTr';\nimport { PagePurpose, GlassCard } from '@burdenoff/fe-libs/ui';\nimport { PageLayout } from '../components/PageLayout';\nimport { Card, CardHeader, CardTitle, CardContent } from '../components/Card';\nimport { Button } from '../components/Button';\nimport { Input } from '../components/Input';\nimport { Badge, StatusBadge } from '../components/Badge';\nimport { EmptyState } from '../components/EmptyState';\nimport { ErrorState } from '../components/ErrorState';\nimport { usePolicies, type PolicyRecord } from '../hooks';\nimport { formatRelativeTime } from '../utils/formatters';\nimport type { PolicyType } from '../types';\nimport { BOTMANOR_PERMISSIONS, BotmanorPermissionGate } from '../permissions';\nimport { RetentionStatusPanel } from '../components/RetentionStatusPanel';\n\nconst PolicyTypeIcon: FC<{ type: string; className?: string }> = ({ type, className }) => {\n switch (type) {\n case 'CONTENT':\n return <AlertTriangle className={className} />;\n case 'TOOL':\n return <Wrench className={className} />;\n case 'DATA':\n return <Database className={className} />;\n case 'RESPONSE':\n return <MessageSquare className={className} />;\n case 'BUDGET':\n return <DollarSign className={className} />;\n case 'RATE_LIMIT':\n return <Clock className={className} />;\n case 'RETENTION':\n return <Trash2 className={className} />;\n default:\n return <Shield className={className} />;\n }\n};\n\nfunction usePolicyTypeLabel(t: ReturnType<typeof useTr>): Record<string, string> {\n return {\n CONTENT: t('botlit.policies.typeLabel.CONTENT', 'Content Safety'),\n TOOL: t('botlit.policies.typeLabel.TOOL', 'Tool Access'),\n DATA: t('botlit.policies.typeLabel.DATA', 'Data Access'),\n // New key: the platform i18n store already holds a row for the old\n // `typeLabel.RESPONSE` key (\"Response Format\") and that row wins.\n RESPONSE: t('botlit.policies.typeLabel.RESPONSE_MODELS', 'Response & Models'),\n BUDGET: t('botlit.policies.typeLabel.BUDGET', 'Budget Limits'),\n RATE_LIMIT: t('botlit.policies.typeLabel.RATE_LIMIT', 'Rate Limiting'),\n RETENTION: t('botlit.policies.typeLabel.RETENTION', 'Data Retention'),\n };\n}\n\nexport const PoliciesPage: FC = () => {\n const t = useTr();\n const { getPath } = useBotlit();\n const [search, setSearch] = useState('');\n const [selectedType, setSelectedType] = useState<PolicyType | null>(null);\n const { data: policies, loading, error, refetch } = usePolicies({ search });\n const policyTypeLabel = usePolicyTypeLabel(t);\n\n const filteredPolicies = selectedType\n ? policies.filter((policy) => policy.type === selectedType)\n : policies;\n\n const policyTypes: PolicyType[] = [\n 'CONTENT',\n 'TOOL',\n 'DATA',\n 'RESPONSE',\n 'BUDGET',\n 'RATE_LIMIT',\n 'RETENTION',\n ];\n\n return (\n <PageLayout\n title={t('botlit.policies.title', 'Policies & Guardrails')}\n description={t(\n 'botlit.policies.description',\n 'Configure safety rules, access controls, and operational limits'\n )}\n actions={\n <BotmanorPermissionGate permission={BOTMANOR_PERMISSIONS.POLICY_CREATE}>\n <Button leftIcon={<Plus size={16} />}>\n <Link to={getPath('policies/new')}>\n {t('botlit.policies.actions.createPolicy', 'Create Policy')}\n </Link>\n </Button>\n </BotmanorPermissionGate>\n }\n >\n <div className=\"space-y-6\">\n <PagePurpose icon={<Shield size={18} />}>\n {t(\n 'botlit.policies.purpose',\n 'Policies are the guardrails that keep your agents safe and within budget. Each policy enforces one kind of rule — blocking harmful content or PII, restricting which tools an agent may call, capping token spend, or rate-limiting requests. Define policies here and attach them to agents so every execution stays compliant and predictable.'\n )}\n </PagePurpose>\n\n <RetentionStatusPanel />\n\n {/* Policy Type Filters */}\n <div className=\"flex flex-wrap gap-2\">\n <Button\n variant={selectedType === null ? 'default' : 'outline'}\n size=\"sm\"\n onClick={() => setSelectedType(null)}\n >\n {t('botlit.store.filters.all', 'All')}\n </Button>\n {policyTypes.map((type) => (\n <Button\n key={type}\n variant={selectedType === type ? 'default' : 'outline'}\n size=\"sm\"\n onClick={() => setSelectedType(type)}\n leftIcon={<PolicyTypeIcon type={type} className=\"h-4 w-4\" />}\n >\n {policyTypeLabel[type]}\n </Button>\n ))}\n </div>\n\n {/* Search */}\n <div className=\"flex 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.policies.searchPlaceholder', 'Search policies...')}\n value={search}\n onChange={(e) => setSearch(e.target.value)}\n className=\"pl-9\"\n />\n </div>\n <Button variant=\"outline\" leftIcon={<Filter size={16} />}>\n {t('botlit.policies.actions.moreFilters', 'More Filters')}\n </Button>\n </div>\n\n {/* Policies List */}\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-40 bg-bg-sunken motion-safe:animate-vc-shimmer rounded-lg\"\n />\n ))}\n </div>\n ) : error ? (\n <ErrorState resource=\"policies\" error={error} onRetry={() => void refetch()} />\n ) : filteredPolicies.length > 0 ? (\n <div className=\"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4\">\n {filteredPolicies.map((policy: PolicyRecord) => (\n <Link key={policy.id} to={getPath(`policies/${policy.id}`)}>\n <Card className=\"h-full hover:border-primary/50 transition-colors cursor-pointer\">\n <CardHeader className=\"pb-2\">\n <div className=\"flex items-start justify-between\">\n <div className=\"flex items-center gap-3\">\n <div\n className={`p-2 rounded-lg ${\n policy.type === 'CONTENT'\n ? 'bg-status-error-bg-subtle'\n : policy.type === 'TOOL'\n ? 'bg-status-info-bg-subtle'\n : policy.type === 'BUDGET'\n ? 'bg-status-warning-bg-subtle'\n : 'bg-action-primary-bg/10'\n }`}\n >\n <PolicyTypeIcon\n type={policy.type}\n className={`h-5 w-5 ${\n policy.type === 'CONTENT'\n ? 'text-status-error-text'\n : policy.type === 'TOOL'\n ? 'text-status-info-text'\n : policy.type === 'BUDGET'\n ? 'text-status-warning-text'\n : 'text-primary'\n }`}\n />\n </div>\n <div>\n <CardTitle className=\"text-base\">{policy.name}</CardTitle>\n </div>\n </div>\n <StatusBadge status={policy.status} />\n </div>\n </CardHeader>\n <CardContent>\n <div className=\"space-y-3\">\n <p className=\"text-sm text-text-secondary line-clamp-2\">\n {policy.description}\n </p>\n\n {/* Type Badge */}\n <div className=\"flex items-center justify-between\">\n <Badge variant=\"outline\" className=\"text-xs\">\n {policyTypeLabel[policy.type]}\n </Badge>\n <span className=\"text-xs text-text-secondary\">\n {formatRelativeTime(policy.createdAt)}\n </span>\n </div>\n </div>\n </CardContent>\n </Card>\n </Link>\n ))}\n </div>\n ) : (\n <EmptyState\n illustration=\"empty-generic\"\n title={\n selectedType\n ? t('botlit.policies.empty.titleNoType', 'No {{type}} policies', {\n type: policyTypeLabel[selectedType],\n })\n : t('botlit.policies.empty.title', 'No policies')\n }\n description={t(\n 'botlit.policies.empty.description',\n 'Create policies to enforce safety rules and operational limits across your agents.'\n )}\n action={\n <BotmanorPermissionGate permission={BOTMANOR_PERMISSIONS.POLICY_CREATE}>\n <Button leftIcon={<Plus size={16} />}>\n <Link to={getPath('policies/new')}>\n {t('botlit.policies.actions.createPolicy', 'Create Policy')}\n </Link>\n </Button>\n </BotmanorPermissionGate>\n }\n />\n )}\n\n {/* Policy Types Guide */}\n <GlassCard treatment=\"glass\" glow className=\"p-6\">\n <div className=\"mb-4\">\n <h2 className=\"text-lg font-semibold tracking-tight text-text-primary\">\n {t('botlit.policies.overview.title', 'Policy Types')}\n </h2>\n <p className=\"text-sm text-text-secondary\">\n {t(\n 'botlit.policies.overview.description',\n 'Different policy types control different aspects of agent behavior'\n )}\n </p>\n </div>\n <div className=\"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-4\">\n {[\n {\n type: 'CONTENT' as PolicyType,\n desc: t(\n 'botlit.policies.overview.contentDescription',\n 'Detect and block harmful content, jailbreaks, and PII'\n ),\n },\n {\n type: 'TOOL' as PolicyType,\n desc: t(\n 'botlit.policies.overview.toolDescription',\n 'Control which tools agents can access and use'\n ),\n },\n {\n type: 'BUDGET' as PolicyType,\n desc: t(\n 'botlit.policies.overview.budgetDescription',\n 'Set token limits and cost caps per execution'\n ),\n },\n {\n type: 'RATE_LIMIT' as PolicyType,\n desc: t(\n 'botlit.policies.overview.rateLimitDescription',\n 'Limit request frequency to prevent abuse'\n ),\n },\n ].map((item) => (\n <div key={item.type} className=\"p-4 border border-border-subtle rounded-lg\">\n <div className=\"flex items-center gap-2 mb-2\">\n <PolicyTypeIcon type={item.type} className=\"h-5 w-5 text-primary\" />\n <span className=\"font-medium\">{policyTypeLabel[item.type]}</span>\n </div>\n <p className=\"text-sm text-text-secondary\">{item.desc}</p>\n </div>\n ))}\n </div>\n </GlassCard>\n </div>\n </PageLayout>\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"PoliciesPage.js","names":["SearchIcon","PolicyTypeIcon","type","AlertTriangle","Wrench","Database","MessageSquare","DollarSign","Clock","Trash2","Shield","usePolicyTypeLabel","t","PoliciesPage","useTr","useBotlit","search","setSearch","useState","selectedType","setSelectedType","policies","usePolicies","policyTypeLabel","filteredPolicies","policy","PageLayout","BotmanorPermissionGate","BOTMANOR_PERMISSIONS","Button","Plus","Link","getPath","PagePurpose","RetentionStatusPanel","Search","Input","Filter","loading","i","error","ErrorState","refetch","Card","CardHeader","CardTitle","StatusBadge","CardContent","Badge","formatRelativeTime","EmptyState","GlassCard","item"],"sources":["../../../src/botlit/pages/PoliciesPage.tsx"],"sourcesContent":["/**\n * Policies Page\n * @module botlit/pages\n */\n\nimport type { FC } from 'react';\nimport { useState } from 'react';\nimport { Link } from 'react-router';\nimport { useBotlit } from '../providers/BotlitProvider';\nimport {\n Plus,\n Search as SearchIcon,\n Filter,\n Shield,\n Wrench,\n Database,\n MessageSquare,\n DollarSign,\n Clock,\n Trash2,\n AlertTriangle,\n} from 'lucide-react';\nimport { useTr } from '../../shared/hooks/useTr';\nimport { PagePurpose, GlassCard } from '@burdenoff/fe-libs/ui';\nimport { PageLayout } from '../components/PageLayout';\nimport { Card, CardHeader, CardTitle, CardContent } from '../components/Card';\nimport { Button } from '../components/Button';\nimport { Input } from '../components/Input';\nimport { Badge, StatusBadge } from '../components/Badge';\nimport { EmptyState } from '../components/EmptyState';\nimport { ErrorState } from '../components/ErrorState';\nimport { usePolicies, type PolicyRecord } from '../hooks';\nimport { formatRelativeTime } from '../utils/formatters';\nimport type { PolicyType } from '../types';\nimport { BOTMANOR_PERMISSIONS, BotmanorPermissionGate } from '../permissions';\nimport { RetentionStatusPanel } from '../components/RetentionStatusPanel';\n\nconst PolicyTypeIcon: FC<{ type: string; className?: string }> = ({ type, className }) => {\n switch (type) {\n case 'CONTENT':\n return <AlertTriangle className={className} />;\n case 'TOOL':\n return <Wrench className={className} />;\n case 'DATA':\n return <Database className={className} />;\n case 'RESPONSE':\n return <MessageSquare className={className} />;\n case 'BUDGET':\n return <DollarSign className={className} />;\n case 'RATE_LIMIT':\n return <Clock className={className} />;\n case 'RETENTION':\n return <Trash2 className={className} />;\n default:\n return <Shield className={className} />;\n }\n};\n\nfunction usePolicyTypeLabel(t: ReturnType<typeof useTr>): Record<string, string> {\n return {\n CONTENT: t('botlit.policies.typeLabel.CONTENT', 'Content Safety'),\n TOOL: t('botlit.policies.typeLabel.TOOL', 'Tool Access'),\n DATA: t('botlit.policies.typeLabel.DATA', 'Data Access'),\n // New key: the platform i18n store already holds a row for the old\n // `typeLabel.RESPONSE` key (\"Response Format\") and that row wins.\n RESPONSE: t('botlit.policies.typeLabel.RESPONSE_MODELS', 'Response & Models'),\n BUDGET: t('botlit.policies.typeLabel.BUDGET', 'Budget Limits'),\n RATE_LIMIT: t('botlit.policies.typeLabel.RATE_LIMIT', 'Rate Limiting'),\n RETENTION: t('botlit.policies.typeLabel.RETENTION', 'Data Retention'),\n };\n}\n\nexport const PoliciesPage: FC = () => {\n const t = useTr();\n const { getPath } = useBotlit();\n const [search, setSearch] = useState('');\n const [selectedType, setSelectedType] = useState<PolicyType | null>(null);\n const { data: policies, loading, error, refetch } = usePolicies({ search });\n const policyTypeLabel = usePolicyTypeLabel(t);\n\n const filteredPolicies = selectedType\n ? policies.filter((policy) => policy.type === selectedType)\n : policies;\n\n const policyTypes: PolicyType[] = [\n 'CONTENT',\n 'TOOL',\n 'DATA',\n 'RESPONSE',\n 'BUDGET',\n 'RATE_LIMIT',\n 'RETENTION',\n ];\n\n return (\n <PageLayout\n title={t('botlit.policies.title', 'Policies & Guardrails')}\n description={t(\n 'botlit.policies.description',\n 'Configure safety rules, access controls, and operational limits'\n )}\n actions={\n <BotmanorPermissionGate permission={BOTMANOR_PERMISSIONS.POLICY_CREATE}>\n <Button leftIcon={<Plus size={16} />}>\n <Link to={getPath('policies/new')}>\n {t('botlit.policies.actions.createPolicy', 'Create Policy')}\n </Link>\n </Button>\n </BotmanorPermissionGate>\n }\n >\n <div className=\"space-y-6\">\n <PagePurpose icon={<Shield size={18} />}>\n {t(\n 'botlit.policies.purpose',\n 'Policies are the guardrails that keep your agents safe and within budget. Each policy enforces one kind of rule — blocking harmful content or PII, restricting which tools an agent may call, capping token spend, or rate-limiting requests. Define policies here and attach them to agents so every execution stays compliant and predictable.'\n )}\n </PagePurpose>\n\n <RetentionStatusPanel />\n\n {/* Policy Type Filters */}\n <div className=\"flex flex-wrap gap-2\">\n <Button\n variant={selectedType === null ? 'default' : 'outline'}\n size=\"sm\"\n onClick={() => setSelectedType(null)}\n >\n {t('botlit.store.filters.all', 'All')}\n </Button>\n {policyTypes.map((type) => (\n <Button\n key={type}\n variant={selectedType === type ? 'default' : 'outline'}\n size=\"sm\"\n onClick={() => setSelectedType(type)}\n leftIcon={<PolicyTypeIcon type={type} className=\"h-4 w-4\" />}\n >\n {policyTypeLabel[type]}\n </Button>\n ))}\n </div>\n\n {/* Search */}\n <div className=\"flex 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.policies.searchPlaceholder', 'Search policies...')}\n value={search}\n onChange={(e) => setSearch(e.target.value)}\n className=\"pl-9\"\n />\n </div>\n <Button variant=\"outline\" leftIcon={<Filter size={16} />}>\n {t('botlit.policies.actions.moreFilters', 'More Filters')}\n </Button>\n </div>\n\n {/* Policies List */}\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-40 bg-bg-sunken motion-safe:animate-vc-shimmer rounded-lg\"\n />\n ))}\n </div>\n ) : error ? (\n <ErrorState resource=\"policies\" error={error} onRetry={() => void refetch()} />\n ) : filteredPolicies.length > 0 ? (\n <div className=\"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4\">\n {filteredPolicies.map((policy: PolicyRecord) => (\n <Link key={policy.id} to={getPath(`policies/${policy.id}`)}>\n <Card className=\"h-full hover:border-primary/50 transition-colors cursor-pointer\">\n <CardHeader className=\"pb-2\">\n <div className=\"flex items-start justify-between\">\n <div className=\"flex items-center gap-3\">\n <div\n className={`p-2 rounded-lg ${\n policy.type === 'CONTENT'\n ? 'bg-status-error-bg-subtle'\n : policy.type === 'TOOL'\n ? 'bg-status-info-bg-subtle'\n : policy.type === 'BUDGET'\n ? 'bg-status-warning-bg-subtle'\n : 'bg-action-primary-bg/10'\n }`}\n >\n <PolicyTypeIcon\n type={policy.type}\n className={`h-5 w-5 ${\n policy.type === 'CONTENT'\n ? 'text-status-error-text'\n : policy.type === 'TOOL'\n ? 'text-status-info-text'\n : policy.type === 'BUDGET'\n ? 'text-status-warning-text'\n : 'text-primary'\n }`}\n />\n </div>\n <div>\n <CardTitle className=\"text-base\">{policy.name}</CardTitle>\n </div>\n </div>\n <StatusBadge status={policy.status} />\n </div>\n </CardHeader>\n <CardContent>\n <div className=\"space-y-3\">\n <p className=\"text-sm text-text-secondary line-clamp-2\">\n {policy.description}\n </p>\n\n {/* Type Badge */}\n <div className=\"flex items-center justify-between\">\n <Badge variant=\"outline\" className=\"text-xs\">\n {policyTypeLabel[policy.type]}\n </Badge>\n <span className=\"text-xs text-text-secondary\">\n {formatRelativeTime(policy.createdAt)}\n </span>\n </div>\n </div>\n </CardContent>\n </Card>\n </Link>\n ))}\n </div>\n ) : (\n <EmptyState\n illustration=\"empty-generic\"\n title={\n selectedType\n ? t('botlit.policies.empty.titleNoType', 'No {{type}} policies', {\n type: policyTypeLabel[selectedType],\n })\n : t('botlit.policies.empty.title', 'No policies')\n }\n description={t(\n 'botlit.policies.empty.description',\n 'Create policies to enforce safety rules and operational limits across your agents.'\n )}\n action={\n <BotmanorPermissionGate permission={BOTMANOR_PERMISSIONS.POLICY_CREATE}>\n <Button leftIcon={<Plus size={16} />}>\n <Link to={getPath('policies/new')}>\n {t('botlit.policies.actions.createPolicy', 'Create Policy')}\n </Link>\n </Button>\n </BotmanorPermissionGate>\n }\n />\n )}\n\n {/* Policy Types Guide */}\n <GlassCard treatment=\"glass\" glow className=\"p-6\">\n <div className=\"mb-4\">\n <h2 className=\"text-lg font-semibold tracking-tight text-text-primary\">\n {t('botlit.policies.overview.title', 'Policy Types')}\n </h2>\n <p className=\"text-sm text-text-secondary\">\n {t(\n 'botlit.policies.overview.description',\n 'Different policy types control different aspects of agent behavior'\n )}\n </p>\n </div>\n <div className=\"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-4\">\n {[\n {\n type: 'CONTENT' as PolicyType,\n desc: t(\n 'botlit.policies.overview.contentDescription',\n 'Detect and block harmful content, jailbreaks, and PII'\n ),\n },\n {\n type: 'TOOL' as PolicyType,\n desc: t(\n 'botlit.policies.overview.toolDescription',\n 'Control which tools agents can access and use'\n ),\n },\n {\n type: 'BUDGET' as PolicyType,\n desc: t(\n 'botlit.policies.overview.budgetDescription',\n 'Set token limits and cost caps per execution'\n ),\n },\n {\n type: 'RATE_LIMIT' as PolicyType,\n desc: t(\n 'botlit.policies.overview.rateLimitDescription',\n 'Limit request frequency to prevent abuse'\n ),\n },\n ].map((item) => (\n <div key={item.type} className=\"p-4 border border-border-subtle rounded-lg\">\n <div className=\"flex items-center gap-2 mb-2\">\n <PolicyTypeIcon type={item.type} className=\"h-5 w-5 text-primary\" />\n <span className=\"font-medium\">{policyTypeLabel[item.type]}</span>\n </div>\n <p className=\"text-sm text-text-secondary\">{item.desc}</p>\n </div>\n ))}\n </div>\n </GlassCard>\n </div>\n </PageLayout>\n );\n};\n"],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { FC } from 'react';
2
+ interface PolicyDetailPageProps {
3
+ isNew?: boolean;
4
+ }
5
+ export declare const PolicyDetailPage: FC<PolicyDetailPageProps>;
6
+ export {};