@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,395 @@
1
+ /**
2
+ * Payment Processing
3
+ *
4
+ * Handles payment lifecycle including:
5
+ * - Payment intent creation
6
+ * - Authorization and capture
7
+ * - Refunds (full and partial)
8
+ * - Platform fees and transfers
9
+ *
10
+ * @module financial/payments
11
+ */
12
+ /**
13
+ * Payment processor for Digital Objects
14
+ *
15
+ * Manages the full payment lifecycle including creation, capture,
16
+ * refunds, and integration with Stripe Connect for multi-party payments.
17
+ *
18
+ * @example
19
+ * ```typescript
20
+ * const processor = new PaymentProcessor({
21
+ * secretKey: env.STRIPE_SECRET_KEY,
22
+ * platformFee: { type: 'percentage', percentage: 10 }
23
+ * })
24
+ *
25
+ * // Create a payment
26
+ * const payment = await processor.createPayment(1000, 'usd', {
27
+ * customerRef: 'https://example.com/customers/123',
28
+ * transferDestination: 'acct_xxx'
29
+ * })
30
+ *
31
+ * // Capture after authorization
32
+ * await processor.capturePayment(payment.id)
33
+ * ```
34
+ */
35
+ export class PaymentProcessor {
36
+ config;
37
+ /**
38
+ * Create a new PaymentProcessor instance
39
+ *
40
+ * @param config - Payment processor configuration
41
+ */
42
+ constructor(config) {
43
+ this.config = config;
44
+ }
45
+ /**
46
+ * Create a new payment intent
47
+ *
48
+ * Creates a Stripe PaymentIntent with optional platform fee and
49
+ * transfer to a connected account.
50
+ *
51
+ * @param amount - Amount in smallest currency unit (e.g., cents)
52
+ * @param currency - ISO 4217 currency code
53
+ * @param options - Additional payment options
54
+ * @returns The created payment
55
+ *
56
+ * @example
57
+ * ```typescript
58
+ * // Simple payment
59
+ * const payment = await processor.createPayment(1000, 'usd')
60
+ *
61
+ * // Payment with platform fee and transfer
62
+ * const payment = await processor.createPayment(1000, 'usd', {
63
+ * applicationFeeAmount: 100,
64
+ * transferDestination: 'acct_xxx'
65
+ * })
66
+ * ```
67
+ */
68
+ async createPayment(amount, currency, options) {
69
+ // TODO: Implement Stripe PaymentIntent creation
70
+ throw new Error('Not implemented');
71
+ }
72
+ /**
73
+ * Retrieve a payment by ID
74
+ *
75
+ * @param paymentId - The payment ID
76
+ * @returns The payment or null if not found
77
+ */
78
+ async getPayment(paymentId) {
79
+ // TODO: Implement Stripe API call
80
+ throw new Error('Not implemented');
81
+ }
82
+ /**
83
+ * Update a payment intent
84
+ *
85
+ * Can only update payments that haven't been confirmed.
86
+ *
87
+ * @param paymentId - The payment ID
88
+ * @param updates - Fields to update
89
+ * @returns The updated payment
90
+ */
91
+ async updatePayment(paymentId, updates) {
92
+ // TODO: Implement Stripe API call
93
+ throw new Error('Not implemented');
94
+ }
95
+ /**
96
+ * Confirm a payment intent
97
+ *
98
+ * @param paymentId - The payment ID
99
+ * @param paymentMethodId - Payment method to use
100
+ * @returns The confirmed payment
101
+ */
102
+ async confirmPayment(paymentId, paymentMethodId) {
103
+ // TODO: Implement Stripe API call
104
+ throw new Error('Not implemented');
105
+ }
106
+ /**
107
+ * Capture a payment that was authorized
108
+ *
109
+ * For payments created with capture_method: 'manual', this
110
+ * captures the funds after authorization.
111
+ *
112
+ * @param paymentId - The payment ID
113
+ * @param amount - Amount to capture (partial capture if less than authorized)
114
+ * @returns The captured payment
115
+ *
116
+ * @example
117
+ * ```typescript
118
+ * // Full capture
119
+ * await processor.capturePayment(paymentId)
120
+ *
121
+ * // Partial capture
122
+ * await processor.capturePayment(paymentId, 500)
123
+ * ```
124
+ */
125
+ async capturePayment(paymentId, amount) {
126
+ // TODO: Implement Stripe API call
127
+ throw new Error('Not implemented');
128
+ }
129
+ /**
130
+ * Cancel a payment intent
131
+ *
132
+ * @param paymentId - The payment ID
133
+ * @param cancellationReason - Reason for cancellation
134
+ * @returns The canceled payment
135
+ */
136
+ async cancelPayment(paymentId, cancellationReason) {
137
+ // TODO: Implement Stripe API call
138
+ throw new Error('Not implemented');
139
+ }
140
+ /**
141
+ * Refund a payment
142
+ *
143
+ * Supports full and partial refunds, with optional application
144
+ * fee refund and transfer reversal for Connect payments.
145
+ *
146
+ * @param paymentId - The payment ID
147
+ * @param options - Refund options
148
+ * @returns The updated payment with refund amount
149
+ *
150
+ * @example
151
+ * ```typescript
152
+ * // Full refund
153
+ * await processor.refundPayment(paymentId)
154
+ *
155
+ * // Partial refund with reason
156
+ * await processor.refundPayment(paymentId, {
157
+ * amount: 500,
158
+ * reason: 'requested_by_customer'
159
+ * })
160
+ * ```
161
+ */
162
+ async refundPayment(paymentId, options) {
163
+ // TODO: Implement Stripe API call
164
+ throw new Error('Not implemented');
165
+ }
166
+ /**
167
+ * List payments with filtering
168
+ *
169
+ * @param options - Filter and pagination options
170
+ * @returns List of payments
171
+ *
172
+ * @example
173
+ * ```typescript
174
+ * // Get recent successful payments
175
+ * const payments = await processor.listPayments({
176
+ * status: 'succeeded',
177
+ * limit: 10
178
+ * })
179
+ *
180
+ * // Get payments for a customer
181
+ * const payments = await processor.listPayments({
182
+ * customerRef: 'https://example.com/customers/123'
183
+ * })
184
+ * ```
185
+ */
186
+ async listPayments(options) {
187
+ // TODO: Implement Stripe API call
188
+ throw new Error('Not implemented');
189
+ }
190
+ /**
191
+ * Create a transfer to a connected account
192
+ *
193
+ * Transfers funds from the platform balance to a connected account.
194
+ *
195
+ * @param destinationAccountId - Stripe account ID of destination
196
+ * @param amount - Amount in smallest currency unit
197
+ * @param currency - ISO 4217 currency code
198
+ * @param options - Additional transfer options
199
+ * @returns The created transfer
200
+ *
201
+ * @example
202
+ * ```typescript
203
+ * const transfer = await processor.createTransfer(
204
+ * 'acct_xxx',
205
+ * 900,
206
+ * 'usd',
207
+ * { sourceTransaction: 'ch_xxx' }
208
+ * )
209
+ * ```
210
+ */
211
+ async createTransfer(destinationAccountId, amount, currency, options) {
212
+ // TODO: Implement Stripe API call
213
+ throw new Error('Not implemented');
214
+ }
215
+ /**
216
+ * Retrieve a transfer
217
+ *
218
+ * @param transferId - The transfer ID
219
+ * @returns The transfer or null if not found
220
+ */
221
+ async getTransfer(transferId) {
222
+ // TODO: Implement Stripe API call
223
+ throw new Error('Not implemented');
224
+ }
225
+ /**
226
+ * Reverse a transfer
227
+ *
228
+ * @param transferId - The transfer ID
229
+ * @param amount - Amount to reverse (partial if less than transfer amount)
230
+ * @returns The updated transfer
231
+ */
232
+ async reverseTransfer(transferId, amount) {
233
+ // TODO: Implement Stripe API call
234
+ throw new Error('Not implemented');
235
+ }
236
+ /**
237
+ * List transfers
238
+ *
239
+ * @param options - Filter and pagination options
240
+ * @returns List of transfers
241
+ */
242
+ async listTransfers(options) {
243
+ // TODO: Implement Stripe API call
244
+ throw new Error('Not implemented');
245
+ }
246
+ /**
247
+ * Create a payout to a bank account
248
+ *
249
+ * Initiates a payout from a Stripe balance to an external bank account.
250
+ *
251
+ * @param stripeAccountId - Stripe account ID (for connected accounts)
252
+ * @param bankAccountId - Destination bank account ID
253
+ * @param amount - Amount in smallest currency unit
254
+ * @param currency - ISO 4217 currency code
255
+ * @param options - Additional payout options
256
+ * @returns The created payout
257
+ *
258
+ * @example
259
+ * ```typescript
260
+ * // Standard payout (2-3 days)
261
+ * const payout = await processor.createPayout(
262
+ * 'acct_xxx',
263
+ * 'ba_xxx',
264
+ * 10000,
265
+ * 'usd'
266
+ * )
267
+ *
268
+ * // Instant payout
269
+ * const payout = await processor.createPayout(
270
+ * 'acct_xxx',
271
+ * 'ba_xxx',
272
+ * 10000,
273
+ * 'usd',
274
+ * { method: 'instant' }
275
+ * )
276
+ * ```
277
+ */
278
+ async createPayout(stripeAccountId, bankAccountId, amount, currency, options) {
279
+ // TODO: Implement Stripe API call
280
+ throw new Error('Not implemented');
281
+ }
282
+ /**
283
+ * Retrieve a payout
284
+ *
285
+ * @param payoutId - The payout ID
286
+ * @param stripeAccountId - Stripe account ID (for connected accounts)
287
+ * @returns The payout or null if not found
288
+ */
289
+ async getPayout(payoutId, stripeAccountId) {
290
+ // TODO: Implement Stripe API call
291
+ throw new Error('Not implemented');
292
+ }
293
+ /**
294
+ * Cancel a pending payout
295
+ *
296
+ * @param payoutId - The payout ID
297
+ * @param stripeAccountId - Stripe account ID (for connected accounts)
298
+ * @returns The canceled payout
299
+ */
300
+ async cancelPayout(payoutId, stripeAccountId) {
301
+ // TODO: Implement Stripe API call
302
+ throw new Error('Not implemented');
303
+ }
304
+ /**
305
+ * List payouts
306
+ *
307
+ * @param stripeAccountId - Stripe account ID (for connected accounts)
308
+ * @param options - Filter and pagination options
309
+ * @returns List of payouts
310
+ */
311
+ async listPayouts(stripeAccountId, options) {
312
+ // TODO: Implement Stripe API call
313
+ throw new Error('Not implemented');
314
+ }
315
+ /**
316
+ * Get application fees collected
317
+ *
318
+ * @param options - Filter options
319
+ * @returns List of application fees
320
+ */
321
+ async listApplicationFees(options) {
322
+ // TODO: Implement Stripe API call
323
+ throw new Error('Not implemented');
324
+ }
325
+ /**
326
+ * Calculate platform fee for an amount
327
+ *
328
+ * @param amount - Base amount
329
+ * @returns The calculated fee amount
330
+ */
331
+ calculatePlatformFee(amount) {
332
+ const fee = this.config.platformFee;
333
+ if (!fee)
334
+ return 0;
335
+ let feeAmount = 0;
336
+ if (fee.type === 'Percentage' && fee.percentage) {
337
+ feeAmount = Math.round(amount * (fee.percentage / 100));
338
+ }
339
+ else if (fee.type === 'Fixed' && fee.fixedAmount) {
340
+ feeAmount = fee.fixedAmount;
341
+ }
342
+ else if (fee.type === 'PercentagePlusFixed') {
343
+ const percentageFee = fee.percentage
344
+ ? Math.round(amount * (fee.percentage / 100))
345
+ : 0;
346
+ feeAmount = percentageFee + (fee.fixedAmount || 0);
347
+ }
348
+ // Apply min/max constraints
349
+ if (fee.minimumFee && feeAmount < fee.minimumFee) {
350
+ feeAmount = fee.minimumFee;
351
+ }
352
+ if (fee.maximumFee && feeAmount > fee.maximumFee) {
353
+ feeAmount = fee.maximumFee;
354
+ }
355
+ return feeAmount;
356
+ }
357
+ /**
358
+ * Handle a Stripe webhook event for payments
359
+ *
360
+ * @param payload - Raw webhook payload
361
+ * @param signature - Stripe-Signature header value
362
+ * @returns Processed event data
363
+ */
364
+ async handleWebhook(payload, signature) {
365
+ // TODO: Implement webhook verification and handling
366
+ throw new Error('Not implemented');
367
+ }
368
+ }
369
+ /**
370
+ * Payment error codes
371
+ */
372
+ export const PaymentErrorCodes = {
373
+ PAYMENT_NOT_FOUND: 'PAYMENT_NOT_FOUND',
374
+ PAYMENT_FAILED: 'PAYMENT_FAILED',
375
+ CAPTURE_FAILED: 'CAPTURE_FAILED',
376
+ REFUND_FAILED: 'REFUND_FAILED',
377
+ TRANSFER_FAILED: 'TRANSFER_FAILED',
378
+ PAYOUT_FAILED: 'PAYOUT_FAILED',
379
+ INSUFFICIENT_FUNDS: 'INSUFFICIENT_FUNDS',
380
+ INVALID_AMOUNT: 'INVALID_AMOUNT',
381
+ };
382
+ /**
383
+ * Payment processing error
384
+ */
385
+ export class PaymentError extends Error {
386
+ code;
387
+ details;
388
+ constructor(code, message, details) {
389
+ super(message);
390
+ this.code = code;
391
+ this.details = details;
392
+ this.name = 'PaymentError';
393
+ }
394
+ }
395
+ //# sourceMappingURL=payments.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"payments.js","sourceRoot":"","sources":["../../../../do/business/financial/payments.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,284 @@
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
+ import type { ReportPeriod, ProfitAndLoss, BalanceSheet, CashFlowStatement } from '../../../types/financial';
12
+ import type { AccountingJournal } from './accounting';
13
+ /**
14
+ * Configuration for financial reports
15
+ */
16
+ export interface FinancialReporterConfig {
17
+ /** Accounting journal instance */
18
+ journal: AccountingJournal;
19
+ /** Default currency */
20
+ defaultCurrency?: string;
21
+ /** Fiscal year start month (1-12) */
22
+ fiscalYearStartMonth?: number;
23
+ /** Include zero-balance accounts in reports */
24
+ includeZeroBalances?: boolean;
25
+ }
26
+ /**
27
+ * Options for generating reports
28
+ */
29
+ export interface ReportOptions {
30
+ /** Include comparison period */
31
+ comparePeriod?: ReportPeriod;
32
+ /** Include percentage calculations */
33
+ includePercentages?: boolean;
34
+ /** Account detail level */
35
+ detailLevel?: 'summary' | 'detail' | 'full';
36
+ /** Filter by specific accounts */
37
+ accountIds?: string[];
38
+ }
39
+ /**
40
+ * Comparative report with period-over-period analysis
41
+ */
42
+ export interface ComparativeReport<T> {
43
+ current: T;
44
+ previous?: T;
45
+ variance?: {
46
+ amount: number;
47
+ percentage: number;
48
+ };
49
+ }
50
+ /**
51
+ * Financial statement generator for Digital Objects
52
+ *
53
+ * Generates standard financial reports from the accounting journal
54
+ * including P&L, Balance Sheet, and Cash Flow Statement.
55
+ *
56
+ * @example
57
+ * ```typescript
58
+ * const reporter = new FinancialReporter({ journal })
59
+ *
60
+ * // Generate P&L for last month
61
+ * const pnl = await reporter.generateProfitAndLoss({
62
+ * start: startOfMonth,
63
+ * end: endOfMonth,
64
+ * label: 'January 2024'
65
+ * })
66
+ *
67
+ * // Generate balance sheet as of today
68
+ * const balance = await reporter.generateBalanceSheet(Date.now())
69
+ * ```
70
+ */
71
+ export declare class FinancialReporter {
72
+ private readonly config;
73
+ /**
74
+ * Create a new FinancialReporter instance
75
+ *
76
+ * @param config - Financial reporter configuration
77
+ */
78
+ constructor(config: FinancialReporterConfig);
79
+ /**
80
+ * Generate a Profit & Loss (Income) Statement
81
+ *
82
+ * @param period - Report period
83
+ * @param options - Report options
84
+ * @returns The P&L statement
85
+ *
86
+ * @example
87
+ * ```typescript
88
+ * const pnl = await reporter.generateProfitAndLoss({
89
+ * start: new Date('2024-01-01').getTime(),
90
+ * end: new Date('2024-01-31').getTime(),
91
+ * label: 'January 2024'
92
+ * })
93
+ *
94
+ * console.log('Net Income:', pnl.netIncome)
95
+ * console.log('Gross Margin:', pnl.grossProfit / pnl.revenue.total)
96
+ * ```
97
+ */
98
+ generateProfitAndLoss(period: ReportPeriod, options?: ReportOptions): Promise<ProfitAndLoss>;
99
+ /**
100
+ * Generate a comparative P&L with period-over-period analysis
101
+ *
102
+ * @param currentPeriod - Current report period
103
+ * @param previousPeriod - Previous period for comparison
104
+ * @param options - Report options
105
+ * @returns Comparative P&L
106
+ */
107
+ generateComparativeProfitAndLoss(currentPeriod: ReportPeriod, previousPeriod: ReportPeriod, options?: ReportOptions): Promise<ComparativeReport<ProfitAndLoss>>;
108
+ /**
109
+ * Build a P&L section from account balances
110
+ *
111
+ * @param category - Account category for the section
112
+ * @param period - Report period
113
+ * @param name - Section name
114
+ * @returns The P&L section
115
+ */
116
+ private buildPLSection;
117
+ /**
118
+ * Generate a Balance Sheet
119
+ *
120
+ * @param asOf - Point-in-time for the balance sheet
121
+ * @param options - Report options
122
+ * @returns The balance sheet
123
+ *
124
+ * @example
125
+ * ```typescript
126
+ * const balance = await reporter.generateBalanceSheet(Date.now())
127
+ *
128
+ * console.log('Total Assets:', balance.totalAssets)
129
+ * console.log('Total Liabilities:', balance.totalLiabilities)
130
+ * console.log('Total Equity:', balance.totalEquity)
131
+ *
132
+ * // Verify accounting equation
133
+ * const isBalanced = balance.totalAssets ===
134
+ * balance.totalLiabilities + balance.totalEquity
135
+ * ```
136
+ */
137
+ generateBalanceSheet(asOf: number, options?: ReportOptions): Promise<BalanceSheet>;
138
+ /**
139
+ * Generate a comparative balance sheet
140
+ *
141
+ * @param currentDate - Current balance sheet date
142
+ * @param previousDate - Previous date for comparison
143
+ * @param options - Report options
144
+ * @returns Comparative balance sheet
145
+ */
146
+ generateComparativeBalanceSheet(currentDate: number, previousDate: number, options?: ReportOptions): Promise<ComparativeReport<BalanceSheet>>;
147
+ /**
148
+ * Build a balance sheet section from accounts
149
+ *
150
+ * @param category - Account category
151
+ * @param asOf - Point-in-time
152
+ * @param name - Section name
153
+ * @returns The balance sheet section
154
+ */
155
+ private buildBalanceSheetSection;
156
+ /**
157
+ * Verify that the balance sheet balances
158
+ *
159
+ * @param balanceSheet - Balance sheet to verify
160
+ * @returns True if assets = liabilities + equity
161
+ */
162
+ verifyBalanceSheet(balanceSheet: BalanceSheet): boolean;
163
+ /**
164
+ * Generate a Cash Flow Statement
165
+ *
166
+ * Uses the indirect method, starting with net income and
167
+ * adjusting for non-cash items and working capital changes.
168
+ *
169
+ * @param period - Report period
170
+ * @param options - Report options
171
+ * @returns The cash flow statement
172
+ *
173
+ * @example
174
+ * ```typescript
175
+ * const cashFlow = await reporter.generateCashFlow({
176
+ * start: startOfMonth,
177
+ * end: endOfMonth
178
+ * })
179
+ *
180
+ * console.log('Net Cash from Operations:', cashFlow.operatingActivities.total)
181
+ * console.log('Ending Cash:', cashFlow.endingCash)
182
+ * ```
183
+ */
184
+ generateCashFlow(period: ReportPeriod, options?: ReportOptions): Promise<CashFlowStatement>;
185
+ /**
186
+ * Generate a comparative cash flow statement
187
+ *
188
+ * @param currentPeriod - Current report period
189
+ * @param previousPeriod - Previous period for comparison
190
+ * @param options - Report options
191
+ * @returns Comparative cash flow statement
192
+ */
193
+ generateComparativeCashFlow(currentPeriod: ReportPeriod, previousPeriod: ReportPeriod, options?: ReportOptions): Promise<ComparativeReport<CashFlowStatement>>;
194
+ /**
195
+ * Build operating activities section
196
+ *
197
+ * @param period - Report period
198
+ * @returns Operating activities section
199
+ */
200
+ private buildOperatingActivities;
201
+ /**
202
+ * Build investing activities section
203
+ *
204
+ * @param period - Report period
205
+ * @returns Investing activities section
206
+ */
207
+ private buildInvestingActivities;
208
+ /**
209
+ * Build financing activities section
210
+ *
211
+ * @param period - Report period
212
+ * @returns Financing activities section
213
+ */
214
+ private buildFinancingActivities;
215
+ /**
216
+ * Get fiscal year dates
217
+ *
218
+ * @param year - Calendar year
219
+ * @returns Start and end timestamps for the fiscal year
220
+ */
221
+ getFiscalYear(year: number): ReportPeriod;
222
+ /**
223
+ * Get fiscal quarter dates
224
+ *
225
+ * @param year - Calendar year
226
+ * @param quarter - Quarter (1-4)
227
+ * @returns Start and end timestamps for the quarter
228
+ */
229
+ getFiscalQuarter(year: number, quarter: number): ReportPeriod;
230
+ /**
231
+ * Get calendar month dates
232
+ *
233
+ * @param year - Calendar year
234
+ * @param month - Month (1-12)
235
+ * @returns Start and end timestamps for the month
236
+ */
237
+ getMonth(year: number, month: number): ReportPeriod;
238
+ /**
239
+ * Format a currency amount
240
+ *
241
+ * @param amount - Amount in smallest currency unit
242
+ * @param currency - Currency code
243
+ * @returns Formatted string
244
+ */
245
+ formatCurrency(amount: number, currency?: string): string;
246
+ /**
247
+ * Calculate percentage change
248
+ *
249
+ * @param current - Current value
250
+ * @param previous - Previous value
251
+ * @returns Percentage change
252
+ */
253
+ calculatePercentageChange(current: number, previous: number): number;
254
+ /**
255
+ * Generate all standard reports for a period
256
+ *
257
+ * @param period - Report period
258
+ * @returns All financial reports
259
+ */
260
+ generateAllReports(period: ReportPeriod): Promise<{
261
+ profitAndLoss: ProfitAndLoss;
262
+ balanceSheet: BalanceSheet;
263
+ cashFlow: CashFlowStatement;
264
+ }>;
265
+ }
266
+ /**
267
+ * Report error codes
268
+ */
269
+ export declare const ReportErrorCodes: {
270
+ readonly INVALID_PERIOD: "INVALID_PERIOD";
271
+ readonly NO_DATA: "NO_DATA";
272
+ readonly BALANCE_MISMATCH: "BALANCE_MISMATCH";
273
+ readonly MISSING_ACCOUNTS: "MISSING_ACCOUNTS";
274
+ };
275
+ export type ReportErrorCode = typeof ReportErrorCodes[keyof typeof ReportErrorCodes];
276
+ /**
277
+ * Report error
278
+ */
279
+ export declare class ReportError extends Error {
280
+ readonly code: ReportErrorCode;
281
+ readonly details?: unknown | undefined;
282
+ constructor(code: ReportErrorCode, message: string, details?: unknown | undefined);
283
+ }
284
+ //# sourceMappingURL=reports.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reports.d.ts","sourceRoot":"","sources":["../../../../do/business/financial/reports.ts"],"names":[],"mappings":"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"}