@jazzmind/busibox-app 3.0.18 → 3.0.19

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 (464) hide show
  1. package/dist/components/UserDropdown.d.ts +0 -16
  2. package/dist/components/UserDropdown.d.ts.map +1 -1
  3. package/dist/components/UserDropdown.js +2 -2
  4. package/dist/components/UserDropdown.js.map +1 -1
  5. package/dist/components/auth/PasskeyRequiredWrapper.d.ts +0 -8
  6. package/dist/components/auth/PasskeyRequiredWrapper.d.ts.map +1 -1
  7. package/dist/components/auth/PasskeyRequiredWrapper.js +2 -2
  8. package/dist/components/auth/PasskeyRequiredWrapper.js.map +1 -1
  9. package/dist/components/auth/ProtectedRoute.d.ts +0 -9
  10. package/dist/components/auth/ProtectedRoute.d.ts.map +1 -1
  11. package/dist/components/auth/ProtectedRoute.js +2 -2
  12. package/dist/components/auth/ProtectedRoute.js.map +1 -1
  13. package/dist/components/auth/SessionProvider.d.ts +0 -40
  14. package/dist/components/auth/SessionProvider.d.ts.map +1 -1
  15. package/dist/components/auth/SessionProvider.js +2 -2
  16. package/dist/components/auth/SessionProvider.js.map +1 -1
  17. package/dist/components/chat/AgentBadge.d.ts +0 -5
  18. package/dist/components/chat/AgentBadge.d.ts.map +1 -1
  19. package/dist/components/chat/AgentBadge.js +2 -2
  20. package/dist/components/chat/AgentBadge.js.map +1 -1
  21. package/dist/components/chat/AgentSelectionPanel.d.ts +0 -6
  22. package/dist/components/chat/AgentSelectionPanel.d.ts.map +1 -1
  23. package/dist/components/chat/AgentSelectionPanel.js +2 -2
  24. package/dist/components/chat/AgentSelectionPanel.js.map +1 -1
  25. package/dist/components/chat/AgentSelector.d.ts +0 -6
  26. package/dist/components/chat/AgentSelector.d.ts.map +1 -1
  27. package/dist/components/chat/AgentSelector.js +2 -2
  28. package/dist/components/chat/AgentSelector.js.map +1 -1
  29. package/dist/components/chat/AgentToolSelector.d.ts +0 -7
  30. package/dist/components/chat/AgentToolSelector.d.ts.map +1 -1
  31. package/dist/components/chat/AgentToolSelector.js +2 -2
  32. package/dist/components/chat/AgentToolSelector.js.map +1 -1
  33. package/dist/components/chat/AttachmentPreview.d.ts.map +1 -1
  34. package/dist/components/chat/AttachmentPreview.js +0 -5
  35. package/dist/components/chat/AttachmentPreview.js.map +1 -1
  36. package/dist/components/chat/AttachmentUploader.d.ts +0 -5
  37. package/dist/components/chat/AttachmentUploader.d.ts.map +1 -1
  38. package/dist/components/chat/AttachmentUploader.js +2 -2
  39. package/dist/components/chat/AttachmentUploader.js.map +1 -1
  40. package/dist/components/chat/ChatContainer.d.ts +0 -6
  41. package/dist/components/chat/ChatContainer.d.ts.map +1 -1
  42. package/dist/components/chat/ChatContainer.js +2 -2
  43. package/dist/components/chat/ChatContainer.js.map +1 -1
  44. package/dist/components/chat/ConversationSidebar.d.ts +0 -5
  45. package/dist/components/chat/ConversationSidebar.d.ts.map +1 -1
  46. package/dist/components/chat/ConversationSidebar.js +2 -2
  47. package/dist/components/chat/ConversationSidebar.js.map +1 -1
  48. package/dist/components/chat/DeleteConversationModal.d.ts +0 -3
  49. package/dist/components/chat/DeleteConversationModal.d.ts.map +1 -1
  50. package/dist/components/chat/DeleteConversationModal.js +2 -2
  51. package/dist/components/chat/DeleteConversationModal.js.map +1 -1
  52. package/dist/components/chat/FullChatInterface.d.ts +0 -23
  53. package/dist/components/chat/FullChatInterface.d.ts.map +1 -1
  54. package/dist/components/chat/FullChatInterface.js +2 -2
  55. package/dist/components/chat/FullChatInterface.js.map +1 -1
  56. package/dist/components/chat/InsightEditModal.d.ts +0 -5
  57. package/dist/components/chat/InsightEditModal.d.ts.map +1 -1
  58. package/dist/components/chat/InsightEditModal.js +2 -2
  59. package/dist/components/chat/InsightEditModal.js.map +1 -1
  60. package/dist/components/chat/LibrarySelector.d.ts +0 -6
  61. package/dist/components/chat/LibrarySelector.d.ts.map +1 -1
  62. package/dist/components/chat/LibrarySelector.js +2 -2
  63. package/dist/components/chat/LibrarySelector.js.map +1 -1
  64. package/dist/components/chat/MessageInput.d.ts +0 -5
  65. package/dist/components/chat/MessageInput.d.ts.map +1 -1
  66. package/dist/components/chat/MessageInput.js +2 -2
  67. package/dist/components/chat/MessageInput.js.map +1 -1
  68. package/dist/components/chat/MessageList.d.ts +0 -5
  69. package/dist/components/chat/MessageList.d.ts.map +1 -1
  70. package/dist/components/chat/MessageList.js +2 -2
  71. package/dist/components/chat/MessageList.js.map +1 -1
  72. package/dist/components/chat/RawContentToggle.d.ts.map +1 -1
  73. package/dist/components/chat/RawContentToggle.js +0 -6
  74. package/dist/components/chat/RawContentToggle.js.map +1 -1
  75. package/dist/components/chat/SearchToggles.d.ts +0 -5
  76. package/dist/components/chat/SearchToggles.d.ts.map +1 -1
  77. package/dist/components/chat/SearchToggles.js +2 -2
  78. package/dist/components/chat/SearchToggles.js.map +1 -1
  79. package/dist/components/chat/SimpleChatInterface.d.ts +0 -25
  80. package/dist/components/chat/SimpleChatInterface.d.ts.map +1 -1
  81. package/dist/components/chat/SimpleChatInterface.js +2 -2
  82. package/dist/components/chat/SimpleChatInterface.js.map +1 -1
  83. package/dist/components/chat/ThinkingSection.d.ts +0 -7
  84. package/dist/components/chat/ThinkingSection.d.ts.map +1 -1
  85. package/dist/components/chat/ThinkingSection.js +2 -2
  86. package/dist/components/chat/ThinkingSection.js.map +1 -1
  87. package/dist/components/chat/ThinkingToggle.d.ts +0 -6
  88. package/dist/components/chat/ThinkingToggle.d.ts.map +1 -1
  89. package/dist/components/chat/ThinkingToggle.js +2 -2
  90. package/dist/components/chat/ThinkingToggle.js.map +1 -1
  91. package/dist/components/chat/ToolSelector.d.ts +0 -6
  92. package/dist/components/chat/ToolSelector.d.ts.map +1 -1
  93. package/dist/components/chat/ToolSelector.js +2 -2
  94. package/dist/components/chat/ToolSelector.js.map +1 -1
  95. package/dist/components/shared/AppIcon.d.ts.map +1 -1
  96. package/dist/components/shared/AppIcon.js +2 -2
  97. package/dist/components/shared/AppIcon.js.map +1 -1
  98. package/dist/components/shared/Modal.d.ts.map +1 -1
  99. package/dist/components/shared/Modal.js +2 -2
  100. package/dist/components/shared/Modal.js.map +1 -1
  101. package/dist/components/workflow/WorkflowList.d.ts.map +1 -1
  102. package/dist/components/workflow/WorkflowList.js +2 -2
  103. package/dist/components/workflow/WorkflowList.js.map +1 -1
  104. package/dist/contexts/AuthContext.d.ts.map +1 -1
  105. package/dist/contexts/AuthContext.js +2 -2
  106. package/dist/contexts/AuthContext.js.map +1 -1
  107. package/dist/contexts/CustomizationContext.d.ts.map +1 -1
  108. package/dist/contexts/CustomizationContext.js +2 -2
  109. package/dist/contexts/CustomizationContext.js.map +1 -1
  110. package/dist/contexts/ThemeContext.d.ts.map +1 -1
  111. package/dist/contexts/ThemeContext.js +2 -2
  112. package/dist/contexts/ThemeContext.js.map +1 -1
  113. package/dist/layout/AdminHeader.d.ts +0 -5
  114. package/dist/layout/AdminHeader.d.ts.map +1 -1
  115. package/dist/layout/AdminHeader.js +2 -2
  116. package/dist/layout/AdminHeader.js.map +1 -1
  117. package/dist/layout/Footer.d.ts +0 -5
  118. package/dist/layout/Footer.d.ts.map +1 -1
  119. package/dist/layout/Footer.js +2 -2
  120. package/dist/layout/Footer.js.map +1 -1
  121. package/dist/layout/Header.d.ts.map +1 -1
  122. package/dist/layout/Header.js +2 -2
  123. package/dist/layout/Header.js.map +1 -1
  124. package/dist/layout/ThemeToggle.d.ts +0 -5
  125. package/dist/layout/ThemeToggle.d.ts.map +1 -1
  126. package/dist/layout/ThemeToggle.js +2 -2
  127. package/dist/layout/ThemeToggle.js.map +1 -1
  128. package/package.json +1 -1
  129. package/dist/lib/agent/agent-api-helpers.d.ts +0 -16
  130. package/dist/lib/agent/agent-api-helpers.d.ts.map +0 -1
  131. package/dist/lib/agent/agent-api-helpers.js +0 -50
  132. package/dist/lib/agent/agent-api-helpers.js.map +0 -1
  133. package/dist/lib/agent/api-helpers.d.ts +0 -16
  134. package/dist/lib/agent/api-helpers.d.ts.map +0 -1
  135. package/dist/lib/agent/api-helpers.js +0 -50
  136. package/dist/lib/agent/api-helpers.js.map +0 -1
  137. package/dist/lib/agent/chat-cleanup.d.ts +0 -34
  138. package/dist/lib/agent/chat-cleanup.d.ts.map +0 -1
  139. package/dist/lib/agent/chat-cleanup.js +0 -133
  140. package/dist/lib/agent/chat-cleanup.js.map +0 -1
  141. package/dist/lib/agent/client.d.ts +0 -55
  142. package/dist/lib/agent/client.d.ts.map +0 -1
  143. package/dist/lib/agent/client.js +0 -103
  144. package/dist/lib/agent/client.js.map +0 -1
  145. package/dist/lib/agent/openai.d.ts +0 -94
  146. package/dist/lib/agent/openai.d.ts.map +0 -1
  147. package/dist/lib/agent/openai.js +0 -290
  148. package/dist/lib/agent/openai.js.map +0 -1
  149. package/dist/lib/ai/dual-model-router.d.ts +0 -130
  150. package/dist/lib/ai/dual-model-router.d.ts.map +0 -1
  151. package/dist/lib/ai/dual-model-router.js +0 -413
  152. package/dist/lib/ai/dual-model-router.js.map +0 -1
  153. package/dist/lib/ai/openai.d.ts +0 -94
  154. package/dist/lib/ai/openai.d.ts.map +0 -1
  155. package/dist/lib/ai/openai.js +0 -290
  156. package/dist/lib/ai/openai.js.map +0 -1
  157. package/dist/lib/ai/tools.d.ts +0 -64
  158. package/dist/lib/ai/tools.d.ts.map +0 -1
  159. package/dist/lib/ai/tools.js +0 -159
  160. package/dist/lib/ai/tools.js.map +0 -1
  161. package/dist/lib/audit/client.d.ts +0 -138
  162. package/dist/lib/audit/client.d.ts.map +0 -1
  163. package/dist/lib/audit/client.js +0 -486
  164. package/dist/lib/audit/client.js.map +0 -1
  165. package/dist/lib/audit/index.d.ts +0 -6
  166. package/dist/lib/audit/index.d.ts.map +0 -1
  167. package/dist/lib/audit/index.js +0 -6
  168. package/dist/lib/audit/index.js.map +0 -1
  169. package/dist/lib/auth/auth-helper.d.ts +0 -167
  170. package/dist/lib/auth/auth-helper.d.ts.map +0 -1
  171. package/dist/lib/auth/auth-helper.js +0 -345
  172. package/dist/lib/auth/auth-helper.js.map +0 -1
  173. package/dist/lib/auth/auth-state-manager.d.ts +0 -201
  174. package/dist/lib/auth/auth-state-manager.d.ts.map +0 -1
  175. package/dist/lib/auth/auth-state-manager.js +0 -597
  176. package/dist/lib/auth/auth-state-manager.js.map +0 -1
  177. package/dist/lib/auth/client.d.ts +0 -276
  178. package/dist/lib/auth/client.d.ts.map +0 -1
  179. package/dist/lib/auth/client.js +0 -325
  180. package/dist/lib/auth/client.js.map +0 -1
  181. package/dist/lib/auth/index.d.ts +0 -10
  182. package/dist/lib/auth/index.d.ts.map +0 -1
  183. package/dist/lib/auth/index.js +0 -10
  184. package/dist/lib/auth/index.js.map +0 -1
  185. package/dist/lib/auth/sso-route-handler.d.ts +0 -114
  186. package/dist/lib/auth/sso-route-handler.d.ts.map +0 -1
  187. package/dist/lib/auth/sso-route-handler.js +0 -199
  188. package/dist/lib/auth/sso-route-handler.js.map +0 -1
  189. package/dist/lib/auth/sso.d.ts +0 -162
  190. package/dist/lib/auth/sso.d.ts.map +0 -1
  191. package/dist/lib/auth/sso.js +0 -282
  192. package/dist/lib/auth/sso.js.map +0 -1
  193. package/dist/lib/authz/email.d.ts +0 -65
  194. package/dist/lib/authz/email.d.ts.map +0 -1
  195. package/dist/lib/authz/email.js +0 -112
  196. package/dist/lib/authz/email.js.map +0 -1
  197. package/dist/lib/authz/permissions.d.ts +0 -109
  198. package/dist/lib/authz/permissions.d.ts.map +0 -1
  199. package/dist/lib/authz/permissions.js +0 -238
  200. package/dist/lib/authz/permissions.js.map +0 -1
  201. package/dist/lib/authz/service-audit.d.ts +0 -41
  202. package/dist/lib/authz/service-audit.d.ts.map +0 -1
  203. package/dist/lib/authz/service-audit.js +0 -60
  204. package/dist/lib/authz/service-audit.js.map +0 -1
  205. package/dist/lib/chat-server/agent-api-client.d.ts +0 -151
  206. package/dist/lib/chat-server/agent-api-client.d.ts.map +0 -1
  207. package/dist/lib/chat-server/agent-api-client.js +0 -162
  208. package/dist/lib/chat-server/agent-api-client.js.map +0 -1
  209. package/dist/lib/chat-server/attachments.d.ts +0 -118
  210. package/dist/lib/chat-server/attachments.d.ts.map +0 -1
  211. package/dist/lib/chat-server/attachments.js +0 -317
  212. package/dist/lib/chat-server/attachments.js.map +0 -1
  213. package/dist/lib/chat-server/cleanup.d.ts +0 -34
  214. package/dist/lib/chat-server/cleanup.d.ts.map +0 -1
  215. package/dist/lib/chat-server/cleanup.js +0 -133
  216. package/dist/lib/chat-server/cleanup.js.map +0 -1
  217. package/dist/lib/chat-server/conversations.d.ts +0 -159
  218. package/dist/lib/chat-server/conversations.d.ts.map +0 -1
  219. package/dist/lib/chat-server/conversations.js +0 -278
  220. package/dist/lib/chat-server/conversations.js.map +0 -1
  221. package/dist/lib/chat-server/insights.d.ts +0 -84
  222. package/dist/lib/chat-server/insights.d.ts.map +0 -1
  223. package/dist/lib/chat-server/insights.js +0 -193
  224. package/dist/lib/chat-server/insights.js.map +0 -1
  225. package/dist/lib/chat-server/messages.d.ts +0 -154
  226. package/dist/lib/chat-server/messages.d.ts.map +0 -1
  227. package/dist/lib/chat-server/messages.js +0 -282
  228. package/dist/lib/chat-server/messages.js.map +0 -1
  229. package/dist/lib/chat-server/middleware.d.ts +0 -119
  230. package/dist/lib/chat-server/middleware.d.ts.map +0 -1
  231. package/dist/lib/chat-server/middleware.js +0 -234
  232. package/dist/lib/chat-server/middleware.js.map +0 -1
  233. package/dist/lib/chat-server/models.d.ts +0 -60
  234. package/dist/lib/chat-server/models.d.ts.map +0 -1
  235. package/dist/lib/chat-server/models.js +0 -205
  236. package/dist/lib/chat-server/models.js.map +0 -1
  237. package/dist/lib/chat-server/search.d.ts +0 -89
  238. package/dist/lib/chat-server/search.d.ts.map +0 -1
  239. package/dist/lib/chat-server/search.js +0 -203
  240. package/dist/lib/chat-server/search.js.map +0 -1
  241. package/dist/lib/chat-server/sharing.d.ts +0 -70
  242. package/dist/lib/chat-server/sharing.d.ts.map +0 -1
  243. package/dist/lib/chat-server/sharing.js +0 -146
  244. package/dist/lib/chat-server/sharing.js.map +0 -1
  245. package/dist/lib/data/embeddings-app-client.d.ts +0 -37
  246. package/dist/lib/data/embeddings-app-client.d.ts.map +0 -1
  247. package/dist/lib/data/embeddings-app-client.js +0 -72
  248. package/dist/lib/data/embeddings-app-client.js.map +0 -1
  249. package/dist/lib/deploy/manifest-validator.d.ts +0 -25
  250. package/dist/lib/deploy/manifest-validator.d.ts.map +0 -1
  251. package/dist/lib/deploy/manifest-validator.js +0 -142
  252. package/dist/lib/deploy/manifest-validator.js.map +0 -1
  253. package/dist/lib/embeddings/data-client.d.ts +0 -37
  254. package/dist/lib/embeddings/data-client.d.ts.map +0 -1
  255. package/dist/lib/embeddings/data-client.js +0 -72
  256. package/dist/lib/embeddings/data-client.js.map +0 -1
  257. package/dist/lib/hooks/useMediaQuery.d.ts +0 -6
  258. package/dist/lib/hooks/useMediaQuery.d.ts.map +0 -1
  259. package/dist/lib/hooks/useMediaQuery.js +0 -18
  260. package/dist/lib/hooks/useMediaQuery.js.map +0 -1
  261. package/dist/lib/insights/client.d.ts +0 -131
  262. package/dist/lib/insights/client.d.ts.map +0 -1
  263. package/dist/lib/insights/client.js +0 -306
  264. package/dist/lib/insights/client.js.map +0 -1
  265. package/dist/lib/insights/index.d.ts +0 -5
  266. package/dist/lib/insights/index.d.ts.map +0 -1
  267. package/dist/lib/insights/index.js +0 -5
  268. package/dist/lib/insights/index.js.map +0 -1
  269. package/dist/lib/next/authz-client.d.ts +0 -120
  270. package/dist/lib/next/authz-client.d.ts.map +0 -1
  271. package/dist/lib/next/authz-client.js +0 -203
  272. package/dist/lib/next/authz-client.js.map +0 -1
  273. package/dist/lib/next/passkey.d.ts +0 -78
  274. package/dist/lib/next/passkey.d.ts.map +0 -1
  275. package/dist/lib/next/passkey.js +0 -380
  276. package/dist/lib/next/passkey.js.map +0 -1
  277. package/dist/lib/next/sso.d.ts +0 -51
  278. package/dist/lib/next/sso.d.ts.map +0 -1
  279. package/dist/lib/next/sso.js +0 -167
  280. package/dist/lib/next/sso.js.map +0 -1
  281. package/dist/lib/rbac/client.d.ts +0 -320
  282. package/dist/lib/rbac/client.d.ts.map +0 -1
  283. package/dist/lib/rbac/client.js +0 -532
  284. package/dist/lib/rbac/client.js.map +0 -1
  285. package/dist/lib/rbac/index.d.ts +0 -6
  286. package/dist/lib/rbac/index.d.ts.map +0 -1
  287. package/dist/lib/rbac/index.js +0 -6
  288. package/dist/lib/rbac/index.js.map +0 -1
  289. package/dist/lib/search/providers.d.ts +0 -105
  290. package/dist/lib/search/providers.d.ts.map +0 -1
  291. package/dist/lib/search/providers.js +0 -140
  292. package/dist/lib/search/providers.js.map +0 -1
  293. package/dist/lib/services/api-client.d.ts +0 -46
  294. package/dist/lib/services/api-client.d.ts.map +0 -1
  295. package/dist/lib/services/api-client.js +0 -80
  296. package/dist/lib/services/api-client.js.map +0 -1
  297. package/dist/lib/services/app-library.d.ts +0 -36
  298. package/dist/lib/services/app-library.d.ts.map +0 -1
  299. package/dist/lib/services/app-library.js +0 -123
  300. package/dist/lib/services/app-library.js.map +0 -1
  301. package/dist/lib/services/app-utils.d.ts +0 -22
  302. package/dist/lib/services/app-utils.d.ts.map +0 -1
  303. package/dist/lib/services/app-utils.js +0 -36
  304. package/dist/lib/services/app-utils.js.map +0 -1
  305. package/dist/lib/services/audit.d.ts +0 -41
  306. package/dist/lib/services/audit.d.ts.map +0 -1
  307. package/dist/lib/services/audit.js +0 -60
  308. package/dist/lib/services/audit.js.map +0 -1
  309. package/dist/lib/services/database-cloner.d.ts +0 -28
  310. package/dist/lib/services/database-cloner.d.ts.map +0 -1
  311. package/dist/lib/services/database-cloner.js +0 -197
  312. package/dist/lib/services/database-cloner.js.map +0 -1
  313. package/dist/lib/services/default-apps.d.ts +0 -31
  314. package/dist/lib/services/default-apps.d.ts.map +0 -1
  315. package/dist/lib/services/default-apps.js +0 -121
  316. package/dist/lib/services/default-apps.js.map +0 -1
  317. package/dist/lib/services/deploy-api-client.d.ts +0 -184
  318. package/dist/lib/services/deploy-api-client.d.ts.map +0 -1
  319. package/dist/lib/services/deploy-api-client.js +0 -208
  320. package/dist/lib/services/deploy-api-client.js.map +0 -1
  321. package/dist/lib/services/deployment-service-client.d.ts +0 -122
  322. package/dist/lib/services/deployment-service-client.d.ts.map +0 -1
  323. package/dist/lib/services/deployment-service-client.js +0 -245
  324. package/dist/lib/services/deployment-service-client.js.map +0 -1
  325. package/dist/lib/services/docs.d.ts +0 -80
  326. package/dist/lib/services/docs.d.ts.map +0 -1
  327. package/dist/lib/services/docs.js +0 -160
  328. package/dist/lib/services/docs.js.map +0 -1
  329. package/dist/lib/services/email-validation.d.ts +0 -33
  330. package/dist/lib/services/email-validation.d.ts.map +0 -1
  331. package/dist/lib/services/email-validation.js +0 -70
  332. package/dist/lib/services/email-validation.js.map +0 -1
  333. package/dist/lib/services/email.d.ts +0 -65
  334. package/dist/lib/services/email.d.ts.map +0 -1
  335. package/dist/lib/services/email.js +0 -112
  336. package/dist/lib/services/email.js.map +0 -1
  337. package/dist/lib/services/github-manifest-fetcher.d.ts +0 -74
  338. package/dist/lib/services/github-manifest-fetcher.d.ts.map +0 -1
  339. package/dist/lib/services/github-manifest-fetcher.js +0 -168
  340. package/dist/lib/services/github-manifest-fetcher.js.map +0 -1
  341. package/dist/lib/services/libraries.d.ts +0 -124
  342. package/dist/lib/services/libraries.d.ts.map +0 -1
  343. package/dist/lib/services/libraries.js +0 -507
  344. package/dist/lib/services/libraries.js.map +0 -1
  345. package/dist/lib/services/litellm.d.ts +0 -33
  346. package/dist/lib/services/litellm.d.ts.map +0 -1
  347. package/dist/lib/services/litellm.js +0 -222
  348. package/dist/lib/services/litellm.js.map +0 -1
  349. package/dist/lib/services/manifest-schema.d.ts +0 -66
  350. package/dist/lib/services/manifest-schema.d.ts.map +0 -1
  351. package/dist/lib/services/manifest-schema.js +0 -86
  352. package/dist/lib/services/manifest-schema.js.map +0 -1
  353. package/dist/lib/services/manifest-validator.d.ts +0 -25
  354. package/dist/lib/services/manifest-validator.d.ts.map +0 -1
  355. package/dist/lib/services/manifest-validator.js +0 -142
  356. package/dist/lib/services/manifest-validator.js.map +0 -1
  357. package/dist/lib/services/manifest.d.ts +0 -45
  358. package/dist/lib/services/manifest.d.ts.map +0 -1
  359. package/dist/lib/services/manifest.js +0 -137
  360. package/dist/lib/services/manifest.js.map +0 -1
  361. package/dist/lib/services/permissions.d.ts +0 -109
  362. package/dist/lib/services/permissions.d.ts.map +0 -1
  363. package/dist/lib/services/permissions.js +0 -238
  364. package/dist/lib/services/permissions.js.map +0 -1
  365. package/dist/lib/services/service-client.d.ts +0 -99
  366. package/dist/lib/services/service-client.d.ts.map +0 -1
  367. package/dist/lib/services/service-client.js +0 -146
  368. package/dist/lib/services/service-client.js.map +0 -1
  369. package/dist/lib/services/tags.d.ts +0 -37
  370. package/dist/lib/services/tags.d.ts.map +0 -1
  371. package/dist/lib/services/tags.js +0 -189
  372. package/dist/lib/services/tags.js.map +0 -1
  373. package/dist/lib/services/url-validation.d.ts +0 -22
  374. package/dist/lib/services/url-validation.d.ts.map +0 -1
  375. package/dist/lib/services/url-validation.js +0 -86
  376. package/dist/lib/services/url-validation.js.map +0 -1
  377. package/dist/lib/services/user-management.d.ts +0 -81
  378. package/dist/lib/services/user-management.d.ts.map +0 -1
  379. package/dist/lib/services/user-management.js +0 -154
  380. package/dist/lib/services/user-management.js.map +0 -1
  381. package/dist/lib/storage/index.d.ts +0 -11
  382. package/dist/lib/storage/index.d.ts.map +0 -1
  383. package/dist/lib/storage/index.js +0 -12
  384. package/dist/lib/storage/index.js.map +0 -1
  385. package/dist/lib/storage/types.d.ts +0 -61
  386. package/dist/lib/storage/types.d.ts.map +0 -1
  387. package/dist/lib/storage/types.js +0 -8
  388. package/dist/lib/storage/types.js.map +0 -1
  389. package/dist/lib/stores/app-config-store.d.ts +0 -90
  390. package/dist/lib/stores/app-config-store.d.ts.map +0 -1
  391. package/dist/lib/stores/app-config-store.js +0 -491
  392. package/dist/lib/stores/app-config-store.js.map +0 -1
  393. package/dist/lib/stores/bridge-config-store.d.ts +0 -44
  394. package/dist/lib/stores/bridge-config-store.d.ts.map +0 -1
  395. package/dist/lib/stores/bridge-config-store.js +0 -207
  396. package/dist/lib/stores/bridge-config-store.js.map +0 -1
  397. package/dist/lib/stores/chat-config-store.d.ts +0 -28
  398. package/dist/lib/stores/chat-config-store.d.ts.map +0 -1
  399. package/dist/lib/stores/chat-config-store.js +0 -152
  400. package/dist/lib/stores/chat-config-store.js.map +0 -1
  401. package/dist/lib/stores/data-settings-store.d.ts +0 -44
  402. package/dist/lib/stores/data-settings-store.d.ts.map +0 -1
  403. package/dist/lib/stores/data-settings-store.js +0 -202
  404. package/dist/lib/stores/data-settings-store.js.map +0 -1
  405. package/dist/lib/stores/email-config-store.d.ts +0 -45
  406. package/dist/lib/stores/email-config-store.d.ts.map +0 -1
  407. package/dist/lib/stores/email-config-store.js +0 -185
  408. package/dist/lib/stores/email-config-store.js.map +0 -1
  409. package/dist/lib/stores/portal-config-store.d.ts +0 -38
  410. package/dist/lib/stores/portal-config-store.d.ts.map +0 -1
  411. package/dist/lib/stores/portal-config-store.js +0 -238
  412. package/dist/lib/stores/portal-config-store.js.map +0 -1
  413. package/dist/lib/stores/video-store.d.ts +0 -91
  414. package/dist/lib/stores/video-store.d.ts.map +0 -1
  415. package/dist/lib/stores/video-store.js +0 -451
  416. package/dist/lib/stores/video-store.js.map +0 -1
  417. package/dist/lib/videos/access-control.d.ts +0 -35
  418. package/dist/lib/videos/access-control.d.ts.map +0 -1
  419. package/dist/lib/videos/access-control.js +0 -63
  420. package/dist/lib/videos/access-control.js.map +0 -1
  421. package/dist/lib/videos/agent-api-client.d.ts +0 -46
  422. package/dist/lib/videos/agent-api-client.d.ts.map +0 -1
  423. package/dist/lib/videos/agent-api-client.js +0 -75
  424. package/dist/lib/videos/agent-api-client.js.map +0 -1
  425. package/dist/lib/videos/creation.d.ts +0 -24
  426. package/dist/lib/videos/creation.d.ts.map +0 -1
  427. package/dist/lib/videos/creation.js +0 -112
  428. package/dist/lib/videos/creation.js.map +0 -1
  429. package/dist/lib/videos/expiration.d.ts +0 -13
  430. package/dist/lib/videos/expiration.d.ts.map +0 -1
  431. package/dist/lib/videos/expiration.js +0 -95
  432. package/dist/lib/videos/expiration.js.map +0 -1
  433. package/dist/lib/videos/image-resize.d.ts +0 -42
  434. package/dist/lib/videos/image-resize.d.ts.map +0 -1
  435. package/dist/lib/videos/image-resize.js +0 -106
  436. package/dist/lib/videos/image-resize.js.map +0 -1
  437. package/dist/lib/videos/processing.d.ts +0 -35
  438. package/dist/lib/videos/processing.d.ts.map +0 -1
  439. package/dist/lib/videos/processing.js +0 -154
  440. package/dist/lib/videos/processing.js.map +0 -1
  441. package/dist/lib/videos/status.d.ts +0 -2
  442. package/dist/lib/videos/status.d.ts.map +0 -1
  443. package/dist/lib/videos/status.js +0 -141
  444. package/dist/lib/videos/status.js.map +0 -1
  445. package/dist/lib/videos/upload.d.ts +0 -41
  446. package/dist/lib/videos/upload.d.ts.map +0 -1
  447. package/dist/lib/videos/upload.js +0 -118
  448. package/dist/lib/videos/upload.js.map +0 -1
  449. package/dist/lib/videos/url-normalization.d.ts +0 -29
  450. package/dist/lib/videos/url-normalization.d.ts.map +0 -1
  451. package/dist/lib/videos/url-normalization.js +0 -61
  452. package/dist/lib/videos/url-normalization.js.map +0 -1
  453. package/dist/sso/index.d.ts +0 -3
  454. package/dist/sso/index.d.ts.map +0 -1
  455. package/dist/sso/index.js +0 -3
  456. package/dist/sso/index.js.map +0 -1
  457. package/dist/sso/token.d.ts +0 -17
  458. package/dist/sso/token.d.ts.map +0 -1
  459. package/dist/sso/token.js +0 -57
  460. package/dist/sso/token.js.map +0 -1
  461. package/dist/types/sso.d.ts +0 -37
  462. package/dist/types/sso.d.ts.map +0 -1
  463. package/dist/types/sso.js +0 -2
  464. package/dist/types/sso.js.map +0 -1
