@dotdo/do 0.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 (486) hide show
  1. package/README.md +400 -0
  2. package/dist/ai/embeddings.d.ts +129 -0
  3. package/dist/ai/embeddings.d.ts.map +1 -0
  4. package/dist/ai/embeddings.js +217 -0
  5. package/dist/ai/embeddings.js.map +1 -0
  6. package/dist/ai/gateway.d.ts +139 -0
  7. package/dist/ai/gateway.d.ts.map +1 -0
  8. package/dist/ai/gateway.js +179 -0
  9. package/dist/ai/gateway.js.map +1 -0
  10. package/dist/ai/image.d.ts +140 -0
  11. package/dist/ai/image.d.ts.map +1 -0
  12. package/dist/ai/image.js +199 -0
  13. package/dist/ai/image.js.map +1 -0
  14. package/dist/ai/index.d.ts +98 -0
  15. package/dist/ai/index.d.ts.map +1 -0
  16. package/dist/ai/index.js +223 -0
  17. package/dist/ai/index.js.map +1 -0
  18. package/dist/ai/models.d.ts +81 -0
  19. package/dist/ai/models.d.ts.map +1 -0
  20. package/dist/ai/models.js +537 -0
  21. package/dist/ai/models.js.map +1 -0
  22. package/dist/ai/text.d.ts +176 -0
  23. package/dist/ai/text.d.ts.map +1 -0
  24. package/dist/ai/text.js +253 -0
  25. package/dist/ai/text.js.map +1 -0
  26. package/dist/ai/voice/agents.d.ts +224 -0
  27. package/dist/ai/voice/agents.d.ts.map +1 -0
  28. package/dist/ai/voice/agents.js +375 -0
  29. package/dist/ai/voice/agents.js.map +1 -0
  30. package/dist/ai/voice/campaigns.d.ts +307 -0
  31. package/dist/ai/voice/campaigns.d.ts.map +1 -0
  32. package/dist/ai/voice/campaigns.js +739 -0
  33. package/dist/ai/voice/campaigns.js.map +1 -0
  34. package/dist/ai/voice/index.d.ts +21 -0
  35. package/dist/ai/voice/index.d.ts.map +1 -0
  36. package/dist/ai/voice/index.js +42 -0
  37. package/dist/ai/voice/index.js.map +1 -0
  38. package/dist/ai/voice/providers.d.ts +283 -0
  39. package/dist/ai/voice/providers.d.ts.map +1 -0
  40. package/dist/ai/voice/providers.js +286 -0
  41. package/dist/ai/voice/providers.js.map +1 -0
  42. package/dist/ai/voice/sessions.d.ts +294 -0
  43. package/dist/ai/voice/sessions.d.ts.map +1 -0
  44. package/dist/ai/voice/sessions.js +531 -0
  45. package/dist/ai/voice/sessions.js.map +1 -0
  46. package/dist/ai/voice/tools.d.ts +242 -0
  47. package/dist/ai/voice/tools.d.ts.map +1 -0
  48. package/dist/ai/voice/tools.js +370 -0
  49. package/dist/ai/voice/tools.js.map +1 -0
  50. package/dist/ai/voice/tts.d.ts +173 -0
  51. package/dist/ai/voice/tts.d.ts.map +1 -0
  52. package/dist/ai/voice/tts.js +252 -0
  53. package/dist/ai/voice/tts.js.map +1 -0
  54. package/dist/ai/voice/webrtc.d.ts +228 -0
  55. package/dist/ai/voice/webrtc.d.ts.map +1 -0
  56. package/dist/ai/voice/webrtc.js +372 -0
  57. package/dist/ai/voice/webrtc.js.map +1 -0
  58. package/dist/api/index.d.ts +103 -0
  59. package/dist/api/index.d.ts.map +1 -0
  60. package/dist/api/index.js +191 -0
  61. package/dist/api/index.js.map +1 -0
  62. package/dist/api/mcp/handlers.d.ts +25 -0
  63. package/dist/api/mcp/handlers.d.ts.map +1 -0
  64. package/dist/api/mcp/handlers.js +422 -0
  65. package/dist/api/mcp/handlers.js.map +1 -0
  66. package/dist/api/mcp/index.d.ts +113 -0
  67. package/dist/api/mcp/index.d.ts.map +1 -0
  68. package/dist/api/mcp/index.js +141 -0
  69. package/dist/api/mcp/index.js.map +1 -0
  70. package/dist/api/middleware/auth.d.ts +65 -0
  71. package/dist/api/middleware/auth.d.ts.map +1 -0
  72. package/dist/api/middleware/auth.js +271 -0
  73. package/dist/api/middleware/auth.js.map +1 -0
  74. package/dist/api/middleware/cors.d.ts +62 -0
  75. package/dist/api/middleware/cors.d.ts.map +1 -0
  76. package/dist/api/middleware/cors.js +225 -0
  77. package/dist/api/middleware/cors.js.map +1 -0
  78. package/dist/api/middleware/index.d.ts +60 -0
  79. package/dist/api/middleware/index.d.ts.map +1 -0
  80. package/dist/api/middleware/index.js +175 -0
  81. package/dist/api/middleware/index.js.map +1 -0
  82. package/dist/api/middleware/rateLimit.d.ts +84 -0
  83. package/dist/api/middleware/rateLimit.d.ts.map +1 -0
  84. package/dist/api/middleware/rateLimit.js +321 -0
  85. package/dist/api/middleware/rateLimit.js.map +1 -0
  86. package/dist/api/routes/ai.d.ts +17 -0
  87. package/dist/api/routes/ai.d.ts.map +1 -0
  88. package/dist/api/routes/ai.js +430 -0
  89. package/dist/api/routes/ai.js.map +1 -0
  90. package/dist/api/routes/do.d.ts +17 -0
  91. package/dist/api/routes/do.d.ts.map +1 -0
  92. package/dist/api/routes/do.js +458 -0
  93. package/dist/api/routes/do.js.map +1 -0
  94. package/dist/api/routes/functions.d.ts +111 -0
  95. package/dist/api/routes/functions.d.ts.map +1 -0
  96. package/dist/api/routes/functions.js +548 -0
  97. package/dist/api/routes/functions.js.map +1 -0
  98. package/dist/api/routes/health.d.ts +16 -0
  99. package/dist/api/routes/health.d.ts.map +1 -0
  100. package/dist/api/routes/health.js +163 -0
  101. package/dist/api/routes/health.js.map +1 -0
  102. package/dist/api/routes/index.d.ts +41 -0
  103. package/dist/api/routes/index.d.ts.map +1 -0
  104. package/dist/api/routes/index.js +275 -0
  105. package/dist/api/routes/index.js.map +1 -0
  106. package/dist/api/routes/nouns.d.ts +26 -0
  107. package/dist/api/routes/nouns.d.ts.map +1 -0
  108. package/dist/api/routes/nouns.js +456 -0
  109. package/dist/api/routes/nouns.js.map +1 -0
  110. package/dist/api/routes/orgs.d.ts +17 -0
  111. package/dist/api/routes/orgs.d.ts.map +1 -0
  112. package/dist/api/routes/orgs.js +560 -0
  113. package/dist/api/routes/orgs.js.map +1 -0
  114. package/dist/api/routes/relationships.d.ts +30 -0
  115. package/dist/api/routes/relationships.d.ts.map +1 -0
  116. package/dist/api/routes/relationships.js +360 -0
  117. package/dist/api/routes/relationships.js.map +1 -0
  118. package/dist/api/routes/roles.d.ts +17 -0
  119. package/dist/api/routes/roles.d.ts.map +1 -0
  120. package/dist/api/routes/roles.js +721 -0
  121. package/dist/api/routes/roles.js.map +1 -0
  122. package/dist/api/routes/things.d.ts +27 -0
  123. package/dist/api/routes/things.d.ts.map +1 -0
  124. package/dist/api/routes/things.js +568 -0
  125. package/dist/api/routes/things.js.map +1 -0
  126. package/dist/api/routes/users.d.ts +17 -0
  127. package/dist/api/routes/users.d.ts.map +1 -0
  128. package/dist/api/routes/users.js +401 -0
  129. package/dist/api/routes/users.js.map +1 -0
  130. package/dist/api/routes/verbs.d.ts +31 -0
  131. package/dist/api/routes/verbs.d.ts.map +1 -0
  132. package/dist/api/routes/verbs.js +505 -0
  133. package/dist/api/routes/verbs.js.map +1 -0
  134. package/dist/api/routes/workflows.d.ts +44 -0
  135. package/dist/api/routes/workflows.d.ts.map +1 -0
  136. package/dist/api/routes/workflows.js +521 -0
  137. package/dist/api/routes/workflows.js.map +1 -0
  138. package/dist/api/types.d.ts +370 -0
  139. package/dist/api/types.d.ts.map +1 -0
  140. package/dist/api/types.js +11 -0
  141. package/dist/api/types.js.map +1 -0
  142. package/dist/db/cdc/events.d.ts +201 -0
  143. package/dist/db/cdc/events.d.ts.map +1 -0
  144. package/dist/db/cdc/events.js +271 -0
  145. package/dist/db/cdc/events.js.map +1 -0
  146. package/dist/db/cdc/index.d.ts +13 -0
  147. package/dist/db/cdc/index.d.ts.map +1 -0
  148. package/dist/db/cdc/index.js +16 -0
  149. package/dist/db/cdc/index.js.map +1 -0
  150. package/dist/db/cdc/replay.d.ts +388 -0
  151. package/dist/db/cdc/replay.d.ts.map +1 -0
  152. package/dist/db/cdc/replay.js +469 -0
  153. package/dist/db/cdc/replay.js.map +1 -0
  154. package/dist/db/cdc/storage.d.ts +567 -0
  155. package/dist/db/cdc/storage.d.ts.map +1 -0
  156. package/dist/db/cdc/storage.js +856 -0
  157. package/dist/db/cdc/storage.js.map +1 -0
  158. package/dist/db/cdc/streaming.d.ts +459 -0
  159. package/dist/db/cdc/streaming.d.ts.map +1 -0
  160. package/dist/db/cdc/streaming.js +636 -0
  161. package/dist/db/cdc/streaming.js.map +1 -0
  162. package/dist/db/collections/actions.d.ts +440 -0
  163. package/dist/db/collections/actions.d.ts.map +1 -0
  164. package/dist/db/collections/actions.js +631 -0
  165. package/dist/db/collections/actions.js.map +1 -0
  166. package/dist/db/collections/base.d.ts +342 -0
  167. package/dist/db/collections/base.d.ts.map +1 -0
  168. package/dist/db/collections/base.js +510 -0
  169. package/dist/db/collections/base.js.map +1 -0
  170. package/dist/db/collections/index.d.ts +50 -0
  171. package/dist/db/collections/index.d.ts.map +1 -0
  172. package/dist/db/collections/index.js +48 -0
  173. package/dist/db/collections/index.js.map +1 -0
  174. package/dist/db/collections/nouns.d.ts +260 -0
  175. package/dist/db/collections/nouns.d.ts.map +1 -0
  176. package/dist/db/collections/nouns.js +273 -0
  177. package/dist/db/collections/nouns.js.map +1 -0
  178. package/dist/db/collections/relationships.d.ts +484 -0
  179. package/dist/db/collections/relationships.d.ts.map +1 -0
  180. package/dist/db/collections/relationships.js +815 -0
  181. package/dist/db/collections/relationships.js.map +1 -0
  182. package/dist/db/collections/things.d.ts +439 -0
  183. package/dist/db/collections/things.d.ts.map +1 -0
  184. package/dist/db/collections/things.js +603 -0
  185. package/dist/db/collections/things.js.map +1 -0
  186. package/dist/db/collections/verbs.d.ts +308 -0
  187. package/dist/db/collections/verbs.d.ts.map +1 -0
  188. package/dist/db/collections/verbs.js +480 -0
  189. package/dist/db/collections/verbs.js.map +1 -0
  190. package/dist/db/index.d.ts +14 -0
  191. package/dist/db/index.d.ts.map +1 -0
  192. package/dist/db/index.js +23 -0
  193. package/dist/db/index.js.map +1 -0
  194. package/dist/db/storage/cold.d.ts +313 -0
  195. package/dist/db/storage/cold.d.ts.map +1 -0
  196. package/dist/db/storage/cold.js +319 -0
  197. package/dist/db/storage/cold.js.map +1 -0
  198. package/dist/db/storage/hot.d.ts +340 -0
  199. package/dist/db/storage/hot.d.ts.map +1 -0
  200. package/dist/db/storage/hot.js +333 -0
  201. package/dist/db/storage/hot.js.map +1 -0
  202. package/dist/db/storage/index.d.ts +242 -0
  203. package/dist/db/storage/index.d.ts.map +1 -0
  204. package/dist/db/storage/index.js +109 -0
  205. package/dist/db/storage/index.js.map +1 -0
  206. package/dist/db/storage/snapshots.d.ts +342 -0
  207. package/dist/db/storage/snapshots.d.ts.map +1 -0
  208. package/dist/db/storage/snapshots.js +298 -0
  209. package/dist/db/storage/snapshots.js.map +1 -0
  210. package/dist/db/storage/vortex.d.ts +324 -0
  211. package/dist/db/storage/vortex.d.ts.map +1 -0
  212. package/dist/db/storage/vortex.js +365 -0
  213. package/dist/db/storage/vortex.js.map +1 -0
  214. package/dist/db/storage/warm.d.ts +306 -0
  215. package/dist/db/storage/warm.d.ts.map +1 -0
  216. package/dist/db/storage/warm.js +339 -0
  217. package/dist/db/storage/warm.js.map +1 -0
  218. package/dist/do/DigitalObject.d.ts +595 -0
  219. package/dist/do/DigitalObject.d.ts.map +1 -0
  220. package/dist/do/DigitalObject.js +971 -0
  221. package/dist/do/DigitalObject.js.map +1 -0
  222. package/dist/do/business/financial/accounting.d.ts +436 -0
  223. package/dist/do/business/financial/accounting.d.ts.map +1 -0
  224. package/dist/do/business/financial/accounting.js +476 -0
  225. package/dist/do/business/financial/accounting.js.map +1 -0
  226. package/dist/do/business/financial/index.d.ts +15 -0
  227. package/dist/do/business/financial/index.d.ts.map +1 -0
  228. package/dist/do/business/financial/index.js +20 -0
  229. package/dist/do/business/financial/index.js.map +1 -0
  230. package/dist/do/business/financial/metrics.d.ts +370 -0
  231. package/dist/do/business/financial/metrics.d.ts.map +1 -0
  232. package/dist/do/business/financial/metrics.js +376 -0
  233. package/dist/do/business/financial/metrics.js.map +1 -0
  234. package/dist/do/business/financial/payments.d.ts +397 -0
  235. package/dist/do/business/financial/payments.d.ts.map +1 -0
  236. package/dist/do/business/financial/payments.js +395 -0
  237. package/dist/do/business/financial/payments.js.map +1 -0
  238. package/dist/do/business/financial/reports.d.ts +284 -0
  239. package/dist/do/business/financial/reports.d.ts.map +1 -0
  240. package/dist/do/business/financial/reports.js +347 -0
  241. package/dist/do/business/financial/reports.js.map +1 -0
  242. package/dist/do/business/financial/stripe.d.ts +254 -0
  243. package/dist/do/business/financial/stripe.d.ts.map +1 -0
  244. package/dist/do/business/financial/stripe.js +261 -0
  245. package/dist/do/business/financial/stripe.js.map +1 -0
  246. package/dist/do/business/financial/subscriptions.d.ts +402 -0
  247. package/dist/do/business/financial/subscriptions.d.ts.map +1 -0
  248. package/dist/do/business/financial/subscriptions.js +349 -0
  249. package/dist/do/business/financial/subscriptions.js.map +1 -0
  250. package/dist/do/business/index.d.ts +9 -0
  251. package/dist/do/business/index.d.ts.map +1 -0
  252. package/dist/do/business/index.js +10 -0
  253. package/dist/do/business/index.js.map +1 -0
  254. package/dist/do/colo/followers.d.ts +194 -0
  255. package/dist/do/colo/followers.d.ts.map +1 -0
  256. package/dist/do/colo/followers.js +224 -0
  257. package/dist/do/colo/followers.js.map +1 -0
  258. package/dist/do/colo/fork.d.ts +103 -0
  259. package/dist/do/colo/fork.d.ts.map +1 -0
  260. package/dist/do/colo/fork.js +143 -0
  261. package/dist/do/colo/fork.js.map +1 -0
  262. package/dist/do/colo/index.d.ts +181 -0
  263. package/dist/do/colo/index.d.ts.map +1 -0
  264. package/dist/do/colo/index.js +145 -0
  265. package/dist/do/colo/index.js.map +1 -0
  266. package/dist/do/colo/info.d.ts +106 -0
  267. package/dist/do/colo/info.d.ts.map +1 -0
  268. package/dist/do/colo/info.js +196 -0
  269. package/dist/do/colo/info.js.map +1 -0
  270. package/dist/do/colo/migrate.d.ts +161 -0
  271. package/dist/do/colo/migrate.d.ts.map +1 -0
  272. package/dist/do/colo/migrate.js +190 -0
  273. package/dist/do/colo/migrate.js.map +1 -0
  274. package/dist/do/colo/routing.d.ts +182 -0
  275. package/dist/do/colo/routing.d.ts.map +1 -0
  276. package/dist/do/colo/routing.js +254 -0
  277. package/dist/do/colo/routing.js.map +1 -0
  278. package/dist/do/domains/dns.d.ts +269 -0
  279. package/dist/do/domains/dns.d.ts.map +1 -0
  280. package/dist/do/domains/dns.js +215 -0
  281. package/dist/do/domains/dns.js.map +1 -0
  282. package/dist/do/domains/index.d.ts +40 -0
  283. package/dist/do/domains/index.d.ts.map +1 -0
  284. package/dist/do/domains/index.js +61 -0
  285. package/dist/do/domains/index.js.map +1 -0
  286. package/dist/do/domains/routing.d.ts +263 -0
  287. package/dist/do/domains/routing.d.ts.map +1 -0
  288. package/dist/do/domains/routing.js +362 -0
  289. package/dist/do/domains/routing.js.map +1 -0
  290. package/dist/do/domains/ssl.d.ts +217 -0
  291. package/dist/do/domains/ssl.d.ts.map +1 -0
  292. package/dist/do/domains/ssl.js +231 -0
  293. package/dist/do/domains/ssl.js.map +1 -0
  294. package/dist/do/domains/subdomains.d.ts +207 -0
  295. package/dist/do/domains/subdomains.d.ts.map +1 -0
  296. package/dist/do/domains/subdomains.js +223 -0
  297. package/dist/do/domains/subdomains.js.map +1 -0
  298. package/dist/do/domains/tlds.d.ts +175 -0
  299. package/dist/do/domains/tlds.d.ts.map +1 -0
  300. package/dist/do/domains/tlds.js +188 -0
  301. package/dist/do/domains/tlds.js.map +1 -0
  302. package/dist/do/domains/validation.d.ts +164 -0
  303. package/dist/do/domains/validation.d.ts.map +1 -0
  304. package/dist/do/domains/validation.js +290 -0
  305. package/dist/do/domains/validation.js.map +1 -0
  306. package/dist/do/hibernation.d.ts +385 -0
  307. package/dist/do/hibernation.d.ts.map +1 -0
  308. package/dist/do/hibernation.js +518 -0
  309. package/dist/do/hibernation.js.map +1 -0
  310. package/dist/do/index.d.ts +19 -0
  311. package/dist/do/index.d.ts.map +1 -0
  312. package/dist/do/index.js +23 -0
  313. package/dist/do/index.js.map +1 -0
  314. package/dist/do/state.d.ts +336 -0
  315. package/dist/do/state.d.ts.map +1 -0
  316. package/dist/do/state.js +290 -0
  317. package/dist/do/state.js.map +1 -0
  318. package/dist/index.d.ts +44 -0
  319. package/dist/index.d.ts.map +1 -0
  320. package/dist/index.js +89 -0
  321. package/dist/index.js.map +1 -0
  322. package/dist/rpc/client.d.ts +426 -0
  323. package/dist/rpc/client.d.ts.map +1 -0
  324. package/dist/rpc/client.js +826 -0
  325. package/dist/rpc/client.js.map +1 -0
  326. package/dist/rpc/index.d.ts +19 -0
  327. package/dist/rpc/index.d.ts.map +1 -0
  328. package/dist/rpc/index.js +23 -0
  329. package/dist/rpc/index.js.map +1 -0
  330. package/dist/rpc/methods.d.ts +364 -0
  331. package/dist/rpc/methods.d.ts.map +1 -0
  332. package/dist/rpc/methods.js +557 -0
  333. package/dist/rpc/methods.js.map +1 -0
  334. package/dist/rpc/protocol.d.ts +310 -0
  335. package/dist/rpc/protocol.d.ts.map +1 -0
  336. package/dist/rpc/protocol.js +672 -0
  337. package/dist/rpc/protocol.js.map +1 -0
  338. package/dist/rpc/routes.d.ts +332 -0
  339. package/dist/rpc/routes.d.ts.map +1 -0
  340. package/dist/rpc/routes.js +633 -0
  341. package/dist/rpc/routes.js.map +1 -0
  342. package/dist/rpc/server.d.ts +380 -0
  343. package/dist/rpc/server.d.ts.map +1 -0
  344. package/dist/rpc/server.js +850 -0
  345. package/dist/rpc/server.js.map +1 -0
  346. package/dist/sdk/auth.d.ts +201 -0
  347. package/dist/sdk/auth.d.ts.map +1 -0
  348. package/dist/sdk/auth.js +343 -0
  349. package/dist/sdk/auth.js.map +1 -0
  350. package/dist/sdk/client.d.ts +123 -0
  351. package/dist/sdk/client.d.ts.map +1 -0
  352. package/dist/sdk/client.js +403 -0
  353. package/dist/sdk/client.js.map +1 -0
  354. package/dist/sdk/index.d.ts +123 -0
  355. package/dist/sdk/index.d.ts.map +1 -0
  356. package/dist/sdk/index.js +230 -0
  357. package/dist/sdk/index.js.map +1 -0
  358. package/dist/sdk/rpc.d.ts +275 -0
  359. package/dist/sdk/rpc.d.ts.map +1 -0
  360. package/dist/sdk/rpc.js +249 -0
  361. package/dist/sdk/rpc.js.map +1 -0
  362. package/dist/sdk/transport.d.ts +283 -0
  363. package/dist/sdk/transport.d.ts.map +1 -0
  364. package/dist/sdk/transport.js +661 -0
  365. package/dist/sdk/transport.js.map +1 -0
  366. package/dist/sdk/types.d.ts +265 -0
  367. package/dist/sdk/types.d.ts.map +1 -0
  368. package/dist/sdk/types.js +27 -0
  369. package/dist/sdk/types.js.map +1 -0
  370. package/dist/types/ai.d.ts +533 -0
  371. package/dist/types/ai.d.ts.map +1 -0
  372. package/dist/types/ai.js +18 -0
  373. package/dist/types/ai.js.map +1 -0
  374. package/dist/types/app.d.ts +371 -0
  375. package/dist/types/app.d.ts.map +1 -0
  376. package/dist/types/app.js +151 -0
  377. package/dist/types/app.js.map +1 -0
  378. package/dist/types/business.d.ts +482 -0
  379. package/dist/types/business.d.ts.map +1 -0
  380. package/dist/types/business.js +60 -0
  381. package/dist/types/business.js.map +1 -0
  382. package/dist/types/cascade.d.ts +323 -0
  383. package/dist/types/cascade.d.ts.map +1 -0
  384. package/dist/types/cascade.js +82 -0
  385. package/dist/types/cascade.js.map +1 -0
  386. package/dist/types/collections.d.ts +704 -0
  387. package/dist/types/collections.d.ts.map +1 -0
  388. package/dist/types/collections.js +23 -0
  389. package/dist/types/collections.js.map +1 -0
  390. package/dist/types/colo.d.ts +171 -0
  391. package/dist/types/colo.d.ts.map +1 -0
  392. package/dist/types/colo.js +63 -0
  393. package/dist/types/colo.js.map +1 -0
  394. package/dist/types/communication.d.ts +595 -0
  395. package/dist/types/communication.d.ts.map +1 -0
  396. package/dist/types/communication.js +16 -0
  397. package/dist/types/communication.js.map +1 -0
  398. package/dist/types/content.d.ts +286 -0
  399. package/dist/types/content.d.ts.map +1 -0
  400. package/dist/types/content.js +8 -0
  401. package/dist/types/content.js.map +1 -0
  402. package/dist/types/context.d.ts +407 -0
  403. package/dist/types/context.d.ts.map +1 -0
  404. package/dist/types/context.js +36 -0
  405. package/dist/types/context.js.map +1 -0
  406. package/dist/types/databases.d.ts +377 -0
  407. package/dist/types/databases.d.ts.map +1 -0
  408. package/dist/types/databases.js +14 -0
  409. package/dist/types/databases.js.map +1 -0
  410. package/dist/types/domains.d.ts +132 -0
  411. package/dist/types/domains.d.ts.map +1 -0
  412. package/dist/types/domains.js +107 -0
  413. package/dist/types/domains.js.map +1 -0
  414. package/dist/types/execution.d.ts +381 -0
  415. package/dist/types/execution.d.ts.map +1 -0
  416. package/dist/types/execution.js +40 -0
  417. package/dist/types/execution.js.map +1 -0
  418. package/dist/types/financial.d.ts +608 -0
  419. package/dist/types/financial.d.ts.map +1 -0
  420. package/dist/types/financial.js +12 -0
  421. package/dist/types/financial.js.map +1 -0
  422. package/dist/types/functions.d.ts +215 -0
  423. package/dist/types/functions.d.ts.map +1 -0
  424. package/dist/types/functions.js +15 -0
  425. package/dist/types/functions.js.map +1 -0
  426. package/dist/types/git.d.ts +299 -0
  427. package/dist/types/git.d.ts.map +1 -0
  428. package/dist/types/git.js +17 -0
  429. package/dist/types/git.js.map +1 -0
  430. package/dist/types/identity.d.ts +141 -0
  431. package/dist/types/identity.d.ts.map +1 -0
  432. package/dist/types/identity.js +54 -0
  433. package/dist/types/identity.js.map +1 -0
  434. package/dist/types/index.d.ts +40 -0
  435. package/dist/types/index.d.ts.map +1 -0
  436. package/dist/types/index.js +65 -0
  437. package/dist/types/index.js.map +1 -0
  438. package/dist/types/integrations.d.ts +356 -0
  439. package/dist/types/integrations.d.ts.map +1 -0
  440. package/dist/types/integrations.js +19 -0
  441. package/dist/types/integrations.js.map +1 -0
  442. package/dist/types/mdxui.d.ts +1955 -0
  443. package/dist/types/mdxui.d.ts.map +1 -0
  444. package/dist/types/mdxui.js +751 -0
  445. package/dist/types/mdxui.js.map +1 -0
  446. package/dist/types/observability.d.ts +315 -0
  447. package/dist/types/observability.d.ts.map +1 -0
  448. package/dist/types/observability.js +13 -0
  449. package/dist/types/observability.js.map +1 -0
  450. package/dist/types/rpc.d.ts +339 -0
  451. package/dist/types/rpc.d.ts.map +1 -0
  452. package/dist/types/rpc.js +24 -0
  453. package/dist/types/rpc.js.map +1 -0
  454. package/dist/types/saas.d.ts +678 -0
  455. package/dist/types/saas.d.ts.map +1 -0
  456. package/dist/types/saas.js +59 -0
  457. package/dist/types/saas.js.map +1 -0
  458. package/dist/types/service.d.ts +676 -0
  459. package/dist/types/service.d.ts.map +1 -0
  460. package/dist/types/service.js +69 -0
  461. package/dist/types/service.js.map +1 -0
  462. package/dist/types/site.d.ts +317 -0
  463. package/dist/types/site.d.ts.map +1 -0
  464. package/dist/types/site.js +203 -0
  465. package/dist/types/site.js.map +1 -0
  466. package/dist/types/startup.d.ts +576 -0
  467. package/dist/types/startup.d.ts.map +1 -0
  468. package/dist/types/startup.js +59 -0
  469. package/dist/types/startup.js.map +1 -0
  470. package/dist/types/storage.d.ts +276 -0
  471. package/dist/types/storage.d.ts.map +1 -0
  472. package/dist/types/storage.js +35 -0
  473. package/dist/types/storage.js.map +1 -0
  474. package/dist/types/telephony.d.ts +458 -0
  475. package/dist/types/telephony.d.ts.map +1 -0
  476. package/dist/types/telephony.js +19 -0
  477. package/dist/types/telephony.js.map +1 -0
  478. package/dist/types/tenant.d.ts +708 -0
  479. package/dist/types/tenant.d.ts.map +1 -0
  480. package/dist/types/tenant.js +103 -0
  481. package/dist/types/tenant.js.map +1 -0
  482. package/dist/types/voice-ai.d.ts +459 -0
  483. package/dist/types/voice-ai.d.ts.map +1 -0
  484. package/dist/types/voice-ai.js +32 -0
  485. package/dist/types/voice-ai.js.map +1 -0
  486. package/package.json +143 -0
