@brokr/sdk 1.0.0 → 2.1.0

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 (298) hide show
  1. package/dist/account.js +34 -0
  2. package/dist/account.mjs +7 -0
  3. package/dist/auth.js +628 -114
  4. package/dist/auth.mjs +611 -111
  5. package/dist/chat.js +34 -0
  6. package/dist/chat.mjs +7 -0
  7. package/dist/events.js +64 -0
  8. package/dist/events.mjs +37 -0
  9. package/dist/feature.js +6304 -0
  10. package/dist/feature.mjs +6278 -0
  11. package/dist/files.js +428 -0
  12. package/dist/files.mjs +408 -0
  13. package/dist/index.d.ts +18 -2
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +4069 -454
  16. package/dist/index.mjs +4040 -448
  17. package/dist/logs.js +148 -0
  18. package/dist/logs.mjs +124 -0
  19. package/dist/management.js +14 -13
  20. package/dist/management.mjs +14 -13
  21. package/dist/next.js +2725 -0
  22. package/dist/next.mjs +2710 -0
  23. package/dist/notifications.js +140 -0
  24. package/dist/notifications.mjs +110 -0
  25. package/dist/payments.js +32 -0
  26. package/dist/payments.mjs +7 -0
  27. package/dist/react-notifications.js +299 -0
  28. package/dist/react-notifications.mjs +267 -0
  29. package/dist/react-styles.js +2756 -0
  30. package/dist/react-styles.mjs +2720 -0
  31. package/dist/react-theme.js +4196 -0
  32. package/dist/react-theme.mjs +4172 -0
  33. package/dist/react.js +8591 -209
  34. package/dist/react.mjs +8571 -183
  35. package/dist/runtime.js +2113 -385
  36. package/dist/runtime.mjs +2085 -397
  37. package/dist/src/account/config.d.ts +42 -0
  38. package/dist/src/account/config.d.ts.map +1 -0
  39. package/dist/src/account/index.d.ts +3 -0
  40. package/dist/src/account/index.d.ts.map +1 -0
  41. package/dist/src/ai/client.d.ts +58 -0
  42. package/dist/src/ai/client.d.ts.map +1 -0
  43. package/dist/src/ai/conversation-title.d.ts +13 -0
  44. package/dist/src/ai/conversation-title.d.ts.map +1 -0
  45. package/dist/src/ai/types.d.ts +81 -0
  46. package/dist/src/ai/types.d.ts.map +1 -0
  47. package/dist/src/auth.d.ts +133 -20
  48. package/dist/src/auth.d.ts.map +1 -1
  49. package/dist/src/chat/config.d.ts +61 -0
  50. package/dist/src/chat/config.d.ts.map +1 -0
  51. package/dist/src/chat/index.d.ts +3 -0
  52. package/dist/src/chat/index.d.ts.map +1 -0
  53. package/dist/src/chat/sse-parser.d.ts +44 -0
  54. package/dist/src/chat/sse-parser.d.ts.map +1 -0
  55. package/dist/src/dev-console.d.ts +18 -0
  56. package/dist/src/dev-console.d.ts.map +1 -0
  57. package/dist/src/email/client.d.ts +33 -0
  58. package/dist/src/email/client.d.ts.map +1 -0
  59. package/dist/src/email/templates.d.ts +15 -0
  60. package/dist/src/email/templates.d.ts.map +1 -0
  61. package/dist/src/email/types.d.ts +35 -0
  62. package/dist/src/email/types.d.ts.map +1 -0
  63. package/dist/src/env-detect.d.ts +25 -0
  64. package/dist/src/env-detect.d.ts.map +1 -0
  65. package/dist/src/errors.d.ts +53 -0
  66. package/dist/src/errors.d.ts.map +1 -0
  67. package/dist/src/events/client.d.ts +25 -0
  68. package/dist/src/events/client.d.ts.map +1 -0
  69. package/dist/src/events/index.d.ts +9 -0
  70. package/dist/src/events/index.d.ts.map +1 -0
  71. package/dist/src/events/types.d.ts +10 -0
  72. package/dist/src/events/types.d.ts.map +1 -0
  73. package/dist/src/feature/canonical.d.ts +33 -0
  74. package/dist/src/feature/canonical.d.ts.map +1 -0
  75. package/dist/src/feature/create-feature.d.ts +33 -0
  76. package/dist/src/feature/create-feature.d.ts.map +1 -0
  77. package/dist/src/feature/db.d.ts +16 -0
  78. package/dist/src/feature/db.d.ts.map +1 -0
  79. package/dist/src/feature/handlers.d.ts +28 -0
  80. package/dist/src/feature/handlers.d.ts.map +1 -0
  81. package/dist/src/feature/index.d.ts +21 -0
  82. package/dist/src/feature/index.d.ts.map +1 -0
  83. package/dist/src/feature/manifest.d.ts +173 -0
  84. package/dist/src/feature/manifest.d.ts.map +1 -0
  85. package/dist/src/feature/mapping.d.ts +18 -0
  86. package/dist/src/feature/mapping.d.ts.map +1 -0
  87. package/dist/src/feature/runtime.d.ts +45 -0
  88. package/dist/src/feature/runtime.d.ts.map +1 -0
  89. package/dist/src/feature/types.d.ts +65 -0
  90. package/dist/src/feature/types.d.ts.map +1 -0
  91. package/dist/src/files/client.d.ts +28 -0
  92. package/dist/src/files/client.d.ts.map +1 -0
  93. package/dist/src/files/types.d.ts +28 -0
  94. package/dist/src/files/types.d.ts.map +1 -0
  95. package/dist/src/fix-registry.d.ts +8 -0
  96. package/dist/src/fix-registry.d.ts.map +1 -0
  97. package/dist/src/gateway.d.ts +32 -0
  98. package/dist/src/gateway.d.ts.map +1 -0
  99. package/dist/src/logs/capture.d.ts +56 -0
  100. package/dist/src/logs/capture.d.ts.map +1 -0
  101. package/dist/src/logs/index.d.ts +2 -0
  102. package/dist/src/logs/index.d.ts.map +1 -0
  103. package/dist/src/management.d.ts +1 -1
  104. package/dist/src/management.d.ts.map +1 -1
  105. package/dist/src/models.d.ts +32 -0
  106. package/dist/src/models.d.ts.map +1 -0
  107. package/dist/src/next/auth.d.ts +54 -0
  108. package/dist/src/next/auth.d.ts.map +1 -0
  109. package/dist/src/next/chat.d.ts +31 -0
  110. package/dist/src/next/chat.d.ts.map +1 -0
  111. package/dist/src/next/index.d.ts +14 -0
  112. package/dist/src/next/index.d.ts.map +1 -0
  113. package/dist/src/next/notifications.d.ts +67 -0
  114. package/dist/src/next/notifications.d.ts.map +1 -0
  115. package/dist/src/notifications/built-ins.d.ts +9 -0
  116. package/dist/src/notifications/built-ins.d.ts.map +1 -0
  117. package/dist/src/notifications/client.d.ts +38 -0
  118. package/dist/src/notifications/client.d.ts.map +1 -0
  119. package/dist/src/notifications/config.d.ts +71 -0
  120. package/dist/src/notifications/config.d.ts.map +1 -0
  121. package/dist/src/notifications/index.d.ts +6 -0
  122. package/dist/src/notifications/index.d.ts.map +1 -0
  123. package/dist/src/notifications/registry.d.ts +67 -0
  124. package/dist/src/notifications/registry.d.ts.map +1 -0
  125. package/dist/src/notifications/types.d.ts +48 -0
  126. package/dist/src/notifications/types.d.ts.map +1 -0
  127. package/dist/src/payments/client.d.ts +64 -0
  128. package/dist/src/payments/client.d.ts.map +1 -0
  129. package/dist/src/payments/config.d.ts +46 -0
  130. package/dist/src/payments/config.d.ts.map +1 -0
  131. package/dist/src/payments/entitlements.d.ts +48 -0
  132. package/dist/src/payments/entitlements.d.ts.map +1 -0
  133. package/dist/src/payments/types.d.ts +135 -0
  134. package/dist/src/payments/types.d.ts.map +1 -0
  135. package/dist/src/react/BrokrErrorBoundary.d.ts +23 -0
  136. package/dist/src/react/BrokrErrorBoundary.d.ts.map +1 -0
  137. package/dist/src/react/account/AccountPanel.d.ts +12 -0
  138. package/dist/src/react/account/AccountPanel.d.ts.map +1 -0
  139. package/dist/src/react/account/Avatar.d.ts +11 -0
  140. package/dist/src/react/account/Avatar.d.ts.map +1 -0
  141. package/dist/src/react/account/ProfilePhotoButton.d.ts +7 -0
  142. package/dist/src/react/account/ProfilePhotoButton.d.ts.map +1 -0
  143. package/dist/src/react/account/UserButton.d.ts +7 -0
  144. package/dist/src/react/account/UserButton.d.ts.map +1 -0
  145. package/dist/src/react/auth-pages/AuthPageShell.d.ts +9 -0
  146. package/dist/src/react/auth-pages/AuthPageShell.d.ts.map +1 -0
  147. package/dist/src/react/auth-pages/SignInPage.d.ts +9 -0
  148. package/dist/src/react/auth-pages/SignInPage.d.ts.map +1 -0
  149. package/dist/src/react/auth-pages/SignUpPage.d.ts +8 -0
  150. package/dist/src/react/auth-pages/SignUpPage.d.ts.map +1 -0
  151. package/dist/src/react/auth.d.ts +1 -49
  152. package/dist/src/react/auth.d.ts.map +1 -1
  153. package/dist/src/react/chat/AIChat.d.ts +4 -0
  154. package/dist/src/react/chat/AIChat.d.ts.map +1 -0
  155. package/dist/src/react/chat/ChatContext.d.ts +76 -0
  156. package/dist/src/react/chat/ChatContext.d.ts.map +1 -0
  157. package/dist/src/react/chat/ChatInput.d.ts +3 -0
  158. package/dist/src/react/chat/ChatInput.d.ts.map +1 -0
  159. package/dist/src/react/chat/MarkdownRenderer.d.ts +5 -0
  160. package/dist/src/react/chat/MarkdownRenderer.d.ts.map +1 -0
  161. package/dist/src/react/chat/MessageBubble.d.ts +14 -0
  162. package/dist/src/react/chat/MessageBubble.d.ts.map +1 -0
  163. package/dist/src/react/chat/MessagePane.d.ts +10 -0
  164. package/dist/src/react/chat/MessagePane.d.ts.map +1 -0
  165. package/dist/src/react/chat/ModelSelector.d.ts +13 -0
  166. package/dist/src/react/chat/ModelSelector.d.ts.map +1 -0
  167. package/dist/src/react/chat/ThreadSidebar.d.ts +3 -0
  168. package/dist/src/react/chat/ThreadSidebar.d.ts.map +1 -0
  169. package/dist/src/react/chat/index.d.ts +5 -0
  170. package/dist/src/react/chat/index.d.ts.map +1 -0
  171. package/dist/src/react/chat/token-limit.d.ts +14 -0
  172. package/dist/src/react/chat/token-limit.d.ts.map +1 -0
  173. package/dist/src/react/chat/types.d.ts +65 -0
  174. package/dist/src/react/chat/types.d.ts.map +1 -0
  175. package/dist/src/react/chat/useChat.d.ts +57 -0
  176. package/dist/src/react/chat/useChat.d.ts.map +1 -0
  177. package/dist/src/react/composites/FabAI.d.ts +15 -0
  178. package/dist/src/react/composites/FabAI.d.ts.map +1 -0
  179. package/dist/src/react/composites/FeedbackWidget.d.ts +10 -0
  180. package/dist/src/react/composites/FeedbackWidget.d.ts.map +1 -0
  181. package/dist/src/react/composites/SmartUpload.d.ts +12 -0
  182. package/dist/src/react/composites/SmartUpload.d.ts.map +1 -0
  183. package/dist/src/react/config.d.ts +23 -0
  184. package/dist/src/react/config.d.ts.map +1 -0
  185. package/dist/src/react/context.d.ts +4 -0
  186. package/dist/src/react/context.d.ts.map +1 -0
  187. package/dist/src/react/css/account.d.ts +2 -0
  188. package/dist/src/react/css/account.d.ts.map +1 -0
  189. package/dist/src/react/css/animations.d.ts +2 -0
  190. package/dist/src/react/css/animations.d.ts.map +1 -0
  191. package/dist/src/react/css/auth.d.ts +2 -0
  192. package/dist/src/react/css/auth.d.ts.map +1 -0
  193. package/dist/src/react/css/chat-extras.d.ts +2 -0
  194. package/dist/src/react/css/chat-extras.d.ts.map +1 -0
  195. package/dist/src/react/css/chat.d.ts +2 -0
  196. package/dist/src/react/css/chat.d.ts.map +1 -0
  197. package/dist/src/react/css/composites.d.ts +2 -0
  198. package/dist/src/react/css/composites.d.ts.map +1 -0
  199. package/dist/src/react/css/gates.d.ts +2 -0
  200. package/dist/src/react/css/gates.d.ts.map +1 -0
  201. package/dist/src/react/css/index.d.ts +3 -0
  202. package/dist/src/react/css/index.d.ts.map +1 -0
  203. package/dist/src/react/css/markdown.d.ts +2 -0
  204. package/dist/src/react/css/markdown.d.ts.map +1 -0
  205. package/dist/src/react/css/notifications.d.ts +2 -0
  206. package/dist/src/react/css/notifications.d.ts.map +1 -0
  207. package/dist/src/react/css/primitives.d.ts +2 -0
  208. package/dist/src/react/css/primitives.d.ts.map +1 -0
  209. package/dist/src/react/css/reset.d.ts +2 -0
  210. package/dist/src/react/css/reset.d.ts.map +1 -0
  211. package/dist/src/react/css/responsive.d.ts +2 -0
  212. package/dist/src/react/css/responsive.d.ts.map +1 -0
  213. package/dist/src/react/css/skeleton.d.ts +2 -0
  214. package/dist/src/react/css/skeleton.d.ts.map +1 -0
  215. package/dist/src/react/css/tokens.d.ts +2 -0
  216. package/dist/src/react/css/tokens.d.ts.map +1 -0
  217. package/dist/src/react/gates/AuthWall.d.ts +7 -0
  218. package/dist/src/react/gates/AuthWall.d.ts.map +1 -0
  219. package/dist/src/react/gates/BillingBoundary.d.ts +4 -0
  220. package/dist/src/react/gates/BillingBoundary.d.ts.map +1 -0
  221. package/dist/src/react/gates/Gate.d.ts +9 -0
  222. package/dist/src/react/gates/Gate.d.ts.map +1 -0
  223. package/dist/src/react/gates/RequirePlan.d.ts +4 -0
  224. package/dist/src/react/gates/RequirePlan.d.ts.map +1 -0
  225. package/dist/src/react/gates/RequireUser.d.ts +4 -0
  226. package/dist/src/react/gates/RequireUser.d.ts.map +1 -0
  227. package/dist/src/react/gates/UsageGate.d.ts +4 -0
  228. package/dist/src/react/gates/UsageGate.d.ts.map +1 -0
  229. package/dist/src/react/helpers.d.ts +7 -0
  230. package/dist/src/react/helpers.d.ts.map +1 -0
  231. package/dist/src/react/hooks/use-theme.d.ts +15 -0
  232. package/dist/src/react/hooks/use-theme.d.ts.map +1 -0
  233. package/dist/src/react/hooks/use-user.d.ts +12 -0
  234. package/dist/src/react/hooks/use-user.d.ts.map +1 -0
  235. package/dist/src/react/icons.d.ts +26 -0
  236. package/dist/src/react/icons.d.ts.map +1 -0
  237. package/dist/src/react/index.d.ts +48 -0
  238. package/dist/src/react/index.d.ts.map +1 -0
  239. package/dist/src/react/notifications/NotificationBell.d.ts +7 -0
  240. package/dist/src/react/notifications/NotificationBell.d.ts.map +1 -0
  241. package/dist/src/react/notifications/NotificationList.d.ts +7 -0
  242. package/dist/src/react/notifications/NotificationList.d.ts.map +1 -0
  243. package/dist/src/react/notifications/Toast.d.ts +13 -0
  244. package/dist/src/react/notifications/Toast.d.ts.map +1 -0
  245. package/dist/src/react/notifications/index.d.ts +8 -0
  246. package/dist/src/react/notifications/index.d.ts.map +1 -0
  247. package/dist/src/react/notifications/provider.d.ts +14 -0
  248. package/dist/src/react/notifications/provider.d.ts.map +1 -0
  249. package/dist/src/react/notifications/use-notifications.d.ts +24 -0
  250. package/dist/src/react/notifications/use-notifications.d.ts.map +1 -0
  251. package/dist/src/react/payments/AutoReloadToggle.d.ts +6 -0
  252. package/dist/src/react/payments/AutoReloadToggle.d.ts.map +1 -0
  253. package/dist/src/react/payments/Balance.d.ts +8 -0
  254. package/dist/src/react/payments/Balance.d.ts.map +1 -0
  255. package/dist/src/react/payments/CancelSubscription.d.ts +6 -0
  256. package/dist/src/react/payments/CancelSubscription.d.ts.map +1 -0
  257. package/dist/src/react/payments/CheckoutButton.d.ts +7 -0
  258. package/dist/src/react/payments/CheckoutButton.d.ts.map +1 -0
  259. package/dist/src/react/payments/CustomerPortalButton.d.ts +6 -0
  260. package/dist/src/react/payments/CustomerPortalButton.d.ts.map +1 -0
  261. package/dist/src/react/payments/FeatureMeter.d.ts +6 -0
  262. package/dist/src/react/payments/FeatureMeter.d.ts.map +1 -0
  263. package/dist/src/react/payments/Plans.d.ts +8 -0
  264. package/dist/src/react/payments/Plans.d.ts.map +1 -0
  265. package/dist/src/react/payments/TopUpButton.d.ts +8 -0
  266. package/dist/src/react/payments/TopUpButton.d.ts.map +1 -0
  267. package/dist/src/react/payments/UpdateBilling.d.ts +3 -0
  268. package/dist/src/react/payments/UpdateBilling.d.ts.map +1 -0
  269. package/dist/src/react/payments/UpgradePrompt.d.ts +8 -0
  270. package/dist/src/react/payments/UpgradePrompt.d.ts.map +1 -0
  271. package/dist/src/react/primitives/Skeleton.d.ts +15 -0
  272. package/dist/src/react/primitives/Skeleton.d.ts.map +1 -0
  273. package/dist/src/react/provider.d.ts +21 -0
  274. package/dist/src/react/provider.d.ts.map +1 -0
  275. package/dist/src/react/request.d.ts +2 -0
  276. package/dist/src/react/request.d.ts.map +1 -0
  277. package/dist/src/react/styles-entry.d.ts +4 -0
  278. package/dist/src/react/styles-entry.d.ts.map +1 -0
  279. package/dist/src/react/styles.d.ts +2 -0
  280. package/dist/src/react/styles.d.ts.map +1 -0
  281. package/dist/src/react/theme-entry.d.ts +3 -0
  282. package/dist/src/react/theme-entry.d.ts.map +1 -0
  283. package/dist/src/react/theme.d.ts +6 -0
  284. package/dist/src/react/theme.d.ts.map +1 -0
  285. package/dist/src/react/types.d.ts +191 -0
  286. package/dist/src/react/types.d.ts.map +1 -0
  287. package/dist/src/react/use-brokr-theme.d.ts +6 -0
  288. package/dist/src/react/use-brokr-theme.d.ts.map +1 -0
  289. package/dist/src/runtime.d.ts +69 -180
  290. package/dist/src/runtime.d.ts.map +1 -1
  291. package/dist/src/storage/client.d.ts +113 -0
  292. package/dist/src/storage/client.d.ts.map +1 -0
  293. package/dist/src/storage/types.d.ts +60 -0
  294. package/dist/src/storage/types.d.ts.map +1 -0
  295. package/dist/tsconfig.tsbuildinfo +1 -1
  296. package/dist/types.d.ts +2 -2
  297. package/dist/types.d.ts.map +1 -1
  298. package/package.json +70 -9
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../../src/react/request.ts"],"names":[],"mappings":"AAEA,wBAAsB,QAAQ,CAAC,SAAS,EAAE,KAAK,EAC7C,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,KAAK,GACV,OAAO,CAAC,SAAS,CAAC,CAgBpB"}
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ export declare function BrokrStyles(): React.JSX.Element;
3
+ export { BROKR_GLOBAL_CSS } from './styles';
4
+ //# sourceMappingURL=styles-entry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles-entry.d.ts","sourceRoot":"","sources":["../../../src/react/styles-entry.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,wBAAgB,WAAW,sBAE1B;AAED,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { BROKR_GLOBAL_CSS, createBrokrCSS } from './css/index';
2
+ //# sourceMappingURL=styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../src/react/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { defaultBrokrTheme, getBrokrRootStyle, resolveBrokrTheme } from './theme';
2
+ export { defineBrokrTheme, type BrokrThemeColors, type BrokrThemeDef, type BrokrThemeMode, type BrokrThemeRadii, type BrokrThemeResolved, } from './types';
3
+ //# sourceMappingURL=theme-entry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme-entry.d.ts","sourceRoot":"","sources":["../../../src/react/theme-entry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAClF,OAAO,EACL,gBAAgB,EAChB,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,kBAAkB,GACxB,MAAM,SAAS,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { CSSProperties } from 'react';
2
+ import { type BrokrThemeDef, type BrokrThemeResolved } from './types';
3
+ export declare const defaultBrokrTheme: BrokrThemeDef;
4
+ export declare function resolveBrokrTheme(theme: BrokrThemeDef, mode: 'light' | 'dark'): BrokrThemeResolved;
5
+ export declare function getBrokrRootStyle(theme: BrokrThemeResolved): CSSProperties;
6
+ //# sourceMappingURL=theme.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../../src/react/theme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,EAAoB,KAAK,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAIxF,eAAO,MAAM,iBAAiB,eA2C5B,CAAC;AAEH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,aAAa,EACpB,IAAI,EAAE,OAAO,GAAG,MAAM,GACrB,kBAAkB,CAEpB;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,kBAAkB,GAAG,aAAa,CA4B1E"}
@@ -0,0 +1,191 @@
1
+ /**
2
+ * Brokr SDK — React type contracts
3
+ *
4
+ * *** CODEX CONTRACT ***
5
+ *
6
+ * These types define the exact shape that BrokrProvider exposes via context,
7
+ * the theme system, and the gate component props. Codex builds the React
8
+ * components; this file is their source of truth.
9
+ *
10
+ * DO NOT modify these types without coordinating with the UI track.
11
+ */
12
+ import type { UserPlan, EntitlementMap, PlanCatalogEntry, BillingSummary } from '../payments/types';
13
+ import type { BrokrConfig } from './config';
14
+ export interface BrokrUser {
15
+ id: string;
16
+ email: string;
17
+ name?: string;
18
+ image?: string;
19
+ emailVerified: boolean;
20
+ }
21
+ export interface BrokrSession {
22
+ id: string;
23
+ /** When the session was created. */
24
+ createdAt: Date;
25
+ /** When the session expires. */
26
+ expiresAt: Date;
27
+ /** User agent string (browser/device info). */
28
+ userAgent?: string;
29
+ /** IP address (last known). */
30
+ ipAddress?: string;
31
+ /** Whether this is the current session. */
32
+ isCurrent: boolean;
33
+ }
34
+ export interface SignInParams {
35
+ email: string;
36
+ password: string;
37
+ }
38
+ export interface SignUpParams {
39
+ email: string;
40
+ password: string;
41
+ name?: string;
42
+ }
43
+ /**
44
+ * The shape exposed by BrokrProvider via React context.
45
+ *
46
+ * Design principles:
47
+ * - Provider owns cross-cutting state: auth, theme, billing, entitlements.
48
+ * - Only UI-facing data and actions — no raw API responses.
49
+ * - Composite components (FabAI, SmartUpload, FeedbackWidget) are self-contained
50
+ * but context-aware — they read from this context, they don't add to it.
51
+ */
52
+ export interface BrokrContextValue {
53
+ user: BrokrUser | null;
54
+ session: {
55
+ sessionId: string;
56
+ expiresAt: Date;
57
+ } | null;
58
+ isLoaded: boolean;
59
+ /** Current user's plan. */
60
+ plan: UserPlan | null;
61
+ /** Full plan catalog for UI (Plans grid, upgrade prompts). */
62
+ plans: PlanCatalogEntry[];
63
+ /** Per-feature entitlement map. */
64
+ entitlements: EntitlementMap | null;
65
+ /** Billing summary (payment method, balance, auto-reload). */
66
+ billing: BillingSummary | null;
67
+ /** Whether payments are in sandbox or live mode. */
68
+ paymentsMode: 'sandbox' | 'live' | null;
69
+ /** Active sessions for the current user (for AccountPanel). */
70
+ sessions: BrokrSession[];
71
+ theme: BrokrThemeResolved;
72
+ mode: 'light' | 'dark';
73
+ config?: BrokrConfig;
74
+ signIn: (params: SignInParams) => Promise<void>;
75
+ signUp: (params: SignUpParams) => Promise<void>;
76
+ signOut: () => Promise<void>;
77
+ /** Update user profile fields (name, etc.). Refreshes context.user on success. */
78
+ updateProfile: (params: {
79
+ name?: string;
80
+ }) => Promise<void>;
81
+ /** Upload and set a new profile photo. Refreshes context.user.image on success. */
82
+ updateProfilePhoto: (file: File) => Promise<void>;
83
+ /** Revoke a specific session by ID. Refreshes context.sessions. */
84
+ revokeSession: (sessionId: string) => Promise<void>;
85
+ /** Revoke all sessions except the current one. Refreshes context.sessions. */
86
+ revokeOtherSessions: () => Promise<void>;
87
+ /** Start checkout for a plan. Returns checkout URL — caller should redirect. */
88
+ checkout: (params: {
89
+ plan: string;
90
+ }) => Promise<string>;
91
+ /** Open Stripe Customer Portal. Returns portal URL — caller should redirect. */
92
+ portal: () => Promise<string>;
93
+ /** Check if current user has access to a feature. Synchronous, reads from context. */
94
+ can: (feature: string) => boolean;
95
+ /** Get usage stats for a metered feature. Synchronous, reads from context. */
96
+ usage: (feature: string) => {
97
+ used: number;
98
+ limit: number | null;
99
+ remaining: number | null;
100
+ } | null;
101
+ /** Re-fetch all context state (auth, billing). Call after external changes. */
102
+ refresh: () => Promise<void>;
103
+ /** Fetch active sessions list. Only call from account/settings UI — not on every page. */
104
+ refreshSessions: () => Promise<void>;
105
+ }
106
+ export interface BrokrThemeColors {
107
+ bg: string;
108
+ surface: string;
109
+ surfaceMuted: string;
110
+ textPrimary: string;
111
+ textSecondary: string;
112
+ border: string;
113
+ primary: string;
114
+ primaryContrast: string;
115
+ /** Optional semantic color for error states. If omitted, use primary at reduced opacity. */
116
+ error?: string;
117
+ /** Optional semantic color for success states. If omitted, use primary at reduced opacity. */
118
+ success?: string;
119
+ /** Optional semantic color for warning states. If omitted, use primary at reduced opacity. */
120
+ warning?: string;
121
+ /** Toast background. Always light by default — toasts pop against any background. */
122
+ toastBg?: string;
123
+ /** Toast title text color. */
124
+ toastText?: string;
125
+ /** Toast secondary text color. */
126
+ toastTextSecondary?: string;
127
+ /** Toast border color. */
128
+ toastBorder?: string;
129
+ }
130
+ export interface BrokrThemeRadii {
131
+ card: number;
132
+ input: number;
133
+ button: number;
134
+ }
135
+ export interface BrokrThemeMode {
136
+ brand: {
137
+ name: string;
138
+ logo?: string;
139
+ };
140
+ auth?: {
141
+ variant?: number | `${number}`;
142
+ heroImage?: string;
143
+ heroText?: string;
144
+ };
145
+ colors: BrokrThemeColors;
146
+ radii: BrokrThemeRadii;
147
+ }
148
+ export interface BrokrThemeDef {
149
+ light: BrokrThemeMode;
150
+ dark: BrokrThemeMode;
151
+ }
152
+ /** The resolved theme for the current mode (light or dark). */
153
+ export type BrokrThemeResolved = BrokrThemeMode;
154
+ /**
155
+ * Define the Brokr theme for your app.
156
+ * Type-checked passthrough — used by BrokrProvider to resolve the current mode.
157
+ */
158
+ export declare function defineBrokrTheme(def: BrokrThemeDef): BrokrThemeDef;
159
+ /**
160
+ * Gate fallback modes (v1).
161
+ *
162
+ * Only modes we actually ship primitives for. No modal/toast until
163
+ * the SDK owns those primitives.
164
+ *
165
+ * - 'redirect' — router.push(redirectTo)
166
+ * - 'upgrade-card' — inline card with plan comparison + CTA
167
+ * - 'hidden' — render nothing (no visual feedback)
168
+ * - React.ReactNode — custom fallback UI
169
+ */
170
+ export type GateFallback = 'redirect' | 'upgrade-card' | 'hidden' | React.ReactNode;
171
+ export interface GateProps {
172
+ /** What to show when the gate blocks access. */
173
+ fallback?: GateFallback;
174
+ /** Custom message for the fallback UI. */
175
+ message?: string;
176
+ /** Redirect destination (used when fallback='redirect'). */
177
+ redirectTo?: string;
178
+ children: React.ReactNode;
179
+ }
180
+ export interface RequirePlanProps extends GateProps {
181
+ /** Plan slugs that grant access. */
182
+ plans: string[];
183
+ }
184
+ export interface UsageGateProps extends GateProps {
185
+ /** Feature slug to check usage for. */
186
+ feature: string;
187
+ /** Minimum remaining usage required (default: 1). */
188
+ min?: number;
189
+ }
190
+ export type { UserPlan, EntitlementMap, PlanCatalogEntry, BillingSummary, } from '../payments/types';
191
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/react/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { BrokrThemeResolved } from './types';
2
+ export declare function useBrokrTheme(): {
3
+ theme: BrokrThemeResolved;
4
+ mode: 'light' | 'dark';
5
+ };
6
+ //# sourceMappingURL=use-brokr-theme.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-brokr-theme.d.ts","sourceRoot":"","sources":["../../../src/react/use-brokr-theme.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAElD,wBAAgB,aAAa,IAAI;IAAE,KAAK,EAAE,kBAAkB,CAAC;IAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAAA;CAAE,CAGrF"}
@@ -11,207 +11,96 @@
11
11
  * import { createBrokr } from '@brokr/sdk';
