@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,261 @@
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
+ /**
13
+ * Stripe Connect manager for Digital Objects
14
+ *
15
+ * Handles Stripe Connect account lifecycle including creation,
16
+ * onboarding, and capability management.
17
+ *
18
+ * @example
19
+ * ```typescript
20
+ * const connect = new StripeConnect({ secretKey: env.STRIPE_SECRET_KEY })
21
+ *
22
+ * // Create a new connected account
23
+ * const account = await connect.createAccount('express', businessRef, {
24
+ * businessProfile: { name: 'Acme Corp' }
25
+ * })
26
+ *
27
+ * // Generate onboarding link
28
+ * const link = await connect.createAccountLink(
29
+ * account.stripeAccountId,
30
+ * 'https://example.com/return',
31
+ * 'https://example.com/refresh'
32
+ * )
33
+ * ```
34
+ */
35
+ export class StripeConnect {
36
+ config;
37
+ /**
38
+ * Create a new StripeConnect instance
39
+ *
40
+ * @param config - Stripe Connect configuration
41
+ */
42
+ constructor(config) {
43
+ this.config = config;
44
+ }
45
+ /**
46
+ * Create a new Stripe Connect account
47
+ *
48
+ * @param type - Account type (standard, express, or custom)
49
+ * @param businessRef - Reference to the Business DO
50
+ * @param options - Additional account options
51
+ * @returns The created Connect account
52
+ *
53
+ * @example
54
+ * ```typescript
55
+ * const account = await connect.createAccount('express', businessRef)
56
+ * console.log(account.stripeAccountId) // 'acct_xxx'
57
+ * ```
58
+ */
59
+ async createAccount(type, businessRef, options) {
60
+ // TODO: Implement Stripe API call
61
+ throw new Error('Not implemented');
62
+ }
63
+ /**
64
+ * Retrieve a Connect account by Stripe account ID
65
+ *
66
+ * @param stripeAccountId - The Stripe account ID (acct_xxx)
67
+ * @returns The Connect account or null if not found
68
+ */
69
+ async getAccount(stripeAccountId) {
70
+ // TODO: Implement Stripe API call
71
+ throw new Error('Not implemented');
72
+ }
73
+ /**
74
+ * Update a Connect account
75
+ *
76
+ * @param stripeAccountId - The Stripe account ID
77
+ * @param updates - Fields to update
78
+ * @returns The updated account
79
+ */
80
+ async updateAccount(stripeAccountId, updates) {
81
+ // TODO: Implement Stripe API call
82
+ throw new Error('Not implemented');
83
+ }
84
+ /**
85
+ * Delete a Connect account
86
+ *
87
+ * @param stripeAccountId - The Stripe account ID
88
+ */
89
+ async deleteAccount(stripeAccountId) {
90
+ // TODO: Implement Stripe API call
91
+ throw new Error('Not implemented');
92
+ }
93
+ /**
94
+ * Create an account link for onboarding or updates
95
+ *
96
+ * Account links are single-use URLs that redirect the account holder
97
+ * to Stripe-hosted onboarding or account management.
98
+ *
99
+ * @param stripeAccountId - The Stripe account ID
100
+ * @param returnUrl - URL to redirect after completion
101
+ * @param refreshUrl - URL to redirect if link expires
102
+ * @param options - Additional link options
103
+ * @returns The account link URL
104
+ *
105
+ * @example
106
+ * ```typescript
107
+ * const url = await connect.createAccountLink(
108
+ * 'acct_xxx',
109
+ * 'https://example.com/onboarding/complete',
110
+ * 'https://example.com/onboarding/refresh'
111
+ * )
112
+ * // Redirect user to url
113
+ * ```
114
+ */
115
+ async createAccountLink(stripeAccountId, returnUrl, refreshUrl, options) {
116
+ // TODO: Implement Stripe API call
117
+ throw new Error('Not implemented');
118
+ }
119
+ /**
120
+ * Create a login link for Express or Custom accounts
121
+ *
122
+ * Login links allow connected account holders to access their
123
+ * Stripe Express dashboard.
124
+ *
125
+ * @param stripeAccountId - The Stripe account ID
126
+ * @returns The login link URL
127
+ */
128
+ async createLoginLink(stripeAccountId) {
129
+ // TODO: Implement Stripe API call
130
+ throw new Error('Not implemented');
131
+ }
132
+ /**
133
+ * Get account capabilities
134
+ *
135
+ * @param stripeAccountId - The Stripe account ID
136
+ * @returns Current capabilities and their status
137
+ */
138
+ async getCapabilities(stripeAccountId) {
139
+ // TODO: Implement Stripe API call
140
+ throw new Error('Not implemented');
141
+ }
142
+ /**
143
+ * Request additional capabilities for an account
144
+ *
145
+ * @param stripeAccountId - The Stripe account ID
146
+ * @param capabilities - Capabilities to request
147
+ */
148
+ async requestCapabilities(stripeAccountId, capabilities) {
149
+ // TODO: Implement Stripe API call
150
+ throw new Error('Not implemented');
151
+ }
152
+ /**
153
+ * Add a bank account for payouts
154
+ *
155
+ * @param stripeAccountId - The Stripe account ID
156
+ * @param bankAccountToken - Bank account token from Stripe.js
157
+ * @returns The created bank account
158
+ */
159
+ async addBankAccount(stripeAccountId, bankAccountToken) {
160
+ // TODO: Implement Stripe API call
161
+ throw new Error('Not implemented');
162
+ }
163
+ /**
164
+ * List bank accounts for a Connect account
165
+ *
166
+ * @param stripeAccountId - The Stripe account ID
167
+ * @returns List of bank accounts
168
+ */
169
+ async listBankAccounts(stripeAccountId) {
170
+ // TODO: Implement Stripe API call
171
+ throw new Error('Not implemented');
172
+ }
173
+ /**
174
+ * Set the default bank account for payouts
175
+ *
176
+ * @param stripeAccountId - The Stripe account ID
177
+ * @param bankAccountId - The bank account ID to set as default
178
+ */
179
+ async setDefaultBankAccount(stripeAccountId, bankAccountId) {
180
+ // TODO: Implement Stripe API call
181
+ throw new Error('Not implemented');
182
+ }
183
+ /**
184
+ * Delete a bank account
185
+ *
186
+ * @param stripeAccountId - The Stripe account ID
187
+ * @param bankAccountId - The bank account ID to delete
188
+ */
189
+ async deleteBankAccount(stripeAccountId, bankAccountId) {
190
+ // TODO: Implement Stripe API call
191
+ throw new Error('Not implemented');
192
+ }
193
+ /**
194
+ * Handle a Stripe webhook event
195
+ *
196
+ * Validates the webhook signature and processes account-related events.
197
+ *
198
+ * @param payload - Raw webhook payload
199
+ * @param signature - Stripe-Signature header value
200
+ * @returns Processed event data
201
+ *
202
+ * @example
203
+ * ```typescript
204
+ * app.post('/webhook', async (req, res) => {
205
+ * const event = await connect.handleWebhook(
206
+ * req.body,
207
+ * req.headers['stripe-signature']
208
+ * )
209
+ * // Process event...
210
+ * })
211
+ * ```
212
+ */
213
+ async handleWebhook(payload, signature) {
214
+ // TODO: Implement webhook verification and handling
215
+ throw new Error('Not implemented');
216
+ }
217
+ /**
218
+ * Check if an account is fully onboarded and ready for charges
219
+ *
220
+ * @param stripeAccountId - The Stripe account ID
221
+ * @returns True if the account can accept charges
222
+ */
223
+ async isReadyForCharges(stripeAccountId) {
224
+ // TODO: Implement capability check
225
+ throw new Error('Not implemented');
226
+ }
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
+ async isReadyForPayouts(stripeAccountId) {
234
+ // TODO: Implement capability check
235
+ throw new Error('Not implemented');
236
+ }
237
+ }
238
+ /**
239
+ * Stripe Connect error codes
240
+ */
241
+ export const StripeConnectErrorCodes = {
242
+ ACCOUNT_NOT_FOUND: 'ACCOUNT_NOT_FOUND',
243
+ ONBOARDING_INCOMPLETE: 'ONBOARDING_INCOMPLETE',
244
+ CAPABILITY_NOT_AVAILABLE: 'CAPABILITY_NOT_AVAILABLE',
245
+ BANK_ACCOUNT_INVALID: 'BANK_ACCOUNT_INVALID',
246
+ WEBHOOK_SIGNATURE_INVALID: 'WEBHOOK_SIGNATURE_INVALID',
247
+ };
248
+ /**
249
+ * Stripe Connect error
250
+ */
251
+ export class StripeConnectError extends Error {
252
+ code;
253
+ details;
254
+ constructor(code, message, details) {
255
+ super(message);
256
+ this.code = code;
257
+ this.details = details;
258
+ this.name = 'StripeConnectError';
259
+ }
260
+ }
261
+ //# sourceMappingURL=stripe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stripe.js","sourceRoot":"","sources":["../../../../do/business/financial/stripe.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,402 @@
1
+ /**
2
+ * Subscription Management
3
+ *
4
+ * Handles recurring revenue including:
5
+ * - Subscription creation and lifecycle
6
+ * - Trials and promotions
7
+ * - Upgrades and downgrades
8
+ * - Cancellations and pauses
9
+ * - Invoice generation
10
+ *
11
+ * @module financial/subscriptions
12
+ */
13
+ import type { Subscription, Invoice, InvoiceLineItem, ListSubscriptionsOptions } from '../../../types/financial';
14
+ import type { DigitalObjectRef } from '../../../types/identity';
15
+ /**
16
+ * Configuration for subscription management
17
+ */
18
+ export interface SubscriptionManagerConfig {
19
+ /** Stripe secret API key */
20
+ secretKey: string;
21
+ /** Default trial period in days */
22
+ defaultTrialDays?: number;
23
+ /** Proration behavior for changes */
24
+ prorationBehavior?: 'create_prorations' | 'none' | 'always_invoice';
25
+ /** Payment behavior for new subscriptions */
26
+ paymentBehavior?: 'default_incomplete' | 'allow_incomplete' | 'error_if_incomplete';
27
+ }
28
+ /**
29
+ * Options for creating a subscription
30
+ */
31
+ export interface CreateSubscriptionOptions {
32
+ /** Trial period end timestamp */
33
+ trialEnd?: number | 'now';
34
+ /** Trial period in days */
35
+ trialPeriodDays?: number;
36
+ /** Coupon or promotion code */
37
+ coupon?: string;
38
+ /** Promotion code */
39
+ promotionCode?: string;
40
+ /** Quantity (for per-seat pricing) */
41
+ quantity?: number;
42
+ /** Payment method ID */
43
+ defaultPaymentMethod?: string;
44
+ /** Cancel at end of period */
45
+ cancelAtPeriodEnd?: boolean;
46
+ /** Billing cycle anchor */
47
+ billingCycleAnchor?: number | 'now' | 'unchanged';
48
+ /** Collection method */
49
+ collectionMethod?: 'charge_automatically' | 'send_invoice';
50
+ /** Days until due (for invoiced subscriptions) */
51
+ daysUntilDue?: number;
52
+ /** Metadata */
53
+ metadata?: Record<string, string>;
54
+ }
55
+ /**
56
+ * Options for updating a subscription
57
+ */
58
+ export interface UpdateSubscriptionOptions {
59
+ /** New price ID (for upgrades/downgrades) */
60
+ priceId?: string;
61
+ /** New quantity */
62
+ quantity?: number;
63
+ /** Proration behavior */
64
+ prorationBehavior?: 'create_prorations' | 'none' | 'always_invoice';
65
+ /** Proration date */
66
+ prorationDate?: number;
67
+ /** Cancel at period end */
68
+ cancelAtPeriodEnd?: boolean;
69
+ /** Trial end */
70
+ trialEnd?: number | 'now';
71
+ /** Payment method */
72
+ defaultPaymentMethod?: string;
73
+ /** Metadata */
74
+ metadata?: Record<string, string>;
75
+ }
76
+ /**
77
+ * Options for canceling a subscription
78
+ */
79
+ export interface CancelSubscriptionOptions {
80
+ /** Cancel at end of billing period */
81
+ atPeriodEnd?: boolean;
82
+ /** Cancellation reason */
83
+ cancellationDetails?: {
84
+ comment?: string;
85
+ feedback?: 'customer_service' | 'low_quality' | 'missing_features' | 'switched_service' | 'too_complex' | 'too_expensive' | 'unused' | 'other';
86
+ };
87
+ /** Prorate final invoice */
88
+ prorate?: boolean;
89
+ /** Invoice immediately */
90
+ invoiceNow?: boolean;
91
+ }
92
+ /**
93
+ * Options for listing invoices
94
+ */
95
+ export interface ListInvoicesOptions {
96
+ /** Customer reference */
97
+ customerRef?: DigitalObjectRef;
98
+ /** Subscription ID */
99
+ subscriptionId?: string;
100
+ /** Invoice status */
101
+ status?: Invoice['status'];
102
+ /** Created after timestamp */
103
+ createdAfter?: number;
104
+ /** Created before timestamp */
105
+ createdBefore?: number;
106
+ /** Limit */
107
+ limit?: number;
108
+ /** Starting after (pagination cursor) */
109
+ startingAfter?: string;
110
+ }
111
+ /**
112
+ * Subscription manager for Digital Objects
113
+ *
114
+ * Manages the full subscription lifecycle including creation,
115
+ * modifications, and cancellation with support for trials and promotions.
116
+ *
117
+ * @example
118
+ * ```typescript
119
+ * const subscriptions = new SubscriptionManager({
120
+ * secretKey: env.STRIPE_SECRET_KEY,
121
+ * defaultTrialDays: 14
122
+ * })
123
+ *
124
+ * // Create a subscription with trial
125
+ * const sub = await subscriptions.create(customerRef, 'price_pro_monthly', {
126
+ * trialPeriodDays: 14
127
+ * })
128
+ *
129
+ * // Upgrade to annual plan
130
+ * await subscriptions.update(sub.id, {
131
+ * priceId: 'price_pro_annual',
132
+ * prorationBehavior: 'create_prorations'
133
+ * })
134
+ *
135
+ * // Cancel at period end
136
+ * await subscriptions.cancel(sub.id, { atPeriodEnd: true })
137
+ * ```
138
+ */
139
+ export declare class SubscriptionManager {
140
+ private readonly config;
141
+ /**
142
+ * Create a new SubscriptionManager instance
143
+ *
144
+ * @param config - Subscription manager configuration
145
+ */
146
+ constructor(config: SubscriptionManagerConfig);
147
+ /**
148
+ * Create a new subscription
149
+ *
150
+ * @param customerRef - Reference to the customer DO
151
+ * @param priceId - Stripe price ID
152
+ * @param options - Additional subscription options
153
+ * @returns The created subscription
154
+ *
155
+ * @example
156
+ * ```typescript
157
+ * // Basic subscription
158
+ * const sub = await subscriptions.create(customerRef, 'price_pro_monthly')
159
+ *
160
+ * // Subscription with trial and quantity
161
+ * const sub = await subscriptions.create(customerRef, 'price_team_monthly', {
162
+ * trialPeriodDays: 14,
163
+ * quantity: 5 // 5 seats
164
+ * })
165
+ * ```
166
+ */
167
+ create(customerRef: DigitalObjectRef, priceId: string, options?: CreateSubscriptionOptions): Promise<Subscription>;
168
+ /**
169
+ * Retrieve a subscription by ID
170
+ *
171
+ * @param subscriptionId - The subscription ID
172
+ * @returns The subscription or null if not found
173
+ */
174
+ get(subscriptionId: string): Promise<Subscription | null>;
175
+ /**
176
+ * Update a subscription
177
+ *
178
+ * Used for upgrades, downgrades, quantity changes, and other modifications.
179
+ *
180
+ * @param subscriptionId - The subscription ID
181
+ * @param options - Update options
182
+ * @returns The updated subscription
183
+ *
184
+ * @example
185
+ * ```typescript
186
+ * // Upgrade plan
187
+ * await subscriptions.update(subId, {
188
+ * priceId: 'price_enterprise_monthly',
189
+ * prorationBehavior: 'create_prorations'
190
+ * })
191
+ *
192
+ * // Change quantity
193
+ * await subscriptions.update(subId, { quantity: 10 })
194
+ * ```
195
+ */
196
+ update(subscriptionId: string, options: UpdateSubscriptionOptions): Promise<Subscription>;
197
+ /**
198
+ * Cancel a subscription
199
+ *
200
+ * @param subscriptionId - The subscription ID
201
+ * @param options - Cancellation options
202
+ * @returns The canceled subscription
203
+ *
204
+ * @example
205
+ * ```typescript
206
+ * // Cancel at end of period (graceful)
207
+ * await subscriptions.cancel(subId, { atPeriodEnd: true })
208
+ *
209
+ * // Cancel immediately with feedback
210
+ * await subscriptions.cancel(subId, {
211
+ * atPeriodEnd: false,
212
+ * cancellationDetails: {
213
+ * feedback: 'too_expensive',
214
+ * comment: 'Budget constraints'
215
+ * }
216
+ * })
217
+ * ```
218
+ */
219
+ cancel(subscriptionId: string, options?: CancelSubscriptionOptions): Promise<Subscription>;
220
+ /**
221
+ * Resume a canceled subscription
222
+ *
223
+ * Only works if subscription was canceled with atPeriodEnd: true
224
+ * and the period hasn't ended yet.
225
+ *
226
+ * @param subscriptionId - The subscription ID
227
+ * @returns The resumed subscription
228
+ */
229
+ resume(subscriptionId: string): Promise<Subscription>;
230
+ /**
231
+ * Pause a subscription
232
+ *
233
+ * Pauses collection on the subscription. The subscription
234
+ * remains active but billing is suspended.
235
+ *
236
+ * @param subscriptionId - The subscription ID
237
+ * @param resumesAt - Timestamp when to resume billing
238
+ * @returns The paused subscription
239
+ */
240
+ pause(subscriptionId: string, resumesAt?: number): Promise<Subscription>;
241
+ /**
242
+ * Unpause a subscription
243
+ *
244
+ * @param subscriptionId - The subscription ID
245
+ * @returns The resumed subscription
246
+ */
247
+ unpause(subscriptionId: string): Promise<Subscription>;
248
+ /**
249
+ * List subscriptions with filtering
250
+ *
251
+ * @param options - Filter and pagination options
252
+ * @returns List of subscriptions
253
+ *
254
+ * @example
255
+ * ```typescript
256
+ * // Get all active subscriptions
257
+ * const subs = await subscriptions.list({ status: 'active' })
258
+ *
259
+ * // Get subscriptions for a customer
260
+ * const subs = await subscriptions.list({ customerRef })
261
+ * ```
262
+ */
263
+ list(options?: ListSubscriptionsOptions): Promise<Subscription[]>;
264
+ /**
265
+ * Get upcoming invoice for a subscription
266
+ *
267
+ * Preview what the next invoice will look like, including
268
+ * any pending proration items.
269
+ *
270
+ * @param subscriptionId - The subscription ID
271
+ * @param options - Preview options for simulating changes
272
+ * @returns The upcoming invoice preview
273
+ */
274
+ getUpcomingInvoice(subscriptionId: string, options?: {
275
+ priceId?: string;
276
+ quantity?: number;
277
+ prorationDate?: number;
278
+ }): Promise<Invoice>;
279
+ /**
280
+ * Create an invoice for a subscription
281
+ *
282
+ * Manually creates an invoice for pending invoice items.
283
+ *
284
+ * @param subscriptionId - The subscription ID
285
+ * @param options - Invoice options
286
+ * @returns The created invoice
287
+ */
288
+ createInvoice(subscriptionId: string, options?: {
289
+ autoAdvance?: boolean;
290
+ description?: string;
291
+ metadata?: Record<string, string>;
292
+ }): Promise<Invoice>;
293
+ /**
294
+ * Retrieve an invoice
295
+ *
296
+ * @param invoiceId - The invoice ID
297
+ * @returns The invoice or null if not found
298
+ */
299
+ getInvoice(invoiceId: string): Promise<Invoice | null>;
300
+ /**
301
+ * Pay an invoice
302
+ *
303
+ * @param invoiceId - The invoice ID
304
+ * @param paymentMethodId - Payment method to use
305
+ * @returns The paid invoice
306
+ */
307
+ payInvoice(invoiceId: string, paymentMethodId?: string): Promise<Invoice>;
308
+ /**
309
+ * Void an invoice
310
+ *
311
+ * @param invoiceId - The invoice ID
312
+ * @returns The voided invoice
313
+ */
314
+ voidInvoice(invoiceId: string): Promise<Invoice>;
315
+ /**
316
+ * Mark an invoice as uncollectible
317
+ *
318
+ * @param invoiceId - The invoice ID
319
+ * @returns The updated invoice
320
+ */
321
+ markUncollectible(invoiceId: string): Promise<Invoice>;
322
+ /**
323
+ * List invoices with filtering
324
+ *
325
+ * @param options - Filter and pagination options
326
+ * @returns List of invoices
327
+ */
328
+ listInvoices(options?: ListInvoicesOptions): Promise<Invoice[]>;
329
+ /**
330
+ * Send an invoice to the customer
331
+ *
332
+ * @param invoiceId - The invoice ID
333
+ * @returns The sent invoice
334
+ */
335
+ sendInvoice(invoiceId: string): Promise<Invoice>;
336
+ /**
337
+ * Add an invoice item
338
+ *
339
+ * @param customerRef - Customer reference
340
+ * @param options - Invoice item options
341
+ * @returns The created invoice line item
342
+ */
343
+ addInvoiceItem(customerRef: DigitalObjectRef, options: {
344
+ amount: number;
345
+ currency: string;
346
+ description: string;
347
+ subscriptionId?: string;
348
+ period?: {
349
+ start: number;
350
+ end: number;
351
+ };
352
+ metadata?: Record<string, string>;
353
+ }): Promise<InvoiceLineItem>;
354
+ /**
355
+ * Apply a coupon to a subscription
356
+ *
357
+ * @param subscriptionId - The subscription ID
358
+ * @param couponId - The coupon ID
359
+ * @returns The updated subscription
360
+ */
361
+ applyCoupon(subscriptionId: string, couponId: string): Promise<Subscription>;
362
+ /**
363
+ * Remove a coupon from a subscription
364
+ *
365
+ * @param subscriptionId - The subscription ID
366
+ * @returns The updated subscription
367
+ */
368
+ removeCoupon(subscriptionId: string): Promise<Subscription>;
369
+ /**
370
+ * Handle a Stripe webhook event for subscriptions
371
+ *
372
+ * @param payload - Raw webhook payload
373
+ * @param signature - Stripe-Signature header value
374
+ * @returns Processed event data
375
+ */
376
+ handleWebhook(payload: string | ArrayBuffer, signature: string): Promise<{
377
+ type: string;
378
+ data: unknown;
379
+ }>;
380
+ }
381
+ /**
382
+ * Subscription error codes
383
+ */
384
+ export declare const SubscriptionErrorCodes: {
385
+ readonly SUBSCRIPTION_NOT_FOUND: "SUBSCRIPTION_NOT_FOUND";
386
+ readonly ALREADY_CANCELED: "ALREADY_CANCELED";
387
+ readonly CANNOT_RESUME: "CANNOT_RESUME";
388
+ readonly INVALID_PRICE: "INVALID_PRICE";
389
+ readonly INVOICE_NOT_FOUND: "INVOICE_NOT_FOUND";
390
+ readonly PAYMENT_FAILED: "PAYMENT_FAILED";
391
+ readonly CUSTOMER_NOT_FOUND: "CUSTOMER_NOT_FOUND";
392
+ };
393
+ export type SubscriptionErrorCode = typeof SubscriptionErrorCodes[keyof typeof SubscriptionErrorCodes];
394
+ /**
395
+ * Subscription error
396
+ */
397
+ export declare class SubscriptionError extends Error {
398
+ readonly code: SubscriptionErrorCode;
399
+ readonly details?: unknown | undefined;
400
+ constructor(code: SubscriptionErrorCode, message: string, details?: unknown | undefined);
401
+ }
402
+ //# sourceMappingURL=subscriptions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscriptions.d.ts","sourceRoot":"","sources":["../../../../do/business/financial/subscriptions.ts"],"names":[],"mappings":"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"}