@@ -1,167 +0,0 @@
1
- /**
2
- * SSO Token Generation (Zero Trust)
3
- *
4
- * Uses authz service OAuth2 token exchange (RFC 8693) to generate app-scoped tokens.
5
- *
6
- * Flow:
7
- * 1. User requests access to an app (e.g., busibox-agents)
8
- * 2. busibox-portal exchanges user's session JWT with authz for an app-scoped token
9
- * 3. authz verifies user has access to the app via RBAC bindings
10
- * 4. authz issues RS256 token with app_id claim and user's roles
11
- * 5. External app validates token via authz JWKS: GET /.well-known/jwks.json
12
- *
13
- * Benefits:
14
- * - Standardized OAuth2 flow (RFC 8693)
15
- * - Asymmetric signing (RS256) with JWKS
16
- * - Service-scoped tokens (audience enforcement)
17
- * - App access controlled via authz RBAC bindings
18
- * - Centralized audit logging
19
- * - No client credentials needed - JWT proves identity
20
- */
21
- import { logOAuthTokenGenerated } from '../services/audit';
22
- import { exchangeTokenZeroTrust } from '@jazzmind/busibox-app';
23
- import { getAuthzBaseUrl } from './authz-client';
24
- import { getAppByIdFromStore, getAppConfigStoreContextForUser, listAppsFromStore, resolveStableSsoAudience } from '../stores/app-config-store';
25
- /**
26
- * Get audit client options for server-side audit logging.
27
- */
28
- function getAuditOptions() {
29
- return {
30
- authzUrl: getAuthzBaseUrl(),
31
- };
32
- }
33
- function normalizeIdentifier(value) {
34
- return value.trim().toLowerCase();
35
- }
36
- function normalizePath(value) {
37
- const trimmed = value.trim();
38
- return trimmed.startsWith('/') ? trimmed.toLowerCase() : `/${trimmed.toLowerCase()}`;
39
- }
40
- function isPortalInternalBuiltInRoute(_url) {
41
- // In the monorepo, all built-in apps (chat, documents, admin, etc.) run as
42
- // separate Next.js apps with their own basePath. Nothing is portal-internal
43
- // anymore — all apps need SSO token exchange.
44
- return false;
45
- }
46
- // ============================================================================
47
- // Token Generation
48
- // ============================================================================
49
- /**
50
- * Generate an app-scoped access token for a user to access an external app.
51
- *
52
- * Zero Trust Flow:
53
- * 1. Verify app exists and is active in busibox-portal DB
54
- * 2. Exchange user's session JWT for an app-scoped token via authz
55
- * 3. Authz verifies user has app access via RBAC bindings
56
- * 4. Authz issues RS256 token with app_id claim
57
- *
58
- * The external app validates this token via authz JWKS endpoint:
59
- * GET {authz_url}/.well-known/jwks.json
60
- *
61
- * @param userInfo - User info including id, email, roles, and sessionJwt
62
- * @param appIdentifier - App identifier (UUID, stable audience, path, or name)
63
- * @returns JWT token string and expiration date
64
- */
65
- export async function generateSSOToken(userInfo, appIdentifier) {
66
- // Verify app exists and is active
67
- const context = await getAppConfigStoreContextForUser(userInfo.id, userInfo.sessionJwt);
68
- const requestedIdentifier = appIdentifier.trim();
69
- let app = await getAppByIdFromStore(context.accessToken, requestedIdentifier);
70
- if (!app) {
71
- const allApps = await listAppsFromStore(context.accessToken);
72
- const normalized = normalizeIdentifier(requestedIdentifier);
73
- const pathLike = normalizePath(requestedIdentifier);
74
- app =
75
- allApps.find((candidate) => candidate.ssoAudience?.toLowerCase() === normalized) ||
76
- allApps.find((candidate) => candidate.name.toLowerCase() === normalized) ||
77
- allApps.find((candidate) => candidate.url?.toLowerCase() === pathLike) ||
78
- allApps.find((candidate) => candidate.deployedPath?.toLowerCase() === pathLike) ||
79
- null;
80
- }
81
- if (!app) {
82
- throw new Error(`App not found: ${requestedIdentifier}`);
83
- }
84
- if (!app.isActive) {
85
- throw new Error('App is not active');
86
- }
87
- // In the monorepo, all apps (BUILT_IN, LIBRARY, EXTERNAL) are separate
88
- // Next.js apps and need SSO token exchange.
89
- const allowSso = app.type === 'EXTERNAL' ||
90
- app.type === 'LIBRARY' ||
91
- app.type === 'BUILT_IN';
92
- if (!allowSso) {
93
- throw new Error('App does not support SSO authentication');
94
- }
95
- console.log('[SSO] Requesting app-scoped token from authz:', {
96
- userId: userInfo.id,
97
- requestedIdentifier,
98
- appId: app.id,
99
- appName: app.name,
100
- ssoAudience: app.ssoAudience,
101
- });
102
- const audience = resolveStableSsoAudience(app);
103
- // Exchange session JWT for app-scoped token via authz
104
- // Authz will verify user has access to this app via RBAC bindings
105
- // and issue RS256 token with app_id claim and user's roles
106
- try {
107
- const result = await exchangeTokenZeroTrust({
108
- sessionJwt: userInfo.sessionJwt,
109
- audience,
110
- resourceId: app.id, // Canonical app UUID for RBAC check
111
- purpose: 'sso-app-access',
112
- }, {
113
- authzBaseUrl: getAuthzBaseUrl(),
114
- verbose: process.env.VERBOSE_AUTHZ_LOGGING === 'true',
115
- });
116
- const expiresAt = new Date(result.expiresAt);
117
- console.log('[SSO] App-scoped token issued by authz:', {
118
- userId: userInfo.id,
119
- requestedIdentifier,
120
- appId: app.id,
121
- appName: app.name,
122
- audience,
123
- expiresIn: result.expiresIn,
124
- });
125
- // Log token generation (audit failure is non-fatal)
126
- // Note: authz already logs the token issuance in its audit log
127
- try {
128
- const auditOptions = getAuditOptions();
129
- await logOAuthTokenGenerated(userInfo.id, app.id, auditOptions);
130
- }
131
- catch (auditError) {
132
- console.error('[SSO] Audit logging failed (non-fatal):', auditError);
133
- }
134
- // For deployed apps, use deployedPath (e.g., /myapp)
135
- // For external web apps, use the URL directly
136
- // local-dev:// URLs should use deployedPath once deployed
137
- let appUrl = app.url;
138
- if (app.deployedPath && app.lastDeploymentStatus === 'completed') {
139
- appUrl = app.deployedPath;
140
- }
141
- else if (app.url?.startsWith('local-dev://')) {
142
- // local-dev app not yet deployed - use deployedPath if available
143
- appUrl = app.deployedPath || null;
144
- }
145
- return {
146
- token: result.accessToken,
147
- expiresAt,
148
- appUrl,
149
- };
150
- }
151
- catch (error) {
152
- // Map authz errors to user-friendly messages
153
- const errorMessage = error.message || String(error);
154
- if (errorMessage.includes('user_does_not_have_app_access')) {
155
- throw new Error('User does not have permission to access this app');
156
- }
157
- if (errorMessage.includes('403')) {
158
- throw new Error('User does not have permission to access this app');
159
- }
160
- if (errorMessage.includes('session_revoked') || errorMessage.includes('expired')) {
161
- throw new Error('Session has expired. Please log in again.');
162
- }
163
- console.error('[SSO] Token exchange failed:', error);
164
- throw new Error(`Failed to generate app token: ${errorMessage}`);
165
- }
166
- }
167
- //# sourceMappingURL=sso.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sso.js","sourceRoot":"","sources":["../../../src/lib/next/sso.ts"],"names":[],"mappings":"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"}
@@ -1,320 +0,0 @@
1
- /**
2
- * RBAC Client for busibox-app
3
- *
4
- * Centralized RBAC client that queries the authz service.
5
- * All Busibox applications should use this client for role/permission checks.
6
- *
7
- * Authentication:
8
- * - For self-service operations (user checking own access), pass the session JWT
9
- * as `accessToken` - authz accepts it directly, no token exchange required.
10
- * - For admin operations (accessing other users' data), use an exchanged access
11
- * token with appropriate authz.bindings.* scopes.
12
- *
13
- * Usage:
14
- * ```typescript
15
- * import { hasRole, isAdmin, getUserRoles, getUserAccessibleResources } from 'busibox-app';
16
- *
17
- * // Self-service: pass session JWT directly
18
- * const resources = await getUserAccessibleResources(userId, 'app', {
19
- * authzUrl: 'http://authz-api:8010',
20
- * accessToken: sessionJwt,
21
- * });
22
- *
23
- * // Admin: use exchanged access token with scopes
24
- * const roles = await getUserRoles('other-user-123', {
25
- * accessToken: adminAccessToken,
26
- * });
27
- * ```
28
- */
29
- export interface RbacClientOptions {
30
- /** User ID (for server-side token acquisition) */
31
- userId?: string;
32
- /** Custom token acquisition function */
33
- getAuthzToken?: (userId: string, audience: string, scopes: string[]) => Promise<string>;
34
- /** Override authz service URL */
35
- authzUrl?: string;
36
- /**
37
- * Access token (JWT) for authentication.
38
- *
39
- * For self-service operations (user accessing their own resources),
40
- * you can pass the session JWT directly - authz accepts it.
41
- *
42
- * For admin operations (accessing other users' resources),
43
- * use an exchanged access token with authz.bindings.* scopes.
44
- */
45
- accessToken?: string;
46
- }
47
- export interface Role {
48
- id: string;
49
- name: string;
50
- description?: string | null;
51
- scopes?: string[];
52
- is_system?: boolean;
53
- created_at: string;
54
- updated_at: string;
55
- }
56
- export interface User {
57
- /** User ID (returned as 'id' from authz API) */
58
- id: string;
59
- /** @deprecated Use 'id' instead. Alias for backwards compatibility. */
60
- user_id?: string;
61
- email: string;
62
- status?: string;
63
- display_name?: string | null;
64
- first_name?: string | null;
65
- last_name?: string | null;
66
- avatar_url?: string | null;
67
- email_verified_at?: string | null;
68
- last_login_at?: string | null;
69
- pending_expires_at?: string | null;
70
- roles: Role[];
71
- created_at: string;
72
- updated_at: string;
73
- }
74
- export interface UserListResponse {
75
- users: User[];
76
- pagination: {
77
- page: number;
78
- limit: number;
79
- total_count: number;
80
- total_pages: number;
81
- };
82
- }
83
- export interface CreateUserParams {
84
- email: string;
85
- role_ids?: string[];
86
- status?: 'PENDING' | 'ACTIVE' | 'DEACTIVATED';
87
- assigned_by?: string;
88
- }
89
- export interface UpdateUserParams {
90
- email?: string;
91
- status?: 'PENDING' | 'ACTIVE' | 'DEACTIVATED';
92
- display_name?: string;
93
- first_name?: string;
94
- last_name?: string;
95
- avatar_url?: string;
96
- email_verified_at?: string;
97
- last_login_at?: string;
98
- pending_expires_at?: string;
99
- }
100
- export interface ListUsersParams {
101
- page?: number;
102
- limit?: number;
103
- status?: 'PENDING' | 'ACTIVE' | 'DEACTIVATED';
104
- search?: string;
105
- }
106
- /**
107
- * Admin options type - Zero Trust with optional access token.
108
- *
109
- * For protected endpoints, accessToken should be provided (obtained via token exchange).
110
- * Some endpoints may be public (e.g., role lookups for session validation).
111
- */
112
- export type AdminAuthOptions = RbacClientOptions;
113
- /**
114
- * Get all roles from authz service
115
- */
116
- export declare function listRoles(options?: RbacClientOptions): Promise<Role[]>;
117
- /**
118
- * Get a specific role by ID
119
- */
120
- export declare function getRole(roleId: string, options?: RbacClientOptions): Promise<Role | null>;
121
- /**
122
- * Get a role by name
123
- */
124
- export declare function getRoleByName(roleName: string, options?: RbacClientOptions): Promise<Role | null>;
125
- /**
126
- * List users with pagination and filtering
127
- */
128
- export declare function listUsers(params?: ListUsersParams, options?: RbacClientOptions): Promise<UserListResponse>;
129
- /**
130
- * Get all users (convenience function that pages through all results)
131
- */
132
- export declare function getAllUsers(options?: RbacClientOptions): Promise<User[]>;
133
- /**
134
- * Get a specific user by ID (includes roles)
135
- */
136
- export declare function getUser(userId: string, options?: RbacClientOptions): Promise<User | null>;
137
- /**
138
- * Get a user by email address (includes roles)
139
- * Returns null if user not found.
140
- */
141
- export declare function getUserByEmail(email: string, options?: RbacClientOptions): Promise<User | null>;
142
- /**
143
- * Get user's roles
144
- */
145
- export declare function getUserRoles(userId: string, options?: RbacClientOptions): Promise<Role[]>;
146
- /**
147
- * Get user's role names
148
- */
149
- export declare function getUserRoleNames(userId: string, options?: RbacClientOptions): Promise<string[]>;
150
- /**
151
- * Check if user has a specific role
152
- */
153
- export declare function hasRole(userId: string, roleName: string, options?: RbacClientOptions): Promise<boolean>;
154
- /**
155
- * Check if user has any of the specified roles
156
- */
157
- export declare function hasAnyRole(userId: string, roleNames: string[], options?: RbacClientOptions): Promise<boolean>;
158
- /**
159
- * Check if user has all of the specified roles
160
- */
161
- export declare function hasAllRoles(userId: string, roleNames: string[], options?: RbacClientOptions): Promise<boolean>;
162
- /**
163
- * Check if user is an admin
164
- */
165
- export declare function isAdmin(userId: string, options?: RbacClientOptions): Promise<boolean>;
166
- /**
167
- * Check if user is a guest
168
- */
169
- export declare function isGuest(userId: string, options?: RbacClientOptions): Promise<boolean>;
170
- /**
171
- * Create a new role (requires admin token)
172
- *
173
- * @param name - Role name
174
- * @param description - Optional description
175
- * @param scopes - Optional OAuth scopes for this role (e.g. ['data.read', 'search.write'])
176
- * @param options - RBAC client options with adminToken
177
- */
178
- export declare function createRole(name: string, description: string | null, options: AdminAuthOptions, scopes?: string[]): Promise<Role>;
179
- /**
180
- * Update a role (requires admin token)
181
- *
182
- * @param roleId - Role UUID
183
- * @param updates - Fields to update (name, description, scopes)
184
- * @param options - RBAC client options with adminToken
185
- */
186
- export declare function updateRole(roleId: string, updates: {
187
- name?: string;
188
- description?: string | null;
189
- scopes?: string[];
190
- }, options: AdminAuthOptions): Promise<Role>;
191
- /**
192
- * Delete a role (requires admin token)
193
- */
194
- export declare function deleteRole(roleId: string, options: AdminAuthOptions): Promise<void>;
195
- /**
196
- * Add a role to a user (requires admin token)
197
- */
198
- export declare function addUserRole(userId: string, roleId: string, options: AdminAuthOptions): Promise<void>;
199
- /**
200
- * Remove a role from a user (requires admin token)
201
- */
202
- export declare function removeUserRole(userId: string, roleId: string, options: AdminAuthOptions): Promise<void>;
203
- /**
204
- * Delete a user (requires admin token)
205
- */
206
- export declare function deleteUser(userId: string, options: AdminAuthOptions): Promise<void>;
207
- /**
208
- * Create a new user (requires admin token)
209
- */
210
- export declare function createUser(params: CreateUserParams, options: AdminAuthOptions): Promise<User>;
211
- /**
212
- * Update a user (requires admin token)
213
- */
214
- export declare function updateUser(userId: string, updates: UpdateUserParams, options: AdminAuthOptions): Promise<User>;
215
- /**
216
- * Activate a pending user (requires admin token)
217
- */
218
- export declare function activateUser(userId: string, options: AdminAuthOptions): Promise<User>;
219
- /**
220
- * Deactivate an active user (requires admin token)
221
- */
222
- export declare function deactivateUser(userId: string, options: AdminAuthOptions): Promise<User>;
223
- /**
224
- * Reactivate a deactivated user (requires admin token)
225
- */
226
- export declare function reactivateUser(userId: string, options: AdminAuthOptions): Promise<User>;
227
- export interface EmailDomainRule {
228
- id: string;
229
- domain: string;
230
- is_allowed: boolean;
231
- created_at: string;
232
- updated_at: string;
233
- }
234
- /**
235
- * List email domain rules (requires admin token)
236
- */
237
- export declare function listEmailDomains(options: AdminAuthOptions): Promise<EmailDomainRule[]>;
238
- /**
239
- * Add or update an email domain rule (requires admin token)
240
- */
241
- export declare function addEmailDomain(domain: string, isAllowed: boolean, options: AdminAuthOptions): Promise<EmailDomainRule>;
242
- /**
243
- * Remove an email domain rule (requires admin token)
244
- */
245
- export declare function removeEmailDomain(domain: string, options: AdminAuthOptions): Promise<void>;
246
- export type ResourceType = 'app' | 'library' | 'document';
247
- export interface RoleBinding {
248
- id: string;
249
- role_id: string;
250
- resource_type: ResourceType;
251
- resource_id: string;
252
- permissions?: Record<string, boolean>;
253
- created_at: string;
254
- created_by?: string | null;
255
- }
256
- export interface RoleWithBinding {
257
- id: string;
258
- name: string;
259
- description?: string | null;
260
- scopes?: string[];
261
- binding_id: string;
262
- permissions?: Record<string, boolean>;
263
- binding_created_at: string;
264
- }
265
- export interface CreateRoleBindingParams {
266
- role_id: string;
267
- resource_type: ResourceType;
268
- resource_id: string;
269
- permissions?: Record<string, boolean>;
270
- }
271
- export interface ListRoleBindingsParams {
272
- role_id?: string;
273
- resource_type?: ResourceType;
274
- resource_id?: string;
275
- limit?: number;
276
- offset?: number;
277
- }
278
- /**
279
- * Create a new role-resource binding (requires admin token)
280
- */
281
- export declare function createRoleBinding(params: CreateRoleBindingParams, options: AdminAuthOptions): Promise<RoleBinding>;
282
- /**
283
- * Get a role binding by ID (requires admin token)
284
- */
285
- export declare function getRoleBinding(bindingId: string, options: AdminAuthOptions): Promise<RoleBinding | null>;
286
- /**
287
- * Delete a role binding by ID (requires admin token)
288
- */
289
- export declare function deleteRoleBinding(bindingId: string, options: AdminAuthOptions): Promise<void>;
290
- /**
291
- * List role bindings with optional filters (requires admin token)
292
- */
293
- export declare function listRoleBindings(params: ListRoleBindingsParams | undefined, options: AdminAuthOptions): Promise<RoleBinding[]>;
294
- /**
295
- * Get all bindings for a specific role (requires admin token)
296
- */
297
- export declare function getRoleResourceBindings(roleId: string, resourceType?: ResourceType, options?: AdminAuthOptions): Promise<RoleBinding[]>;
298
- /**
299
- * Get all roles that have access to a specific resource (requires admin token)
300
- */
301
- export declare function getResourceRoles(resourceType: ResourceType, resourceId: string, options: AdminAuthOptions): Promise<RoleWithBinding[]>;
302
- /**
303
- * Check if a user can access a specific resource (requires admin token)
304
- */
305
- export declare function userCanAccessResource(userId: string, resourceType: ResourceType, resourceId: string, options: AdminAuthOptions): Promise<boolean>;
306
- /**
307
- * Get all resource IDs of a given type that a user can access (requires admin token)
308
- */
309
- export declare function getUserAccessibleResources(userId: string, resourceType: ResourceType, options: AdminAuthOptions): Promise<string[]>;
310
- /**
311
- * Helper: Grant a role access to a resource (creates binding)
312
- * Convenience wrapper around createRoleBinding
313
- */
314
- export declare function grantRoleResourceAccess(roleId: string, resourceType: ResourceType, resourceId: string, permissions?: Record<string, boolean>, options?: AdminAuthOptions): Promise<RoleBinding>;
315
- /**
316
- * Helper: Revoke a role's access to a resource (deletes binding)
317
- * Finds and deletes the binding for the given role/resource combo
318
- */
319
- export declare function revokeRoleResourceAccess(roleId: string, resourceType: ResourceType, resourceId: string, options: AdminAuthOptions): Promise<boolean>;
320
- //# sourceMappingURL=client.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/lib/rbac/client.ts"],"names":[],"mappings":"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"}