12
12
  * export const brokr = createBrokr();
13
13
  *
14
- * // anywhere in your app
15
- * const reply = await brokr.ai.chat([{ role: 'user', content: 'Hello' }]);
16
- * const { key } = await brokr.storage.upload(file, 'avatar.png', 'image/png');
17
- * await brokr.email.send({ to: 'user@example.com', subject: 'Hi', html: '<p>Hey</p>' });
14
+ * // Root aliases
15
+ * const reply = await brokr.chat('Explain quantum computing');
16
+ * const file = await brokr.upload({ file: buffer, path: 'photo.jpg' });
17
+ * const { checkoutUrl } = await brokr.purchase({ plan: 'pro' });
18
+ *
19
+ * // Namespaces
20
+ * const data = await brokr.ai.structured({ prompt: '...', schema: { ... } });
21
+ * await brokr.email.sendTemplate({ template: 'welcome', to: '...', variables: { ... } });
18
22
  * ```
19
23
  */
20
- export declare const GATEWAY_URL = "https://api.brokr.sh";
21
- export declare class BrokrError extends Error {
22
- readonly code: string;
23
- readonly capability?: string | undefined;
24
- readonly retryable: boolean;
25
- constructor(message: string, code: string, capability?: string | undefined, retryable?: boolean);
26
- }
27
- /** Thrown when BROKR_TOKEN is missing or invalid. */
28
- export declare class BrokrAuthError extends BrokrError {
29
- constructor(message: string, code: string);
30
- }
31
- /** Thrown on HTTP 429 — includes `retryAfter` seconds from the Retry-After header. */
32
- export declare class BrokrRateLimitError extends BrokrError {
33
- readonly retryAfter: number;
34
- constructor(message: string, retryAfter: number, capability?: string);
35
- }
36
- /** Thrown when the Brokr gateway is unreachable. */
37
- export declare class BrokrNetworkError extends BrokrError {
38
- constructor(message: string, capability?: string);
39
- }
40
- /** Convenience model aliases for common use cases. */
41
- export declare const models: {
42
- /** Cheapest and fastest model (Deepseek Chat). */
43
- readonly FAST: "deepseek-chat";
44
- /** Most capable model. */
45
- readonly SMART: "claude-sonnet-4-20250514";
46
- /** Default balanced model (Deepseek Chat). */
47
- readonly BALANCED: "deepseek-chat";
48
- };
49
- export interface ChatMessage {
50
- role: 'user' | 'assistant' | 'system';
51
- content: string;
52
- }
53
- export interface ChatOptions {
54
- model?: string;
55
- maxTokens?: number;
56
- temperature?: number;
57
- }
58
- export interface ChatResponse {
59
- content: string;
60
- model: string;
61
- usage: {
62
- promptTokens: number;
63
- completionTokens: number;
64
- };
65
- }
66
- export interface UploadResult {
67
- /** The stable object key — use this to retrieve the file later. */
68
- key: string;
69
- }
70
- export interface EmailParams {
71
- to: string | string[];
72
- subject: string;
73
- html?: string;
74
- text?: string;
75
- /**
76
- * Override the from address. Must be on your stack's verified domain.
77
- * Defaults to noreply@{your stack domain}.
78
- */
79
- from?: string;
80
- }
24
+ import { BrokrAIClient } from './ai/client';
25
+ import { BrokrStorageClient } from './storage/client';
26
+ import { BrokrEmailClient } from './email/client';
27
+ import { BrokrFilesClient } from './files/client';
28
+ import { BrokrPaymentsClient } from './payments/client';
29
+ import { BrokrEntitlementsClient } from './payments/entitlements';
30
+ import { BrokrNotificationsClient } from './notifications/client';
31
+ import { BrokrAuthClient } from './auth';
32
+ import type { ChatInput, ChatOptions, ChatResponse } from './ai/types';
33
+ import type { UploadParams } from './storage/types';
34
+ import type { UploadedFile } from './storage/types';
35
+ import type { CheckoutResult } from './payments/types';
36
+ export { GATEWAY_URL } from './gateway';
37
+ export { detectEnv, isDev, isStaging, isProd } from './env-detect';
38
+ export type { BrokrEnv } from './env-detect';
39
+ export { BrokrError, BrokrAuthError, BrokrRateLimitError, BrokrNetworkError, BrokrTimeoutError, BrokrNotFoundError, BrokrValidationError } from './errors';
40
+ export { models } from './models';
41
+ export { BrokrAIClient } from './ai/client';
42
+ export { BrokrStorageClient } from './storage/client';
43
+ export { BrokrEmailClient } from './email/client';
44
+ export { BrokrFilesClient } from './files/client';
45
+ export { BrokrPaymentsClient } from './payments/client';
46
+ export { BrokrEntitlementsClient } from './payments/entitlements';
47
+ export { BrokrNotificationsClient } from './notifications/client';
48
+ export type { ChatMessage, ChatOptions, ChatResponse, ChatInput, ChatContentPart } from './ai/types';
49
+ export type { StorageFile, UploadedFile, UploadParams, UploadResult } from './storage/types';
50
+ export type { EmailParams, SendTemplateParams } from './email/types';
51
+ export type { CheckoutResult, PortalResult, UserPlan, EntitlementMap, PaymentsConfig, GatingContext, PlanCatalogEntry, BillingSummary } from './payments/types';
52
+ export type { Notification } from './notifications/types';
53
+ export type { SendParams as NotificationSendParams, ListParams as NotificationListParams } from './notifications/client';
81
54
  export interface RuntimeOptions {
82
55
  /** Override the BROKR_TOKEN env var. Useful for testing. */
83
56
  token?: string;
84
57
  /** Override the gateway URL. Defaults to https://api.brokr.sh */
85
58
  gatewayUrl?: string;
86
59
  }
87
- export declare class BrokrAIClient {
88
- private readonly _token;
89
- private readonly _gatewayUrl;
90
- constructor(_token: string | undefined, _gatewayUrl: string);
91
- /**
92
- * Send a chat completion request.
93
- *
94
- * @example
95
- * ```typescript
96
- * const reply = await brokr.ai.chat([
97
- * { role: 'user', content: 'Explain quantum computing in one sentence.' }
98
- * ]);
99
- * console.log(reply.content);
100
- * ```
101
- */
102
- chat(messages: ChatMessage[], options?: ChatOptions): Promise<ChatResponse>;
103
- /**
104
- * Stream a chat completion. Yields text strings directly.
105
- *
106
- * @example
107
- * ```typescript
108
- * for await (const text of brokr.ai.stream(messages)) {
109
- * process.stdout.write(text);
110
- * }
111
- * ```
112
- */
113
- stream(messages: ChatMessage[], options?: ChatOptions): AsyncGenerator<string>;
114
- /**
115
- * OpenAI-SDK compatible base URL.
116
- *
117
- * @example
118
- * ```typescript
119
- * const openai = new OpenAI({ baseURL: brokr.ai.baseURL, apiKey: brokr.ai.apiKey });
120
- * ```
121
- */
122
- get baseURL(): string;
123
- /** Use as `apiKey` with the official OpenAI SDK to route through Brokr's gateway. */
124
- get apiKey(): string;
125
- }
126
- export declare class BrokrStorageClient {
127
- private readonly _token;
128
- private readonly _gatewayUrl;
129
- constructor(_token: string | undefined, _gatewayUrl: string);
130
- /**
131
- * Get a presigned upload URL for browser-direct or streaming uploads.
132
- *
133
- * @example
134
- * ```typescript
135
- * const { url, key } = await brokr.storage.getUploadUrl('avatar.png', 'image/png');
136
- * await fetch(url, { method: 'PUT', body: file });
137
- * ```
138
- */
139
- getUploadUrl(filename: string, contentType?: string): Promise<{
140
- url: string;
141
- key: string;
142
- }>;
143
- /**
144
- * Upload data to R2. Returns the stable object key.
145
- *
146
- * @example
147
- * ```typescript
148
- * const { key } = await brokr.storage.upload(fileBuffer, 'photo.jpg', 'image/jpeg');
149
- * ```
150
- */
151
- upload(data: Uint8Array | string | Blob, filename: string, contentType?: string): Promise<UploadResult>;
152
- /**
153
- * Get a presigned download URL for a stored object.
154
- *
155
- * @example
156
- * ```typescript
157
- * const { url } = await brokr.storage.url('photos/avatar.jpg');
158
- * // use url in <img src={url} /> or redirect
159
- * ```
160
- */
161
- url(key: string, options?: {
162
- expiresIn?: number;
163
- }): Promise<{
164
- url: string;
165
- }>;
166
- /** @deprecated Use `url()` instead. */
167
- getUrl(key: string, options?: {
168
- expiresIn?: number;
169
- }): Promise<{
170
- url: string;
171
- }>;
172
- }
173
- export declare class BrokrEmailClient {
60
+ export declare class BrokrRuntime {
174
61
  private readonly _token;
175
62
  private readonly _gatewayUrl;
176
- constructor(_token: string | undefined, _gatewayUrl: string);
177
- /**
178
- * Send an email. The from address and API credentials are resolved server-side.
179
- *
180
- * @example
181
- * ```typescript
182
- * await brokr.email.send({
183
- * to: 'user@example.com',
184
- * subject: 'Welcome!',
185
- * html: '<h1>Welcome to the app</h1>',
186
- * });
187
- * ```
188
- */
189
- send(params: EmailParams): Promise<{
190
- id: string;
191
- }>;
192
- }
193
- export declare class BrokrRuntime {
194
63
  readonly ai: BrokrAIClient;
195
64
  readonly storage: BrokrStorageClient;
196
65
  readonly email: BrokrEmailClient;
66
+ private _files;
67
+ private _payments;
68
+ private _entitlements;
69
+ private _notifications;
197
70
  private _auth;
198
- private readonly _token;
199
- private readonly _gatewayUrl;
200
71
  constructor(options?: RuntimeOptions);
201
- /** Auth client lazily initialized to avoid pulling in auth deps when not needed. */
202
- get auth(): import('./auth').BrokrAuthClient;
72
+ /** Files client (upload + AI processing). */
73
+ get files(): BrokrFilesClient;
74
+ /** Payments client (checkout, portal, plan queries). */
75
+ get payments(): BrokrPaymentsClient;
76
+ /** Notifications client (send + list notifications). */
77
+ get notifications(): BrokrNotificationsClient;
78
+ /** Entitlements client (feature checks, usage queries). */
79
+ get entitlements(): BrokrEntitlementsClient;
80
+ /** Auth client — lazily initialized. */
81
+ get auth(): BrokrAuthClient;
82
+ /** Send a chat message. Alias for `brokr.ai.chat()`. */
83
+ chat(input: ChatInput, options?: ChatOptions): Promise<ChatResponse>;
84
+ /** Upload a file. Alias for `brokr.storage.upload()`. */
85
+ upload(params: UploadParams): Promise<UploadedFile>;
86
+ /** Start a checkout flow. Alias for `brokr.payments.checkout()`. */
87
+ checkout(params: {
88
+ plan: string;
89
+ userId: string;
90
+ returnUrl?: string;
91
+ }): Promise<CheckoutResult>;
92
+ /** Start a checkout flow. Alias for `brokr.checkout()` — north star one-liner. */
93
+ purchase(params: {
94
+ plan: string;
95
+ userId: string;
96
+ returnUrl?: string;
97
+ }): Promise<CheckoutResult>;
203
98
  }
204
99
  /**
205
100
  * Create a Brokr runtime client. Zero config required.
206
101
  *
207
102
  * BROKR_TOKEN is injected automatically at deploy time.
208
103
  * For local development, run: brokr env pull --stack <name>
209
- *
210
- * @example
211
- * ```typescript
212
- * import { createBrokr } from '@brokr/sdk';
213
- * export const brokr = createBrokr();
214
- * ```
215
104
  */
216
105
  export declare function createBrokr(options?: RuntimeOptions): BrokrRuntime;
217
106
  //# sourceMappingURL=runtime.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/runtime.ts"],"names":[],"mappings":"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"}