@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,370 @@
1
+ /**
2
+ * API Types - Type definitions for the Hono-based API layer
3
+ *
4
+ * Includes:
5
+ * - Request/response types
6
+ * - Context types for middleware
7
+ * - Error types
8
+ * - Configuration types
9
+ */
10
+ import type { Context, MiddlewareHandler } from 'hono';
11
+ /**
12
+ * Cloudflare Worker environment bindings
13
+ */
14
+ export interface Env {
15
+ /** Durable Object namespace for Digital Objects */
16
+ DO: DurableObjectNamespace;
17
+ /** R2 bucket for cold storage */
18
+ R2: R2Bucket;
19
+ /** KV namespace for caching */
20
+ KV: KVNamespace;
21
+ /** Cloudflare AI binding */
22
+ AI: Ai;
23
+ /** Environment (development, staging, production) */
24
+ ENVIRONMENT: string;
25
+ /** Optional: Auth secret for JWT validation */
26
+ AUTH_SECRET?: string;
27
+ /** Optional: Rate limit requests per minute */
28
+ RATE_LIMIT_RPM?: string;
29
+ }
30
+ /**
31
+ * Extended Hono context with DO-specific variables
32
+ */
33
+ export interface DOContext {
34
+ /** Authenticated user info */
35
+ user?: AuthUser;
36
+ /** Request ID for tracing */
37
+ requestId: string;
38
+ /** Start time for latency tracking */
39
+ startTime: number;
40
+ /** Target DO hostname */
41
+ hostname: string;
42
+ /** Colo (datacenter) code */
43
+ colo?: string;
44
+ }
45
+ /**
46
+ * Authenticated user
47
+ */
48
+ export interface AuthUser {
49
+ /** User ID */
50
+ id: string;
51
+ /** Email address */
52
+ email?: string;
53
+ /** Organization ID */
54
+ orgId?: string;
55
+ /** Roles */
56
+ roles: string[];
57
+ /** Permissions */
58
+ permissions: string[];
59
+ /** Token expiration time */
60
+ exp?: number;
61
+ }
62
+ /**
63
+ * Authentication result
64
+ */
65
+ export interface AuthResult {
66
+ /** Whether authentication succeeded */
67
+ success: boolean;
68
+ /** Authenticated user (if success) */
69
+ user?: AuthUser;
70
+ /** Error message (if failed) */
71
+ error?: string;
72
+ }
73
+ /**
74
+ * Authentication options
75
+ */
76
+ export interface AuthOptions {
77
+ /** JWT secret for validation */
78
+ secret?: string;
79
+ /** Whether to require auth (vs optional) */
80
+ required?: boolean;
81
+ /** Required roles */
82
+ roles?: string[];
83
+ /** Required permissions */
84
+ permissions?: string[];
85
+ /** Custom token extractor */
86
+ extractToken?: (c: Context) => string | null;
87
+ }
88
+ /**
89
+ * Standard API response wrapper
90
+ * Every response includes clickable links for API discovery
91
+ */
92
+ export interface APIResponse<T = unknown> {
93
+ /** API identifier (usually the hostname) */
94
+ api: string;
95
+ /** Response data */
96
+ data: T;
97
+ /** Clickable links to related endpoints */
98
+ links: Record<string, string>;
99
+ /** Authenticated user (if any) */
100
+ user?: string;
101
+ /** Cloudflare colo code */
102
+ colo?: string;
103
+ /** Response timestamp */
104
+ timestamp: number;
105
+ }
106
+ /**
107
+ * API error response
108
+ */
109
+ export interface APIErrorResponse {
110
+ /** API identifier */
111
+ api: string;
112
+ /** Error details */
113
+ error: {
114
+ /** Error code */
115
+ code: string;
116
+ /** Human-readable message */
117
+ message: string;
118
+ /** Additional error details */
119
+ details?: unknown;
120
+ };
121
+ /** Clickable links */
122
+ links: Record<string, string>;
123
+ /** Response timestamp */
124
+ timestamp: number;
125
+ }
126
+ /**
127
+ * Pagination info
128
+ */
129
+ export interface PaginationInfo {
130
+ /** Total items */
131
+ total: number;
132
+ /** Current page */
133
+ page: number;
134
+ /** Items per page */
135
+ pageSize: number;
136
+ /** Total pages */
137
+ totalPages: number;
138
+ /** Has more pages */
139
+ hasMore: boolean;
140
+ /** Next cursor (for cursor-based pagination) */
141
+ nextCursor?: string;
142
+ }
143
+ /**
144
+ * Paginated response
145
+ */
146
+ export interface PaginatedResponse<T> extends APIResponse<T[]> {
147
+ /** Pagination info */
148
+ pagination: PaginationInfo;
149
+ }
150
+ /**
151
+ * Rate limit configuration
152
+ */
153
+ export interface RateLimitConfig {
154
+ /** Window size in seconds */
155
+ windowSecs: number;
156
+ /** Max requests per window */
157
+ maxRequests: number;
158
+ /** Key generator (default: IP-based) */
159
+ keyGenerator?: (c: Context) => string;
160
+ /** Skip rate limiting for these paths */
161
+ skipPaths?: string[];
162
+ /** Custom rate limit by path */
163
+ pathLimits?: Record<string, number>;
164
+ }
165
+ /**
166
+ * Rate limit info (returned in headers)
167
+ */
168
+ export interface RateLimitInfo {
169
+ /** Max requests allowed */
170
+ limit: number;
171
+ /** Remaining requests */
172
+ remaining: number;
173
+ /** Window reset time (Unix timestamp) */
174
+ reset: number;
175
+ }
176
+ /**
177
+ * CORS configuration
178
+ */
179
+ export interface CORSConfig {
180
+ /** Allowed origins (default: '*') */
181
+ origin?: string | string[] | ((origin: string) => boolean);
182
+ /** Allowed methods */
183
+ methods?: string[];
184
+ /** Allowed headers */
185
+ allowedHeaders?: string[];
186
+ /** Exposed headers */
187
+ exposedHeaders?: string[];
188
+ /** Allow credentials */
189
+ credentials?: boolean;
190
+ /** Max age for preflight cache */
191
+ maxAge?: number;
192
+ }
193
+ /**
194
+ * Route definition
195
+ */
196
+ export interface RouteDefinition {
197
+ /** HTTP method */
198
+ method: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE' | 'OPTIONS';
199
+ /** Path pattern */
200
+ path: string;
201
+ /** Handler function */
202
+ handler: (c: Context<{
203
+ Bindings: Env;
204
+ Variables: DOContext;
205
+ }>) => Promise<Response> | Response;
206
+ /** Middleware to apply */
207
+ middleware?: MiddlewareHandler[];
208
+ /** Route description (for docs) */
209
+ description?: string;
210
+ /** Whether auth is required */
211
+ auth?: boolean;
212
+ }
213
+ /**
214
+ * Route group
215
+ */
216
+ export interface RouteGroup {
217
+ /** Base path */
218
+ basePath: string;
219
+ /** Routes in this group */
220
+ routes: RouteDefinition[];
221
+ /** Middleware to apply to all routes */
222
+ middleware?: MiddlewareHandler[];
223
+ }
224
+ /**
225
+ * DO operation request
226
+ */
227
+ export interface DOOperationRequest {
228
+ /** Operation type */
229
+ operation: 'create' | 'read' | 'update' | 'delete' | 'list' | 'execute';
230
+ /** Collection name */
231
+ collection: string;
232
+ /** Item ID (for single-item operations) */
233
+ id?: string;
234
+ /** Data payload */
235
+ data?: unknown;
236
+ /** Query options */
237
+ options?: {
238
+ limit?: number;
239
+ offset?: number;
240
+ cursor?: string;
241
+ orderBy?: string;
242
+ orderDir?: 'asc' | 'desc';
243
+ filter?: Record<string, unknown>;
244
+ };
245
+ }
246
+ /**
247
+ * DO operation result
248
+ */
249
+ export interface DOOperationResult<T = unknown> {
250
+ /** Whether operation succeeded */
251
+ success: boolean;
252
+ /** Result data */
253
+ data?: T;
254
+ /** Error (if failed) */
255
+ error?: {
256
+ code: string;
257
+ message: string;
258
+ };
259
+ /** Affected count (for mutations) */
260
+ affected?: number;
261
+ /** Pagination info (for list operations) */
262
+ pagination?: PaginationInfo;
263
+ }
264
+ /**
265
+ * AI generation request
266
+ */
267
+ export interface AIGenerateRequest {
268
+ /** Prompt text */
269
+ prompt: string;
270
+ /** Model selector (characteristic-based) */
271
+ model?: 'best' | 'fast' | 'cost' | 'reasoning' | 'code' | 'vision' | 'long' | string;
272
+ /** System prompt */
273
+ system?: string;
274
+ /** Temperature (0-2) */
275
+ temperature?: number;
276
+ /** Max tokens */
277
+ maxTokens?: number;
278
+ /** JSON mode */
279
+ jsonMode?: boolean;
280
+ /** Stream response */
281
+ stream?: boolean;
282
+ }
283
+ /**
284
+ * AI chat request
285
+ */
286
+ export interface AIChatRequest {
287
+ /** Chat messages */
288
+ messages: Array<{
289
+ role: 'system' | 'user' | 'assistant';
290
+ content: string;
291
+ }>;
292
+ /** Model selector */
293
+ model?: string;
294
+ /** Temperature */
295
+ temperature?: number;
296
+ /** Max tokens */
297
+ maxTokens?: number;
298
+ /** Tools available */
299
+ tools?: Array<{
300
+ name: string;
301
+ description: string;
302
+ parameters: Record<string, unknown>;
303
+ }>;
304
+ /** Stream response */
305
+ stream?: boolean;
306
+ }
307
+ /**
308
+ * AI embedding request
309
+ */
310
+ export interface AIEmbedRequest {
311
+ /** Text to embed */
312
+ text: string | string[];
313
+ /** Model (optional) */
314
+ model?: string;
315
+ /** Dimensions (for models that support it) */
316
+ dimensions?: number;
317
+ }
318
+ /**
319
+ * Health check response
320
+ */
321
+ export interface HealthCheckResponse {
322
+ /** Service status */
323
+ status: 'ok' | 'degraded' | 'down';
324
+ /** Current timestamp */
325
+ timestamp: number;
326
+ /** Cloudflare colo */
327
+ colo?: string;
328
+ /** Service version */
329
+ version: string;
330
+ /** Component health */
331
+ components?: Record<string, {
332
+ status: 'ok' | 'degraded' | 'down';
333
+ latencyMs?: number;
334
+ message?: string;
335
+ }>;
336
+ }
337
+ /**
338
+ * Middleware configuration
339
+ */
340
+ export interface MiddlewareConfig {
341
+ /** Whether middleware is enabled */
342
+ enabled: boolean;
343
+ /** Paths to skip */
344
+ skip?: string[];
345
+ /** Additional options */
346
+ options?: Record<string, unknown>;
347
+ }
348
+ /**
349
+ * Logging middleware options
350
+ */
351
+ export interface LoggingOptions {
352
+ /** Log level */
353
+ level?: 'debug' | 'info' | 'warn' | 'error';
354
+ /** Include request body */
355
+ includeBody?: boolean;
356
+ /** Include response body */
357
+ includeResponse?: boolean;
358
+ /** Paths to skip */
359
+ skipPaths?: string[];
360
+ }
361
+ /**
362
+ * Timing middleware options
363
+ */
364
+ export interface TimingOptions {
365
+ /** Header name for timing info */
366
+ headerName?: string;
367
+ /** Include in response body */
368
+ includeInBody?: boolean;
369
+ }
370
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../api/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * API Types - Type definitions for the Hono-based API layer
3
+ *
4
+ * Includes:
5
+ * - Request/response types
6
+ * - Context types for middleware
7
+ * - Error types
8
+ * - Configuration types
9
+ */
10
+ export {};
11
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../api/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG"}
@@ -0,0 +1,201 @@
1
+ /**
2
+ * CDC Event Generation
3
+ *
4
+ * Generates Change Data Capture events for all mutations within a Digital Object.
5
+ * Events capture INSERT, UPDATE, DELETE operations with before/after state.
6
+ *
7
+ * @module cdc/events
8
+ */
9
+ import type { CDCEvent, CDCOperation, CDCCursor } from '../../types/storage';
10
+ /**
11
+ * Configuration options for the CDC event emitter
12
+ */
13
+ export interface CDCEmitterOptions {
14
+ /**
15
+ * Whether to include full document in before/after fields
16
+ * @default true
17
+ */
18
+ includeDocuments?: boolean;
19
+ /**
20
+ * Whether to compute and include changed fields for UPDATE operations
21
+ * @default true
22
+ */
23
+ includeChangedFields?: boolean;
24
+ /**
25
+ * Source identifier for this DO (usually the $id)
26
+ */
27
+ source?: string;
28
+ /**
29
+ * Collection name for events
30
+ */
31
+ collection?: string;
32
+ /**
33
+ * Starting sequence number
34
+ * @default 0
35
+ */
36
+ startSequence?: number;
37
+ /**
38
+ * Maximum events to buffer before forcing a flush
39
+ * @default 100
40
+ */
41
+ bufferSize?: number;
42
+ /**
43
+ * Maximum time in ms to buffer events before flushing
44
+ * @default 1000
45
+ */
46
+ bufferTimeout?: number;
47
+ /**
48
+ * Maximum events per batch
49
+ * @default 100
50
+ */
51
+ batchSize?: number;
52
+ /**
53
+ * Maximum time in ms to wait before sending batch
54
+ * @default 1000
55
+ */
56
+ batchTimeout?: number;
57
+ }
58
+ /**
59
+ * Callback invoked when events are ready to be processed
60
+ * Return value is ignored - can return void, Promise, or any other value
61
+ */
62
+ export type CDCEventHandler = (events: CDCEvent[]) => unknown;
63
+ /**
64
+ * CDCEventEmitter - Generates CDC events for mutations
65
+ *
66
+ * @example
67
+ * ```typescript
68
+ * const emitter = new CDCEventEmitter({
69
+ * source: 'https://my.do',
70
+ * includeDocuments: true,
71
+ * })
72
+ *
73
+ * // Emit an INSERT event
74
+ * const event = await emitter.emit('INSERT', 'users', 'user-123', {
75
+ * after: { name: 'Alice', email: 'alice@example.com' },
76
+ * })
77
+ *
78
+ * // Emit an UPDATE event
79
+ * const updateEvent = await emitter.emit('UPDATE', 'users', 'user-123', {
80
+ * before: { name: 'Alice', email: 'alice@example.com' },
81
+ * after: { name: 'Alice Smith', email: 'alice@example.com' },
82
+ * })
83
+ *
84
+ * // Emit a DELETE event
85
+ * const deleteEvent = await emitter.emit('DELETE', 'users', 'user-123', {
86
+ * before: { name: 'Alice Smith', email: 'alice@example.com' },
87
+ * })
88
+ * ```
89
+ */
90
+ export declare class CDCEventEmitter {
91
+ private options;
92
+ private sequence;
93
+ private lastTimestamp;
94
+ private buffer;
95
+ private batchHandlers;
96
+ private batchTimer;
97
+ /**
98
+ * Creates a new CDC event emitter
99
+ *
100
+ * @param options - Configuration options
101
+ */
102
+ constructor(options?: CDCEmitterOptions);
103
+ /**
104
+ * Emits a CDC event for a mutation
105
+ *
106
+ * @param operation - The type of mutation (INSERT, UPDATE, DELETE)
107
+ * @param data - The before/after state data with optional correlation ID
108
+ * @returns The generated CDC event
109
+ *
110
+ * @example
111
+ * ```typescript
112
+ * const event = await emitter.emit('UPDATE', {
113
+ * before: { id: 'prod-456', price: 99 },
114
+ * after: { id: 'prod-456', price: 79 },
115
+ * correlationId: 'req-789',
116
+ * })
117
+ * ```
118
+ */
119
+ emit<T extends {
120
+ id: string;
121
+ }>(operation: CDCOperation, data: {
122
+ before?: T;
123
+ after?: T;
124
+ correlationId?: string;
125
+ }): Promise<CDCEvent<T>>;
126
+ /**
127
+ * Registers a handler for batched events
128
+ *
129
+ * @param handler - Callback invoked with batches of events
130
+ * @returns Unsubscribe function
131
+ *
132
+ * @example
133
+ * ```typescript
134
+ * const unsubscribe = emitter.onBatch(async (events) => {
135
+ * await streamer.propagate(events)
136
+ * })
137
+ * ```
138
+ */
139
+ onBatch(handler: CDCEventHandler): () => void;
140
+ private flushBatch;
141
+ /**
142
+ * Forces immediate flush of buffered events
143
+ *
144
+ * @returns The flushed events
145
+ */
146
+ flush(): Promise<CDCEvent[]>;
147
+ /**
148
+ * Gets the current sequence number
149
+ *
150
+ * @returns The current sequence number
151
+ */
152
+ getSequence(): number;
153
+ /**
154
+ * Gets the current cursor position
155
+ *
156
+ * @returns The current cursor
157
+ */
158
+ getCursor(): CDCCursor;
159
+ }
160
+ /**
161
+ * Computes the list of fields that changed between two objects
162
+ *
163
+ * @param before - Object state before the change
164
+ * @param after - Object state after the change
165
+ * @returns Array of field names that changed
166
+ *
167
+ * @example
168
+ * ```typescript
169
+ * const changed = computeChangedFields(
170
+ * { name: 'Alice', age: 30 },
171
+ * { name: 'Alice', age: 31 }
172
+ * )
173
+ * // Returns: ['age']
174
+ * ```
175
+ */
176
+ export declare function computeChangedFields(before: Record<string, unknown>, after: Record<string, unknown>, prefix?: string): string[];
177
+ /**
178
+ * Generates a unique event ID
179
+ *
180
+ * @returns A unique event ID (UUID v4)
181
+ */
182
+ export declare function generateEventId(): string;
183
+ /**
184
+ * Creates a CDC event from raw data
185
+ *
186
+ * @param params - Event parameters
187
+ * @returns A fully populated CDC event
188
+ */
189
+ export declare function createEvent<T>(params: {
190
+ operation: CDCOperation;
191
+ collection: string;
192
+ documentId: string;
193
+ sequence: number;
194
+ before?: T;
195
+ after?: T;
196
+ source?: string;
197
+ correlationId?: string;
198
+ includeChangedFields?: boolean;
199
+ changedFields?: string[];
200
+ }): CDCEvent<T>;
201
+ //# sourceMappingURL=events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../db/cdc/events.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAwB,MAAM,qBAAqB,CAAA;AAElG;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAE1B;;;OAGG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAE9B;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IAEnB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAA;IAEtB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IAEnB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAA;IAEtB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,OAAO,CAAA;AAE7D;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,OAAO,CAAmB;IAClC,OAAO,CAAC,QAAQ,CAAQ;IACxB,OAAO,CAAC,aAAa,CAAY;IACjC,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,aAAa,CAAwB;IAC7C,OAAO,CAAC,UAAU,CAA6C;IAE/D;;;;OAIG;gBACS,OAAO,CAAC,EAAE,iBAAiB;IAYvC;;;;;;;;;;;;;;;OAeG;IACG,IAAI,CAAC,CAAC,SAAS;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,EACjC,SAAS,EAAE,YAAY,EACvB,IAAI,EAAE;QAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,GACtD,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAsCvB;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM,IAAI;YAU/B,UAAU;IAsBxB;;;;OAIG;IACG,KAAK,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;IAMlC;;;;OAIG;IACH,WAAW,IAAI,MAAM;IAIrB;;;;OAIG;IACH,SAAS,IAAI,SAAS;CAMvB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAE,MAAW,GAAG,MAAM,EAAE,CA4CnI;AAED;;;;GAIG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE;IACrC,SAAS,EAAE,YAAY,CAAA;IACvB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,CAAC,CAAA;IACV,KAAK,CAAC,EAAE,CAAC,CAAA;IACT,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;CACzB,GAAG,QAAQ,CAAC,CAAC,CAAC,CA+Bd"}