@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
- * Authentication Helper Utilities
3
- *
4
- * Provides JWT token management including:
5
- * - Token extraction from requests (Next.js compatible)
6
- * - Token validation and parsing
7
- * - Header generation
8
- * - Role and scope checking
9
- *
10
- * @example
11
- * ```typescript
12
- * import {
13
- * getTokenFromRequest,
14
- * parseJWTPayload,
15
- * getUserIdFromToken
16
- * } from '@jazzmind/busibox-app/lib/auth';
17
- *
18
- * // In an API route
19
- * const token = getTokenFromRequest(request);
20
- * const userId = getUserIdFromToken(token);
21
- * ```
22
- */
23
- /**
24
- * Minimal request interface compatible with Next.js NextRequest
25
- */
26
- interface RequestLike {
27
- headers: {
28
- get(name: string): string | null;
29
- };
30
- cookies: {
31
- get(name: string): {
32
- value: string;
33
- } | undefined;
34
- };
35
- }
36
- /**
37
- * Extract session JWT from request
38
- *
39
- * Zero Trust Architecture:
40
- * - Checks Authorization header first (Bearer token)
41
- * - Then checks app-specific auth token cookie (e.g., "myapp-auth-token")
42
- * - Falls back to generic auth_token cookie (legacy, may be polluted by other apps)
43
- * - Falls back to busibox-session cookie (portal token - may not validate for app-specific checks)
44
- *
45
- * IMPORTANT: Each app should use its own cookie name (${appName}-auth-token) to prevent
46
- * cross-app token pollution when multiple apps are hosted on the same domain.
47
- *
48
- * @param request - Next.js NextRequest or compatible request object
49
- * @param appName - Optional app name for cookie lookup (default: APP_NAME env or "app")
50
- * @returns Token string or undefined if not found
51
- */
52
- /**
53
- * Sanitize app name for use in cookie names
54
- *
55
- * Converts to lowercase, replaces spaces with hyphens, removes special characters.
56
- * This ensures consistent cookie naming across all Busibox apps.
57
- *
58
- * @example
59
- * sanitizeAppName("Data Analysis") // "data-analysis"
60
- * sanitizeAppName("Agent Manager") // "busibox-agents"
61
- * sanitizeAppName("my-app") // "my-app"
62
- */
63
- export declare function sanitizeAppName(name: string): string;
64
- export declare function getTokenFromRequest(request: RequestLike, appName?: string): string | undefined;
65
- /**
66
- * Get session data from app-session cookie
67
- *
68
- * @param request - Next.js NextRequest or compatible request object
69
- * @param appName - App name for cookie lookup (default: APP_NAME env or "app")
70
- */
71
- export declare function getSessionFromRequest(request: RequestLike, appName?: string): {
72
- userId: string;
73
- email: string;
74
- roles: string[];
75
- displayName?: string;
76
- firstName?: string;
77
- lastName?: string;
78
- avatarUrl?: string;
79
- favoriteColor?: string;
80
- } | null;
81
- /**
82
- * Require token or throw authentication error
83
- */
84
- export declare function requireToken(request: RequestLike): string;
85
- /**
86
- * Generate authorization headers for API requests
87
- */
88
- export declare function getAuthHeaders(token?: string): Record<string, string>;
89
- /**
90
- * Generate headers for SSE (Server-Sent Events) requests
91
- */
92
- export declare function getSSEHeaders(token?: string): Record<string, string>;
93
- /**
94
- * Check if token is present (basic validation)
95
- */
96
- export declare function hasToken(request: RequestLike): boolean;
97
- /**
98
- * Parse JWT token payload (without verification)
99
- *
100
- * WARNING: This does NOT verify the signature. Use only for reading claims.
101
- * For verified validation, use validateSSOToken from './sso'.
102
- */
103
- export declare function parseJWTPayload(token: string): Record<string, unknown> | null;
104
- /**
105
- * Check if token is expired (based on exp claim)
106
- *
107
- * WARNING: This does NOT verify the signature.
108
- */
109
- export declare function isTokenExpired(token: string): boolean;
110
- /**
111
- * Get token expiration time
112
- */
113
- export declare function getTokenExpiration(token: string): Date | null;
114
- /**
115
- * Get user ID from token (sub or user_id claim)
116
- */
117
- export declare function getUserIdFromToken(token: string): string | null;
118
- /**
119
- * Get user email from token
120
- */
121
- export declare function getUserEmailFromToken(token: string): string | null;
122
- /**
123
- * Get user roles from token
124
- *
125
- * Handles various role formats:
126
- * - Array of strings: ["Admin", "User"]
127
- * - Array of objects: [{ name: "Admin" }, { name: "User" }]
128
- * - Single string: "Admin"
129
- */
130
- export declare function getUserRolesFromToken(token: string): string[];
131
- /**
132
- * Check if token user has specific role
133
- *
134
- * Note: For RBAC role checks against the authz service, use hasRole from '@jazzmind/busibox-app/lib/rbac'.
135
- * This function is for quick client-side checks based on token claims.
136
- */
137
- export declare function tokenHasRole(token: string, role: string): boolean;
138
- /**
139
- * Check if token user is admin
140
- *
141
- * Note: For RBAC admin checks against the authz service, use isAdmin from '@jazzmind/busibox-app/lib/rbac'.
142
- * This function is for quick client-side checks based on token claims.
143
- */
144
- export declare function tokenIsAdmin(token: string): boolean;
145
- /**
146
- * Check if token needs refresh (within buffer time of expiration)
147
- *
148
- * @param token - JWT token string
149
- * @param bufferMinutes - Minutes before expiration to trigger refresh (default: 5)
150
- */
151
- export declare function shouldRefreshToken(token: string, bufferMinutes?: number): boolean;
152
- /**
153
- * Get scopes from token
154
- *
155
- * Handles both space-separated string (OAuth2 standard) and array formats.
156
- */
157
- export declare function getScopesFromToken(token: string): string[];
158
- /**
159
- * Check if token has specific scope
160
- */
161
- export declare function hasScope(token: string, scope: string): boolean;
162
- /**
163
- * Check if token has all required scopes
164
- */
165
- export declare function hasAllScopes(token: string, requiredScopes: string[]): boolean;
166
- export {};
167
- //# sourceMappingURL=auth-helper.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth-helper.d.ts","sourceRoot":"","sources":["../../../src/lib/auth/auth-helper.ts"],"names":[],"mappings":"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"}
@@ -1,345 +0,0 @@
1
- /**
2
- * Authentication Helper Utilities
3
- *
4
- * Provides JWT token management including:
5
- * - Token extraction from requests (Next.js compatible)
6
- * - Token validation and parsing
7
- * - Header generation
8
- * - Role and scope checking
9
- *
10
- * @example
11
- * ```typescript
12
- * import {
13
- * getTokenFromRequest,
14
- * parseJWTPayload,
15
- * getUserIdFromToken
16
- * } from '@jazzmind/busibox-app/lib/auth';
17
- *
18
- * // In an API route
19
- * const token = getTokenFromRequest(request);
20
- * const userId = getUserIdFromToken(token);
21
- * ```
22
- */
23
- // ==========================================================================
24
- // TOKEN EXTRACTION
25
- // ==========================================================================
26
- /**
27
- * Extract session JWT from request
28
- *
29
- * Zero Trust Architecture:
30
- * - Checks Authorization header first (Bearer token)
31
- * - Then checks app-specific auth token cookie (e.g., "myapp-auth-token")
32
- * - Falls back to generic auth_token cookie (legacy, may be polluted by other apps)
33
- * - Falls back to busibox-session cookie (portal token - may not validate for app-specific checks)
34
- *
35
- * IMPORTANT: Each app should use its own cookie name (${appName}-auth-token) to prevent
36
- * cross-app token pollution when multiple apps are hosted on the same domain.
37
- *
38
- * @param request - Next.js NextRequest or compatible request object
39
- * @param appName - Optional app name for cookie lookup (default: APP_NAME env or "app")
40
- * @returns Token string or undefined if not found
41
- */
42
- /**
43
- * Sanitize app name for use in cookie names
44
- *
45
- * Converts to lowercase, replaces spaces with hyphens, removes special characters.
46
- * This ensures consistent cookie naming across all Busibox apps.
47
- *
48
- * @example
49
- * sanitizeAppName("Data Analysis") // "data-analysis"
50
- * sanitizeAppName("Agent Manager") // "busibox-agents"
51
- * sanitizeAppName("my-app") // "my-app"
52
- */
53
- export function sanitizeAppName(name) {
54
- return name.toLowerCase().replace(/\s+/g, '-').replace(/[^a-z0-9-]/g, '');
55
- }
56
- export function getTokenFromRequest(request, appName) {
57
- // Check Authorization header (Bearer token)
58
- const authHeader = request.headers.get("authorization");
59
- if (authHeader?.startsWith("Bearer ")) {
60
- return authHeader.substring(7);
61
- }
62
- // IMPORTANT: Check app-specific auth_token FIRST
63
- // Each app has its own cookie (e.g., "estimator-auth-token") to prevent
64
- // cross-app token pollution when multiple apps are on the same domain
65
- // Sanitize the name to handle spaces and special characters
66
- const rawName = appName || process.env.APP_NAME || "app";
67
- const name = sanitizeAppName(rawName);
68
- const appTokenCookie = request.cookies.get(`${name}-auth-token`);
69
- if (appTokenCookie) {
70
- return appTokenCookie.value;
71
- }
72
- // Legacy fallback: generic auth_token (may be polluted by other apps on same domain)
73
- const tokenCookie = request.cookies.get("auth_token");
74
- if (tokenCookie) {
75
- return tokenCookie.value;
76
- }
77
- // Fallback to busibox-session (shared portal token)
78
- // Note: This will have audience "portal" which may not validate for app-specific checks
79
- const sessionCookie = request.cookies.get("busibox-session");
80
- if (sessionCookie) {
81
- return sessionCookie.value;
82
- }
83
- const accessTokenCookie = request.cookies.get("access_token");
84
- if (accessTokenCookie) {
85
- return accessTokenCookie.value;
86
- }
87
- return undefined;
88
- }
89
- /**
90
- * Get session data from app-session cookie
91
- *
92
- * @param request - Next.js NextRequest or compatible request object
93
- * @param appName - App name for cookie lookup (default: APP_NAME env or "app")
94
- */
95
- export function getSessionFromRequest(request, appName) {
96
- const rawName = appName || process.env.APP_NAME || "app";
97
- const name = sanitizeAppName(rawName);
98
- const sessionCookie = request.cookies.get(`${name}-session`);
99
- if (!sessionCookie) {
100
- return null;
101
- }
102
- try {
103
- const session = JSON.parse(sessionCookie.value);
104
- return {
105
- userId: session.userId || session.user_id,
106
- email: session.email,
107
- roles: session.roles || [],
108
- displayName: session.displayName,
109
- firstName: session.firstName,
110
- lastName: session.lastName,
111
- avatarUrl: session.avatarUrl,
112
- favoriteColor: session.favoriteColor,
113
- };
114
- }
115
- catch {
116
- return null;
117
- }
118
- }
119
- /**
120
- * Require token or throw authentication error
121
- */
122
- export function requireToken(request) {
123
- const token = getTokenFromRequest(request);
124
- if (!token) {
125
- throw new Error("Authentication token required");
126
- }
127
- return token;
128
- }
129
- // ==========================================================================
130
- // HEADER GENERATION
131
- // ==========================================================================
132
- /**
133
- * Generate authorization headers for API requests
134
- */
135
- export function getAuthHeaders(token) {
136
- const headers = {
137
- "Content-Type": "application/json",
138
- };
139
- if (token) {
140
- headers["Authorization"] = `Bearer ${token}`;
141
- }
142
- return headers;
143
- }
144
- /**
145
- * Generate headers for SSE (Server-Sent Events) requests
146
- */
147
- export function getSSEHeaders(token) {
148
- const headers = {
149
- Accept: "text/event-stream",
150
- "Cache-Control": "no-cache",
151
- Connection: "keep-alive",
152
- };
153
- if (token) {
154
- headers["Authorization"] = `Bearer ${token}`;
155
- }
156
- return headers;
157
- }
158
- // ==========================================================================
159
- // TOKEN VALIDATION (without cryptographic verification)
160
- // ==========================================================================
161
- /**
162
- * Check if token is present (basic validation)
163
- */
164
- export function hasToken(request) {
165
- return getTokenFromRequest(request) !== undefined;
166
- }
167
- /**
168
- * Parse JWT token payload (without verification)
169
- *
170
- * WARNING: This does NOT verify the signature. Use only for reading claims.
171
- * For verified validation, use validateSSOToken from './sso'.
172
- */
173
- export function parseJWTPayload(token) {
174
- try {
175
- const parts = token.split(".");
176
- if (parts.length !== 3) {
177
- return null;
178
- }
179
- const payload = parts[1];
180
- // Use atob for browser compatibility, Buffer for Node.js
181
- let decoded;
182
- if (typeof Buffer !== 'undefined') {
183
- decoded = Buffer.from(payload, "base64").toString("utf-8");
184
- }
185
- else if (typeof atob !== 'undefined') {
186
- decoded = atob(payload);
187
- }
188
- else {
189
- return null;
190
- }
191
- return JSON.parse(decoded);
192
- }
193
- catch (error) {
194
- console.error("Failed to parse JWT payload:", error);
195
- return null;
196
- }
197
- }
198
- /**
199
- * Check if token is expired (based on exp claim)
200
- *
201
- * WARNING: This does NOT verify the signature.
202
- */
203
- export function isTokenExpired(token) {
204
- const payload = parseJWTPayload(token);
205
- if (!payload || typeof payload.exp !== "number") {
206
- return true;
207
- }
208
- const expirationTime = payload.exp * 1000;
209
- return Date.now() >= expirationTime;
210
- }
211
- /**
212
- * Get token expiration time
213
- */
214
- export function getTokenExpiration(token) {
215
- const payload = parseJWTPayload(token);
216
- if (!payload || typeof payload.exp !== "number") {
217
- return null;
218
- }
219
- return new Date(payload.exp * 1000);
220
- }
221
- /**
222
- * Get user ID from token (sub or user_id claim)
223
- */
224
- export function getUserIdFromToken(token) {
225
- const payload = parseJWTPayload(token);
226
- if (!payload) {
227
- return null;
228
- }
229
- const sub = payload.sub;
230
- const userId = payload.user_id;
231
- if (typeof sub === "string")
232
- return sub;
233
- if (typeof userId === "string")
234
- return userId;
235
- return null;
236
- }
237
- /**
238
- * Get user email from token
239
- */
240
- export function getUserEmailFromToken(token) {
241
- const payload = parseJWTPayload(token);
242
- if (!payload) {
243
- return null;
244
- }
245
- const email = payload.email || payload.preferred_username || payload.name;
246
- return typeof email === "string" ? email : null;
247
- }
248
- /**
249
- * Get user roles from token
250
- *
251
- * Handles various role formats:
252
- * - Array of strings: ["Admin", "User"]
253
- * - Array of objects: [{ name: "Admin" }, { name: "User" }]
254
- * - Single string: "Admin"
255
- */
256
- export function getUserRolesFromToken(token) {
257
- const payload = parseJWTPayload(token);
258
- if (!payload) {
259
- return [];
260
- }
261
- const roles = payload.roles || payload.role || [];
262
- if (!Array.isArray(roles)) {
263
- return typeof roles === "string" ? [roles] : [];
264
- }
265
- return roles.map((role) => {
266
- if (typeof role === "string") {
267
- return role;
268
- }
269
- if (role && typeof role === "object" && "name" in role) {
270
- return String(role.name);
271
- }
272
- return String(role);
273
- });
274
- }
275
- /**
276
- * Check if token user has specific role
277
- *
278
- * Note: For RBAC role checks against the authz service, use hasRole from '@jazzmind/busibox-app/lib/rbac'.
279
- * This function is for quick client-side checks based on token claims.
280
- */
281
- export function tokenHasRole(token, role) {
282
- const roles = getUserRolesFromToken(token);
283
- return roles.includes(role);
284
- }
285
- /**
286
- * Check if token user is admin
287
- *
288
- * Note: For RBAC admin checks against the authz service, use isAdmin from '@jazzmind/busibox-app/lib/rbac'.
289
- * This function is for quick client-side checks based on token claims.
290
- */
291
- export function tokenIsAdmin(token) {
292
- return tokenHasRole(token, "admin") || tokenHasRole(token, "Admin");
293
- }
294
- // ==========================================================================
295
- // TOKEN REFRESH
296
- // ==========================================================================
297
- /**
298
- * Check if token needs refresh (within buffer time of expiration)
299
- *
300
- * @param token - JWT token string
301
- * @param bufferMinutes - Minutes before expiration to trigger refresh (default: 5)
302
- */
303
- export function shouldRefreshToken(token, bufferMinutes = 5) {
304
- const expiration = getTokenExpiration(token);
305
- if (!expiration) {
306
- return false;
307
- }
308
- const bufferMs = bufferMinutes * 60 * 1000;
309
- return Date.now() >= expiration.getTime() - bufferMs;
310
- }
311
- // ==========================================================================
312
- // SCOPE VALIDATION
313
- // ==========================================================================
314
- /**
315
- * Get scopes from token
316
- *
317
- * Handles both space-separated string (OAuth2 standard) and array formats.
318
- */
319
- export function getScopesFromToken(token) {
320
- const payload = parseJWTPayload(token);
321
- if (!payload) {
322
- return [];
323
- }
324
- const scopes = payload.scope || payload.scopes || [];
325
- // Handle space-separated string (OAuth2 standard)
326
- if (typeof scopes === "string") {
327
- return scopes.split(" ").filter(Boolean);
328
- }
329
- return Array.isArray(scopes) ? scopes.map(String) : [];
330
- }
331
- /**
332
- * Check if token has specific scope
333
- */
334
- export function hasScope(token, scope) {
335
- const scopes = getScopesFromToken(token);
336
- return scopes.includes(scope);
337
- }
338
- /**
339
- * Check if token has all required scopes
340
- */
341
- export function hasAllScopes(token, requiredScopes) {
342
- const scopes = getScopesFromToken(token);
343
- return requiredScopes.every((scope) => scopes.includes(scope));
344
- }
345
- //# sourceMappingURL=auth-helper.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth-helper.js","sourceRoot":"","sources":["../../../src/lib/auth/auth-helper.ts"],"names":[],"mappings":"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"}