@@ -0,0 +1,347 @@
1
+ /**
2
+ * Financial Reports
3
+ *
4
+ * Generates standard financial statements:
5
+ * - Profit & Loss (Income Statement)
6
+ * - Balance Sheet
7
+ * - Cash Flow Statement
8
+ *
9
+ * @module financial/reports
10
+ */
11
+ /**
12
+ * Financial statement generator for Digital Objects
13
+ *
14
+ * Generates standard financial reports from the accounting journal
15
+ * including P&L, Balance Sheet, and Cash Flow Statement.
16
+ *
17
+ * @example
18
+ * ```typescript
19
+ * const reporter = new FinancialReporter({ journal })
20
+ *
21
+ * // Generate P&L for last month
22
+ * const pnl = await reporter.generateProfitAndLoss({
23
+ * start: startOfMonth,
24
+ * end: endOfMonth,
25
+ * label: 'January 2024'
26
+ * })
27
+ *
28
+ * // Generate balance sheet as of today
29
+ * const balance = await reporter.generateBalanceSheet(Date.now())
30
+ * ```
31
+ */
32
+ export class FinancialReporter {
33
+ config;
34
+ /**
35
+ * Create a new FinancialReporter instance
36
+ *
37
+ * @param config - Financial reporter configuration
38
+ */
39
+ constructor(config) {
40
+ this.config = config;
41
+ }
42
+ // =========================================================================
43
+ // Profit & Loss Statement
44
+ // =========================================================================
45
+ /**
46
+ * Generate a Profit & Loss (Income) Statement
47
+ *
48
+ * @param period - Report period
49
+ * @param options - Report options
50
+ * @returns The P&L statement
51
+ *
52
+ * @example
53
+ * ```typescript
54
+ * const pnl = await reporter.generateProfitAndLoss({
55
+ * start: new Date('2024-01-01').getTime(),
56
+ * end: new Date('2024-01-31').getTime(),
57
+ * label: 'January 2024'
58
+ * })
59
+ *
60
+ * console.log('Net Income:', pnl.netIncome)
61
+ * console.log('Gross Margin:', pnl.grossProfit / pnl.revenue.total)
62
+ * ```
63
+ */
64
+ async generateProfitAndLoss(period, options) {
65
+ // TODO: Implement P&L generation
66
+ throw new Error('Not implemented');
67
+ }
68
+ /**
69
+ * Generate a comparative P&L with period-over-period analysis
70
+ *
71
+ * @param currentPeriod - Current report period
72
+ * @param previousPeriod - Previous period for comparison
73
+ * @param options - Report options
74
+ * @returns Comparative P&L
75
+ */
76
+ async generateComparativeProfitAndLoss(currentPeriod, previousPeriod, options) {
77
+ // TODO: Implement comparative P&L
78
+ throw new Error('Not implemented');
79
+ }
80
+ /**
81
+ * Build a P&L section from account balances
82
+ *
83
+ * @param category - Account category for the section
84
+ * @param period - Report period
85
+ * @param name - Section name
86
+ * @returns The P&L section
87
+ */
88
+ async buildPLSection(category, period, name) {
89
+ // TODO: Implement section building
90
+ throw new Error('Not implemented');
91
+ }
92
+ // =========================================================================
93
+ // Balance Sheet
94
+ // =========================================================================
95
+ /**
96
+ * Generate a Balance Sheet
97
+ *
98
+ * @param asOf - Point-in-time for the balance sheet
99
+ * @param options - Report options
100
+ * @returns The balance sheet
101
+ *
102
+ * @example
103
+ * ```typescript
104
+ * const balance = await reporter.generateBalanceSheet(Date.now())
105
+ *
106
+ * console.log('Total Assets:', balance.totalAssets)
107
+ * console.log('Total Liabilities:', balance.totalLiabilities)
108
+ * console.log('Total Equity:', balance.totalEquity)
109
+ *
110
+ * // Verify accounting equation
111
+ * const isBalanced = balance.totalAssets ===
112
+ * balance.totalLiabilities + balance.totalEquity
113
+ * ```
114
+ */
115
+ async generateBalanceSheet(asOf, options) {
116
+ // TODO: Implement balance sheet generation
117
+ throw new Error('Not implemented');
118
+ }
119
+ /**
120
+ * Generate a comparative balance sheet
121
+ *
122
+ * @param currentDate - Current balance sheet date
123
+ * @param previousDate - Previous date for comparison
124
+ * @param options - Report options
125
+ * @returns Comparative balance sheet
126
+ */
127
+ async generateComparativeBalanceSheet(currentDate, previousDate, options) {
128
+ // TODO: Implement comparative balance sheet
129
+ throw new Error('Not implemented');
130
+ }
131
+ /**
132
+ * Build a balance sheet section from accounts
133
+ *
134
+ * @param category - Account category
135
+ * @param asOf - Point-in-time
136
+ * @param name - Section name
137
+ * @returns The balance sheet section
138
+ */
139
+ async buildBalanceSheetSection(category, asOf, name) {
140
+ // TODO: Implement section building
141
+ throw new Error('Not implemented');
142
+ }
143
+ /**
144
+ * Verify that the balance sheet balances
145
+ *
146
+ * @param balanceSheet - Balance sheet to verify
147
+ * @returns True if assets = liabilities + equity
148
+ */
149
+ verifyBalanceSheet(balanceSheet) {
150
+ const tolerance = 0.01; // Allow for small rounding differences
151
+ const difference = Math.abs(balanceSheet.totalAssets -
152
+ (balanceSheet.totalLiabilities + balanceSheet.totalEquity));
153
+ return difference <= tolerance;
154
+ }
155
+ // =========================================================================
156
+ // Cash Flow Statement
157
+ // =========================================================================
158
+ /**
159
+ * Generate a Cash Flow Statement
160
+ *
161
+ * Uses the indirect method, starting with net income and
162
+ * adjusting for non-cash items and working capital changes.
163
+ *
164
+ * @param period - Report period
165
+ * @param options - Report options
166
+ * @returns The cash flow statement
167
+ *
168
+ * @example
169
+ * ```typescript
170
+ * const cashFlow = await reporter.generateCashFlow({
171
+ * start: startOfMonth,
172
+ * end: endOfMonth
173
+ * })
174
+ *
175
+ * console.log('Net Cash from Operations:', cashFlow.operatingActivities.total)
176
+ * console.log('Ending Cash:', cashFlow.endingCash)
177
+ * ```
178
+ */
179
+ async generateCashFlow(period, options) {
180
+ // TODO: Implement cash flow generation
181
+ throw new Error('Not implemented');
182
+ }
183
+ /**
184
+ * Generate a comparative cash flow statement
185
+ *
186
+ * @param currentPeriod - Current report period
187
+ * @param previousPeriod - Previous period for comparison
188
+ * @param options - Report options
189
+ * @returns Comparative cash flow statement
190
+ */
191
+ async generateComparativeCashFlow(currentPeriod, previousPeriod, options) {
192
+ // TODO: Implement comparative cash flow
193
+ throw new Error('Not implemented');
194
+ }
195
+ /**
196
+ * Build operating activities section
197
+ *
198
+ * @param period - Report period
199
+ * @returns Operating activities section
200
+ */
201
+ async buildOperatingActivities(period) {
202
+ // TODO: Implement operating activities
203
+ throw new Error('Not implemented');
204
+ }
205
+ /**
206
+ * Build investing activities section
207
+ *
208
+ * @param period - Report period
209
+ * @returns Investing activities section
210
+ */
211
+ async buildInvestingActivities(period) {
212
+ // TODO: Implement investing activities
213
+ throw new Error('Not implemented');
214
+ }
215
+ /**
216
+ * Build financing activities section
217
+ *
218
+ * @param period - Report period
219
+ * @returns Financing activities section
220
+ */
221
+ async buildFinancingActivities(period) {
222
+ // TODO: Implement financing activities
223
+ throw new Error('Not implemented');
224
+ }
225
+ // =========================================================================
226
+ // Utility Methods
227
+ // =========================================================================
228
+ /**
229
+ * Get fiscal year dates
230
+ *
231
+ * @param year - Calendar year
232
+ * @returns Start and end timestamps for the fiscal year
233
+ */
234
+ getFiscalYear(year) {
235
+ const startMonth = this.config.fiscalYearStartMonth || 1;
236
+ const start = new Date(year, startMonth - 1, 1).getTime();
237
+ const end = new Date(year + 1, startMonth - 1, 0, 23, 59, 59, 999).getTime();
238
+ return {
239
+ start,
240
+ end,
241
+ label: `FY ${year}`,
242
+ };
243
+ }
244
+ /**
245
+ * Get fiscal quarter dates
246
+ *
247
+ * @param year - Calendar year
248
+ * @param quarter - Quarter (1-4)
249
+ * @returns Start and end timestamps for the quarter
250
+ */
251
+ getFiscalQuarter(year, quarter) {
252
+ const startMonth = this.config.fiscalYearStartMonth || 1;
253
+ const quarterStartMonth = startMonth + (quarter - 1) * 3 - 1;
254
+ const start = new Date(year, quarterStartMonth, 1).getTime();
255
+ const end = new Date(year, quarterStartMonth + 3, 0, 23, 59, 59, 999).getTime();
256
+ return {
257
+ start,
258
+ end,
259
+ label: `Q${quarter} FY ${year}`,
260
+ };
261
+ }
262
+ /**
263
+ * Get calendar month dates
264
+ *
265
+ * @param year - Calendar year
266
+ * @param month - Month (1-12)
267
+ * @returns Start and end timestamps for the month
268
+ */
269
+ getMonth(year, month) {
270
+ const start = new Date(year, month - 1, 1).getTime();
271
+ const end = new Date(year, month, 0, 23, 59, 59, 999).getTime();
272
+ const monthNames = [
273
+ 'January', 'February', 'March', 'April', 'May', 'June',
274
+ 'July', 'August', 'September', 'October', 'November', 'December',
275
+ ];
276
+ return {
277
+ start,
278
+ end,
279
+ label: `${monthNames[month - 1]} ${year}`,
280
+ };
281
+ }
282
+ /**
283
+ * Format a currency amount
284
+ *
285
+ * @param amount - Amount in smallest currency unit
286
+ * @param currency - Currency code
287
+ * @returns Formatted string
288
+ */
289
+ formatCurrency(amount, currency) {
290
+ const curr = currency || this.config.defaultCurrency || 'USD';
291
+ const formatted = (amount / 100).toLocaleString('en-US', {
292
+ style: 'currency',
293
+ currency: curr,
294
+ });
295
+ return formatted;
296
+ }
297
+ /**
298
+ * Calculate percentage change
299
+ *
300
+ * @param current - Current value
301
+ * @param previous - Previous value
302
+ * @returns Percentage change
303
+ */
304
+ calculatePercentageChange(current, previous) {
305
+ if (previous === 0) {
306
+ return current === 0 ? 0 : 100;
307
+ }
308
+ return ((current - previous) / Math.abs(previous)) * 100;
309
+ }
310
+ /**
311
+ * Generate all standard reports for a period
312
+ *
313
+ * @param period - Report period
314
+ * @returns All financial reports
315
+ */
316
+ async generateAllReports(period) {
317
+ const [profitAndLoss, balanceSheet, cashFlow] = await Promise.all([
318
+ this.generateProfitAndLoss(period),
319
+ this.generateBalanceSheet(period.end),
320
+ this.generateCashFlow(period),
321
+ ]);
322
+ return { profitAndLoss, balanceSheet, cashFlow };
323
+ }
324
+ }
325
+ /**
326
+ * Report error codes
327
+ */
328
+ export const ReportErrorCodes = {
329
+ INVALID_PERIOD: 'INVALID_PERIOD',
330
+ NO_DATA: 'NO_DATA',
331
+ BALANCE_MISMATCH: 'BALANCE_MISMATCH',
332
+ MISSING_ACCOUNTS: 'MISSING_ACCOUNTS',
333
+ };
334
+ /**
335
+ * Report error
336
+ */
337
+ export class ReportError extends Error {
338
+ code;
339
+ details;
340
+ constructor(code, message, details) {
341
+ super(message);
342
+ this.code = code;
343
+ this.details = details;
344
+ this.name = 'ReportError';
345
+ }
346
+ }
347
+ //# sourceMappingURL=reports.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reports.js","sourceRoot":"","sources":["../../../../do/business/financial/reports.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,254 @@
1
+ /**
2
+ * Stripe Connect Integration
3
+ *
4
+ * Provides Stripe Connect functionality for multi-party payments:
5
+ * - Account creation (Standard, Express, Custom)
6
+ * - Onboarding flow management
7
+ * - Capability monitoring
8
+ * - Bank account management
9
+ *
10
+ * @module financial/stripe
11
+ */
12
+ import type { StripeConnectAccount, StripeAccountType, StripeCapabilities, BankAccount } from '../../../types/financial';
13
+ import type { DigitalObjectRef } from '../../../types/identity';
14
+ /**
15
+ * Configuration for Stripe Connect
16
+ */
17
+ export interface StripeConnectConfig {
18
+ /** Stripe secret API key */
19
+ secretKey: string;
20
+ /** Webhook signing secret */
21
+ webhookSecret?: string;
22
+ /** Default account type for new accounts */
23
+ defaultAccountType?: StripeAccountType;
24
+ /** Platform country */
25
+ platformCountry?: string;
26
+ }
27
+ /**
28
+ * Options for creating a Connect account
29
+ */
30
+ export interface CreateAccountOptions {
31
+ /** Business profile information */
32
+ businessProfile?: {
33
+ name?: string;
34
+ url?: string;
35
+ supportEmail?: string;
36
+ supportPhone?: string;
37
+ mcc?: string;
38
+ };
39
+ /** Requested capabilities */
40
+ capabilities?: (keyof StripeCapabilities)[];
41
+ /** Account metadata */
42
+ metadata?: Record<string, string>;
43
+ }
44
+ /**
45
+ * Options for creating an account link
46
+ */
47
+ export interface AccountLinkOptions {
48
+ /** Type of account link */
49
+ type?: 'account_onboarding' | 'account_update';
50
+ /** Collect additional information */
51
+ collect?: 'currently_due' | 'eventually_due';
52
+ }
53
+ /**
54
+ * Stripe Connect manager for Digital Objects
55
+ *
56
+ * Handles Stripe Connect account lifecycle including creation,
57
+ * onboarding, and capability management.
58
+ *
59
+ * @example
60
+ * ```typescript
61
+ * const connect = new StripeConnect({ secretKey: env.STRIPE_SECRET_KEY })
62
+ *
63
+ * // Create a new connected account
64
+ * const account = await connect.createAccount('express', businessRef, {
65
+ * businessProfile: { name: 'Acme Corp' }
66
+ * })
67
+ *
68
+ * // Generate onboarding link
69
+ * const link = await connect.createAccountLink(
70
+ * account.stripeAccountId,
71
+ * 'https://example.com/return',
72
+ * 'https://example.com/refresh'
73
+ * )
74
+ * ```
75
+ */
76
+ export declare class StripeConnect {
77
+ private readonly config;
78
+ /**
79
+ * Create a new StripeConnect instance
80
+ *
81
+ * @param config - Stripe Connect configuration
82
+ */
83
+ constructor(config: StripeConnectConfig);
84
+ /**
85
+ * Create a new Stripe Connect account
86
+ *
87
+ * @param type - Account type (standard, express, or custom)
88
+ * @param businessRef - Reference to the Business DO
89
+ * @param options - Additional account options
90
+ * @returns The created Connect account
91
+ *
92
+ * @example
93
+ * ```typescript
94
+ * const account = await connect.createAccount('express', businessRef)
95
+ * console.log(account.stripeAccountId) // 'acct_xxx'
96
+ * ```
97
+ */
98
+ createAccount(type: StripeAccountType, businessRef: DigitalObjectRef, options?: CreateAccountOptions): Promise<StripeConnectAccount>;
99
+ /**
100
+ * Retrieve a Connect account by Stripe account ID
101
+ *
102
+ * @param stripeAccountId - The Stripe account ID (acct_xxx)
103
+ * @returns The Connect account or null if not found
104
+ */
105
+ getAccount(stripeAccountId: string): Promise<StripeConnectAccount | null>;
106
+ /**
107
+ * Update a Connect account
108
+ *
109
+ * @param stripeAccountId - The Stripe account ID
110
+ * @param updates - Fields to update
111
+ * @returns The updated account
112
+ */
113
+ updateAccount(stripeAccountId: string, updates: Partial<CreateAccountOptions>): Promise<StripeConnectAccount>;
114
+ /**
115
+ * Delete a Connect account
116
+ *
117
+ * @param stripeAccountId - The Stripe account ID
118
+ */
119
+ deleteAccount(stripeAccountId: string): Promise<void>;
120
+ /**
121
+ * Create an account link for onboarding or updates
122
+ *
123
+ * Account links are single-use URLs that redirect the account holder
124
+ * to Stripe-hosted onboarding or account management.
125
+ *
126
+ * @param stripeAccountId - The Stripe account ID
127
+ * @param returnUrl - URL to redirect after completion
128
+ * @param refreshUrl - URL to redirect if link expires
129
+ * @param options - Additional link options
130
+ * @returns The account link URL
131
+ *
132
+ * @example
133
+ * ```typescript
134
+ * const url = await connect.createAccountLink(
135
+ * 'acct_xxx',
136
+ * 'https://example.com/onboarding/complete',
137
+ * 'https://example.com/onboarding/refresh'
138
+ * )
139
+ * // Redirect user to url
140
+ * ```
141
+ */
142
+ createAccountLink(stripeAccountId: string, returnUrl: string, refreshUrl: string, options?: AccountLinkOptions): Promise<string>;
143
+ /**
144
+ * Create a login link for Express or Custom accounts
145
+ *
146
+ * Login links allow connected account holders to access their
147
+ * Stripe Express dashboard.
148
+ *
149
+ * @param stripeAccountId - The Stripe account ID
150
+ * @returns The login link URL
151
+ */
152
+ createLoginLink(stripeAccountId: string): Promise<string>;
153
+ /**
154
+ * Get account capabilities
155
+ *
156
+ * @param stripeAccountId - The Stripe account ID
157
+ * @returns Current capabilities and their status
158
+ */
159
+ getCapabilities(stripeAccountId: string): Promise<StripeCapabilities>;
160
+ /**
161
+ * Request additional capabilities for an account
162
+ *
163
+ * @param stripeAccountId - The Stripe account ID
164
+ * @param capabilities - Capabilities to request
165
+ */
166
+ requestCapabilities(stripeAccountId: string, capabilities: (keyof StripeCapabilities)[]): Promise<void>;
167
+ /**
168
+ * Add a bank account for payouts
169
+ *
170
+ * @param stripeAccountId - The Stripe account ID
171
+ * @param bankAccountToken - Bank account token from Stripe.js
172
+ * @returns The created bank account
173
+ */
174
+ addBankAccount(stripeAccountId: string, bankAccountToken: string): Promise<BankAccount>;
175
+ /**
176
+ * List bank accounts for a Connect account
177
+ *
178
+ * @param stripeAccountId - The Stripe account ID
179
+ * @returns List of bank accounts
180
+ */
181
+ listBankAccounts(stripeAccountId: string): Promise<BankAccount[]>;
182
+ /**
183
+ * Set the default bank account for payouts
184
+ *
185
+ * @param stripeAccountId - The Stripe account ID
186
+ * @param bankAccountId - The bank account ID to set as default
187
+ */
188
+ setDefaultBankAccount(stripeAccountId: string, bankAccountId: string): Promise<void>;
189
+ /**
190
+ * Delete a bank account
191
+ *
192
+ * @param stripeAccountId - The Stripe account ID
193
+ * @param bankAccountId - The bank account ID to delete
194
+ */
195
+ deleteBankAccount(stripeAccountId: string, bankAccountId: string): Promise<void>;
196
+ /**
197
+ * Handle a Stripe webhook event
198
+ *
199
+ * Validates the webhook signature and processes account-related events.
200
+ *
201
+ * @param payload - Raw webhook payload
202
+ * @param signature - Stripe-Signature header value
203
+ * @returns Processed event data
204
+ *
205
+ * @example
206
+ * ```typescript
207
+ * app.post('/webhook', async (req, res) => {
208
+ * const event = await connect.handleWebhook(
209
+ * req.body,
210
+ * req.headers['stripe-signature']
211
+ * )
212
+ * // Process event...
213
+ * })
214
+ * ```
215
+ */
216
+ handleWebhook(payload: string | ArrayBuffer, signature: string): Promise<{
217
+ type: string;
218
+ data: unknown;
219
+ }>;
220
+ /**
221
+ * Check if an account is fully onboarded and ready for charges
222
+ *
223
+ * @param stripeAccountId - The Stripe account ID
224
+ * @returns True if the account can accept charges
225
+ */
226
+ isReadyForCharges(stripeAccountId: string): Promise<boolean>;
227
+ /**
228
+ * Check if an account is ready for payouts
229
+ *
230
+ * @param stripeAccountId - The Stripe account ID
231
+ * @returns True if the account can receive payouts
232
+ */
233
+ isReadyForPayouts(stripeAccountId: string): Promise<boolean>;
234
+ }
235
+ /**
236
+ * Stripe Connect error codes
237
+ */
238
+ export declare const StripeConnectErrorCodes: {
239
+ readonly ACCOUNT_NOT_FOUND: "ACCOUNT_NOT_FOUND";
240
+ readonly ONBOARDING_INCOMPLETE: "ONBOARDING_INCOMPLETE";
241
+ readonly CAPABILITY_NOT_AVAILABLE: "CAPABILITY_NOT_AVAILABLE";
242
+ readonly BANK_ACCOUNT_INVALID: "BANK_ACCOUNT_INVALID";
243
+ readonly WEBHOOK_SIGNATURE_INVALID: "WEBHOOK_SIGNATURE_INVALID";
244
+ };
245
+ export type StripeConnectErrorCode = typeof StripeConnectErrorCodes[keyof typeof StripeConnectErrorCodes];
246
+ /**
247
+ * Stripe Connect error
248
+ */
249
+ export declare class StripeConnectError extends Error {
250
+ readonly code: StripeConnectErrorCode;
251
+ readonly details?: unknown | undefined;
252
+ constructor(code: StripeConnectErrorCode, message: string, details?: unknown | undefined);
253
+ }
254
+ //# sourceMappingURL=stripe.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stripe.d.ts","sourceRoot":"","sources":["../../../../do/business/financial/stripe.ts"],"names":[],"mappings":"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"}