@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,75 +0,0 @@
1
- /**
2
- * Agent API Video Client
3
- *
4
- * Thin client for proxying video operations through the Agent API.
5
- * The Agent API forwards requests to LiteLLM which holds the OpenAI key --
6
- * the Busibox Portal never sees or stores the raw API key.
7
- *
8
- * Endpoints used:
9
- * POST /llm/videos/create – create a video generation job
10
- * GET /llm/videos/{video_id} – retrieve video status
11
- * GET /llm/videos/{video_id}/content – download video bytes
12
- */
13
- const AGENT_API_URL = process.env.AGENT_API_URL ||
14
- process.env.NEXT_PUBLIC_AGENT_API_URL ||
15
- 'http://localhost:4111';
16
- // ---- Client functions ----
17
- /**
18
- * Create a video generation job via Agent API -> LiteLLM -> OpenAI.
19
- */
20
- export async function createVideoViaAgent(agentToken, params) {
21
- const body = {
22
- model: params.model ?? 'video',
23
- prompt: params.prompt,
24
- seconds: params.seconds,
25
- size: params.size,
26
- };
27
- if (params.inputReferenceBase64) {
28
- body.input_reference_base64 = params.inputReferenceBase64;
29
- body.input_reference_filename =
30
- params.inputReferenceFilename ?? `reference-${Date.now()}.jpg`;
31
- }
32
- const res = await fetch(`${AGENT_API_URL}/llm/videos/create`, {
33
- method: 'POST',
34
- headers: {
35
- Authorization: `Bearer ${agentToken}`,
36
- 'Content-Type': 'application/json',
37
- },
38
- body: JSON.stringify(body),
39
- });
40
- if (!res.ok) {
41
- const text = await res.text();
42
- throw new Error(`Agent API video creation failed (${res.status}): ${text}`);
43
- }
44
- return (await res.json());
45
- }
46
- /**
47
- * Retrieve video status via Agent API -> LiteLLM -> OpenAI.
48
- */
49
- export async function getVideoStatusViaAgent(agentToken, openaiVideoId) {
50
- const res = await fetch(`${AGENT_API_URL}/llm/videos/${openaiVideoId}`, {
51
- headers: { Authorization: `Bearer ${agentToken}` },
52
- });
53
- if (!res.ok) {
54
- const text = await res.text();
55
- throw new Error(`Agent API video status failed (${res.status}): ${text}`);
56
- }
57
- return (await res.json());
58
- }
59
- /**
60
- * Download video content bytes via Agent API -> LiteLLM -> OpenAI.
61
- *
62
- * Returns a Buffer with the full video file.
63
- */
64
- export async function downloadVideoViaAgent(agentToken, openaiVideoId) {
65
- const res = await fetch(`${AGENT_API_URL}/llm/videos/${openaiVideoId}/content`, {
66
- headers: { Authorization: `Bearer ${agentToken}` },
67
- });
68
- if (!res.ok) {
69
- const text = await res.text();
70
- throw new Error(`Agent API video content download failed (${res.status}): ${text}`);
71
- }
72
- const arrayBuffer = await res.arrayBuffer();
73
- return Buffer.from(arrayBuffer);
74
- }
75
- //# sourceMappingURL=agent-api-client.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agent-api-client.js","sourceRoot":"","sources":["../../../src/lib/videos/agent-api-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,MAAM,aAAa,GACjB,OAAO,CAAC,GAAG,CAAC,aAAa;IACzB,OAAO,CAAC,GAAG,CAAC,yBAAyB;IACrC,uBAAuB,CAAC;AAuB1B,6BAA6B;AAE7B;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,UAAkB,EAClB,MAAiC;IAEjC,MAAM,IAAI,GAA4B;QACpC,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,OAAO;QAC9B,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,IAAI,EAAE,MAAM,CAAC,IAAI;KAClB,CAAC;IAEF,IAAI,MAAM,CAAC,oBAAoB,EAAE,CAAC;QAChC,IAAI,CAAC,sBAAsB,GAAG,MAAM,CAAC,oBAAoB,CAAC;QAC1D,IAAI,CAAC,wBAAwB;YAC3B,MAAM,CAAC,sBAAsB,IAAI,aAAa,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC;IACnE,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,aAAa,oBAAoB,EAAE;QAC5D,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,aAAa,EAAE,UAAU,UAAU,EAAE;YACrC,cAAc,EAAE,kBAAkB;SACnC;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;KAC3B,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CACb,oCAAoC,GAAG,CAAC,MAAM,MAAM,IAAI,EAAE,CAC3D,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAuB,CAAC;AAClD,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,UAAkB,EAClB,aAAqB;IAErB,MAAM,GAAG,GAAG,MAAM,KAAK,CACrB,GAAG,aAAa,eAAe,aAAa,EAAE,EAC9C;QACE,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,UAAU,EAAE,EAAE;KACnD,CACF,CAAC;IAEF,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CACb,kCAAkC,GAAG,CAAC,MAAM,MAAM,IAAI,EAAE,CACzD,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAuB,CAAC;AAClD,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,UAAkB,EAClB,aAAqB;IAErB,MAAM,GAAG,GAAG,MAAM,KAAK,CACrB,GAAG,aAAa,eAAe,aAAa,UAAU,EACtD;QACE,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,UAAU,EAAE,EAAE;KACnD,CACF,CAAC;IAEF,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CACb,4CAA4C,GAAG,CAAC,MAAM,MAAM,IAAI,EAAE,CACnE,CAAC;IACJ,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,GAAG,CAAC,WAAW,EAAE,CAAC;IAC5C,OAAO,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAClC,CAAC"}
@@ -1,24 +0,0 @@
1
- import { ReferenceMediaUpload } from '../../types/video';
2
- interface CreateVideoJobParams {
3
- ownerId: string;
4
- prompt: string;
5
- durationSeconds: number;
6
- resolution: string;
7
- referenceMedia?: ReferenceMediaUpload;
8
- accessToken: string;
9
- roleIds: string[];
10
- /** Token for Agent API (video operations are proxied through Agent API -> LiteLLM) */
11
- agentAccessToken: string;
12
- }
13
- export declare function createVideoJob({ ownerId, prompt, durationSeconds, resolution, referenceMedia, accessToken, roleIds, agentAccessToken, }: CreateVideoJobParams): Promise<{
14
- id: any;
15
- openaiVideoId: any;
16
- status: any;
17
- prompt: any;
18
- durationSeconds: any;
19
- resolution: any;
20
- createdAt: any;
21
- hasReferenceMedia: boolean;
22
- }>;
23
- export {};
24
- //# sourceMappingURL=creation.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"creation.d.ts","sourceRoot":"","sources":["../../../src/lib/videos/creation.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAUzD,UAAU,oBAAoB;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,oBAAoB,CAAC;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,sFAAsF;IACtF,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAsB,cAAc,CAAC,EACnC,OAAO,EACP,MAAM,EACN,eAAe,EACf,UAAU,EACV,cAAc,EACd,WAAW,EACX,OAAO,EACP,gBAAgB,GACjB,EAAE,oBAAoB;;;;;;;;;GAmHtB"}
@@ -1,112 +0,0 @@
1
- import { validateBase64ReferenceMedia } from './upload';
2
- import { resizeReferenceImage } from './image-resize';
3
- import { VideoStatus, VideoVisibility } from '../../types/video';
4
- import { createVideo, createVideoReferenceMedia, } from '../stores/video-store';
5
- import { createVideoViaAgent } from './agent-api-client';
6
- const ALLOWED_DURATIONS = [4, 8, 12];
7
- export async function createVideoJob({ ownerId, prompt, durationSeconds, resolution, referenceMedia, accessToken, roleIds, agentAccessToken, }) {
8
- if (!prompt || typeof prompt !== 'string' || prompt.trim().length === 0) {
9
- throw new Error('Prompt is required and must be a non-empty string');
10
- }
11
- if (!ALLOWED_DURATIONS.includes(durationSeconds)) {
12
- throw new Error(`Duration must be one of: ${ALLOWED_DURATIONS.join(', ')} seconds`);
13
- }
14
- if (referenceMedia) {
15
- const { base64, fileType, format, fileSizeBytes } = referenceMedia;
16
- if (!base64 || !fileType || !format || !fileSizeBytes) {
17
- throw new Error('Invalid reference media: missing required fields');
18
- }
19
- const validation = validateBase64ReferenceMedia(base64);
20
- if (!validation.valid) {
21
- throw new Error(validation.error || 'Invalid reference media');
22
- }
23
- }
24
- // Build params for Agent API proxy
25
- let inputReferenceBase64;
26
- let inputReferenceFilename;
27
- // Handle reference media - resize image and send as base64 to Agent API
28
- if (referenceMedia?.base64 && referenceMedia.fileType === 'image') {
29
- console.log(`[VIDEO CREATION] Resizing reference image to match video resolution: ${resolution}`);
30
- inputReferenceBase64 = await resizeReferenceImage(referenceMedia.base64, resolution);
31
- inputReferenceFilename = `reference-${Date.now()}.jpg`;
32
- console.log('[VIDEO CREATION] Added resized reference image for video generation');
33
- }
34
- else if (referenceMedia?.base64 && referenceMedia.fileType === 'video') {
35
- console.warn('[VIDEO CREATION] Video reference media provided - video references may not be fully supported');
36
- }
37
- console.log('Generating video with params:', {
38
- model: 'video',
39
- prompt: prompt.trim(),
40
- seconds: durationSeconds.toString(),
41
- size: resolution,
42
- hasReferenceMedia: !!referenceMedia,
43
- referenceMediaType: referenceMedia?.fileType,
44
- });
45
- // Call Agent API which proxies to LiteLLM -> OpenAI
46
- // Uses 'video' purpose name which LiteLLM resolves to the configured video model
47
- const openaiResponse = await createVideoViaAgent(agentAccessToken, {
48
- model: 'video',
49
- prompt: prompt.trim(),
50
- seconds: durationSeconds.toString(),
51
- size: resolution,
52
- inputReferenceBase64,
53
- inputReferenceFilename,
54
- });
55
- // Map OpenAI status to our VideoStatus enum
56
- // OpenAI uses: "queued" | "in_progress" | "completed" | "failed"
57
- let initialStatus;
58
- switch (openaiResponse.status) {
59
- case 'queued':
60
- initialStatus = VideoStatus.QUEUED;
61
- break;
62
- case 'in_progress':
63
- initialStatus = VideoStatus.PROCESSING;
64
- break;
65
- case 'completed':
66
- initialStatus = VideoStatus.COMPLETED;
67
- break;
68
- case 'failed':
69
- initialStatus = VideoStatus.FAILED;
70
- break;
71
- default:
72
- initialStatus = VideoStatus.QUEUED;
73
- }
74
- const videoInput = {
75
- ownerId,
76
- openaiVideoId: openaiResponse.id,
77
- prompt: prompt.trim(),
78
- durationSeconds,
79
- resolution,
80
- status: initialStatus,
81
- progress: openaiResponse.progress || null,
82
- visibility: VideoVisibility.PRIVATE,
83
- openaiModel: 'video',
84
- completedAt: null,
85
- expiresAt: null,
86
- downloadUrl: null,
87
- posterUrl: null,
88
- errorMessage: null,
89
- };
90
- const video = await createVideo(accessToken, roleIds, videoInput);
91
- if (referenceMedia) {
92
- await createVideoReferenceMedia(accessToken, roleIds, {
93
- videoId: video.id,
94
- fileType: referenceMedia.fileType,
95
- format: referenceMedia.format,
96
- fileSizeBytes: referenceMedia.fileSizeBytes,
97
- base64Data: referenceMedia.base64,
98
- });
99
- }
100
- console.log('Created video record:', video.id, 'with status:', video.status);
101
- return {
102
- id: video.id,
103
- openaiVideoId: openaiResponse.id,
104
- status: video.status,
105
- prompt: video.prompt,
106
- durationSeconds: video.durationSeconds,
107
- resolution: video.resolution,
108
- createdAt: video.createdAt,
109
- hasReferenceMedia: !!referenceMedia,
110
- };
111
- }
112
- //# sourceMappingURL=creation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"creation.js","sourceRoot":"","sources":["../../../src/lib/videos/creation.ts"],"names":[],"mappings":"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"}
@@ -1,13 +0,0 @@
1
- /**
2
- * Expiration tracking utilities for video content.
3
- *
4
- * OpenAI stores videos temporarily (~7 days after completion).
5
- */
6
- import type { VideoExpirationStatus } from '../../types/video';
7
- export declare function calculateExpirationDate(completedAt: Date): Date;
8
- export declare function getExpirationStatus(expiresAt: Date | null): VideoExpirationStatus | null;
9
- export declare function formatExpirationDate(expiresAt: Date): string;
10
- export declare function isExpiringSoon(expiresAt: Date | null): boolean;
11
- export declare function hasExpired(expiresAt: Date | null): boolean;
12
- export declare function getTimeRemaining(expiresAt: Date | null): string;
13
- //# sourceMappingURL=expiration.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"expiration.d.ts","sourceRoot":"","sources":["../../../src/lib/videos/expiration.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAK/D,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,IAAI,GAAG,IAAI,CAI/D;AAED,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,IAAI,GAAG,IAAI,GAAG,qBAAqB,GAAG,IAAI,CAgDxF;AAED,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,IAAI,GAAG,MAAM,CAK5D;AAED,wBAAgB,cAAc,CAAC,SAAS,EAAE,IAAI,GAAG,IAAI,GAAG,OAAO,CAK9D;AAED,wBAAgB,UAAU,CAAC,SAAS,EAAE,IAAI,GAAG,IAAI,GAAG,OAAO,CAI1D;AAED,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,IAAI,GAAG,IAAI,GAAG,MAAM,CAmB/D"}
@@ -1,95 +0,0 @@
1
- /**
2
- * Expiration tracking utilities for video content.
3
- *
4
- * OpenAI stores videos temporarily (~7 days after completion).
5
- */
6
- import { EXPIRATION_THRESHOLDS } from '../../types/video';
7
- const OPENAI_RETENTION_PERIOD_DAYS = 7;
8
- export function calculateExpirationDate(completedAt) {
9
- const expires = new Date(completedAt);
10
- expires.setDate(expires.getDate() + OPENAI_RETENTION_PERIOD_DAYS);
11
- return expires;
12
- }
13
- export function getExpirationStatus(expiresAt) {
14
- if (!expiresAt)
15
- return null;
16
- const now = new Date();
17
- const hoursRemaining = (expiresAt.getTime() - now.getTime()) / (1000 * 60 * 60);
18
- const daysRemaining = Math.ceil(hoursRemaining / 24);
19
- if (hoursRemaining <= 0) {
20
- return {
21
- status: 'expired',
22
- severity: 'critical',
23
- hoursRemaining: null,
24
- daysRemaining: null,
25
- label: 'Expired',
26
- badgeClass: 'bg-gray-100 text-gray-800',
27
- };
28
- }
29
- if (hoursRemaining <= EXPIRATION_THRESHOLDS.CRITICAL) {
30
- return {
31
- status: 'expires-soon',
32
- severity: 'critical',
33
- hoursRemaining: Math.ceil(hoursRemaining),
34
- daysRemaining,
35
- label: `Expires in ${Math.ceil(hoursRemaining)} hours`,
36
- badgeClass: 'bg-red-100 text-red-800',
37
- };
38
- }
39
- if (hoursRemaining <= EXPIRATION_THRESHOLDS.WARNING) {
40
- return {
41
- status: 'expires-soon',
42
- severity: 'warning',
43
- hoursRemaining: Math.ceil(hoursRemaining),
44
- daysRemaining,
45
- label: `Expires in ${daysRemaining} days`,
46
- badgeClass: 'bg-orange-100 text-orange-800',
47
- };
48
- }
49
- return {
50
- status: 'active',
51
- severity: 'normal',
52
- hoursRemaining: Math.ceil(hoursRemaining),
53
- daysRemaining,
54
- label: `Expires in ${daysRemaining} days`,
55
- badgeClass: 'bg-blue-100 text-blue-800',
56
- };
57
- }
58
- export function formatExpirationDate(expiresAt) {
59
- return new Intl.DateTimeFormat('en-US', {
60
- dateStyle: 'medium',
61
- timeStyle: 'short',
62
- }).format(expiresAt);
63
- }
64
- export function isExpiringSoon(expiresAt) {
65
- if (!expiresAt)
66
- return false;
67
- const now = new Date();
68
- const hoursRemaining = (expiresAt.getTime() - now.getTime()) / (1000 * 60 * 60);
69
- return hoursRemaining > 0 && hoursRemaining <= EXPIRATION_THRESHOLDS.WARNING;
70
- }
71
- export function hasExpired(expiresAt) {
72
- if (!expiresAt)
73
- return false;
74
- const now = new Date();
75
- return expiresAt.getTime() <= now.getTime();
76
- }
77
- export function getTimeRemaining(expiresAt) {
78
- if (!expiresAt)
79
- return 'Unknown';
80
- const now = new Date();
81
- const msRemaining = expiresAt.getTime() - now.getTime();
82
- if (msRemaining <= 0)
83
- return 'Expired';
84
- const hoursRemaining = Math.floor(msRemaining / (1000 * 60 * 60));
85
- const daysRemaining = Math.floor(hoursRemaining / 24);
86
- const remainingHours = hoursRemaining % 24;
87
- if (daysRemaining > 0) {
88
- if (remainingHours > 0) {
89
- return `${daysRemaining} day${daysRemaining > 1 ? 's' : ''}, ${remainingHours} hour${remainingHours > 1 ? 's' : ''}`;
90
- }
91
- return `${daysRemaining} day${daysRemaining > 1 ? 's' : ''}`;
92
- }
93
- return `${hoursRemaining} hour${hoursRemaining > 1 ? 's' : ''}`;
94
- }
95
- //# sourceMappingURL=expiration.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"expiration.js","sourceRoot":"","sources":["../../../src/lib/videos/expiration.ts"],"names":[],"mappings":"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"}
@@ -1,42 +0,0 @@
1
- /**
2
- * Image Resizing Utilities for Video Reference Images
3
- *
4
- * Resizes reference images to match the video resolution before passing to OpenAI.
5
- * OpenAI requires reference images to match the video resolution exactly.
6
- */
7
- /**
8
- * Parse video resolution string to width and height
9
- *
10
- * @param resolution - Resolution string like "1920x1080" or "1080x1920"
11
- * @returns Object with width and height, or null if invalid
12
- */
13
- export declare function parseResolution(resolution: string): {
14
- width: number;
15
- height: number;
16
- } | null;
17
- /**
18
- * Convert base64 data URL to File object
19
- *
20
- * @param base64Data - Base64 data URL (e.g., "data:image/jpeg;base64,...")
21
- * @param filename - Optional filename for the File object
22
- * @returns File object
23
- */
24
- export declare function base64ToFile(base64Data: string, filename?: string): File;
25
- /**
26
- * Resize a base64 image to match video resolution
27
- *
28
- * @param base64Data - Base64 data URL (e.g., "data:image/jpeg;base64,...")
29
- * @param targetWidth - Target width in pixels
30
- * @param targetHeight - Target height in pixels
31
- * @returns Promise resolving to resized base64 data URL
32
- */
33
- export declare function resizeBase64Image(base64Data: string, targetWidth: number, targetHeight: number): Promise<string>;
34
- /**
35
- * Resize reference image to match video resolution
36
- *
37
- * @param base64Data - Base64 data URL of the reference image
38
- * @param videoResolution - Video resolution string (e.g., "1920x1080")
39
- * @returns Promise resolving to resized base64 data URL
40
- */
41
- export declare function resizeReferenceImage(base64Data: string, videoResolution: string): Promise<string>;
42
- //# sourceMappingURL=image-resize.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"image-resize.d.ts","sourceRoot":"","sources":["../../../src/lib/videos/image-resize.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAU5F;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,GAAE,MAA8B,GAAG,IAAI,CAqB/F;AAED;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CACrC,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,CAAC,CAuCjB;AAED;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CACxC,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,MAAM,CAAC,CASjB"}
@@ -1,106 +0,0 @@
1
- /**
2
- * Image Resizing Utilities for Video Reference Images
3
- *
4
- * Resizes reference images to match the video resolution before passing to OpenAI.
5
- * OpenAI requires reference images to match the video resolution exactly.
6
- */
7
- /**
8
- * Parse video resolution string to width and height
9
- *
10
- * @param resolution - Resolution string like "1920x1080" or "1080x1920"
11
- * @returns Object with width and height, or null if invalid
12
- */
13
- export function parseResolution(resolution) {
14
- const match = resolution.match(/^(\d+)x(\d+)$/);
15
- if (!match) {
16
- return null;
17
- }
18
- return {
19
- width: parseInt(match[1], 10),
20
- height: parseInt(match[2], 10),
21
- };
22
- }
23
- /**
24
- * Convert base64 data URL to File object
25
- *
26
- * @param base64Data - Base64 data URL (e.g., "data:image/jpeg;base64,...")
27
- * @param filename - Optional filename for the File object
28
- * @returns File object
29
- */
30
- export function base64ToFile(base64Data, filename = 'reference-image.jpg') {
31
- // Extract base64 data and mime type
32
- const base64Match = base64Data.match(/^data:image\/(\w+);base64,(.+)$/);
33
- if (!base64Match) {
34
- throw new Error('Invalid base64 data URL format');
35
- }
36
- const [, format, base64String] = base64Match;
37
- const imageBuffer = Buffer.from(base64String, 'base64');
38
- // Determine MIME type
39
- const mimeType = format === 'jpg' ? 'image/jpeg' : `image/${format}`;
40
- // Create File object from buffer
41
- // Node.js 18+ has File available globally
42
- // The OpenAI SDK expects a File object (which extends Blob) for multipart/form-data uploads
43
- if (typeof File === 'undefined') {
44
- throw new Error('File API not available. Requires Node.js 18+ or newer.');
45
- }
46
- return new File([imageBuffer], filename, { type: mimeType });
47
- }
48
- /**
49
- * Resize a base64 image to match video resolution
50
- *
51
- * @param base64Data - Base64 data URL (e.g., "data:image/jpeg;base64,...")
52
- * @param targetWidth - Target width in pixels
53
- * @param targetHeight - Target height in pixels
54
- * @returns Promise resolving to resized base64 data URL
55
- */
56
- export async function resizeBase64Image(base64Data, targetWidth, targetHeight) {
57
- try {
58
- // Dynamic import of sharp (may not be available in all environments)
59
- const sharp = await import('sharp').catch(() => null);
60
- if (!sharp) {
61
- console.warn('[IMAGE RESIZE] sharp not available, returning original image');
62
- return base64Data;
63
- }
64
- // Extract base64 data (remove data URL prefix)
65
- const base64Match = base64Data.match(/^data:image\/(\w+);base64,(.+)$/);
66
- if (!base64Match) {
67
- throw new Error('Invalid base64 data URL format');
68
- }
69
- const [, format, base64String] = base64Match;
70
- const imageBuffer = Buffer.from(base64String, 'base64');
71
- // Resize image to match video resolution
72
- // Using 'cover' fit to fill the entire area (may crop)
73
- // Using 'contain' would preserve aspect ratio but may add padding
74
- const resizedBuffer = await sharp.default(imageBuffer)
75
- .resize(targetWidth, targetHeight, {
76
- fit: 'cover', // Fill the entire area, may crop edges
77
- position: 'center', // Center the image when cropping
78
- })
79
- .toBuffer();
80
- // Convert back to base64 data URL
81
- const resizedBase64 = resizedBuffer.toString('base64');
82
- const mimeType = format === 'jpg' ? 'image/jpeg' : `image/${format}`;
83
- return `data:${mimeType};base64,${resizedBase64}`;
84
- }
85
- catch (error) {
86
- console.error('[IMAGE RESIZE] Failed to resize image:', error);
87
- // Return original if resize fails
88
- return base64Data;
89
- }
90
- }
91
- /**
92
- * Resize reference image to match video resolution
93
- *
94
- * @param base64Data - Base64 data URL of the reference image
95
- * @param videoResolution - Video resolution string (e.g., "1920x1080")
96
- * @returns Promise resolving to resized base64 data URL
97
- */
98
- export async function resizeReferenceImage(base64Data, videoResolution) {
99
- const resolution = parseResolution(videoResolution);
100
- if (!resolution) {
101
- console.warn(`[IMAGE RESIZE] Invalid resolution format: ${videoResolution}, returning original`);
102
- return base64Data;
103
- }
104
- return resizeBase64Image(base64Data, resolution.width, resolution.height);
105
- }
106
- //# sourceMappingURL=image-resize.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"image-resize.js","sourceRoot":"","sources":["../../../src/lib/videos/image-resize.ts"],"names":[],"mappings":"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"}
@@ -1,35 +0,0 @@
1
- /**
2
- * Video Processing Utilities
3
- *
4
- * Functions for downloading videos, extracting poster frames,
5
- * and storing them using the data service (MinIO).
6
- *
7
- * NOTE: Videos are stored but NOT processed. This means:
8
- * - Videos are uploaded to MinIO and stored permanently
9
- * - No transcript generation
10
- * - No frame sampling for descriptions
11
- * - No analysis or metadata extraction
12
- *
13
- * Processing (transcript, frame sampling, description generation) will be added later.
14
- * For now, videos are simply stored for retrieval/download.
15
- */
16
- export interface VideoStorageResult {
17
- /** URL to the stored video file */
18
- videoUrl: string;
19
- /** URL to the stored poster/thumbnail image */
20
- posterUrl: string;
21
- /** Size of the video in bytes */
22
- videoSize: number;
23
- /** Size of the poster in bytes */
24
- posterSize: number;
25
- }
26
- /**
27
- * Download video from OpenAI and store it with a poster image
28
- *
29
- * @param videoId - Our internal video ID
30
- * @param openaiVideoId - OpenAI's video ID
31
- * @param userId - User ID who owns the video
32
- * @returns URLs and sizes for the stored video and poster
33
- */
34
- export declare function downloadAndStoreVideo(videoId: string, openaiVideoId: string, userId: string, agentAccessToken?: string): Promise<VideoStorageResult>;
35
- //# sourceMappingURL=processing.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"processing.d.ts","sourceRoot":"","sources":["../../../src/lib/videos/processing.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAMH,MAAM,WAAW,kBAAkB;IACjC,mCAAmC;IACnC,QAAQ,EAAE,MAAM,CAAA;IAChB,+CAA+C;IAC/C,SAAS,EAAE,MAAM,CAAA;IACjB,iCAAiC;IACjC,SAAS,EAAE,MAAM,CAAA;IACjB,kCAAkC;IAClC,UAAU,EAAE,MAAM,CAAA;CACnB;AA8GD;;;;;;;GAOG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,MAAM,EACd,gBAAgB,CAAC,EAAE,MAAM,GACxB,OAAO,CAAC,kBAAkB,CAAC,CA4D7B"}