@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,603 @@
1
+ /**
2
+ * Things Collection - Entity instances for Digital Objects
3
+ *
4
+ * @module collections/things
5
+ *
6
+ * @description
7
+ * Manages Thing instances (entities) within a Digital Object. Things are instances
8
+ * of Nouns and support two MDXLD formats:
9
+ *
10
+ * - **ThingExpanded**: JSON-LD style with `$` prefixed system fields and data at root
11
+ * - **ThingCompact**: Traditional structure with data nested in `data` field
12
+ *
13
+ * Things support the dual nature pattern where a Thing can also BE its own DO
14
+ * via the `$ref` field, creating parent-child relationships.
15
+ *
16
+ * @example
17
+ * ```typescript
18
+ * const things = new ThingCollection(storage, nouns)
19
+ *
20
+ * // Create expanded format thing
21
+ * const customer = await things.createExpanded({
22
+ * $type: 'Customer',
23
+ * name: 'Acme Corp',
24
+ * email: 'contact@acme.com'
25
+ * })
26
+ *
27
+ * // Create compact format thing
28
+ * const order = await things.createCompact({
29
+ * type: 'Order',
30
+ * data: { items: [...], total: 99.99 }
31
+ * })
32
+ * ```
33
+ */
34
+ import { BaseCollection, NotFoundError, ValidationError } from './base';
35
+ /**
36
+ * Things collection for managing entity instances
37
+ *
38
+ * @description
39
+ * The ThingCollection is the primary data store within a Digital Object.
40
+ * It manages instances of Nouns (entity types) in either expanded or compact format.
41
+ *
42
+ * Key features:
43
+ * - Dual format support (ThingExpanded and ThingCompact)
44
+ * - Type validation against registered Nouns
45
+ * - $ref support for dual nature pattern
46
+ * - Schema validation (when noun has schema)
47
+ * - Full-text search support
48
+ * - Version tracking
49
+ *
50
+ * @example
51
+ * ```typescript
52
+ * const things = new ThingCollection(storage, nouns)
53
+ *
54
+ * // Create a startup (expanded format)
55
+ * const startup = await things.createExpanded({
56
+ * $type: 'Startup',
57
+ * $ref: 'https://headless.ly', // This startup IS also its own DO
58
+ * name: 'Headless.ly',
59
+ * description: 'Headless CMS platform',
60
+ * founders: ['Alice', 'Bob']
61
+ * })
62
+ *
63
+ * // Query by type
64
+ * const allStartups = await things.findByType('Startup')
65
+ *
66
+ * // Convert between formats
67
+ * const compact = things.toCompact(startup)
68
+ * const expanded = things.toExpanded(compact)
69
+ * ```
70
+ */
71
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
72
+ export class ThingCollection extends BaseCollection {
73
+ /**
74
+ * Reference to noun collection for type validation
75
+ */
76
+ nouns;
77
+ /**
78
+ * Create a new ThingCollection instance
79
+ *
80
+ * @param storage - DO storage interface
81
+ * @param nouns - Noun collection for type validation
82
+ */
83
+ constructor(storage, nouns) {
84
+ super(storage, {
85
+ name: 'things',
86
+ idPrefix: 'thing',
87
+ });
88
+ this.nouns = nouns;
89
+ }
90
+ /**
91
+ * Initialize the things table in SQLite
92
+ *
93
+ * @internal
94
+ */
95
+ async initializeTable() {
96
+ // Using KV storage via BaseCollection, no SQL table needed
97
+ }
98
+ /**
99
+ * Create a thing in expanded format
100
+ *
101
+ * @param data - Expanded format thing data
102
+ * @returns Created thing with generated $id and timestamps
103
+ *
104
+ * @throws {ValidationError} If $type is not a valid noun
105
+ * @throws {ValidationError} If data fails schema validation
106
+ *
107
+ * @example
108
+ * ```typescript
109
+ * const customer = await things.createExpanded({
110
+ * $type: 'Customer',
111
+ * name: 'Acme Corp',
112
+ * email: 'contact@acme.com',
113
+ * tier: 'enterprise'
114
+ * })
115
+ * console.log(customer.$id) // 'thing_abc123'
116
+ * ```
117
+ */
118
+ async createExpanded(data) {
119
+ if (!data.$type) {
120
+ throw new ValidationError('$type is required', '$type');
121
+ }
122
+ const $id = this.generateId();
123
+ const now = this.now();
124
+ const thing = {
125
+ ...data,
126
+ $id,
127
+ $version: 1,
128
+ $createdAt: now,
129
+ $updatedAt: now,
130
+ };
131
+ const key = `${this.config.name}:${$id}`;
132
+ await this.storage.put(key, thing);
133
+ return thing;
134
+ }
135
+ /**
136
+ * Create a thing in compact format
137
+ *
138
+ * @param data - Compact format thing data
139
+ * @returns Created thing with generated id and timestamps
140
+ *
141
+ * @throws {ValidationError} If type is not a valid noun
142
+ * @throws {ValidationError} If data fails schema validation
143
+ *
144
+ * @example
145
+ * ```typescript
146
+ * const order = await things.createCompact({
147
+ * type: 'Order',
148
+ * data: {
149
+ * items: [{ sku: 'ABC', qty: 2 }],
150
+ * total: 99.99
151
+ * }
152
+ * })
153
+ * console.log(order.id) // 'thing_xyz789'
154
+ * ```
155
+ */
156
+ async createCompact(data) {
157
+ if (!data.type) {
158
+ throw new ValidationError('type is required', 'type');
159
+ }
160
+ const id = this.generateId();
161
+ const now = this.now();
162
+ const thing = {
163
+ id,
164
+ type: data.type,
165
+ data: data.data,
166
+ ref: data.ref,
167
+ content: data.content,
168
+ code: data.code,
169
+ version: 1,
170
+ createdAt: now,
171
+ updatedAt: now,
172
+ };
173
+ const key = `${this.config.name}:${id}`;
174
+ await this.storage.put(key, thing);
175
+ return thing;
176
+ }
177
+ /**
178
+ * Create a thing (auto-detects format)
179
+ *
180
+ * @param data - Thing data in either format
181
+ * @returns Created thing
182
+ *
183
+ * @example
184
+ * ```typescript
185
+ * // Expanded format (has $type)
186
+ * await things.create({ $type: 'Customer', name: 'Acme' })
187
+ *
188
+ * // Compact format (has type and data)
189
+ * await things.create({ type: 'Customer', data: { name: 'Acme' } })
190
+ * ```
191
+ */
192
+ async create(data) {
193
+ if ('$type' in data) {
194
+ return this.createExpanded(data);
195
+ }
196
+ return this.createCompact(data);
197
+ }
198
+ /**
199
+ * Get a thing by ID (works with both id and $id)
200
+ *
201
+ * @param id - Thing ID (with or without $ prefix)
202
+ * @returns Thing or null if not found
203
+ *
204
+ * @example
205
+ * ```typescript
206
+ * const thing = await things.get('thing_abc123')
207
+ * ```
208
+ */
209
+ async get(id) {
210
+ if (!id)
211
+ return null;
212
+ const key = `${this.config.name}:${id}`;
213
+ const thing = await this.storage.get(key);
214
+ return thing ?? null;
215
+ }
216
+ /**
217
+ * Get a thing as expanded format
218
+ *
219
+ * @param id - Thing ID
220
+ * @returns ThingExpanded or null if not found
221
+ *
222
+ * @description
223
+ * If thing was stored in compact format, converts to expanded.
224
+ *
225
+ * @example
226
+ * ```typescript
227
+ * const expanded = await things.getExpanded('thing_abc123')
228
+ * console.log(expanded.$type, expanded.name)
229
+ * ```
230
+ */
231
+ async getExpanded(id) {
232
+ const thing = await this.get(id);
233
+ if (!thing)
234
+ return null;
235
+ return this.toExpanded(thing);
236
+ }
237
+ /**
238
+ * Get a thing as compact format
239
+ *
240
+ * @param id - Thing ID
241
+ * @returns ThingCompact or null if not found
242
+ *
243
+ * @description
244
+ * If thing was stored in expanded format, converts to compact.
245
+ *
246
+ * @example
247
+ * ```typescript
248
+ * const compact = await things.getCompact<OrderData>('thing_abc123')
249
+ * console.log(compact.type, compact.data.total)
250
+ * ```
251
+ */
252
+ async getCompact(id) {
253
+ const thing = await this.get(id);
254
+ if (!thing)
255
+ return null;
256
+ return this.toCompact(thing);
257
+ }
258
+ /**
259
+ * Get a thing by its $ref URL
260
+ *
261
+ * @param ref - The $ref URL
262
+ * @returns Thing or null if not found
263
+ *
264
+ * @description
265
+ * Useful for finding things that represent external DOs.
266
+ *
267
+ * @example
268
+ * ```typescript
269
+ * const startup = await things.getByRef('https://headless.ly')
270
+ * ```
271
+ */
272
+ async getByRef(ref) {
273
+ const prefix = `${this.config.name}:`;
274
+ const allItems = await this.storage.list({ prefix });
275
+ for (const item of allItems.values()) {
276
+ if (this.isExpanded(item) && item.$ref === ref) {
277
+ return item;
278
+ }
279
+ if (this.isCompact(item) && item.ref === ref) {
280
+ return item;
281
+ }
282
+ }
283
+ return null;
284
+ }
285
+ /**
286
+ * Find all things of a specific type
287
+ *
288
+ * @param type - Noun type to filter by
289
+ * @param options - Additional list options
290
+ * @returns Array of things
291
+ *
292
+ * @example
293
+ * ```typescript
294
+ * const customers = await things.findByType('Customer')
295
+ * const recentOrders = await things.findByType('Order', {
296
+ * orderBy: 'createdAt',
297
+ * orderDir: 'desc',
298
+ * limit: 10
299
+ * })
300
+ * ```
301
+ */
302
+ async findByType(type, options) {
303
+ const prefix = `${this.config.name}:`;
304
+ const allItems = await this.storage.list({ prefix });
305
+ const results = [];
306
+ for (const item of allItems.values()) {
307
+ const itemType = this.isExpanded(item) ? item.$type : item.type;
308
+ if (itemType === type) {
309
+ results.push(item);
310
+ }
311
+ }
312
+ return results;
313
+ }
314
+ /**
315
+ * Find things that have a $ref (are also their own DO)
316
+ *
317
+ * @returns Things with $ref set
318
+ *
319
+ * @example
320
+ * ```typescript
321
+ * const childDOs = await things.findWithRefs()
322
+ * for (const thing of childDOs) {
323
+ * console.log(`${thing.$id} -> ${thing.$ref}`)
324
+ * }
325
+ * ```
326
+ */
327
+ async findWithRefs() {
328
+ const prefix = `${this.config.name}:`;
329
+ const allItems = await this.storage.list({ prefix });
330
+ const results = [];
331
+ for (const item of allItems.values()) {
332
+ if (this.isExpanded(item) && item.$ref) {
333
+ results.push(item);
334
+ }
335
+ else if (this.isCompact(item) && item.ref) {
336
+ results.push(item);
337
+ }
338
+ }
339
+ return results;
340
+ }
341
+ /**
342
+ * Update a thing
343
+ *
344
+ * @param id - Thing ID
345
+ * @param data - Partial data to merge
346
+ * @returns Updated thing
347
+ *
348
+ * @throws {NotFoundError} If thing not found
349
+ *
350
+ * @example
351
+ * ```typescript
352
+ * const updated = await things.update('thing_abc', {
353
+ * email: 'new@acme.com',
354
+ * tier: 'premium'
355
+ * })
356
+ * ```
357
+ */
358
+ async update(id, data) {
359
+ const existing = await this.get(id);
360
+ if (!existing) {
361
+ throw new NotFoundError('things', id);
362
+ }
363
+ const now = this.now();
364
+ if (this.isExpanded(existing)) {
365
+ const currentVersion = existing.$version ?? 1;
366
+ const updated = {
367
+ ...existing,
368
+ ...data,
369
+ $id: existing.$id,
370
+ $type: existing.$type,
371
+ $version: currentVersion + 1,
372
+ $updatedAt: now,
373
+ };
374
+ const key = `${this.config.name}:${id}`;
375
+ await this.storage.put(key, updated);
376
+ return updated;
377
+ }
378
+ else {
379
+ const compact = existing;
380
+ const currentVersion = compact.version ?? 1;
381
+ const updated = {
382
+ ...compact,
383
+ ...data,
384
+ id: compact.id,
385
+ type: compact.type,
386
+ version: currentVersion + 1,
387
+ updatedAt: now,
388
+ };
389
+ const key = `${this.config.name}:${id}`;
390
+ await this.storage.put(key, updated);
391
+ return updated;
392
+ }
393
+ }
394
+ /**
395
+ * Set the $ref for a thing (link to external DO)
396
+ *
397
+ * @param id - Thing ID
398
+ * @param ref - URL reference to external DO
399
+ * @returns Updated thing
400
+ *
401
+ * @example
402
+ * ```typescript
403
+ * // Link a startup thing to its own DO
404
+ * await things.setRef('thing_startup', 'https://headless.ly')
405
+ * ```
406
+ */
407
+ async setRef(id, ref) {
408
+ const existing = await this.get(id);
409
+ if (!existing) {
410
+ throw new NotFoundError('things', id);
411
+ }
412
+ if (this.isExpanded(existing)) {
413
+ const updated = { ...existing, $ref: ref };
414
+ const key = `${this.config.name}:${id}`;
415
+ await this.storage.put(key, updated);
416
+ return updated;
417
+ }
418
+ else {
419
+ const compact = existing;
420
+ const updated = { ...compact, ref };
421
+ const key = `${this.config.name}:${id}`;
422
+ await this.storage.put(key, updated);
423
+ return updated;
424
+ }
425
+ }
426
+ /**
427
+ * Remove the $ref from a thing
428
+ *
429
+ * @param id - Thing ID
430
+ * @returns Updated thing
431
+ */
432
+ async removeRef(id) {
433
+ const existing = await this.get(id);
434
+ if (!existing) {
435
+ throw new NotFoundError('things', id);
436
+ }
437
+ if (this.isExpanded(existing)) {
438
+ const updated = { ...existing, $ref: undefined };
439
+ const key = `${this.config.name}:${id}`;
440
+ await this.storage.put(key, updated);
441
+ return updated;
442
+ }
443
+ else {
444
+ const compact = existing;
445
+ const updated = { ...compact, ref: undefined };
446
+ const key = `${this.config.name}:${id}`;
447
+ await this.storage.put(key, updated);
448
+ return updated;
449
+ }
450
+ }
451
+ /**
452
+ * Convert a thing to expanded format
453
+ *
454
+ * @param thing - Thing in any format
455
+ * @returns ThingExpanded
456
+ *
457
+ * @example
458
+ * ```typescript
459
+ * const compact = { id: 'x', type: 'A', data: { foo: 1 } }
460
+ * const expanded = things.toExpanded(compact)
461
+ * // { $id: 'x', $type: 'A', foo: 1 }
462
+ * ```
463
+ */
464
+ toExpanded(thing) {
465
+ if ('$id' in thing && '$type' in thing) {
466
+ return thing;
467
+ }
468
+ const compact = thing;
469
+ const { id, type, data, ref, content, code, version, createdAt, updatedAt } = compact;
470
+ return {
471
+ $id: id,
472
+ $type: type,
473
+ $ref: ref,
474
+ $content: content,
475
+ $code: code,
476
+ $version: version,
477
+ $createdAt: createdAt,
478
+ $updatedAt: updatedAt,
479
+ ...data,
480
+ };
481
+ }
482
+ /**
483
+ * Convert a thing to compact format
484
+ *
485
+ * @param thing - Thing in any format
486
+ * @returns ThingCompact
487
+ *
488
+ * @example
489
+ * ```typescript
490
+ * const expanded = { $id: 'x', $type: 'A', foo: 1, bar: 2 }
491
+ * const compact = things.toCompact(expanded)
492
+ * // { id: 'x', type: 'A', data: { foo: 1, bar: 2 } }
493
+ * ```
494
+ */
495
+ toCompact(thing) {
496
+ if ('id' in thing && 'type' in thing && 'data' in thing) {
497
+ return thing;
498
+ }
499
+ const expanded = thing;
500
+ const { $id, $type, $ref, $content, $code, $version, $createdAt, $updatedAt, ...data } = expanded;
501
+ return {
502
+ id: $id,
503
+ type: $type,
504
+ data: data,
505
+ ref: $ref,
506
+ content: $content,
507
+ code: $code,
508
+ version: $version,
509
+ createdAt: $createdAt,
510
+ updatedAt: $updatedAt,
511
+ };
512
+ }
513
+ /**
514
+ * Check if a thing is in expanded format
515
+ *
516
+ * @param thing - Thing to check
517
+ * @returns True if expanded format
518
+ */
519
+ isExpanded(thing) {
520
+ return '$id' in thing && '$type' in thing;
521
+ }
522
+ /**
523
+ * Check if a thing is in compact format
524
+ *
525
+ * @param thing - Thing to check
526
+ * @returns True if compact format
527
+ */
528
+ isCompact(thing) {
529
+ return 'id' in thing && 'type' in thing && 'data' in thing;
530
+ }
531
+ /**
532
+ * Validate thing data against noun schema
533
+ *
534
+ * @param type - Noun type
535
+ * @param data - Data to validate
536
+ * @returns Validation result
537
+ *
538
+ * @example
539
+ * ```typescript
540
+ * const result = await things.validate('Customer', {
541
+ * name: 'Acme',
542
+ * email: 'invalid-email'
543
+ * })
544
+ * if (!result.valid) {
545
+ * console.log(result.errors)
546
+ * }
547
+ * ```
548
+ */
549
+ async validate(type, data) {
550
+ // Get noun to check for schema
551
+ const noun = await this.nouns.get(type);
552
+ if (!noun || !noun.schema) {
553
+ // No schema means anything is valid
554
+ return { valid: true };
555
+ }
556
+ // Basic schema validation: check required fields
557
+ const errors = [];
558
+ for (const [field, def] of Object.entries(noun.schema)) {
559
+ if (def && typeof def === 'object' && def.required && !(field in data)) {
560
+ errors.push(`Missing required field: ${field}`);
561
+ }
562
+ }
563
+ return errors.length > 0 ? { valid: false, errors } : { valid: true };
564
+ }
565
+ /**
566
+ * Count things by type
567
+ *
568
+ * @returns Map of type to count
569
+ *
570
+ * @example
571
+ * ```typescript
572
+ * const counts = await things.countByType()
573
+ * // { Customer: 150, Order: 1234, Product: 50 }
574
+ * ```
575
+ */
576
+ async countByType() {
577
+ const prefix = `${this.config.name}:`;
578
+ const allItems = await this.storage.list({ prefix });
579
+ const counts = {};
580
+ for (const item of allItems.values()) {
581
+ const type = this.isExpanded(item) ? item.$type : item.type;
582
+ counts[type] = (counts[type] ?? 0) + 1;
583
+ }
584
+ return counts;
585
+ }
586
+ /**
587
+ * Get all unique types in the collection
588
+ *
589
+ * @returns Array of type names
590
+ */
591
+ async getTypes() {
592
+ const prefix = `${this.config.name}:`;
593
+ const allItems = await this.storage.list({ prefix });
594
+ const types = new Set();
595
+ for (const item of allItems.values()) {
596
+ const type = this.isExpanded(item) ? item.$type : item.type;
597
+ types.add(type);
598
+ }
599
+ return Array.from(types);
600
+ }
601
+ }
602
+ export default ThingCollection;
603
+ //# sourceMappingURL=things.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"things.js","sourceRoot":"","sources":["../../../db/collections/things.ts"],"names":[],"mappings":"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"}