@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
@@ -0,0 +1,2 @@
1
+ import { FC } from 'react';
2
+ export declare const BotlitRoutes: FC;
@@ -1,20 +1,20 @@
1
- import { useTr as e } from "../shared/hooks/useTr.js";
1
+ import { useBotlit as e } from "./providers/BotlitProvider.js";
2
2
  import { RouteLoader as t } from "./components/RouteLoader.js";
3
- import { useBotlit as n } from "./providers/BotlitProvider.js";
4
- import { BOTMANOR_PERMISSIONS as r } from "./permissions/botmanorPermissions.js";
5
- import { RequirePermission as i } from "./permissions/PermissionRequired.js";
6
3
  import "./permissions/index.js";
4
+ import { BOTMANOR_PERMISSIONS as n } from "./permissions/botmanorPermissions.js";
5
+ import { RequirePermission as r } from "./permissions/PermissionRequired.js";
6
+ import { useTr as i } from "../shared/hooks/useTr.js";
7
7
  import { DashboardPage as a } from "./pages/DashboardPage.js";
8
8
  import { Suspense as o, lazy as s } from "react";
9
9
  import { jsx as c, jsxs as l } from "react/jsx-runtime";
10
10
  import { Navigate as u, Route as d, Routes as f, useLocation as p } from "react-router";
