@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,282 +0,0 @@
1
- /**
2
- * SSO Authentication Library (Zero Trust JWKS)
3
- *
4
- * Validates RS256 JWT tokens issued by authz service via JWKS.
5
- * This is the standard authentication method for Busibox apps.
6
- *
7
- * Token Flow:
8
- * 1. User clicks app in Busibox Portal
9
- * 2. Busibox Portal exchanges user's session JWT for app-scoped token via authz
10
- * 3. authz verifies user has app access via RBAC bindings
11
- * 4. authz issues RS256 token with app_id claim and user's roles
12
- * 5. App validates token via authz JWKS endpoint
13
- *
14
- * Token validation is done via authz JWKS endpoint - no shared secrets needed.
15
- *
16
- * @example
17
- * ```typescript
18
- * import { validateSSOToken, createSessionFromSSO } from '@jazzmind/busibox-app/lib/auth';
19
- *
20
- * const validation = await validateSSOToken(token);
21
- * if (validation.valid) {
22
- * const session = createSessionFromSSO(validation);
23
- * }
24
- * ```
25
- */
26
- import * as jose from "jose";
27
- // Default configuration from environment
28
- const getDefaultAuthzUrl = () => process.env.AUTHZ_BASE_URL || "http://authz-api:8010";
29
- const getDefaultAppName = () => process.env.APP_NAME || "app";
30
- const DEFAULT_ISSUER = "busibox-authz";
31
- // Cache JWKS for performance (keyed by authz URL)
32
- const jwksCache = new Map();
33
- const JWKS_CACHE_TTL = 5 * 60 * 1000; // 5 minutes
34
- // ============================================================================
35
- // JWKS Verification
36
- // ============================================================================
37
- /**
38
- * Get or create JWKS verifier from authz service
39
- */
40
- async function getJwksVerifier(authzUrl) {
41
- const now = Date.now();
42
- const cached = jwksCache.get(authzUrl);
43
- // Return cached JWKS if still valid
44
- if (cached && now - cached.time < JWKS_CACHE_TTL) {
45
- return cached.verifier;
46
- }
47
- // Fetch fresh JWKS from authz
48
- const jwksUrl = new URL("/.well-known/jwks.json", authzUrl);
49
- console.log("[SSO] Fetching JWKS from:", jwksUrl.toString());
50
- const verifier = jose.createRemoteJWKSet(jwksUrl);
51
- jwksCache.set(authzUrl, { verifier, time: now });
52
- return verifier;
53
- }
54
- /**
55
- * Invalidate JWKS cache (call this if key rotation is detected)
56
- */
57
- export function invalidateJwksCache(authzUrl) {
58
- if (authzUrl) {
59
- jwksCache.delete(authzUrl);
60
- }
61
- else {
62
- jwksCache.clear();
63
- }
64
- }
65
- // ============================================================================
66
- // Token Validation
67
- // ============================================================================
68
- /**
69
- * Validate app-scoped token from authz
70
- *
71
- * Token is RS256 signed by authz. We verify using authz JWKS endpoint.
72
- * No shared secrets needed - asymmetric verification.
73
- *
74
- * Handles multiple audience formats robustly:
75
- * - Short app IDs (e.g., "estimator", "dredge-estimator")
76
- * - Display names (e.g., "Dredging Cost Estimator")
77
- * - Explicit path/ID audiences (e.g., "projects", "busibox-projects")
78
- *
79
- * @param token - JWT token string
80
- * @param options - Validation options (authzUrl, appName, issuer)
81
- * @returns Validation result with user info or error
82
- *
83
- * @example
84
- * ```typescript
85
- * // Using environment variables
86
- * const result = await validateSSOToken(token);
87
- *
88
- * // With explicit options
89
- * const result = await validateSSOToken(token, {
90
- * authzUrl: 'http://authz:8010',
91
- * appName: 'My App',
92
- * });
93
- * ```
94
- */
95
- export async function validateSSOToken(token, options) {
96
- const authzUrl = options?.authzUrl || getDefaultAuthzUrl();
97
- const appName = options?.appName || getDefaultAppName();
98
- const issuer = options?.issuer || DEFAULT_ISSUER;
99
- try {
100
- const jwks = await getJwksVerifier(authzUrl);
101
- console.log(`[SSO] Validating token with expected audience: "${appName}"`);
102
- // Debug: Log current time vs token expiration
103
- try {
104
- const parts = token.split('.');
105
- if (parts.length === 3) {
106
- const payload = JSON.parse(Buffer.from(parts[1], 'base64').toString());
107
- const now = Math.floor(Date.now() / 1000);
108
- const exp = payload.exp;
109
- const iat = payload.iat;
110
- console.log(`[SSO] Token timing - Now: ${now}, Issued: ${iat}, Expires: ${exp}, Age: ${now - iat}s, TTL: ${exp - now}s`);
111
- }
112
- }
113
- catch (e) {
114
- // Ignore parsing errors
115
- }
116
- // Verify and decode token WITHOUT strict audience check
117
- // We'll validate audience manually for more flexibility
118
- // Add clock tolerance to handle clock skew between services
119
- const { payload } = await jose.jwtVerify(token, jwks, {
120
- issuer,
121
- clockTolerance: 60, // Allow 60 seconds clock skew
122
- // Don't enforce audience in jwtVerify - we'll check manually
123
- });
124
- const appToken = payload;
125
- // Manual audience validation with flexible matching
126
- const tokenAud = appToken.aud;
127
- // Build list of acceptable audiences for this app.
128
- // Security: do not include global legacy wildcards like "Busibox App".
129
- const acceptedAudiences = [];
130
- const addAudience = (value) => {
131
- const normalized = (value || "").trim();
132
- if (!normalized)
133
- return;
134
- if (!acceptedAudiences.some((aud) => aud.toLowerCase() === normalized.toLowerCase())) {
135
- acceptedAudiences.push(normalized);
136
- }
137
- };
138
- // Primary configured app name
139
- addAudience(appName);
140
- // Explicit audience override(s), from options or env (comma-separated)
141
- const ssoAudienceConfig = options?.ssoAudience || process.env.SSO_AUDIENCE || "";
142
- for (const value of ssoAudienceConfig.split(",")) {
143
- addAudience(value);
144
- }
145
- // Deployed path audience fallback (portal often uses this format)
146
- const basePath = process.env.NEXT_PUBLIC_BASE_PATH || "";
147
- if (basePath) {
148
- addAudience(basePath.replace(/^\//, "").toLowerCase());
149
- }
150
- // Common variations based on appName
151
- if (appName) {
152
- addAudience(appName.toLowerCase().replace(/\s+/g, "-"));
153
- addAudience(appName
154
- .split(/[-_\s]+/)
155
- .map((word) => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())
156
- .join(" "));
157
- }
158
- // Check if token audience matches any accepted audience
159
- const audMatch = acceptedAudiences.some(aud => {
160
- // Exact match
161
- if (tokenAud === aud)
162
- return true;
163
- // Case-insensitive match
164
- if (typeof tokenAud === 'string' && tokenAud.toLowerCase() === aud.toLowerCase())
165
- return true;
166
- // Array of audiences (token can have multiple audiences)
167
- if (Array.isArray(tokenAud) && tokenAud.some(a => a === aud || (typeof a === 'string' && a.toLowerCase() === aud.toLowerCase())))
168
- return true;
169
- return false;
170
- });
171
- if (!audMatch) {
172
- console.error(`[SSO] Token audience mismatch. Expected one of:`, acceptedAudiences, `Got:`, tokenAud);
173
- // Create a proper error without using JWTClaimValidationFailed constructor directly
174
- const error = new Error('Token audience validation failed');
175
- error.name = 'JWTClaimValidationFailed';
176
- throw error;
177
- }
178
- console.log(`[SSO] Token audience validated:`, tokenAud);
179
- // Extract email from various possible claims
180
- // Session tokens include 'email', access tokens may not
181
- const email = appToken.email ||
182
- appToken.preferred_username ||
183
- appToken.name ||
184
- ''; // Empty if not found
185
- console.log('[SSO] Token claims:', {
186
- sub: appToken.sub,
187
- email: appToken.email,
188
- preferred_username: appToken.preferred_username,
189
- name: appToken.name,
190
- roles: appToken.roles?.map((r) => r.name),
191
- });
192
- // Token is valid - extract user info including profile fields
193
- return {
194
- valid: true,
195
- userId: appToken.sub,
196
- email,
197
- roles: appToken.roles?.map((r) => r.name) || [],
198
- appId: appToken.app_id,
199
- scopes: appToken.scope?.split(" ").filter(Boolean) || [],
200
- displayName: appToken.name || undefined,
201
- firstName: appToken.given_name || undefined,
202
- lastName: appToken.family_name || undefined,
203
- avatarUrl: appToken.picture || undefined,
204
- favoriteColor: appToken.favorite_color || undefined,
205
- };
206
- }
207
- catch (error) {
208
- console.error("[SSO] Token validation error:", error);
209
- let errorMessage = "Invalid token";
210
- if (error instanceof jose.errors.JWTExpired) {
211
- errorMessage = "Token expired";
212
- }
213
- else if (error instanceof jose.errors.JWTClaimValidationFailed) {
214
- errorMessage = "Token claims validation failed";
215
- }
216
- else if (error instanceof jose.errors.JWSSignatureVerificationFailed) {
217
- errorMessage = "Token signature verification failed";
218
- // Invalidate cache in case of key rotation
219
- invalidateJwksCache(authzUrl);
220
- }
221
- return {
222
- valid: false,
223
- error: errorMessage,
224
- };
225
- }
226
- }
227
- /**
228
- * Full validation - validates the token via JWKS
229
- * @deprecated Use validateSSOToken instead
230
- */
231
- export async function validateSSOTokenFull(token, options) {
232
- return validateSSOToken(token, options);
233
- }
234
- // ============================================================================
235
- // Session Management Helpers
236
- // ============================================================================
237
- /**
238
- * Create session data from validated SSO token
239
- *
240
- * @param validation - Result from validateSSOToken
241
- * @returns Session data object
242
- * @throws Error if validation result is invalid
243
- */
244
- export function createSessionFromSSO(validation) {
245
- if (!validation.valid || !validation.userId) {
246
- throw new Error("Invalid SSO validation result");
247
- }
248
- return {
249
- userId: validation.userId,
250
- email: validation.email || "",
251
- roles: validation.roles || [],
252
- appId: validation.appId || "",
253
- scopes: validation.scopes || [],
254
- authenticatedAt: new Date().toISOString(),
255
- authMethod: "sso",
256
- // Profile fields from JWT claims
257
- displayName: validation.displayName,
258
- firstName: validation.firstName,
259
- lastName: validation.lastName,
260
- avatarUrl: validation.avatarUrl,
261
- favoriteColor: validation.favoriteColor,
262
- };
263
- }
264
- /**
265
- * Check if session has specific role
266
- */
267
- export function hasSessionRole(session, roleName) {
268
- return session.roles?.includes(roleName) || false;
269
- }
270
- /**
271
- * Check if session has specific scope
272
- */
273
- export function hasSessionScope(session, scope) {
274
- return session.scopes?.includes(scope) || false;
275
- }
276
- /**
277
- * Check if session user is admin
278
- */
279
- export function isSessionAdmin(session) {
280
- return hasSessionRole(session, "Admin") || hasSessionRole(session, "admin");
281
- }
282
- //# sourceMappingURL=sso.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sso.js","sourceRoot":"","sources":["../../../src/lib/auth/sso.ts"],"names":[],"mappings":"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"}
@@ -1,65 +0,0 @@
1
- /**
2
- * Email Sending — Bridge API Client
3
- *
4
- * All outbound email is delegated to the Bridge API service.
5
- * Busibox Portal no longer holds SMTP or Resend secrets.
6
- *
7
- * Bridge API endpoints (internal network, no auth required):
8
- * POST /api/v1/email/send-magic-link — magic link + TOTP code
9
- * POST /api/v1/email/send-magic-link-simple — simple magic link
10
- * POST /api/v1/email/send — generic email
11
- * POST /api/v1/email/send-welcome — welcome email
12
- * POST /api/v1/email/send-account-deactivated
13
- * POST /api/v1/email/send-account-reactivated
14
- * POST /api/v1/email/test — test email
15
- */
16
- /**
17
- * Send a magic-link + TOTP code email via Bridge API.
18
- */
19
- export declare function sendMagicLinkWithCodeEmail(email: string, magicLinkUrl: string, totpCode: string): Promise<{
20
- data: any;
21
- error: null;
22
- }>;
23
- /**
24
- * Send a simple magic-link email (no TOTP) via Bridge API.
25
- */
26
- export declare function sendMagicLinkEmail(email: string, magicLinkUrl: string): Promise<{
27
- data: any;
28
- error: null;
29
- }>;
30
- /**
31
- * Send a welcome email via Bridge API.
32
- */
33
- export declare function sendWelcomeEmail(email: string, userName?: string): Promise<{
34
- data: any;
35
- error: null;
36
- }>;
37
- /**
38
- * Send an account-deactivated email via Bridge API.
39
- */
40
- export declare function sendAccountDeactivatedEmail(email: string): Promise<{
41
- data: any;
42
- error: null;
43
- }>;
44
- /**
45
- * Send an account-reactivated email via Bridge API.
46
- */
47
- export declare function sendAccountReactivatedEmail(email: string): Promise<{
48
- data: any;
49
- error: null;
50
- }>;
51
- /**
52
- * Send a test email via Bridge API.
53
- * Returns the provider that was used.
54
- */
55
- export declare function sendTestEmail(to: string): Promise<{
56
- provider: string;
57
- }>;
58
- /**
59
- * Send a generic email via Bridge API.
60
- */
61
- export declare function sendEmail(to: string, subject: string, html: string, text: string): Promise<{
62
- data: any;
63
- error: null;
64
- }>;
65
- //# sourceMappingURL=email.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"email.d.ts","sourceRoot":"","sources":["../../../src/lib/authz/email.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAiCH;;GAEG;AACH,wBAAsB,0BAA0B,CAC9C,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM;;;GASjB;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM;;;GAO3E;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM;;;GAStE;AAED;;GAEG;AACH,wBAAsB,2BAA2B,CAAC,KAAK,EAAE,MAAM;;;GAK9D;AAED;;GAEG;AACH,wBAAsB,2BAA2B,CAAC,KAAK,EAAE,MAAM;;;GAQ9D;AAED;;;GAGG;AACH,wBAAsB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAM7E;AAED;;GAEG;AACH,wBAAsB,SAAS,CAC7B,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM;;;GAIb"}
@@ -1,112 +0,0 @@
1
- /**
2
- * Email Sending — Bridge API Client
3
- *
4
- * All outbound email is delegated to the Bridge API service.
5
- * Busibox Portal no longer holds SMTP or Resend secrets.
6
- *
7
- * Bridge API endpoints (internal network, no auth required):
8
- * POST /api/v1/email/send-magic-link — magic link + TOTP code
9
- * POST /api/v1/email/send-magic-link-simple — simple magic link
10
- * POST /api/v1/email/send — generic email
11
- * POST /api/v1/email/send-welcome — welcome email
12
- * POST /api/v1/email/send-account-deactivated
13
- * POST /api/v1/email/send-account-reactivated
14
- * POST /api/v1/email/test — test email
15
- */
16
- import { getBridgeApiUrl } from '../next/api-url';
17
- // ---------------------------------------------------------------------------
18
- // Low-level bridge call
19
- // ---------------------------------------------------------------------------
20
- async function bridgePost(path, body) {
21
- const url = `${getBridgeApiUrl()}${path}`;
22
- const resp = await fetch(url, {
23
- method: 'POST',
24
- headers: { 'Content-Type': 'application/json' },
25
- body: JSON.stringify(body),
26
- });
27
- if (!resp.ok) {
28
- const text = await resp.text().catch(() => '');
29
- let detail = text;
30
- try {
31
- const json = JSON.parse(text);
32
- detail = json.detail || json.error || text;
33
- }
34
- catch { /* use raw text */ }
35
- throw new Error(`Bridge API ${resp.status} ${path}: ${detail}`);
36
- }
37
- return resp.json();
38
- }
39
- // ---------------------------------------------------------------------------
40
- // Public API — mirrors the old email.ts exports
41
- // ---------------------------------------------------------------------------
42
- /**
43
- * Send a magic-link + TOTP code email via Bridge API.
44
- */
45
- export async function sendMagicLinkWithCodeEmail(email, magicLinkUrl, totpCode) {
46
- console.log('[EMAIL] Sending magic link + TOTP via Bridge API for', email);
47
- const result = await bridgePost('/api/v1/email/send-magic-link', {
48
- to: email,
49
- magic_link_url: magicLinkUrl,
50
- totp_code: totpCode,
51
- });
52
- return { data: result, error: null };
53
- }
54
- /**
55
- * Send a simple magic-link email (no TOTP) via Bridge API.
56
- */
57
- export async function sendMagicLinkEmail(email, magicLinkUrl) {
58
- console.log('[EMAIL] Sending magic link via Bridge API for', email);
59
- const result = await bridgePost('/api/v1/email/send-magic-link-simple', {
60
- to: email,
61
- magic_link_url: magicLinkUrl,
62
- });
63
- return { data: result, error: null };
64
- }
65
- /**
66
- * Send a welcome email via Bridge API.
67
- */
68
- export async function sendWelcomeEmail(email, userName) {
69
- const portalUrl = process.env.APP_URL || process.env.NEXT_PUBLIC_APP_URL || 'http://localhost:3000';
70
- const result = await bridgePost('/api/v1/email/send-welcome', {
71
- to: email,
72
- user_name: userName || null,
73
- portal_url: portalUrl,
74
- });
75
- return { data: result, error: null };
76
- }
77
- /**
78
- * Send an account-deactivated email via Bridge API.
79
- */
80
- export async function sendAccountDeactivatedEmail(email) {
81
- const result = await bridgePost('/api/v1/email/send-account-deactivated', {
82
- to: email,
83
- });
84
- return { data: result, error: null };
85
- }
86
- /**
87
- * Send an account-reactivated email via Bridge API.
88
- */
89
- export async function sendAccountReactivatedEmail(email) {
90
- const portalUrl = process.env.APP_URL || process.env.NEXT_PUBLIC_APP_URL || 'http://localhost:3000';
91
- const result = await bridgePost('/api/v1/email/send-account-reactivated', {
92
- to: email,
93
- portal_url: portalUrl,
94
- });
95
- return { data: result, error: null };
96
- }
97
- /**
98
- * Send a test email via Bridge API.
99
- * Returns the provider that was used.
100
- */
101
- export async function sendTestEmail(to) {
102
- const result = await bridgePost('/api/v1/email/test', { to });
103
- return { provider: result.provider };
104
- }
105
- /**
106
- * Send a generic email via Bridge API.
107
- */
108
- export async function sendEmail(to, subject, html, text) {
109
- const result = await bridgePost('/api/v1/email/send', { to, subject, html, text });
110
- return { data: result, error: null };
111
- }
112
- //# sourceMappingURL=email.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"email.js","sourceRoot":"","sources":["../../../src/lib/authz/email.ts"],"names":[],"mappings":"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"}
@@ -1,109 +0,0 @@
1
- /**
2
- * RBAC Permission Checking Utilities (busibox-portal wrapper)
3
- *
4
- * Zero Trust Architecture:
5
- * All authorization checks are delegated to the authz service via busibox-app.
6
- *
7
- * For user self-service operations (checking own access, listing own resources),
8
- * the session JWT is passed directly to authz - no token exchange required.
9
- *
10
- * Token exchange is only needed for:
11
- * - Admin operations on other users
12
- * - Downstream service access (busibox-agents, etc.)
13
- */
14
- import { type Role } from '@jazzmind/busibox-app';
15
- /**
16
- * Check if a user can access a specific app
17
- *
18
- * Queries the authz service to check if the user has any role
19
- * that is bound to the specified app.
20
- *
21
- * @param userId - User ID to check
22
- * @param appId - App ID to check access for
23
- * @param accessToken - Optional access token for authenticated check
24
- * @returns true if user has permission, false otherwise
25
- */
26
- export declare function canAccessApp(userId: string, appId: string, accessToken?: string): Promise<boolean>;
27
- /**
28
- * Get all apps a user can access
29
- *
30
- * Queries the authz service for accessible app IDs, then fetches
31
- * app details from the local database.
32
- *
33
- * @param userId - User ID
34
- * @param accessToken - Optional access token for authenticated check
35
- * @returns Array of apps the user has permission to access
36
- */
37
- export declare function getUserApps(userId: string, accessToken?: string): Promise<{
38
- id: string;
39
- name: string;
40
- description: string | null;
41
- type: import("../deploy/app-config").AppConfigType;
42
- url: string | null;
43
- iconUrl: string | null;
44
- selectedIcon: string | null;
45
- displayOrder: number;
46
- isActive: boolean;
47
- }[]>;
48
- /**
49
- * Get user's roles from authz service
50
- *
51
- * @deprecated Use busibox-app's getUserRoles() directly
52
- */
53
- export declare function getUserRoles(userId: string): Promise<Role[]>;
54
- /**
55
- * Get user's role names
56
- *
57
- * @deprecated Use busibox-app's getUserRoleNames() directly
58
- */
59
- export declare function getUserRoleNames(userId: string): Promise<string[]>;
60
- /**
61
- * Check if user has a specific role
62
- *
63
- * @deprecated Use busibox-app's hasRole() directly
64
- */
65
- export declare function hasRole(userId: string, roleName: string): Promise<boolean>;
66
- /**
67
- * Check if user is an admin
68
- *
69
- * @deprecated Use busibox-app's isAdmin() directly
70
- */
71
- export declare function isAdmin(userId: string): Promise<boolean>;
72
- /**
73
- * Check if user is a guest
74
- *
75
- * @deprecated Use busibox-app's isGuest() directly
76
- */
77
- export declare function isGuest(userId: string): Promise<boolean>;
78
- /**
79
- * Check if user has any of the specified roles
80
- *
81
- * @deprecated Use busibox-app's hasAnyRole() directly
82
- */
83
- export declare function hasAnyRole(userId: string, roleNames: string[]): Promise<boolean>;
84
- /**
85
- * Check if user has all of the specified roles
86
- *
87
- * @deprecated Use busibox-app's hasAllRoles() directly
88
- */
89
- export declare function hasAllRoles(userId: string, roleNames: string[]): Promise<boolean>;
90
- /**
91
- * Check if user is active
92
- *
93
- * This checks the authz service.
94
- */
95
- export declare function isUserActive(userId: string): Promise<boolean>;
96
- /**
97
- * Get user with roles from authz service
98
- */
99
- export declare function getUserWithRoles(userId: string): Promise<{
100
- id: string;
101
- email: string;
102
- status: string | undefined;
103
- lastLoginAt: Date | null;
104
- createdAt: Date;
105
- updatedAt: Date;
106
- roles: Role[];
107
- } | null>;
108
- export type { Role } from '@jazzmind/busibox-app';
109
- //# sourceMappingURL=permissions.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../../../src/lib/authz/permissions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAML,KAAK,IAAI,EAEV,MAAM,uBAAuB,CAAC;AA0B/B;;;;;;;;;;GAUG;AACH,wBAAsB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAqBxG;AAED;;;;;;;;;GASG;AACH,wBAAsB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM;;;;;;;;;;KAkCrE;AAMD;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAGlE;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAIxE;AAED;;;;GAIG;AACH,wBAAsB,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAGhF;AAED;;;;GAIG;AACH,wBAAsB,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAG9D;AAED;;;;GAIG;AACH,wBAAsB,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAG9D;AAED;;;;GAIG;AACH,wBAAsB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAKtF;AAED;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAKvF;AAMD;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CASnE;AAYD;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,MAAM;;;;;;;;UA0BpD;AAGD,YAAY,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC"}