11
- //#region src/botlit/BotlitRoutes.tsx
11
+ // src/botlit/BotlitRoutes.tsx
12
12
  var m = s(() => import("./pages/BotsListPage.js").then((e) => ({ default: e.BotsListPage }))), h = s(() => import("./pages/BotDetailPage.js").then((e) => ({ default: e.BotDetailPage }))), g = s(() => import("./pages/AgentsListPage.js").then((e) => ({ default: e.AgentsListPage }))), _ = s(() => import("./pages/AgentApprovalsPage.js").then((e) => ({ default: e.AgentApprovalsPage }))), v = s(() => import("./pages/AgentDetailPage.js").then((e) => ({ default: e.AgentDetailPage }))), y = s(() => import("./pages/AgentBuilderPage.js").then((e) => ({ default: e.AgentBuilderPage }))), b = s(() => import("./pages/KnowledgeBasesPage.js").then((e) => ({ default: e.KnowledgeBasesPage }))), x = s(() => import("./pages/KnowledgeBaseDetailPage.js").then((e) => ({ default: e.KnowledgeBaseDetailPage }))), S = s(() => import("./pages/RetrievalProfilesPage.js").then((e) => ({ default: e.RetrievalProfilesPage }))), C = s(() => import("./pages/RetrievalProfileDetailPage.js").then((e) => ({ default: e.RetrievalProfileDetailPage }))), w = s(() => import("./pages/MCPServersPage.js").then((e) => ({ default: e.MCPServersPage }))), T = s(() => import("./pages/MCPServerDetailPage.js").then((e) => ({ default: e.MCPServerDetailPage }))), E = s(() => import("./pages/A2ARegistryPage.js").then((e) => ({ default: e.A2ARegistryPage }))), D = s(() => import("./pages/A2AAgentDetailPage.js").then((e) => ({ default: e.A2AAgentDetailPage }))), O = s(() => import("./pages/ChannelsPage.js").then((e) => ({ default: e.ChannelsPage }))), k = s(() => import("./pages/ChannelDetailPage.js").then((e) => ({ default: e.ChannelDetailPage }))), A = s(() => import("./pages/ChannelRoutesPage.js").then((e) => ({ default: e.ChannelRoutesPage }))), j = s(() => import("./pages/PoliciesPage.js").then((e) => ({ default: e.PoliciesPage }))), M = s(() => import("./pages/PolicyDetailPage.js").then((e) => ({ default: e.PolicyDetailPage }))), N = s(() => import("./pages/SkillsPage.js").then((e) => ({ default: e.SkillsPage }))), P = s(() => import("./pages/SkillDetailPage.js").then((e) => ({ default: e.SkillDetailPage }))), F = s(() => import("./pages/PromptTemplatesPage.js").then((e) => ({ default: e.PromptTemplatesPage }))), I = s(() => import("./pages/PromptTemplateDetailPage.js").then((e) => ({ default: e.PromptTemplateDetailPage }))), L = s(() => import("./pages/PromptStudioPage.js").then((e) => ({ default: e.PromptStudioPage }))), R = s(() => import("./pages/ExecutionsPage.js").then((e) => ({ default: e.ExecutionsPage }))), z = s(() => import("./pages/ExecutionDetailPage.js").then((e) => ({ default: e.ExecutionDetailPage }))), B = s(() => import("./pages/AiOperationsPage.js").then((e) => ({ default: e.AiOperationsPage }))), V = s(() => import("./pages/BucketsPage.js").then((e) => ({ default: e.BucketsPage }))), H = s(() => import("./pages/StorePage.js").then((e) => ({ default: e.StorePage }))), U = s(() => import("./pages/StorePackageDetailPage.js").then((e) => ({ default: e.StorePackageDetailPage }))), W = s(() => import("./pages/InstalledPackagesPage.js").then((e) => ({ default: e.InstalledPackagesPage }))), G = s(() => import("./pages/SettingsPage.js").then((e) => ({ default: e.SettingsPage }))), K = s(() => import("./pages/ChatPage.js").then((e) => ({ default: e.ChatPage }))), q = () => {
13
- let { basePath: s, isStandalone: q } = n(), J = p(), Y = e(), X = (e, t, n, r, a) => /* @__PURE__ */ c(i, {
13
+ let { basePath: s, isStandalone: q } = e(), J = p(), Y = i(), X = (e, t, n, i, a) => /* @__PURE__ */ c(r, {
14
14
  permission: e,
15
15
  title: t,
16
16
  backTo: n,
17
- backLabel: r,
17
+ backLabel: i,
18
18
  children: a
19
19
  }), Z = Y("permissions.required.back", "Go back"), Q = s === "/" ? "" : s.replace(/\/$/, "");
20
20
  return Q && !q && !(J.pathname === Q || J.pathname.startsWith(Q + "/")) ? null : /* @__PURE__ */ c("div", {
@@ -39,7 +39,7 @@ var m = s(() => import("./pages/BotsListPage.js").then((e) => ({ default: e.Bots
39
39
  }),
40
40
  /* @__PURE__ */ c(d, {
41
41
  path: "bots/new",
42
- element: X(r.APP_CREATE, Y("botlit.botsList.actions.createBot", "Create Bot"), "bots", Z, /* @__PURE__ */ c(h, { isNew: !0 }))
42
+ element: X(n.APP_CREATE, Y("botlit.botsList.actions.createBot", "Create Bot"), "bots", Z, /* @__PURE__ */ c(h, { isNew: !0 }))
43
43
  }),
44
44
  /* @__PURE__ */ c(d, {
45
45
  path: "bots/:botId",
@@ -47,7 +47,7 @@ var m = s(() => import("./pages/BotsListPage.js").then((e) => ({ default: e.Bots
47
47
  }),
48
48
  /* @__PURE__ */ c(d, {
49
49
  path: "bots/:botId/edit",
50
- element: X(r.APP_UPDATE, Y("botlit.botsList.menu.editBot", "Edit Bot"), "bots", Z, /* @__PURE__ */ c(h, { isEditing: !0 }))
50
+ element: X(n.APP_UPDATE, Y("botlit.botsList.menu.editBot", "Edit Bot"), "bots", Z, /* @__PURE__ */ c(h, { isEditing: !0 }))
51
51
  }),
52
52
  /* @__PURE__ */ c(d, {
53
53
  path: "bots/:botId/agents",
@@ -55,7 +55,7 @@ var m = s(() => import("./pages/BotsListPage.js").then((e) => ({ default: e.Bots
55
55
  }),
56
56
  /* @__PURE__ */ c(d, {
57
57
  path: "bots/:botId/agents/new",
58
- element: X(r.AGENT_CREATE, Y("botlit.agentsList.actions.createAgent", "Create Agent"), "agents", Z, /* @__PURE__ */ c(y, {}))
58
+ element: X(n.AGENT_CREATE, Y("botlit.agentsList.actions.createAgent", "Create Agent"), "agents", Z, /* @__PURE__ */ c(y, {}))
59
59
  }),
60
60
  /* @__PURE__ */ c(d, {
61
61
  path: "bots/:botId/agents/:agentId",
@@ -63,7 +63,7 @@ var m = s(() => import("./pages/BotsListPage.js").then((e) => ({ default: e.Bots
63
63
  }),
64
64
  /* @__PURE__ */ c(d, {
65
65
  path: "bots/:botId/agents/:agentId/edit",
66
- element: X(r.AGENT_UPDATE, Y("botlit.agentsList.menu.editAgent", "Edit Agent"), "agents", Z, /* @__PURE__ */ c(y, {}))
66
+ element: X(n.AGENT_UPDATE, Y("botlit.agentsList.menu.editAgent", "Edit Agent"), "agents", Z, /* @__PURE__ */ c(y, {}))
67
67
  }),
68
68
  /* @__PURE__ */ c(d, {
69
69
  path: "bots/:botId/knowledge",
@@ -79,7 +79,7 @@ var m = s(() => import("./pages/BotsListPage.js").then((e) => ({ default: e.Bots
79
79
  }),
80
80
  /* @__PURE__ */ c(d, {
81
81
  path: "agents/new",
82
- element: X(r.AGENT_CREATE, Y("botlit.agentsList.actions.createAgent", "Create Agent"), "agents", Z, /* @__PURE__ */ c(y, {}))
82
+ element: X(n.AGENT_CREATE, Y("botlit.agentsList.actions.createAgent", "Create Agent"), "agents", Z, /* @__PURE__ */ c(y, {}))
83
83
  }),
84
84
  /* @__PURE__ */ c(d, {
85
85
  path: "agents/approvals",
@@ -91,11 +91,11 @@ var m = s(() => import("./pages/BotsListPage.js").then((e) => ({ default: e.Bots
91
91
  }),
92
92
  /* @__PURE__ */ c(d, {
93
93
  path: "agents/:agentId/edit",
94
- element: X(r.AGENT_UPDATE, Y("botlit.agentsList.menu.editAgent", "Edit Agent"), "agents", Z, /* @__PURE__ */ c(y, {}))
94
+ element: X(n.AGENT_UPDATE, Y("botlit.agentsList.menu.editAgent", "Edit Agent"), "agents", Z, /* @__PURE__ */ c(y, {}))
95
95
  }),
96
96
  /* @__PURE__ */ c(d, {
97
97
  path: "agents/:agentId/chat",
98
- element: X(r.AGENT_EXECUTE, Y("botlit.chat.title", "AI Chat"), "agents", Z, /* @__PURE__ */ c(K, {}))
98
+ element: X(n.AGENT_EXECUTE, Y("botlit.chat.title", "AI Chat"), "agents", Z, /* @__PURE__ */ c(K, {}))
99
99
  }),
100
100
  /* @__PURE__ */ c(d, {
101
101
  path: "conversations",
@@ -117,7 +117,7 @@ var m = s(() => import("./pages/BotsListPage.js").then((e) => ({ default: e.Bots
117
117
  }),
118
118
  /* @__PURE__ */ c(d, {
119
119
  path: "knowledge/new",
120
- element: X(r.KNOWLEDGE_CREATE, Y("botlit.knowledge.actions.create", "Create Knowledge Base"), "knowledge", Z, /* @__PURE__ */ c(x, { isNew: !0 }))
120
+ element: X(n.KNOWLEDGE_CREATE, Y("botlit.knowledge.actions.create", "Create Knowledge Base"), "knowledge", Z, /* @__PURE__ */ c(x, { isNew: !0 }))
121
121
  }),
122
122
  /* @__PURE__ */ c(d, {
123
123
  path: "knowledge/:kbId",
@@ -129,7 +129,7 @@ var m = s(() => import("./pages/BotsListPage.js").then((e) => ({ default: e.Bots
129
129
  }),
130
130
  /* @__PURE__ */ c(d, {
131
131
  path: "retrieval-profiles/new",
132
- element: X(r.RETRIEVAL_PROFILE_CREATE, Y("botlit.retrievalProfiles.actions.create", "Create Retrieval Profile"), "retrieval-profiles", Z, /* @__PURE__ */ c(C, { isNew: !0 }))
132
+ element: X(n.RETRIEVAL_PROFILE_CREATE, Y("botlit.retrievalProfiles.actions.create", "Create Retrieval Profile"), "retrieval-profiles", Z, /* @__PURE__ */ c(C, { isNew: !0 }))
133
133
  }),
134
134
  /* @__PURE__ */ c(d, {
135
135
  path: "retrieval-profiles/:profileId",
@@ -141,7 +141,7 @@ var m = s(() => import("./pages/BotsListPage.js").then((e) => ({ default: e.Bots
141
141
  }),
142
142
  /* @__PURE__ */ c(d, {
143
143
  path: "mcp/new",
144
- element: X(r.MCP_CREATE, Y("botlit.mcpServers.actions.add", "Add MCP Server"), "mcp", Z, /* @__PURE__ */ c(T, { isNew: !0 }))
144
+ element: X(n.MCP_CREATE, Y("botlit.mcpServers.actions.add", "Add MCP Server"), "mcp", Z, /* @__PURE__ */ c(T, { isNew: !0 }))
145
145
  }),
146
146
  /* @__PURE__ */ c(d, {
147
147
  path: "mcp/:serverId",
@@ -153,7 +153,7 @@ var m = s(() => import("./pages/BotsListPage.js").then((e) => ({ default: e.Bots
153
153
  }),
154
154
  /* @__PURE__ */ c(d, {
155
155
  path: "a2a/register",
156
- element: X(r.A2A_REGISTRY_CREATE, Y("botlit.a2aRegistry.actions.registerAgent", "Register Agent"), "a2a", Z, /* @__PURE__ */ c(D, { isNew: !0 }))
156
+ element: X(n.A2A_REGISTRY_CREATE, Y("botlit.a2aRegistry.actions.registerAgent", "Register Agent"), "a2a", Z, /* @__PURE__ */ c(D, { isNew: !0 }))
157
157
  }),
158
158
  /* @__PURE__ */ c(d, {
159
159
  path: "a2a/:agentId",
@@ -165,7 +165,7 @@ var m = s(() => import("./pages/BotsListPage.js").then((e) => ({ default: e.Bots
165
165
  }),
166
166
  /* @__PURE__ */ c(d, {
167
167
  path: "channels/new",
168
- element: X(r.CHANNEL_CREATE, Y("botlit.channels.actions.addChannel", "Add Channel"), "channels", Z, /* @__PURE__ */ c(k, { isNew: !0 }))
168
+ element: X(n.CHANNEL_CREATE, Y("botlit.channels.actions.addChannel", "Add Channel"), "channels", Z, /* @__PURE__ */ c(k, { isNew: !0 }))
169
169
  }),
170
170
  /* @__PURE__ */ c(d, {
171
171
  path: "channels/routes",
@@ -181,7 +181,7 @@ var m = s(() => import("./pages/BotsListPage.js").then((e) => ({ default: e.Bots
181
181
  }),
182
182
  /* @__PURE__ */ c(d, {
183
183
  path: "policies/new",
184
- element: X(r.POLICY_CREATE, Y("botlit.policies.actions.createPolicy", "Create Policy"), "policies", Z, /* @__PURE__ */ c(M, { isNew: !0 }))
184
+ element: X(n.POLICY_CREATE, Y("botlit.policies.actions.createPolicy", "Create Policy"), "policies", Z, /* @__PURE__ */ c(M, { isNew: !0 }))
185
185
  }),
186
186
  /* @__PURE__ */ c(d, {
187
187
  path: "policies/:policyId",
@@ -193,7 +193,7 @@ var m = s(() => import("./pages/BotsListPage.js").then((e) => ({ default: e.Bots
193
193
  }),
194
194
  /* @__PURE__ */ c(d, {
195
195
  path: "skills/new",
196
- element: X(r.SKILL_CREATE, Y("botlit.skills.actions.create", "Create Skill"), "skills", Z, /* @__PURE__ */ c(P, { isNew: !0 }))
196
+ element: X(n.SKILL_CREATE, Y("botlit.skills.actions.create", "Create Skill"), "skills", Z, /* @__PURE__ */ c(P, { isNew: !0 }))
197
197
  }),
198
198
  /* @__PURE__ */ c(d, {
199
199
  path: "skills/:skillId",
@@ -205,7 +205,7 @@ var m = s(() => import("./pages/BotsListPage.js").then((e) => ({ default: e.Bots
205
205
  }),
206
206
  /* @__PURE__ */ c(d, {
207
207
  path: "prompt-templates/new",
208
- element: X(r.PROMPT_TEMPLATE_CREATE, Y("botlit.promptTemplates.actions.create", "Create Template"), "prompt-templates", Z, /* @__PURE__ */ c(I, { isNew: !0 }))
208
+ element: X(n.PROMPT_TEMPLATE_CREATE, Y("botlit.promptTemplates.actions.create", "Create Template"), "prompt-templates", Z, /* @__PURE__ */ c(I, { isNew: !0 }))
209
209
  }),
210
210
  /* @__PURE__ */ c(d, {
211
211
  path: "prompt-templates/:templateId",
@@ -253,11 +253,11 @@ var m = s(() => import("./pages/BotsListPage.js").then((e) => ({ default: e.Bots
253
253
  }),
254
254
  /* @__PURE__ */ c(d, {
255
255
  path: "chat",
256
- element: X(r.AGENT_EXECUTE, Y("botlit.chat.title", "AI Chat"), "agents", Z, /* @__PURE__ */ c(K, {}))
256
+ element: X(n.AGENT_EXECUTE, Y("botlit.chat.title", "AI Chat"), "agents", Z, /* @__PURE__ */ c(K, {}))
257
257
  }),
258
258
  /* @__PURE__ */ c(d, {
259
259
  path: "chat/:agentId",
260
- element: X(r.AGENT_EXECUTE, Y("botlit.chat.title", "AI Chat"), "agents", Z, /* @__PURE__ */ c(K, {}))
260
+ element: X(n.AGENT_EXECUTE, Y("botlit.chat.title", "AI Chat"), "agents", Z, /* @__PURE__ */ c(K, {}))
261
261
  }),
262
262
  /* @__PURE__ */ c(d, {
263
263
  path: "settings",
@@ -281,7 +281,6 @@ var m = s(() => import("./pages/BotsListPage.js").then((e) => ({ default: e.Bots
281
281
  })
282
282
  });
283
283
  };
284
- //#endregion
285
284
  export { q as BotlitRoutes };
286
285
 
287
286
  //# sourceMappingURL=BotlitRoutes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BotlitRoutes.js","names":[],"sources":["../../src/botlit/BotlitRoutes.tsx"],"sourcesContent":["/**\n * BotManor Routes\n * @module botlit\n */\n\nimport { type FC, type ReactElement, lazy, Suspense } from 'react';\nimport { Routes, Route, Navigate, useLocation } from 'react-router';\nimport { useBotlit } from './providers/BotlitProvider';\nimport { RouteLoader } from './components/RouteLoader';\nimport { BOTMANOR_PERMISSIONS, RequirePermission, type BotmanorPermission } from './permissions';\nimport { useTr } from '../shared/hooks/useTr';\n\n// Eager load - Dashboard (primary landing page)\nimport { DashboardPage } from './pages/DashboardPage';\n\n// Lazy loaded pages - Bots\nconst BotsListPage = lazy(() =>\n import('./pages/BotsListPage').then((m) => ({ default: m.BotsListPage }))\n);\nconst BotDetailPage = lazy(() =>\n import('./pages/BotDetailPage').then((m) => ({ default: m.BotDetailPage }))\n);\n\n// Lazy loaded pages - Agents\nconst AgentsListPage = lazy(() =>\n import('./pages/AgentsListPage').then((m) => ({ default: m.AgentsListPage }))\n);\nconst AgentApprovalsPage = lazy(() =>\n import('./pages/AgentApprovalsPage').then((m) => ({ default: m.AgentApprovalsPage }))\n);\nconst AgentDetailPage = lazy(() =>\n import('./pages/AgentDetailPage').then((m) => ({ default: m.AgentDetailPage }))\n);\nconst AgentBuilderPage = lazy(() =>\n import('./pages/AgentBuilderPage').then((m) => ({ default: m.AgentBuilderPage }))\n);\n\n// Lazy loaded pages - Knowledge Bases\nconst KnowledgeBasesPage = lazy(() =>\n import('./pages/KnowledgeBasesPage').then((m) => ({ default: m.KnowledgeBasesPage }))\n);\nconst KnowledgeBaseDetailPage = lazy(() =>\n import('./pages/KnowledgeBaseDetailPage').then((m) => ({ default: m.KnowledgeBaseDetailPage }))\n);\n\n// Lazy loaded pages - Retrieval Profiles\nconst RetrievalProfilesPage = lazy(() =>\n import('./pages/RetrievalProfilesPage').then((m) => ({ default: m.RetrievalProfilesPage }))\n);\nconst RetrievalProfileDetailPage = lazy(() =>\n import('./pages/RetrievalProfileDetailPage').then((m) => ({\n default: m.RetrievalProfileDetailPage,\n }))\n);\n\n// Lazy loaded pages - MCP Servers\nconst MCPServersPage = lazy(() =>\n import('./pages/MCPServersPage').then((m) => ({ default: m.MCPServersPage }))\n);\nconst MCPServerDetailPage = lazy(() =>\n import('./pages/MCPServerDetailPage').then((m) => ({ default: m.MCPServerDetailPage }))\n);\n\n// Lazy loaded pages - A2A Registry\nconst A2ARegistryPage = lazy(() =>\n import('./pages/A2ARegistryPage').then((m) => ({ default: m.A2ARegistryPage }))\n);\nconst A2AAgentDetailPage = lazy(() =>\n import('./pages/A2AAgentDetailPage').then((m) => ({ default: m.A2AAgentDetailPage }))\n);\n\n// Lazy loaded pages - Channels\nconst ChannelsPage = lazy(() =>\n import('./pages/ChannelsPage').then((m) => ({ default: m.ChannelsPage }))\n);\nconst ChannelDetailPage = lazy(() =>\n import('./pages/ChannelDetailPage').then((m) => ({ default: m.ChannelDetailPage }))\n);\nconst ChannelRoutesPage = lazy(() =>\n import('./pages/ChannelRoutesPage').then((m) => ({ default: m.ChannelRoutesPage }))\n);\n\n// Lazy loaded pages - Policies\nconst PoliciesPage = lazy(() =>\n import('./pages/PoliciesPage').then((m) => ({ default: m.PoliciesPage }))\n);\nconst PolicyDetailPage = lazy(() =>\n import('./pages/PolicyDetailPage').then((m) => ({ default: m.PolicyDetailPage }))\n);\n\n// Lazy loaded pages - Skills\nconst SkillsPage = lazy(() =>\n import('./pages/SkillsPage').then((m) => ({ default: m.SkillsPage }))\n);\nconst SkillDetailPage = lazy(() =>\n import('./pages/SkillDetailPage').then((m) => ({ default: m.SkillDetailPage }))\n);\n\n// Lazy loaded pages - Prompt Templates\nconst PromptTemplatesPage = lazy(() =>\n import('./pages/PromptTemplatesPage').then((m) => ({ default: m.PromptTemplatesPage }))\n);\nconst PromptTemplateDetailPage = lazy(() =>\n import('./pages/PromptTemplateDetailPage').then((m) => ({ default: m.PromptTemplateDetailPage }))\n);\nconst PromptStudioPage = lazy(() =>\n import('./pages/PromptStudioPage').then((m) => ({ default: m.PromptStudioPage }))\n);\n\n// Lazy loaded pages - Executions\nconst ExecutionsPage = lazy(() =>\n import('./pages/ExecutionsPage').then((m) => ({ default: m.ExecutionsPage }))\n);\nconst ExecutionDetailPage = lazy(() =>\n import('./pages/ExecutionDetailPage').then((m) => ({ default: m.ExecutionDetailPage }))\n);\n\n// Lazy loaded pages - AI Operations (supervisor decision feed, BOFF-3839)\nconst AiOperationsPage = lazy(() =>\n import('./pages/AiOperationsPage').then((m) => ({ default: m.AiOperationsPage }))\n);\n\n// Lazy loaded pages - Buckets\nconst BucketsPage = lazy(() =>\n import('./pages/BucketsPage').then((m) => ({ default: m.BucketsPage }))\n);\n\n// Lazy loaded pages - Store\nconst StorePage = lazy(() => import('./pages/StorePage').then((m) => ({ default: m.StorePage })));\nconst StorePackageDetailPage = lazy(() =>\n import('./pages/StorePackageDetailPage').then((m) => ({ default: m.StorePackageDetailPage }))\n);\nconst InstalledPackagesPage = lazy(() =>\n import('./pages/InstalledPackagesPage').then((m) => ({ default: m.InstalledPackagesPage }))\n);\n\n// Lazy loaded pages - Settings & Chat\nconst SettingsPage = lazy(() =>\n import('./pages/SettingsPage').then((m) => ({ default: m.SettingsPage }))\n);\nconst ChatPage = lazy(() => import('./pages/ChatPage').then((m) => ({ default: m.ChatPage })));\n\n// Loading fallback — the same skeleton `BotmanorRoot` paints while its\n// implementation chunk resolves, so the content region never switches loading\n// idioms (and never goes empty) between first paint and the page rendering.\n\nexport const BotlitRoutes: FC = () => {\n const { basePath, isStandalone } = useBotlit();\n const location = useLocation();\n const t = useTr();\n\n /**\n * Create, edit and chat routes are reachable by URL, so they are gated here\n * as well as at the buttons that link to them: a member without the\n * permission gets a clear \"no access\" state instead of a form the gateway\n * would refuse to save.\n */\n const gated = (\n permission: BotmanorPermission,\n title: string,\n backTo: string,\n backLabel: string,\n element: ReactElement\n ): ReactElement => (\n <RequirePermission permission={permission} title={title} backTo={backTo} backLabel={backLabel}>\n {element}\n </RequirePermission>\n );\n const back = t('permissions.required.back', 'Go back');\n\n // Normalize base path\n const normalizedBasePath = basePath === '/' ? '' : basePath.replace(/\\/$/, '');\n\n // Guard: Only render if path matches basePath (when integrated)\n if (normalizedBasePath && !isStandalone) {\n const pathMatches =\n location.pathname === normalizedBasePath ||\n location.pathname.startsWith(normalizedBasePath + '/');\n\n if (!pathMatches) {\n return null;\n }\n }\n\n return (\n <div className=\"flex flex-col min-h-full bg-bg-surface\">\n <Suspense fallback={<RouteLoader />}>\n <Routes>\n {/* Dashboard - Eager loaded */}\n <Route index element={<DashboardPage />} />\n <Route path=\"home\" element={<Navigate to=\"/\" replace />} />\n\n {/* Bots */}\n <Route path=\"bots\" element={<BotsListPage />} />\n <Route\n path=\"bots/new\"\n element={gated(\n BOTMANOR_PERMISSIONS.APP_CREATE,\n t('botlit.botsList.actions.createBot', 'Create Bot'),\n 'bots',\n back,\n <BotDetailPage isNew />\n )}\n />\n <Route path=\"bots/:botId\" element={<BotDetailPage />} />\n <Route\n path=\"bots/:botId/edit\"\n element={gated(\n BOTMANOR_PERMISSIONS.APP_UPDATE,\n t('botlit.botsList.menu.editBot', 'Edit Bot'),\n 'bots',\n back,\n <BotDetailPage isEditing />\n )}\n />\n <Route path=\"bots/:botId/agents\" element={<AgentsListPage />} />\n <Route\n path=\"bots/:botId/agents/new\"\n element={gated(\n BOTMANOR_PERMISSIONS.AGENT_CREATE,\n t('botlit.agentsList.actions.createAgent', 'Create Agent'),\n 'agents',\n back,\n <AgentBuilderPage />\n )}\n />\n <Route path=\"bots/:botId/agents/:agentId\" element={<AgentDetailPage />} />\n <Route\n path=\"bots/:botId/agents/:agentId/edit\"\n element={gated(\n BOTMANOR_PERMISSIONS.AGENT_UPDATE,\n t('botlit.agentsList.menu.editAgent', 'Edit Agent'),\n 'agents',\n back,\n <AgentBuilderPage />\n )}\n />\n <Route path=\"bots/:botId/knowledge\" element={<KnowledgeBasesPage />} />\n <Route path=\"bots/:botId/knowledge/:kbId\" element={<KnowledgeBaseDetailPage />} />\n\n {/* Agents (global view) */}\n <Route path=\"agents\" element={<AgentsListPage />} />\n <Route\n path=\"agents/new\"\n element={gated(\n BOTMANOR_PERMISSIONS.AGENT_CREATE,\n t('botlit.agentsList.actions.createAgent', 'Create Agent'),\n 'agents',\n back,\n <AgentBuilderPage />\n )}\n />\n <Route path=\"agents/approvals\" element={<AgentApprovalsPage />} />\n <Route path=\"agents/:agentId\" element={<AgentDetailPage />} />\n <Route\n path=\"agents/:agentId/edit\"\n element={gated(\n BOTMANOR_PERMISSIONS.AGENT_UPDATE,\n t('botlit.agentsList.menu.editAgent', 'Edit Agent'),\n 'agents',\n back,\n <AgentBuilderPage />\n )}\n />\n <Route\n path=\"agents/:agentId/chat\"\n element={gated(\n BOTMANOR_PERMISSIONS.AGENT_EXECUTE,\n t('botlit.chat.title', 'AI Chat'),\n 'agents',\n back,\n <ChatPage />\n )}\n />\n\n {/* Conversations - Redirect to conversations microfe */}\n <Route path=\"conversations\" element={<Navigate to=\"/conversations\" replace />} />\n <Route\n path=\"conversations/:conversationId\"\n element={<Navigate to=\"/conversations\" replace />}\n />\n\n {/* Knowledge Bases */}\n <Route path=\"knowledge\" element={<KnowledgeBasesPage />} />\n <Route\n path=\"knowledge/new\"\n element={gated(\n BOTMANOR_PERMISSIONS.KNOWLEDGE_CREATE,\n t('botlit.knowledge.actions.create', 'Create Knowledge Base'),\n 'knowledge',\n back,\n <KnowledgeBaseDetailPage isNew />\n )}\n />\n <Route path=\"knowledge/:kbId\" element={<KnowledgeBaseDetailPage />} />\n\n {/* Retrieval Profiles */}\n <Route path=\"retrieval-profiles\" element={<RetrievalProfilesPage />} />\n <Route\n path=\"retrieval-profiles/new\"\n element={gated(\n BOTMANOR_PERMISSIONS.RETRIEVAL_PROFILE_CREATE,\n t('botlit.retrievalProfiles.actions.create', 'Create Retrieval Profile'),\n 'retrieval-profiles',\n back,\n <RetrievalProfileDetailPage isNew />\n )}\n />\n <Route path=\"retrieval-profiles/:profileId\" element={<RetrievalProfileDetailPage />} />\n\n {/* MCP Servers */}\n <Route path=\"mcp\" element={<MCPServersPage />} />\n <Route\n path=\"mcp/new\"\n element={gated(\n BOTMANOR_PERMISSIONS.MCP_CREATE,\n t('botlit.mcpServers.actions.add', 'Add MCP Server'),\n 'mcp',\n back,\n <MCPServerDetailPage isNew />\n )}\n />\n <Route path=\"mcp/:serverId\" element={<MCPServerDetailPage />} />\n\n {/* A2A Registry */}\n <Route path=\"a2a\" element={<A2ARegistryPage />} />\n <Route\n path=\"a2a/register\"\n element={gated(\n BOTMANOR_PERMISSIONS.A2A_REGISTRY_CREATE,\n t('botlit.a2aRegistry.actions.registerAgent', 'Register Agent'),\n 'a2a',\n back,\n <A2AAgentDetailPage isNew />\n )}\n />\n <Route path=\"a2a/:agentId\" element={<A2AAgentDetailPage />} />\n\n {/* Channels */}\n <Route path=\"channels\" element={<ChannelsPage />} />\n <Route\n path=\"channels/new\"\n element={gated(\n BOTMANOR_PERMISSIONS.CHANNEL_CREATE,\n t('botlit.channels.actions.addChannel', 'Add Channel'),\n 'channels',\n back,\n <ChannelDetailPage isNew />\n )}\n />\n <Route path=\"channels/routes\" element={<ChannelRoutesPage />} />\n <Route path=\"channels/:connectorId\" element={<ChannelDetailPage />} />\n\n {/* Policies & Guardrails */}\n <Route path=\"policies\" element={<PoliciesPage />} />\n <Route\n path=\"policies/new\"\n element={gated(\n BOTMANOR_PERMISSIONS.POLICY_CREATE,\n t('botlit.policies.actions.createPolicy', 'Create Policy'),\n 'policies',\n back,\n <PolicyDetailPage isNew />\n )}\n />\n <Route path=\"policies/:policyId\" element={<PolicyDetailPage />} />\n\n {/* Skills */}\n <Route path=\"skills\" element={<SkillsPage />} />\n <Route\n path=\"skills/new\"\n element={gated(\n BOTMANOR_PERMISSIONS.SKILL_CREATE,\n t('botlit.skills.actions.create', 'Create Skill'),\n 'skills',\n back,\n <SkillDetailPage isNew />\n )}\n />\n <Route path=\"skills/:skillId\" element={<SkillDetailPage />} />\n\n {/* Prompt Templates */}\n <Route path=\"prompt-templates\" element={<PromptTemplatesPage />} />\n <Route\n path=\"prompt-templates/new\"\n element={gated(\n BOTMANOR_PERMISSIONS.PROMPT_TEMPLATE_CREATE,\n t('botlit.promptTemplates.actions.create', 'Create Template'),\n 'prompt-templates',\n back,\n <PromptTemplateDetailPage isNew />\n )}\n />\n <Route path=\"prompt-templates/:templateId\" element={<PromptTemplateDetailPage />} />\n\n {/* Prompt Studio (legacy) */}\n <Route path=\"prompts\" element={<PromptStudioPage />} />\n\n {/* Executions */}\n <Route path=\"executions\" element={<ExecutionsPage />} />\n <Route path=\"ai\" element={<AiOperationsPage />} />\n <Route path=\"executions/:executionId\" element={<ExecutionDetailPage />} />\n\n {/* Buckets */}\n <Route path=\"buckets\" element={<BucketsPage />} />\n <Route path=\"buckets/new\" element={<BucketsPage />} />\n <Route path=\"buckets/:bucketId\" element={<BucketsPage />} />\n\n {/* Store */}\n <Route path=\"store\" element={<StorePage />} />\n <Route path=\"store/installed\" element={<InstalledPackagesPage />} />\n <Route path=\"store/package/:slug\" element={<StorePackageDetailPage />} />\n\n {/* Chat */}\n <Route\n path=\"chat\"\n element={gated(\n BOTMANOR_PERMISSIONS.AGENT_EXECUTE,\n t('botlit.chat.title', 'AI Chat'),\n 'agents',\n back,\n <ChatPage />\n )}\n />\n <Route\n path=\"chat/:agentId\"\n element={gated(\n BOTMANOR_PERMISSIONS.AGENT_EXECUTE,\n t('botlit.chat.title', 'AI Chat'),\n 'agents',\n back,\n <ChatPage />\n )}\n />\n\n {/* Settings */}\n <Route path=\"settings\" element={<SettingsPage />} />\n\n {/* Workflow routes are owned by the shared app-shell WorkflowsRoot. */}\n <Route\n path=\"list\"\n element={<Navigate to={`${normalizedBasePath}/workflows/list`} replace />}\n />\n\n {/* Fallback */}\n <Route path=\"*\" element={<Navigate to=\"/\" replace />} />\n </Routes>\n </Suspense>\n </div>\n );\n};\n"],"mappings":";;;;;;;;;;;AAgBA,IAAM,IAAe,QACnB,OAAO,2BAAwB,MAAM,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,CAC1E,EACK,IAAgB,QACpB,OAAO,4BAAyB,MAAM,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,CAC5E,EAGK,IAAiB,QACrB,OAAO,6BAA0B,MAAM,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAC9E,EACK,IAAqB,QACzB,OAAO,iCAA8B,MAAM,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,CACtF,EACK,IAAkB,QACtB,OAAO,8BAA2B,MAAM,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAChF,EACK,IAAmB,QACvB,OAAO,+BAA4B,MAAM,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAClF,EAGK,IAAqB,QACzB,OAAO,iCAA8B,MAAM,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,CACtF,EACK,IAA0B,QAC9B,OAAO,sCAAmC,MAAM,OAAO,EAAE,SAAS,EAAE,yBAAyB,EAAE,CAChG,EAGK,IAAwB,QAC5B,OAAO,oCAAiC,MAAM,OAAO,EAAE,SAAS,EAAE,uBAAuB,EAAE,CAC5F,EACK,IAA6B,QACjC,OAAO,yCAAsC,MAAM,OAAO,EACxD,SAAS,EAAE,4BACZ,EAAE,CACJ,EAGK,IAAiB,QACrB,OAAO,6BAA0B,MAAM,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAC9E,EACK,IAAsB,QAC1B,OAAO,kCAA+B,MAAM,OAAO,EAAE,SAAS,EAAE,qBAAqB,EAAE,CACxF,EAGK,IAAkB,QACtB,OAAO,8BAA2B,MAAM,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAChF,EACK,IAAqB,QACzB,OAAO,iCAA8B,MAAM,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,CACtF,EAGK,IAAe,QACnB,OAAO,2BAAwB,MAAM,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,CAC1E,EACK,IAAoB,QACxB,OAAO,gCAA6B,MAAM,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,CACpF,EACK,IAAoB,QACxB,OAAO,gCAA6B,MAAM,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,CACpF,EAGK,IAAe,QACnB,OAAO,2BAAwB,MAAM,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,CAC1E,EACK,IAAmB,QACvB,OAAO,+BAA4B,MAAM,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAClF,EAGK,IAAa,QACjB,OAAO,yBAAsB,MAAM,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,CACtE,EACK,IAAkB,QACtB,OAAO,8BAA2B,MAAM,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAChF,EAGK,IAAsB,QAC1B,OAAO,kCAA+B,MAAM,OAAO,EAAE,SAAS,EAAE,qBAAqB,EAAE,CACxF,EACK,IAA2B,QAC/B,OAAO,uCAAoC,MAAM,OAAO,EAAE,SAAS,EAAE,0BAA0B,EAAE,CAClG,EACK,IAAmB,QACvB,OAAO,+BAA4B,MAAM,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAClF,EAGK,IAAiB,QACrB,OAAO,6BAA0B,MAAM,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAC9E,EACK,IAAsB,QAC1B,OAAO,kCAA+B,MAAM,OAAO,EAAE,SAAS,EAAE,qBAAqB,EAAE,CACxF,EAGK,IAAmB,QACvB,OAAO,+BAA4B,MAAM,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAClF,EAGK,IAAc,QAClB,OAAO,0BAAuB,MAAM,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,CACxE,EAGK,IAAY,QAAW,OAAO,wBAAqB,MAAM,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,EAC3F,IAAyB,QAC7B,OAAO,qCAAkC,MAAM,OAAO,EAAE,SAAS,EAAE,wBAAwB,EAAE,CAC9F,EACK,IAAwB,QAC5B,OAAO,oCAAiC,MAAM,OAAO,EAAE,SAAS,EAAE,uBAAuB,EAAE,CAC5F,EAGK,IAAe,QACnB,OAAO,2BAAwB,MAAM,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,CAC1E,EACK,IAAW,QAAW,OAAO,uBAAoB,MAAM,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,EAMjF,UAAyB;CACpC,IAAM,EAAE,aAAU,oBAAiB,GAAW,EACxC,IAAW,GAAa,EACxB,IAAI,GAAO,EAQX,KACJ,GACA,GACA,GACA,GACA,MAEA,kBAAC,GAAD;EAA+B;EAAmB;EAAe;EAAmB;YACjF;EACiB,CAAA,EAEhB,IAAO,EAAE,6BAA6B,UAAU,EAGhD,IAAqB,MAAa,MAAM,KAAK,EAAS,QAAQ,OAAO,GAAG;AAa9E,QAVI,KAAsB,CAAC,KAKrB,EAHF,EAAS,aAAa,KACtB,EAAS,SAAS,WAAW,IAAqB,IAAI,IAG/C,OAKT,kBAAC,OAAD;EAAK,WAAU;YACb,kBAAC,GAAD;GAAU,UAAU,kBAAC,GAAD,EAAe,CAAA;aACjC,kBAAC,GAAD,EAAA,UAAA;IAEE,kBAAC,GAAD;KAAO,OAAA;KAAM,SAAS,kBAAC,GAAD,EAAiB,CAAA;KAAI,CAAA;IAC3C,kBAAC,GAAD;KAAO,MAAK;KAAO,SAAS,kBAAC,GAAD;MAAU,IAAG;MAAI,SAAA;MAAU,CAAA;KAAI,CAAA;IAG3D,kBAAC,GAAD;KAAO,MAAK;KAAO,SAAS,kBAAC,GAAD,EAAgB,CAAA;KAAI,CAAA;IAChD,kBAAC,GAAD;KACE,MAAK;KACL,SAAS,EACP,EAAqB,YACrB,EAAE,qCAAqC,aAAa,EACpD,QACA,GACA,kBAAC,GAAD,EAAe,OAAA,IAAQ,CAAA,CACxB;KACD,CAAA;IACF,kBAAC,GAAD;KAAO,MAAK;KAAc,SAAS,kBAAC,GAAD,EAAiB,CAAA;KAAI,CAAA;IACxD,kBAAC,GAAD;KACE,MAAK;KACL,SAAS,EACP,EAAqB,YACrB,EAAE,gCAAgC,WAAW,EAC7C,QACA,GACA,kBAAC,GAAD,EAAe,WAAA,IAAY,CAAA,CAC5B;KACD,CAAA;IACF,kBAAC,GAAD;KAAO,MAAK;KAAqB,SAAS,kBAAC,GAAD,EAAkB,CAAA;KAAI,CAAA;IAChE,kBAAC,GAAD;KACE,MAAK;KACL,SAAS,EACP,EAAqB,cACrB,EAAE,yCAAyC,eAAe,EAC1D,UACA,GACA,kBAAC,GAAD,EAAoB,CAAA,CACrB;KACD,CAAA;IACF,kBAAC,GAAD;KAAO,MAAK;KAA8B,SAAS,kBAAC,GAAD,EAAmB,CAAA;KAAI,CAAA;IAC1E,kBAAC,GAAD;KACE,MAAK;KACL,SAAS,EACP,EAAqB,cACrB,EAAE,oCAAoC,aAAa,EACnD,UACA,GACA,kBAAC,GAAD,EAAoB,CAAA,CACrB;KACD,CAAA;IACF,kBAAC,GAAD;KAAO,MAAK;KAAwB,SAAS,kBAAC,GAAD,EAAsB,CAAA;KAAI,CAAA;IACvE,kBAAC,GAAD;KAAO,MAAK;KAA8B,SAAS,kBAAC,GAAD,EAA2B,CAAA;KAAI,CAAA;IAGlF,kBAAC,GAAD;KAAO,MAAK;KAAS,SAAS,kBAAC,GAAD,EAAkB,CAAA;KAAI,CAAA;IACpD,kBAAC,GAAD;KACE,MAAK;KACL,SAAS,EACP,EAAqB,cACrB,EAAE,yCAAyC,eAAe,EAC1D,UACA,GACA,kBAAC,GAAD,EAAoB,CAAA,CACrB;KACD,CAAA;IACF,kBAAC,GAAD;KAAO,MAAK;KAAmB,SAAS,kBAAC,GAAD,EAAsB,CAAA;KAAI,CAAA;IAClE,kBAAC,GAAD;KAAO,MAAK;KAAkB,SAAS,kBAAC,GAAD,EAAmB,CAAA;KAAI,CAAA;IAC9D,kBAAC,GAAD;KACE,MAAK;KACL,SAAS,EACP,EAAqB,cACrB,EAAE,oCAAoC,aAAa,EACnD,UACA,GACA,kBAAC,GAAD,EAAoB,CAAA,CACrB;KACD,CAAA;IACF,kBAAC,GAAD;KACE,MAAK;KACL,SAAS,EACP,EAAqB,eACrB,EAAE,qBAAqB,UAAU,EACjC,UACA,GACA,kBAAC,GAAD,EAAY,CAAA,CACb;KACD,CAAA;IAGF,kBAAC,GAAD;KAAO,MAAK;KAAgB,SAAS,kBAAC,GAAD;MAAU,IAAG;MAAiB,SAAA;MAAU,CAAA;KAAI,CAAA;IACjF,kBAAC,GAAD;KACE,MAAK;KACL,SAAS,kBAAC,GAAD;MAAU,IAAG;MAAiB,SAAA;MAAU,CAAA;KACjD,CAAA;IAGF,kBAAC,GAAD;KAAO,MAAK;KAAY,SAAS,kBAAC,GAAD,EAAsB,CAAA;KAAI,CAAA;IAC3D,kBAAC,GAAD;KACE,MAAK;KACL,SAAS,EACP,EAAqB,kBACrB,EAAE,mCAAmC,wBAAwB,EAC7D,aACA,GACA,kBAAC,GAAD,EAAyB,OAAA,IAAQ,CAAA,CAClC;KACD,CAAA;IACF,kBAAC,GAAD;KAAO,MAAK;KAAkB,SAAS,kBAAC,GAAD,EAA2B,CAAA;KAAI,CAAA;IAGtE,kBAAC,GAAD;KAAO,MAAK;KAAqB,SAAS,kBAAC,GAAD,EAAyB,CAAA;KAAI,CAAA;IACvE,kBAAC,GAAD;KACE,MAAK;KACL,SAAS,EACP,EAAqB,0BACrB,EAAE,2CAA2C,2BAA2B,EACxE,sBACA,GACA,kBAAC,GAAD,EAA4B,OAAA,IAAQ,CAAA,CACrC;KACD,CAAA;IACF,kBAAC,GAAD;KAAO,MAAK;KAAgC,SAAS,kBAAC,GAAD,EAA8B,CAAA;KAAI,CAAA;IAGvF,kBAAC,GAAD;KAAO,MAAK;KAAM,SAAS,kBAAC,GAAD,EAAkB,CAAA;KAAI,CAAA;IACjD,kBAAC,GAAD;KACE,MAAK;KACL,SAAS,EACP,EAAqB,YACrB,EAAE,iCAAiC,iBAAiB,EACpD,OACA,GACA,kBAAC,GAAD,EAAqB,OAAA,IAAQ,CAAA,CAC9B;KACD,CAAA;IACF,kBAAC,GAAD;KAAO,MAAK;KAAgB,SAAS,kBAAC,GAAD,EAAuB,CAAA;KAAI,CAAA;IAGhE,kBAAC,GAAD;KAAO,MAAK;KAAM,SAAS,kBAAC,GAAD,EAAmB,CAAA;KAAI,CAAA;IAClD,kBAAC,GAAD;KACE,MAAK;KACL,SAAS,EACP,EAAqB,qBACrB,EAAE,4CAA4C,iBAAiB,EAC/D,OACA,GACA,kBAAC,GAAD,EAAoB,OAAA,IAAQ,CAAA,CAC7B;KACD,CAAA;IACF,kBAAC,GAAD;KAAO,MAAK;KAAe,SAAS,kBAAC,GAAD,EAAsB,CAAA;KAAI,CAAA;IAG9D,kBAAC,GAAD;KAAO,MAAK;KAAW,SAAS,kBAAC,GAAD,EAAgB,CAAA;KAAI,CAAA;IACpD,kBAAC,GAAD;KACE,MAAK;KACL,SAAS,EACP,EAAqB,gBACrB,EAAE,sCAAsC,cAAc,EACtD,YACA,GACA,kBAAC,GAAD,EAAmB,OAAA,IAAQ,CAAA,CAC5B;KACD,CAAA;IACF,kBAAC,GAAD;KAAO,MAAK;KAAkB,SAAS,kBAAC,GAAD,EAAqB,CAAA;KAAI,CAAA;IAChE,kBAAC,GAAD;KAAO,MAAK;KAAwB,SAAS,kBAAC,GAAD,EAAqB,CAAA;KAAI,CAAA;IAGtE,kBAAC,GAAD;KAAO,MAAK;KAAW,SAAS,kBAAC,GAAD,EAAgB,CAAA;KAAI,CAAA;IACpD,kBAAC,GAAD;KACE,MAAK;KACL,SAAS,EACP,EAAqB,eACrB,EAAE,wCAAwC,gBAAgB,EAC1D,YACA,GACA,kBAAC,GAAD,EAAkB,OAAA,IAAQ,CAAA,CAC3B;KACD,CAAA;IACF,kBAAC,GAAD;KAAO,MAAK;KAAqB,SAAS,kBAAC,GAAD,EAAoB,CAAA;KAAI,CAAA;IAGlE,kBAAC,GAAD;KAAO,MAAK;KAAS,SAAS,kBAAC,GAAD,EAAc,CAAA;KAAI,CAAA;IAChD,kBAAC,GAAD;KACE,MAAK;KACL,SAAS,EACP,EAAqB,cACrB,EAAE,gCAAgC,eAAe,EACjD,UACA,GACA,kBAAC,GAAD,EAAiB,OAAA,IAAQ,CAAA,CAC1B;KACD,CAAA;IACF,kBAAC,GAAD;KAAO,MAAK;KAAkB,SAAS,kBAAC,GAAD,EAAmB,CAAA;KAAI,CAAA;IAG9D,kBAAC,GAAD;KAAO,MAAK;KAAmB,SAAS,kBAAC,GAAD,EAAuB,CAAA;KAAI,CAAA;IACnE,kBAAC,GAAD;KACE,MAAK;KACL,SAAS,EACP,EAAqB,wBACrB,EAAE,yCAAyC,kBAAkB,EAC7D,oBACA,GACA,kBAAC,GAAD,EAA0B,OAAA,IAAQ,CAAA,CACnC;KACD,CAAA;IACF,kBAAC,GAAD;KAAO,MAAK;KAA+B,SAAS,kBAAC,GAAD,EAA4B,CAAA;KAAI,CAAA;IAGpF,kBAAC,GAAD;KAAO,MAAK;KAAU,SAAS,kBAAC,GAAD,EAAoB,CAAA;KAAI,CAAA;IAGvD,kBAAC,GAAD;KAAO,MAAK;KAAa,SAAS,kBAAC,GAAD,EAAkB,CAAA;KAAI,CAAA;IACxD,kBAAC,GAAD;KAAO,MAAK;KAAK,SAAS,kBAAC,GAAD,EAAoB,CAAA;KAAI,CAAA;IAClD,kBAAC,GAAD;KAAO,MAAK;KAA0B,SAAS,kBAAC,GAAD,EAAuB,CAAA;KAAI,CAAA;IAG1E,kBAAC,GAAD;KAAO,MAAK;KAAU,SAAS,kBAAC,GAAD,EAAe,CAAA;KAAI,CAAA;IAClD,kBAAC,GAAD;KAAO,MAAK;KAAc,SAAS,kBAAC,GAAD,EAAe,CAAA;KAAI,CAAA;IACtD,kBAAC,GAAD;KAAO,MAAK;KAAoB,SAAS,kBAAC,GAAD,EAAe,CAAA;KAAI,CAAA;IAG5D,kBAAC,GAAD;KAAO,MAAK;KAAQ,SAAS,kBAAC,GAAD,EAAa,CAAA;KAAI,CAAA;IAC9C,kBAAC,GAAD;KAAO,MAAK;KAAkB,SAAS,kBAAC,GAAD,EAAyB,CAAA;KAAI,CAAA;IACpE,kBAAC,GAAD;KAAO,MAAK;KAAsB,SAAS,kBAAC,GAAD,EAA0B,CAAA;KAAI,CAAA;IAGzE,kBAAC,GAAD;KACE,MAAK;KACL,SAAS,EACP,EAAqB,eACrB,EAAE,qBAAqB,UAAU,EACjC,UACA,GACA,kBAAC,GAAD,EAAY,CAAA,CACb;KACD,CAAA;IACF,kBAAC,GAAD;KACE,MAAK;KACL,SAAS,EACP,EAAqB,eACrB,EAAE,qBAAqB,UAAU,EACjC,UACA,GACA,kBAAC,GAAD,EAAY,CAAA,CACb;KACD,CAAA;IAGF,kBAAC,GAAD;KAAO,MAAK;KAAW,SAAS,kBAAC,GAAD,EAAgB,CAAA;KAAI,CAAA;IAGpD,kBAAC,GAAD;KACE,MAAK;KACL,SAAS,kBAAC,GAAD;MAAU,IAAI,GAAG,EAAmB;MAAkB,SAAA;MAAU,CAAA;KACzE,CAAA;IAGF,kBAAC,GAAD;KAAO,MAAK;KAAI,SAAS,kBAAC,GAAD;MAAU,IAAG;MAAI,SAAA;MAAU,CAAA;KAAI,CAAA;IACjD,EAAA,CAAA;GACA,CAAA;EACP,CAAA"}
1
+ {"version":3,"file":"BotlitRoutes.js","names":["BotsListPage","lazy","m","BotDetailPage","AgentsListPage","AgentApprovalsPage","AgentDetailPage","AgentBuilderPage","KnowledgeBasesPage","KnowledgeBaseDetailPage","RetrievalProfilesPage","RetrievalProfileDetailPage","MCPServersPage","MCPServerDetailPage","A2ARegistryPage","A2AAgentDetailPage","ChannelsPage","ChannelDetailPage","ChannelRoutesPage","PoliciesPage","PolicyDetailPage","SkillsPage","SkillDetailPage","PromptTemplatesPage","PromptTemplateDetailPage","PromptStudioPage","ExecutionsPage","ExecutionDetailPage","AiOperationsPage","BucketsPage","StorePage","StorePackageDetailPage","InstalledPackagesPage","SettingsPage","ChatPage","BotlitRoutes","useBotlit","location","useLocation","t","useTr","gated","RequirePermission","element","back","normalizedBasePath","basePath","isStandalone","Suspense","RouteLoader","Routes","Route","DashboardPage","Navigate","BOTMANOR_PERMISSIONS"],"sources":["../../src/botlit/BotlitRoutes.tsx"],"sourcesContent":["/**\n * BotManor Routes\n * @module botlit\n */\n\nimport { type FC, type ReactElement, lazy, Suspense } from 'react';\nimport { Routes, Route, Navigate, useLocation } from 'react-router';\nimport { useBotlit } from './providers/BotlitProvider';\nimport { RouteLoader } from './components/RouteLoader';\nimport { BOTMANOR_PERMISSIONS, RequirePermission, type BotmanorPermission } from './permissions';\nimport { useTr } from '../shared/hooks/useTr';\n\n// Eager load - Dashboard (primary landing page)\nimport { DashboardPage } from './pages/DashboardPage';\n\n// Lazy loaded pages - Bots\nconst BotsListPage = lazy(() =>\n import('./pages/BotsListPage').then((m) => ({ default: m.BotsListPage }))\n);\nconst BotDetailPage = lazy(() =>\n import('./pages/BotDetailPage').then((m) => ({ default: m.BotDetailPage }))\n);\n\n// Lazy loaded pages - Agents\nconst AgentsListPage = lazy(() =>\n import('./pages/AgentsListPage').then((m) => ({ default: m.AgentsListPage }))\n);\nconst AgentApprovalsPage = lazy(() =>\n import('./pages/AgentApprovalsPage').then((m) => ({ default: m.AgentApprovalsPage }))\n);\nconst AgentDetailPage = lazy(() =>\n import('./pages/AgentDetailPage').then((m) => ({ default: m.AgentDetailPage }))\n);\nconst AgentBuilderPage = lazy(() =>\n import('./pages/AgentBuilderPage').then((m) => ({ default: m.AgentBuilderPage }))\n);\n\n// Lazy loaded pages - Knowledge Bases\nconst KnowledgeBasesPage = lazy(() =>\n import('./pages/KnowledgeBasesPage').then((m) => ({ default: m.KnowledgeBasesPage }))\n);\nconst KnowledgeBaseDetailPage = lazy(() =>\n import('./pages/KnowledgeBaseDetailPage').then((m) => ({ default: m.KnowledgeBaseDetailPage }))\n);\n\n// Lazy loaded pages - Retrieval Profiles\nconst RetrievalProfilesPage = lazy(() =>\n import('./pages/RetrievalProfilesPage').then((m) => ({ default: m.RetrievalProfilesPage }))\n);\nconst RetrievalProfileDetailPage = lazy(() =>\n import('./pages/RetrievalProfileDetailPage').then((m) => ({\n default: m.RetrievalProfileDetailPage,\n }))\n);\n\n// Lazy loaded pages - MCP Servers\nconst MCPServersPage = lazy(() =>\n import('./pages/MCPServersPage').then((m) => ({ default: m.MCPServersPage }))\n);\nconst MCPServerDetailPage = lazy(() =>\n import('./pages/MCPServerDetailPage').then((m) => ({ default: m.MCPServerDetailPage }))\n);\n\n// Lazy loaded pages - A2A Registry\nconst A2ARegistryPage = lazy(() =>\n import('./pages/A2ARegistryPage').then((m) => ({ default: m.A2ARegistryPage }))\n);\nconst A2AAgentDetailPage = lazy(() =>\n import('./pages/A2AAgentDetailPage').then((m) => ({ default: m.A2AAgentDetailPage }))\n);\n\n// Lazy loaded pages - Channels\nconst ChannelsPage = lazy(() =>\n import('./pages/ChannelsPage').then((m) => ({ default: m.ChannelsPage }))\n);\nconst ChannelDetailPage = lazy(() =>\n import('./pages/ChannelDetailPage').then((m) => ({ default: m.ChannelDetailPage }))\n);\nconst ChannelRoutesPage = lazy(() =>\n import('./pages/ChannelRoutesPage').then((m) => ({ default: m.ChannelRoutesPage }))\n);\n\n// Lazy loaded pages - Policies\nconst PoliciesPage = lazy(() =>\n import('./pages/PoliciesPage').then((m) => ({ default: m.PoliciesPage }))\n);\nconst PolicyDetailPage = lazy(() =>\n import('./pages/PolicyDetailPage').then((m) => ({ default: m.PolicyDetailPage }))\n);\n\n// Lazy loaded pages - Skills\nconst SkillsPage = lazy(() =>\n import('./pages/SkillsPage').then((m) => ({ default: m.SkillsPage }))\n);\nconst SkillDetailPage = lazy(() =>\n import('./pages/SkillDetailPage').then((m) => ({ default: m.SkillDetailPage }))\n);\n\n// Lazy loaded pages - Prompt Templates\nconst PromptTemplatesPage = lazy(() =>\n import('./pages/PromptTemplatesPage').then((m) => ({ default: m.PromptTemplatesPage }))\n);\nconst PromptTemplateDetailPage = lazy(() =>\n import('./pages/PromptTemplateDetailPage').then((m) => ({ default: m.PromptTemplateDetailPage }))\n);\nconst PromptStudioPage = lazy(() =>\n import('./pages/PromptStudioPage').then((m) => ({ default: m.PromptStudioPage }))\n);\n\n// Lazy loaded pages - Executions\nconst ExecutionsPage = lazy(() =>\n import('./pages/ExecutionsPage').then((m) => ({ default: m.ExecutionsPage }))\n);\nconst ExecutionDetailPage = lazy(() =>\n import('./pages/ExecutionDetailPage').then((m) => ({ default: m.ExecutionDetailPage }))\n);\n\n// Lazy loaded pages - AI Operations (supervisor decision feed, BOFF-3839)\nconst AiOperationsPage = lazy(() =>\n import('./pages/AiOperationsPage').then((m) => ({ default: m.AiOperationsPage }))\n);\n\n// Lazy loaded pages - Buckets\nconst BucketsPage = lazy(() =>\n import('./pages/BucketsPage').then((m) => ({ default: m.BucketsPage }))\n);\n\n// Lazy loaded pages - Store\nconst StorePage = lazy(() => import('./pages/StorePage').then((m) => ({ default: m.StorePage })));\nconst StorePackageDetailPage = lazy(() =>\n import('./pages/StorePackageDetailPage').then((m) => ({ default: m.StorePackageDetailPage }))\n);\nconst InstalledPackagesPage = lazy(() =>\n import('./pages/InstalledPackagesPage').then((m) => ({ default: m.InstalledPackagesPage }))\n);\n\n// Lazy loaded pages - Settings & Chat\nconst SettingsPage = lazy(() =>\n import('./pages/SettingsPage').then((m) => ({ default: m.SettingsPage }))\n);\nconst ChatPage = lazy(() => import('./pages/ChatPage').then((m) => ({ default: m.ChatPage })));\n\n// Loading fallback — the same skeleton `BotmanorRoot` paints while its\n// implementation chunk resolves, so the content region never switches loading\n// idioms (and never goes empty) between first paint and the page rendering.\n\nexport const BotlitRoutes: FC = () => {\n const { basePath, isStandalone } = useBotlit();\n const location = useLocation();\n const t = useTr();\n\n /**\n * Create, edit and chat routes are reachable by URL, so they are gated here\n * as well as at the buttons that link to them: a member without the\n * permission gets a clear \"no access\" state instead of a form the gateway\n * would refuse to save.\n */\n const gated = (\n permission: BotmanorPermission,\n title: string,\n backTo: string,\n backLabel: string,\n element: ReactElement\n ): ReactElement => (\n <RequirePermission permission={permission} title={title} backTo={backTo} backLabel={backLabel}>\n {element}\n </RequirePermission>\n );\n const back = t('permissions.required.back', 'Go back');\n\n // Normalize base path\n const normalizedBasePath = basePath === '/' ? '' : basePath.replace(/\\/$/, '');\n\n // Guard: Only render if path matches basePath (when integrated)\n if (normalizedBasePath && !isStandalone) {\n const pathMatches =\n location.pathname === normalizedBasePath ||\n location.pathname.startsWith(normalizedBasePath + '/');\n\n if (!pathMatches) {\n return null;\n }\n }\n\n return (\n <div className=\"flex flex-col min-h-full bg-bg-surface\">\n <Suspense fallback={<RouteLoader />}>\n <Routes>\n {/* Dashboard - Eager loaded */}\n <Route index element={<DashboardPage />} />\n <Route path=\"home\" element={<Navigate to=\"/\" replace />} />\n\n {/* Bots */}\n <Route path=\"bots\" element={<BotsListPage />} />\n <Route\n path=\"bots/new\"\n element={gated(\n BOTMANOR_PERMISSIONS.APP_CREATE,\n t('botlit.botsList.actions.createBot', 'Create Bot'),\n 'bots',\n back,\n <BotDetailPage isNew />\n )}\n />\n <Route path=\"bots/:botId\" element={<BotDetailPage />} />\n <Route\n path=\"bots/:botId/edit\"\n element={gated(\n BOTMANOR_PERMISSIONS.APP_UPDATE,\n t('botlit.botsList.menu.editBot', 'Edit Bot'),\n 'bots',\n back,\n <BotDetailPage isEditing />\n )}\n />\n <Route path=\"bots/:botId/agents\" element={<AgentsListPage />} />\n <Route\n path=\"bots/:botId/agents/new\"\n element={gated(\n BOTMANOR_PERMISSIONS.AGENT_CREATE,\n t('botlit.agentsList.actions.createAgent', 'Create Agent'),\n 'agents',\n back,\n <AgentBuilderPage />\n )}\n />\n <Route path=\"bots/:botId/agents/:agentId\" element={<AgentDetailPage />} />\n <Route\n path=\"bots/:botId/agents/:agentId/edit\"\n element={gated(\n BOTMANOR_PERMISSIONS.AGENT_UPDATE,\n t('botlit.agentsList.menu.editAgent', 'Edit Agent'),\n 'agents',\n back,\n <AgentBuilderPage />\n )}\n />\n <Route path=\"bots/:botId/knowledge\" element={<KnowledgeBasesPage />} />\n <Route path=\"bots/:botId/knowledge/:kbId\" element={<KnowledgeBaseDetailPage />} />\n\n {/* Agents (global view) */}\n <Route path=\"agents\" element={<AgentsListPage />} />\n <Route\n path=\"agents/new\"\n element={gated(\n BOTMANOR_PERMISSIONS.AGENT_CREATE,\n t('botlit.agentsList.actions.createAgent', 'Create Agent'),\n 'agents',\n back,\n <AgentBuilderPage />\n )}\n />\n <Route path=\"agents/approvals\" element={<AgentApprovalsPage />} />\n <Route path=\"agents/:agentId\" element={<AgentDetailPage />} />\n <Route\n path=\"agents/:agentId/edit\"\n element={gated(\n BOTMANOR_PERMISSIONS.AGENT_UPDATE,\n t('botlit.agentsList.menu.editAgent', 'Edit Agent'),\n 'agents',\n back,\n <AgentBuilderPage />\n )}\n />\n <Route\n path=\"agents/:agentId/chat\"\n element={gated(\n BOTMANOR_PERMISSIONS.AGENT_EXECUTE,\n t('botlit.chat.title', 'AI Chat'),\n 'agents',\n back,\n <ChatPage />\n )}\n />\n\n {/* Conversations - Redirect to conversations microfe */}\n <Route path=\"conversations\" element={<Navigate to=\"/conversations\" replace />} />\n <Route\n path=\"conversations/:conversationId\"\n element={<Navigate to=\"/conversations\" replace />}\n />\n\n {/* Knowledge Bases */}\n <Route path=\"knowledge\" element={<KnowledgeBasesPage />} />\n <Route\n path=\"knowledge/new\"\n element={gated(\n BOTMANOR_PERMISSIONS.KNOWLEDGE_CREATE,\n t('botlit.knowledge.actions.create', 'Create Knowledge Base'),\n 'knowledge',\n back,\n <KnowledgeBaseDetailPage isNew />\n )}\n />\n <Route path=\"knowledge/:kbId\" element={<KnowledgeBaseDetailPage />} />\n\n {/* Retrieval Profiles */}\n <Route path=\"retrieval-profiles\" element={<RetrievalProfilesPage />} />\n <Route\n path=\"retrieval-profiles/new\"\n element={gated(\n BOTMANOR_PERMISSIONS.RETRIEVAL_PROFILE_CREATE,\n t('botlit.retrievalProfiles.actions.create', 'Create Retrieval Profile'),\n 'retrieval-profiles',\n back,\n <RetrievalProfileDetailPage isNew />\n )}\n />\n <Route path=\"retrieval-profiles/:profileId\" element={<RetrievalProfileDetailPage />} />\n\n {/* MCP Servers */}\n <Route path=\"mcp\" element={<MCPServersPage />} />\n <Route\n path=\"mcp/new\"\n element={gated(\n BOTMANOR_PERMISSIONS.MCP_CREATE,\n t('botlit.mcpServers.actions.add', 'Add MCP Server'),\n 'mcp',\n back,\n <MCPServerDetailPage isNew />\n )}\n />\n <Route path=\"mcp/:serverId\" element={<MCPServerDetailPage />} />\n\n {/* A2A Registry */}\n <Route path=\"a2a\" element={<A2ARegistryPage />} />\n <Route\n path=\"a2a/register\"\n element={gated(\n BOTMANOR_PERMISSIONS.A2A_REGISTRY_CREATE,\n t('botlit.a2aRegistry.actions.registerAgent', 'Register Agent'),\n 'a2a',\n back,\n <A2AAgentDetailPage isNew />\n )}\n />\n <Route path=\"a2a/:agentId\" element={<A2AAgentDetailPage />} />\n\n {/* Channels */}\n <Route path=\"channels\" element={<ChannelsPage />} />\n <Route\n path=\"channels/new\"\n element={gated(\n BOTMANOR_PERMISSIONS.CHANNEL_CREATE,\n t('botlit.channels.actions.addChannel', 'Add Channel'),\n 'channels',\n back,\n <ChannelDetailPage isNew />\n )}\n />\n <Route path=\"channels/routes\" element={<ChannelRoutesPage />} />\n <Route path=\"channels/:connectorId\" element={<ChannelDetailPage />} />\n\n {/* Policies & Guardrails */}\n <Route path=\"policies\" element={<PoliciesPage />} />\n <Route\n path=\"policies/new\"\n element={gated(\n BOTMANOR_PERMISSIONS.POLICY_CREATE,\n t('botlit.policies.actions.createPolicy', 'Create Policy'),\n 'policies',\n back,\n <PolicyDetailPage isNew />\n )}\n />\n <Route path=\"policies/:policyId\" element={<PolicyDetailPage />} />\n\n {/* Skills */}\n <Route path=\"skills\" element={<SkillsPage />} />\n <Route\n path=\"skills/new\"\n element={gated(\n BOTMANOR_PERMISSIONS.SKILL_CREATE,\n t('botlit.skills.actions.create', 'Create Skill'),\n 'skills',\n back,\n <SkillDetailPage isNew />\n )}\n />\n <Route path=\"skills/:skillId\" element={<SkillDetailPage />} />\n\n {/* Prompt Templates */}\n <Route path=\"prompt-templates\" element={<PromptTemplatesPage />} />\n <Route\n path=\"prompt-templates/new\"\n element={gated(\n BOTMANOR_PERMISSIONS.PROMPT_TEMPLATE_CREATE,\n t('botlit.promptTemplates.actions.create', 'Create Template'),\n 'prompt-templates',\n back,\n <PromptTemplateDetailPage isNew />\n )}\n />\n <Route path=\"prompt-templates/:templateId\" element={<PromptTemplateDetailPage />} />\n\n {/* Prompt Studio (legacy) */}\n <Route path=\"prompts\" element={<PromptStudioPage />} />\n\n {/* Executions */}\n <Route path=\"executions\" element={<ExecutionsPage />} />\n <Route path=\"ai\" element={<AiOperationsPage />} />\n <Route path=\"executions/:executionId\" element={<ExecutionDetailPage />} />\n\n {/* Buckets */}\n <Route path=\"buckets\" element={<BucketsPage />} />\n <Route path=\"buckets/new\" element={<BucketsPage />} />\n <Route path=\"buckets/:bucketId\" element={<BucketsPage />} />\n\n {/* Store */}\n <Route path=\"store\" element={<StorePage />} />\n <Route path=\"store/installed\" element={<InstalledPackagesPage />} />\n <Route path=\"store/package/:slug\" element={<StorePackageDetailPage />} />\n\n {/* Chat */}\n <Route\n path=\"chat\"\n element={gated(\n BOTMANOR_PERMISSIONS.AGENT_EXECUTE,\n t('botlit.chat.title', 'AI Chat'),\n 'agents',\n back,\n <ChatPage />\n )}\n />\n <Route\n path=\"chat/:agentId\"\n element={gated(\n BOTMANOR_PERMISSIONS.AGENT_EXECUTE,\n t('botlit.chat.title', 'AI Chat'),\n 'agents',\n back,\n <ChatPage />\n )}\n />\n\n {/* Settings */}\n <Route path=\"settings\" element={<SettingsPage />} />\n\n {/* Workflow routes are owned by the shared app-shell WorkflowsRoot. */}\n <Route\n path=\"list\"\n element={<Navigate to={`${normalizedBasePath}/workflows/list`} replace />}\n />\n\n {/* Fallback */}\n <Route path=\"*\" element={<Navigate to=\"/\" replace />} />\n </Routes>\n </Suspense>\n </div>\n );\n};\n"],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { FC } from 'react';
2
+ import { BotmanorRootProps } from './types';
3
+ export declare const BotmanorRoot: FC<BotmanorRootProps>;
@@ -1,12 +1,11 @@
1
1
  import { RouteLoader as e } from "./components/RouteLoader.js";
2
2
  import { Suspense as t, lazy as n } from "react";
3
3
  import { jsx as r } from "react/jsx-runtime";
4
- //#region src/botlit/BotmanorRoot.tsx
4
+ // src/botlit/BotmanorRoot.tsx
5
5
  var i = n(() => import("./BotmanorRootInner.js").then((e) => ({ default: e.BotmanorRootInner }))), a = (n) => /* @__PURE__ */ r(t, {
6
6
  fallback: /* @__PURE__ */ r(e, {}),
7
7
  children: /* @__PURE__ */ r(i, { ...n })
8
8
  });
9
- //#endregion
10
9
  export { a as BotmanorRoot };
11
10
 
12
11
  //# sourceMappingURL=BotmanorRoot.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BotmanorRoot.js","names":[],"sources":["../../src/botlit/BotmanorRoot.tsx"],"sourcesContent":["/**\n * BotManor Root Component\n * @module botlit\n */\n\nimport type { FC } from 'react';\nimport { lazy, Suspense } from 'react';\nimport { RouteLoader } from './components/RouteLoader';\nimport type { BotmanorRootProps } from './types';\n\n/**\n * Lazy product screens keep the entry point small and show a loader while\n * loading. Workflow screens are mounted separately by the shell's shared\n * WorkflowsRoot. Chunk failures reach the host's recovery boundary.\n */\nconst BotmanorRootInner = lazy(() =>\n import('./BotmanorRootInner').then((module) => ({ default: module.BotmanorRootInner }))\n);\n\nexport const BotmanorRoot: FC<BotmanorRootProps> = (props) => (\n <Suspense fallback={<RouteLoader />}>\n <BotmanorRootInner {...props} />\n </Suspense>\n);\n"],"mappings":";;;;AAeA,IAAM,IAAoB,QACxB,OAAO,0BAAuB,MAAM,OAAY,EAAE,SAAS,EAAO,mBAAmB,EAAE,CACxF,EAEY,KAAuC,MAClD,kBAAC,GAAD;CAAU,UAAU,kBAAC,GAAD,EAAe,CAAA;WACjC,kBAAC,GAAD,EAAmB,GAAI,GAAS,CAAA;CACvB,CAAA"}
1
+ {"version":3,"file":"BotmanorRoot.js","names":["BotmanorRootInner","lazy","module","BotmanorRoot","Suspense","RouteLoader","props"],"sources":["../../src/botlit/BotmanorRoot.tsx"],"sourcesContent":["/**\n * BotManor Root Component\n * @module botlit\n */\n\nimport type { FC } from 'react';\nimport { lazy, Suspense } from 'react';\nimport { RouteLoader } from './components/RouteLoader';\nimport type { BotmanorRootProps } from './types';\n\n/**\n * Lazy product screens keep the entry point small and show a loader while\n * loading. Workflow screens are mounted separately by the shell's shared\n * WorkflowsRoot. Chunk failures reach the host's recovery boundary.\n */\nconst BotmanorRootInner = lazy(() =>\n import('./BotmanorRootInner').then((module) => ({ default: module.BotmanorRootInner }))\n);\n\nexport const BotmanorRoot: FC<BotmanorRootProps> = (props) => (\n <Suspense fallback={<RouteLoader />}>\n <BotmanorRootInner {...props} />\n </Suspense>\n);\n"],"mappings":";;;;AAeA,IAAMA,IAAoBC,QACxB,OAAO,yBAAsB,CAAC,MAAM,OAAY,EAAE,SAASC,EAAO,kBAAkB,EAAE,CACxF,GAEaC,KAAuC,MAClD,kBAACC,GAAD;CAAU,UAAU,kBAACC,GAAD,CAAc,CAAA;CAChC,UAAA,kBAACL,GAAD,EAAmB,GAAIM,EAAQ,CAAA;AACvB,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { FC } from 'react';
2
+ import { BotmanorRootProps } from './types';
3
+ export declare const BotmanorRootInner: FC<BotmanorRootProps>;
@@ -1,6 +1,6 @@
1
- import { RouteLoader as e } from "./components/RouteLoader.js";
2
- import { BotlitProvider as t } from "./providers/BotlitProvider.js";
3
- import { BotlitRoutes as n } from "./BotlitRoutes.js";
1
+ import { BotlitProvider as e } from "./providers/BotlitProvider.js";
2
+ import { BotlitRoutes as t } from "./BotlitRoutes.js";
3
+ import { RouteLoader as n } from "./components/RouteLoader.js";
4
4
  import { WorkspaceRequired as r } from "./components/WorkspaceRequired.js";
5
5
  import { useEffect as i, useState as a } from "react";
6
6
  import { jsx as o, jsxs as s } from "react/jsx-runtime";
@@ -9,9 +9,9 @@ import { ApolloProvider as l } from "@apollo/client/react";
9
9
  import { QueryClient as u, QueryClientProvider as d } from "@tanstack/react-query";
10
10
  import { ErrorBoundary as f } from "@burdenoff/fe-libs/shared/components";
11
11
  import { FeatureFlagProvider as p } from "@burdenoff/fe-libs/shared/feature-flags";
12
- //#region src/botlit/BotmanorRootInner.tsx
12
+ // src/botlit/BotmanorRootInner.tsx
13
13
  var m = 1e4, h = 2e3, g = new u({ defaultOptions: { queries: {
14
- staleTime: 300 * 1e3,
14
+ staleTime: 3e5,
15
15
  retry: 1
16
16
  } } }), _ = (u) => {
17
17
  let _ = c("workspace"), v = !!_, [y, b] = a(null), [x, S] = a(!1);
@@ -28,7 +28,7 @@ var m = 1e4, h = 2e3, g = new u({ defaultOptions: { queries: {
28
28
  }, [u.workspaceId]), !u.workspaceId) return x ? /* @__PURE__ */ o(r, {
29
29
  basePath: u.basePath,
30
30
  navigate: u.navigate
31
- }) : /* @__PURE__ */ o(e, { label: "Loading your workspace…" });
31
+ }) : /* @__PURE__ */ o(n, { label: "Loading your workspace…" });
32
32
  if (!v) return y ? /* @__PURE__ */ o("div", {
33
33
  className: "flex h-full min-h-[200px] w-full items-center justify-center p-6",
34
34
  children: /* @__PURE__ */ s("div", {
@@ -43,10 +43,10 @@ var m = 1e4, h = 2e3, g = new u({ defaultOptions: { queries: {
43
43
  children: "Reload Page"
44
44
  })]
45
45
  })
46
- }) : /* @__PURE__ */ o(e, {});
47
- let C = !!u.basePath, w = /* @__PURE__ */ o(t, {
46
+ }) : /* @__PURE__ */ o(n, {});
47
+ let C = !!u.basePath, w = /* @__PURE__ */ o(e, {
48
48
  ...u,
49
- children: /* @__PURE__ */ o(n, {})
49
+ children: /* @__PURE__ */ o(t, {})
50
50
  });
51
51
  return /* @__PURE__ */ o(f, {
52
52
  fallback: /* @__PURE__ */ o("div", {
@@ -67,7 +67,6 @@ var m = 1e4, h = 2e3, g = new u({ defaultOptions: { queries: {
67
67
  })
68
68
  });
69
69
  };
70
- //#endregion
71
70
  export { _ as BotmanorRootInner };
72
71
 
73
72
  //# sourceMappingURL=BotmanorRootInner.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BotmanorRootInner.js","names":[],"sources":["../../src/botlit/BotmanorRootInner.tsx"],"sourcesContent":["/**\n * BotManor Root — implementation\n * @module botlit\n *\n * Product pages live behind this lazy boundary. Workflow routes and SDK\n * lifecycle are owned by the app-shell WorkflowsRoot, shared with every host.\n */\n\nimport type { FC } from 'react';\nimport { useEffect, useState } from 'react';\nimport { QueryClient, QueryClientProvider } from '@tanstack/react-query';\nimport { ApolloProvider } from '@apollo/client/react';\nimport { ErrorBoundary } from '@burdenoff/fe-libs/shared/components';\nimport { BotlitProvider } from './providers/BotlitProvider';\nimport { FeatureFlagProvider } from '@burdenoff/fe-libs/shared/feature-flags';\nimport { BotlitRoutes } from './BotlitRoutes';\nimport { RouteLoader } from './components/RouteLoader';\nimport { WorkspaceRequired } from './components/WorkspaceRequired';\nimport type { BotmanorRootProps } from './types';\n\nimport { useGatewayClient } from '@burdenoff/fe-libs/shared/graphql';\n\n/** How long to wait for the shell's gateway clients before showing an error. */\nconst CLIENT_READY_TIMEOUT_MS = 10_000;\n\n/**\n * How long to keep showing the loading skeleton before concluding that the\n * shell really has no active workspace.\n *\n * The shell resolves org/workspace asynchronously and passes `workspaceId=\"\"`\n * until it lands, which is indistinguishable from \"this user has no\n * workspace\". Without this settle window the guided zero state would flash on\n * every cold load — a get-started screen appearing and vanishing reads as a\n * broken page, which is exactly what this component exists to avoid.\n */\nconst WORKSPACE_SETTLE_MS = 2_000;\n\n// Create a query client for this microfrontend\nconst queryClient = new QueryClient({\n defaultOptions: {\n queries: {\n staleTime: 5 * 60 * 1000,\n retry: 1,\n },\n },\n});\n\nexport const BotmanorRootInner: FC<BotmanorRootProps> = (props) => {\n // NOTE: Navigation is now handled by the shell's NavRegistration.tsx\n // The shell manages all product submenu items in a centralized way\n\n // Product operations use the shell's authenticated workspace gateway client.\n const workspaceClient = useGatewayClient('workspace');\n const clientReady = Boolean(workspaceClient);\n const [clientError, setClientError] = useState<string | null>(null);\n const [workspaceSettled, setWorkspaceSettled] = useState(false);\n\n // Timeout fallback: if gateway clients are never provided (test env, shell\n // misconfiguration, auth failure before hydration), show an error rather than\n // spinning indefinitely.\n useEffect(() => {\n if (clientReady) return;\n const timer = setTimeout(() => {\n setClientError(\n 'BotManor could not connect to the gateway. Please refresh the page or check your configuration.'\n );\n }, CLIENT_READY_TIMEOUT_MS);\n return () => clearTimeout(timer);\n }, [clientReady]);\n\n // Give the shell a bounded window to resolve the active workspace before the\n // guided zero state is allowed to render. Cancelled the moment a workspace\n // arrives — a workspace that is already present never starts the timer.\n useEffect(() => {\n if (props.workspaceId) return;\n const timer = setTimeout(() => setWorkspaceSettled(true), WORKSPACE_SETTLE_MS);\n return () => clearTimeout(timer);\n }, [props.workspaceId]);\n\n // Without a workspace every BotManor query is unscoped and every write is\n // rejected — guide the user instead of rendering empty lists. Until the\n // settle window elapses we cannot tell \"still resolving\" from \"none\", so we\n // keep the same skeleton the shell was already showing.\n if (!props.workspaceId) {\n if (!workspaceSettled) {\n return <RouteLoader label=\"Loading your workspace…\" />;\n }\n return <WorkspaceRequired basePath={props.basePath} navigate={props.navigate} />;\n }\n\n // Don't render until clients are ready (same pattern as microfe-bigconsole)\n if (!clientReady) {\n if (clientError) {\n return (\n <div className=\"flex h-full min-h-[200px] w-full items-center justify-center p-6\">\n <div className=\"text-center\">\n <p className=\"mb-4 text-sm text-text-secondary\">{clientError}</p>\n <button\n type=\"button\"\n onClick={() => window.location.reload()}\n className=\"rounded-md bg-action-primary-bg px-4 py-2 text-sm font-medium text-action-primary-text transition-colors hover:bg-action-primary-bg-hover\"\n >\n Reload Page\n </button>\n </div>\n </div>\n );\n }\n // Same skeleton as the lazy-chunk fallback, so the content region never\n // switches loading idioms between first paint and the page rendering.\n return <RouteLoader />;\n }\n\n const isIntegrated = !!props.basePath;\n\n const content = (\n <BotlitProvider {...props}>\n <BotlitRoutes />\n </BotlitProvider>\n );\n\n return (\n <ErrorBoundary\n fallback={\n <div className=\"p-6 text-center text-text-secondary\">\n Something went wrong loading BotManor. Please refresh the page.\n </div>\n }\n >\n <FeatureFlagProvider workspaceId={null} gateway=\"global\" defaultEnabled={true}>\n <QueryClientProvider client={queryClient}>\n {isIntegrated ? (\n content\n ) : (\n <ApolloProvider client={workspaceClient}>{content}</ApolloProvider>\n )}\n </QueryClientProvider>\n </FeatureFlagProvider>\n </ErrorBoundary>\n );\n};\n"],"mappings":";;;;;;;;;;;;AAuBA,IAAM,IAA0B,KAY1B,IAAsB,KAGtB,IAAc,IAAI,EAAY,EAClC,gBAAgB,EACd,SAAS;CACP,WAAW,MAAS;CACpB,OAAO;CACR,EACF,EACF,CAAC,EAEW,KAA4C,MAAU;CAKjE,IAAM,IAAkB,EAAiB,YAAY,EAC/C,IAAc,EAAQ,GACtB,CAAC,GAAa,KAAkB,EAAwB,KAAK,EAC7D,CAAC,GAAkB,KAAuB,EAAS,GAAM;AA4B/D,KAvBA,QAAgB;AACd,MAAI,EAAa;EACjB,IAAM,IAAQ,iBAAiB;AAC7B,KACE,kGACD;KACA,EAAwB;AAC3B,eAAa,aAAa,EAAM;IAC/B,CAAC,EAAY,CAAC,EAKjB,QAAgB;AACd,MAAI,EAAM,YAAa;EACvB,IAAM,IAAQ,iBAAiB,EAAoB,GAAK,EAAE,EAAoB;AAC9E,eAAa,aAAa,EAAM;IAC/B,CAAC,EAAM,YAAY,CAAC,EAMnB,CAAC,EAAM,YAIT,QAHK,IAGE,kBAAC,GAAD;EAAmB,UAAU,EAAM;EAAU,UAAU,EAAM;EAAY,CAAA,GAFvE,kBAAC,GAAD,EAAa,OAAM,2BAA4B,CAAA;AAM1D,KAAI,CAAC,EAmBH,QAlBI,IAEA,kBAAC,OAAD;EAAK,WAAU;YACb,kBAAC,OAAD;GAAK,WAAU;aAAf,CACE,kBAAC,KAAD;IAAG,WAAU;cAAoC;IAAgB,CAAA,EACjE,kBAAC,UAAD;IACE,MAAK;IACL,eAAe,OAAO,SAAS,QAAQ;IACvC,WAAU;cACX;IAEQ,CAAA,CACL;;EACF,CAAA,GAKH,kBAAC,GAAD,EAAe,CAAA;CAGxB,IAAM,IAAe,CAAC,CAAC,EAAM,UAEvB,IACJ,kBAAC,GAAD;EAAgB,GAAI;YAClB,kBAAC,GAAD,EAAgB,CAAA;EACD,CAAA;AAGnB,QACE,kBAAC,GAAD;EACE,UACE,kBAAC,OAAD;GAAK,WAAU;aAAsC;GAE/C,CAAA;YAGR,kBAAC,GAAD;GAAqB,aAAa;GAAM,SAAQ;GAAS,gBAAgB;aACvE,kBAAC,GAAD;IAAqB,QAAQ;cAC1B,IACC,IAEA,kBAAC,GAAD;KAAgB,QAAQ;eAAkB;KAAyB,CAAA;IAEjD,CAAA;GACF,CAAA;EACR,CAAA"}
1
+ {"version":3,"file":"BotmanorRootInner.js","names":["CLIENT_READY_TIMEOUT_MS","WORKSPACE_SETTLE_MS","queryClient","QueryClient","BotmanorRootInner","workspaceClient","useGatewayClient","clientReady","clientError","setClientError","useState","workspaceSettled","setWorkspaceSettled","useEffect","timer","props","WorkspaceRequired","RouteLoader","isIntegrated","content","BotlitProvider","BotlitRoutes","ErrorBoundary","FeatureFlagProvider","QueryClientProvider","ApolloProvider"],"sources":["../../src/botlit/BotmanorRootInner.tsx"],"sourcesContent":["/**\n * BotManor Root — implementation\n * @module botlit\n *\n * Product pages live behind this lazy boundary. Workflow routes and SDK\n * lifecycle are owned by the app-shell WorkflowsRoot, shared with every host.\n */\n\nimport type { FC } from 'react';\nimport { useEffect, useState } from 'react';\nimport { QueryClient, QueryClientProvider } from '@tanstack/react-query';\nimport { ApolloProvider } from '@apollo/client/react';\nimport { ErrorBoundary } from '@burdenoff/fe-libs/shared/components';\nimport { BotlitProvider } from './providers/BotlitProvider';\nimport { FeatureFlagProvider } from '@burdenoff/fe-libs/shared/feature-flags';\nimport { BotlitRoutes } from './BotlitRoutes';\nimport { RouteLoader } from './components/RouteLoader';\nimport { WorkspaceRequired } from './components/WorkspaceRequired';\nimport type { BotmanorRootProps } from './types';\n\nimport { useGatewayClient } from '@burdenoff/fe-libs/shared/graphql';\n\n/** How long to wait for the shell's gateway clients before showing an error. */\nconst CLIENT_READY_TIMEOUT_MS = 10_000;\n\n/**\n * How long to keep showing the loading skeleton before concluding that the\n * shell really has no active workspace.\n *\n * The shell resolves org/workspace asynchronously and passes `workspaceId=\"\"`\n * until it lands, which is indistinguishable from \"this user has no\n * workspace\". Without this settle window the guided zero state would flash on\n * every cold load — a get-started screen appearing and vanishing reads as a\n * broken page, which is exactly what this component exists to avoid.\n */\nconst WORKSPACE_SETTLE_MS = 2_000;\n\n// Create a query client for this microfrontend\nconst queryClient = new QueryClient({\n defaultOptions: {\n queries: {\n staleTime: 5 * 60 * 1000,\n retry: 1,\n },\n },\n});\n\nexport const BotmanorRootInner: FC<BotmanorRootProps> = (props) => {\n // NOTE: Navigation is now handled by the shell's NavRegistration.tsx\n // The shell manages all product submenu items in a centralized way\n\n // Product operations use the shell's authenticated workspace gateway client.\n const workspaceClient = useGatewayClient('workspace');\n const clientReady = Boolean(workspaceClient);\n const [clientError, setClientError] = useState<string | null>(null);\n const [workspaceSettled, setWorkspaceSettled] = useState(false);\n\n // Timeout fallback: if gateway clients are never provided (test env, shell\n // misconfiguration, auth failure before hydration), show an error rather than\n // spinning indefinitely.\n useEffect(() => {\n if (clientReady) return;\n const timer = setTimeout(() => {\n setClientError(\n 'BotManor could not connect to the gateway. Please refresh the page or check your configuration.'\n );\n }, CLIENT_READY_TIMEOUT_MS);\n return () => clearTimeout(timer);\n }, [clientReady]);\n\n // Give the shell a bounded window to resolve the active workspace before the\n // guided zero state is allowed to render. Cancelled the moment a workspace\n // arrives — a workspace that is already present never starts the timer.\n useEffect(() => {\n if (props.workspaceId) return;\n const timer = setTimeout(() => setWorkspaceSettled(true), WORKSPACE_SETTLE_MS);\n return () => clearTimeout(timer);\n }, [props.workspaceId]);\n\n // Without a workspace every BotManor query is unscoped and every write is\n // rejected — guide the user instead of rendering empty lists. Until the\n // settle window elapses we cannot tell \"still resolving\" from \"none\", so we\n // keep the same skeleton the shell was already showing.\n if (!props.workspaceId) {\n if (!workspaceSettled) {\n return <RouteLoader label=\"Loading your workspace…\" />;\n }\n return <WorkspaceRequired basePath={props.basePath} navigate={props.navigate} />;\n }\n\n // Don't render until clients are ready (same pattern as microfe-bigconsole)\n if (!clientReady) {\n if (clientError) {\n return (\n <div className=\"flex h-full min-h-[200px] w-full items-center justify-center p-6\">\n <div className=\"text-center\">\n <p className=\"mb-4 text-sm text-text-secondary\">{clientError}</p>\n <button\n type=\"button\"\n onClick={() => window.location.reload()}\n className=\"rounded-md bg-action-primary-bg px-4 py-2 text-sm font-medium text-action-primary-text transition-colors hover:bg-action-primary-bg-hover\"\n >\n Reload Page\n </button>\n </div>\n </div>\n );\n }\n // Same skeleton as the lazy-chunk fallback, so the content region never\n // switches loading idioms between first paint and the page rendering.\n return <RouteLoader />;\n }\n\n const isIntegrated = !!props.basePath;\n\n const content = (\n <BotlitProvider {...props}>\n <BotlitRoutes />\n </BotlitProvider>\n );\n\n return (\n <ErrorBoundary\n fallback={\n <div className=\"p-6 text-center text-text-secondary\">\n Something went wrong loading BotManor. Please refresh the page.\n </div>\n }\n >\n <FeatureFlagProvider workspaceId={null} gateway=\"global\" defaultEnabled={true}>\n <QueryClientProvider client={queryClient}>\n {isIntegrated ? (\n content\n ) : (\n <ApolloProvider client={workspaceClient}>{content}</ApolloProvider>\n )}\n </QueryClientProvider>\n </FeatureFlagProvider>\n </ErrorBoundary>\n );\n};\n"],"mappings":";;;;;;;;;;;;AAuBA,IAAMA,IAA0B,KAY1BC,IAAsB,KAGtBC,IAAc,IAAIC,EAAY,EAClC,gBAAgB,EACd,SAAS;CACP,WAAW;CACX,OAAO;AACT,EACF,EACF,CAAC,GAEYC,KAA4C,MAAU;CAKjE,IAAMC,IAAkBC,EAAiB,WAAW,GAC9CC,IAAc,EAAQF,GACtB,CAACG,GAAaC,KAAkBC,EAAwB,IAAI,GAC5D,CAACC,GAAkBC,KAAuBF,EAAS,EAAK;CA4B9D,IAvBAG,QAAgB;EACd,IAAIN,GAAa;EACjB,IAAMO,IAAQ,iBAAiB;GAC7B,EACE,iGACF;EACF,GAAGd,CAAuB;EAC1B,aAAa,aAAac,CAAK;CACjC,GAAG,CAACP,CAAW,CAAC,GAKhBM,QAAgB;EACd,IAAIE,EAAM,aAAa;EACvB,IAAMD,IAAQ,iBAAiBF,EAAoB,EAAI,GAAGX,CAAmB;EAC7E,aAAa,aAAaa,CAAK;CACjC,GAAG,CAACC,EAAM,WAAW,CAAC,GAMlB,CAACA,EAAM,aAIT,OAHKJ,IAGE,kBAACK,GAAD;EAAmB,UAAUD,EAAM;EAAU,UAAUA,EAAM;CAAW,CAAA,IAFtE,kBAACE,GAAD,EAAa,OAAM,0BAA2B,CAAA;CAMzD,IAAI,CAACV,GAmBH,OAlBIC,IAEA,kBAAC,OAAD;EAAK,WAAU;EACb,UAAA,kBAAC,OAAD;GAAK,WAAU;GAAf,UAAA,CACE,kBAAC,KAAD;IAAG,WAAU;IAAoC,UAAAA;GAAe,CAAA,GAChE,kBAAC,UAAD;IACE,MAAK;IACL,eAAe,OAAO,SAAS,OAAO;IACtC,WAAU;IACX,UAAA;GAEO,CAAA,CACL;;CACF,CAAA,IAKF,kBAACS,GAAD,CAAc,CAAA;CAGvB,IAAMC,IAAe,CAAC,CAACH,EAAM,UAEvBI,IACJ,kBAACC,GAAD;EAAgB,GAAIL;EAClB,UAAA,kBAACM,GAAD,CAAe,CAAA;CACD,CAAA;CAGlB,OACE,kBAACC,GAAD;EACE,UACE,kBAAC,OAAD;GAAK,WAAU;GAAsC,UAAA;EAEhD,CAAA;EAGP,UAAA,kBAACC,GAAD;GAAqB,aAAa;GAAM,SAAQ;GAAS,gBAAgB;GACvE,UAAA,kBAACC,GAAD;IAAqB,QAAQtB;IAC1B,UAAAgB,IACCC,IAEA,kBAACM,GAAD;KAAgB,QAAQpB;KAAkB,UAAAc;IAAwB,CAAA;GAEjD,CAAA;EACF,CAAA;CACR,CAAA;AAEnB"}
@@ -0,0 +1,20 @@
1
+ import { FC } from 'react';
2
+ import { AgentApprovalStatus } from '../hooks/useAgentApprovals';
3
+ export declare function approvalStatusVariant(status: AgentApprovalStatus): 'warning' | 'success' | 'destructive' | 'outline';
4
+ type DecisionKind = 'request' | 'approve' | 'reject';
5
+ interface DecisionDialogProps {
6
+ kind: DecisionKind | null;
7
+ loading: boolean;
8
+ onClose: () => void;
9
+ onConfirm: (text: string) => Promise<void>;
10
+ }
11
+ /** Note / reason dialog shared by the detail panel and the approvals page. */
12
+ export declare const ApprovalDecisionDialog: FC<DecisionDialogProps>;
13
+ interface AgentApprovalPanelProps {
14
+ agentId: string;
15
+ agentStatus: string;
16
+ /** Called after a decision that changes the agent so the page can refetch it. */
17
+ onChanged?: () => void;
18
+ }
19
+ export declare const AgentApprovalPanel: FC<AgentApprovalPanelProps>;
20
+ export {};