@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 @@
1
+ {"version":3,"file":"roles.js","sourceRoot":"","sources":["../../../api/routes/roles.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Things Collection Routes
3
+ *
4
+ * CRUD API for Things collection with support for:
5
+ * - Expanded and Compact formats
6
+ * - Type (noun) filtering
7
+ * - $ref filtering (things that are also their own DO)
8
+ * - Format conversion
9
+ *
10
+ * @module api/routes/things
11
+ */
12
+ import { Hono } from 'hono';
13
+ import type { Env, DOContext } from '../types';
14
+ /**
15
+ * Create Things collection routes
16
+ *
17
+ * Provides CRUD operations with Things-specific features:
18
+ * - Expanded/Compact format support
19
+ * - Type-based filtering
20
+ * - $ref-based filtering
21
+ */
22
+ export declare function createThingsRoutes(): Hono<{
23
+ Bindings: Env;
24
+ Variables: DOContext;
25
+ }, import("hono/types").BlankSchema, "/">;
26
+ export default createThingsRoutes;
27
+ //# sourceMappingURL=things.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"things.d.ts","sourceRoot":"","sources":["../../../api/routes/things.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,KAAK,EAAE,GAAG,EAAE,SAAS,EAAkD,MAAM,UAAU,CAAA;AAqD9F;;;;;;;GAOG;AACH,wBAAgB,kBAAkB;cACI,GAAG;eAAa,SAAS;0CA0pB9D;AAMD,eAAe,kBAAkB,CAAA"}
@@ -0,0 +1,568 @@
1
+ /**
2
+ * Things Collection Routes
3
+ *
4
+ * CRUD API for Things collection with support for:
5
+ * - Expanded and Compact formats
6
+ * - Type (noun) filtering
7
+ * - $ref filtering (things that are also their own DO)
8
+ * - Format conversion
9
+ *
10
+ * @module api/routes/things
11
+ */
12
+ import { Hono } from 'hono';
13
+ // =============================================================================
14
+ // Helpers
15
+ // =============================================================================
16
+ /**
17
+ * Build API response with links
18
+ */
19
+ function apiResponse(api, data, links, colo) {
20
+ return {
21
+ api,
22
+ data,
23
+ links,
24
+ colo,
25
+ timestamp: Date.now(),
26
+ };
27
+ }
28
+ /**
29
+ * Get DO stub for the current hostname
30
+ */
31
+ function getDOStub(c) {
32
+ const url = new URL(c.req.url);
33
+ const doId = c.env.DO.idFromName(url.hostname);
34
+ return c.env.DO.get(doId);
35
+ }
36
+ /**
37
+ * Call DO via RPC
38
+ */
39
+ async function callDO(stub, method, args = []) {
40
+ const response = await stub.fetch(new Request('https://do/rpc', {
41
+ method: 'POST',
42
+ headers: { 'Content-Type': 'application/json' },
43
+ body: JSON.stringify({ type: 'rpc', id: `api-${Date.now()}`, method, args }),
44
+ }));
45
+ const result = (await response.json());
46
+ if (result.error) {
47
+ throw new Error(result.error.message);
48
+ }
49
+ return result.result;
50
+ }
51
+ // =============================================================================
52
+ // Things Routes
53
+ // =============================================================================
54
+ /**
55
+ * Create Things collection routes
56
+ *
57
+ * Provides CRUD operations with Things-specific features:
58
+ * - Expanded/Compact format support
59
+ * - Type-based filtering
60
+ * - $ref-based filtering
61
+ */
62
+ export function createThingsRoutes() {
63
+ const router = new Hono();
64
+ // ==========================================================================
65
+ // Things Discovery
66
+ // ==========================================================================
67
+ /**
68
+ * GET /api/things - List all things with pagination and filtering
69
+ *
70
+ * Query params:
71
+ * - limit: Number of items (default: 50)
72
+ * - offset: Pagination offset (default: 0)
73
+ * - type: Filter by noun type
74
+ * - hasRef: Filter things that have a $ref (boolean)
75
+ * - format: Response format ('expanded' | 'compact', default: as-stored)
76
+ * - orderBy: Sort field
77
+ * - orderDir: Sort direction ('asc' | 'desc')
78
+ */
79
+ router.get('/api/things', async (c) => {
80
+ const url = new URL(c.req.url);
81
+ const colo = c.req.header('CF-Ray')?.split('-')[1];
82
+ // Parse query params
83
+ const limit = parseInt(url.searchParams.get('limit') || '50', 10);
84
+ const offset = parseInt(url.searchParams.get('offset') || '0', 10);
85
+ const type = url.searchParams.get('type') || undefined;
86
+ const hasRef = url.searchParams.get('hasRef');
87
+ const format = url.searchParams.get('format');
88
+ const orderBy = url.searchParams.get('orderBy') || undefined;
89
+ const orderDir = url.searchParams.get('orderDir');
90
+ try {
91
+ const stub = getDOStub(c);
92
+ let items;
93
+ let total;
94
+ // Use specialized methods based on filters
95
+ if (type) {
96
+ items = (await callDO(stub, 'do.things.findByType', [type, { limit, offset, orderBy, orderDir }]));
97
+ total = items.length;
98
+ }
99
+ else if (hasRef === 'true') {
100
+ items = (await callDO(stub, 'do.things.findWithRefs', []));
101
+ total = items.length;
102
+ }
103
+ else {
104
+ const result = (await callDO(stub, 'do.things.list', [{ limit, offset, orderBy, orderDir }]));
105
+ items = result.items || result;
106
+ total = result.total || (Array.isArray(items) ? items.length : 0);
107
+ }
108
+ // Convert format if requested
109
+ if (format && Array.isArray(items)) {
110
+ const convertMethod = format === 'expanded' ? 'do.things.toExpanded' : 'do.things.toCompact';
111
+ items = await Promise.all(items.map((item) => callDO(stub, convertMethod, [item])));
112
+ }
113
+ const pagination = {
114
+ total,
115
+ page: Math.floor(offset / limit) + 1,
116
+ pageSize: limit,
117
+ totalPages: Math.ceil(total / limit),
118
+ hasMore: Array.isArray(items) && items.length === limit,
119
+ };
120
+ // Build links
121
+ const links = {
122
+ self: `${url.origin}/api/things`,
123
+ api: `${url.origin}/api`,
124
+ create: `${url.origin}/api/things (POST)`,
125
+ types: `${url.origin}/api/things/types`,
126
+ withRefs: `${url.origin}/api/things?hasRef=true`,
127
+ };
128
+ // Add pagination links
129
+ if (offset > 0) {
130
+ links.prev = `${url.origin}/api/things?limit=${limit}&offset=${Math.max(0, offset - limit)}`;
131
+ }
132
+ if (pagination.hasMore) {
133
+ links.next = `${url.origin}/api/things?limit=${limit}&offset=${offset + limit}`;
134
+ }
135
+ // Add type filter link if filtering
136
+ if (type) {
137
+ links.filtered = `${url.origin}/api/things?type=${type}`;
138
+ }
139
+ return c.json({
140
+ api: url.hostname,
141
+ data: items,
142
+ pagination,
143
+ links,
144
+ colo,
145
+ timestamp: Date.now(),
146
+ }, 200);
147
+ }
148
+ catch (error) {
149
+ return c.json({
150
+ api: url.hostname,
151
+ error: {
152
+ code: 'LIST_ERROR',
153
+ message: error instanceof Error ? error.message : 'Failed to list things',
154
+ },
155
+ links: { self: `${url.origin}/api/things`, api: `${url.origin}/api` },
156
+ timestamp: Date.now(),
157
+ }, 500);
158
+ }
159
+ });
160
+ // ==========================================================================
161
+ // Get Thing Types
162
+ // ==========================================================================
163
+ /**
164
+ * GET /api/things/types - Get all unique thing types (nouns) used
165
+ */
166
+ router.get('/api/things/types', async (c) => {
167
+ const url = new URL(c.req.url);
168
+ const colo = c.req.header('CF-Ray')?.split('-')[1];
169
+ try {
170
+ const stub = getDOStub(c);
171
+ const types = (await callDO(stub, 'do.things.getTypes', []));
172
+ return c.json(apiResponse(url.hostname, { types }, {
173
+ self: `${url.origin}/api/things/types`,
174
+ things: `${url.origin}/api/things`,
175
+ api: `${url.origin}/api`,
176
+ }, colo));
177
+ }
178
+ catch (error) {
179
+ return c.json({
180
+ api: url.hostname,
181
+ error: {
182
+ code: 'TYPES_ERROR',
183
+ message: error instanceof Error ? error.message : 'Failed to get thing types',
184
+ },
185
+ links: { self: `${url.origin}/api/things/types`, things: `${url.origin}/api/things` },
186
+ timestamp: Date.now(),
187
+ }, 500);
188
+ }
189
+ });
190
+ // ==========================================================================
191
+ // Count by Type
192
+ // ==========================================================================
193
+ /**
194
+ * GET /api/things/counts - Get count of things by type
195
+ */
196
+ router.get('/api/things/counts', async (c) => {
197
+ const url = new URL(c.req.url);
198
+ const colo = c.req.header('CF-Ray')?.split('-')[1];
199
+ try {
200
+ const stub = getDOStub(c);
201
+ const counts = (await callDO(stub, 'do.things.countByType', []));
202
+ return c.json(apiResponse(url.hostname, { counts, total: Object.values(counts).reduce((a, b) => a + b, 0) }, {
203
+ self: `${url.origin}/api/things/counts`,
204
+ things: `${url.origin}/api/things`,
205
+ types: `${url.origin}/api/things/types`,
206
+ api: `${url.origin}/api`,
207
+ }, colo));
208
+ }
209
+ catch (error) {
210
+ return c.json({
211
+ api: url.hostname,
212
+ error: {
213
+ code: 'COUNT_ERROR',
214
+ message: error instanceof Error ? error.message : 'Failed to count things by type',
215
+ },
216
+ links: { self: `${url.origin}/api/things/counts`, things: `${url.origin}/api/things` },
217
+ timestamp: Date.now(),
218
+ }, 500);
219
+ }
220
+ });
221
+ // ==========================================================================
222
+ // Create Thing
223
+ // ==========================================================================
224
+ /**
225
+ * POST /api/things - Create a new thing
226
+ *
227
+ * Accepts both expanded and compact formats:
228
+ *
229
+ * Expanded format:
230
+ * {
231
+ * "$type": "Customer",
232
+ * "name": "Acme Corp",
233
+ * "email": "contact@acme.com"
234
+ * }
235
+ *
236
+ * Compact format:
237
+ * {
238
+ * "type": "Customer",
239
+ * "data": { "name": "Acme Corp", "email": "contact@acme.com" }
240
+ * }
241
+ */
242
+ router.post('/api/things', async (c) => {
243
+ const url = new URL(c.req.url);
244
+ const colo = c.req.header('CF-Ray')?.split('-')[1];
245
+ try {
246
+ const body = await c.req.json();
247
+ const stub = getDOStub(c);
248
+ // Auto-detect format and use appropriate create method
249
+ let result;
250
+ if ('$type' in body) {
251
+ // Expanded format
252
+ result = await callDO(stub, 'do.things.createExpanded', [body]);
253
+ }
254
+ else if ('type' in body && 'data' in body) {
255
+ // Compact format
256
+ result = await callDO(stub, 'do.things.createCompact', [body]);
257
+ }
258
+ else {
259
+ // Generic create (let collection decide)
260
+ result = await callDO(stub, 'do.things.create', [body]);
261
+ }
262
+ const id = result?.id || result?.$id || 'unknown';
263
+ return c.json(apiResponse(url.hostname, result, {
264
+ self: `${url.origin}/api/things/${id}`,
265
+ collection: `${url.origin}/api/things`,
266
+ update: `${url.origin}/api/things/${id} (PUT)`,
267
+ delete: `${url.origin}/api/things/${id} (DELETE)`,
268
+ expanded: `${url.origin}/api/things/${id}?format=expanded`,
269
+ compact: `${url.origin}/api/things/${id}?format=compact`,
270
+ }, colo), 201);
271
+ }
272
+ catch (error) {
273
+ return c.json({
274
+ api: url.hostname,
275
+ error: {
276
+ code: 'CREATE_ERROR',
277
+ message: error instanceof Error ? error.message : 'Failed to create thing',
278
+ },
279
+ links: { self: `${url.origin}/api/things`, api: `${url.origin}/api` },
280
+ timestamp: Date.now(),
281
+ }, 400);
282
+ }
283
+ });
284
+ // ==========================================================================
285
+ // Get Thing by ID
286
+ // ==========================================================================
287
+ /**
288
+ * GET /api/things/:id - Get a thing by ID
289
+ *
290
+ * Query params:
291
+ * - format: Response format ('expanded' | 'compact')
292
+ */
293
+ router.get('/api/things/:id', async (c) => {
294
+ const url = new URL(c.req.url);
295
+ const colo = c.req.header('CF-Ray')?.split('-')[1];
296
+ const id = c.req.param('id');
297
+ const format = url.searchParams.get('format');
298
+ try {
299
+ const stub = getDOStub(c);
300
+ let result;
301
+ // Use format-specific get if requested
302
+ if (format === 'expanded') {
303
+ result = await callDO(stub, 'do.things.getExpanded', [id]);
304
+ }
305
+ else if (format === 'compact') {
306
+ result = await callDO(stub, 'do.things.getCompact', [id]);
307
+ }
308
+ else {
309
+ result = await callDO(stub, 'do.things.get', [id]);
310
+ }
311
+ if (!result) {
312
+ return c.json({
313
+ api: url.hostname,
314
+ error: {
315
+ code: 'NOT_FOUND',
316
+ message: `Thing not found: ${id}`,
317
+ },
318
+ links: { collection: `${url.origin}/api/things`, api: `${url.origin}/api` },
319
+ timestamp: Date.now(),
320
+ }, 404);
321
+ }
322
+ return c.json(apiResponse(url.hostname, result, {
323
+ self: `${url.origin}/api/things/${id}`,
324
+ collection: `${url.origin}/api/things`,
325
+ update: `${url.origin}/api/things/${id} (PUT)`,
326
+ delete: `${url.origin}/api/things/${id} (DELETE)`,
327
+ expanded: `${url.origin}/api/things/${id}?format=expanded`,
328
+ compact: `${url.origin}/api/things/${id}?format=compact`,
329
+ }, colo));
330
+ }
331
+ catch (error) {
332
+ return c.json({
333
+ api: url.hostname,
334
+ error: {
335
+ code: 'GET_ERROR',
336
+ message: error instanceof Error ? error.message : 'Failed to get thing',
337
+ },
338
+ links: { collection: `${url.origin}/api/things`, api: `${url.origin}/api` },
339
+ timestamp: Date.now(),
340
+ }, 500);
341
+ }
342
+ });
343
+ // ==========================================================================
344
+ // Get Thing by $ref
345
+ // ==========================================================================
346
+ /**
347
+ * GET /api/things/ref/:ref - Get a thing by its $ref URL
348
+ */
349
+ router.get('/api/things/ref/*', async (c) => {
350
+ const url = new URL(c.req.url);
351
+ const colo = c.req.header('CF-Ray')?.split('-')[1];
352
+ // Extract ref from path (everything after /api/things/ref/)
353
+ const ref = url.pathname.replace('/api/things/ref/', '');
354
+ try {
355
+ const stub = getDOStub(c);
356
+ const result = await callDO(stub, 'do.things.getByRef', [ref]);
357
+ if (!result) {
358
+ return c.json({
359
+ api: url.hostname,
360
+ error: {
361
+ code: 'NOT_FOUND',
362
+ message: `Thing with ref not found: ${ref}`,
363
+ },
364
+ links: { collection: `${url.origin}/api/things`, withRefs: `${url.origin}/api/things?hasRef=true` },
365
+ timestamp: Date.now(),
366
+ }, 404);
367
+ }
368
+ const id = result?.id || result?.$id || 'unknown';
369
+ return c.json(apiResponse(url.hostname, result, {
370
+ self: `${url.origin}/api/things/${id}`,
371
+ collection: `${url.origin}/api/things`,
372
+ withRefs: `${url.origin}/api/things?hasRef=true`,
373
+ }, colo));
374
+ }
375
+ catch (error) {
376
+ return c.json({
377
+ api: url.hostname,
378
+ error: {
379
+ code: 'GET_ERROR',
380
+ message: error instanceof Error ? error.message : 'Failed to get thing by ref',
381
+ },
382
+ links: { collection: `${url.origin}/api/things`, api: `${url.origin}/api` },
383
+ timestamp: Date.now(),
384
+ }, 500);
385
+ }
386
+ });
387
+ // ==========================================================================
388
+ // Update Thing
389
+ // ==========================================================================
390
+ /**
391
+ * PUT /api/things/:id - Update a thing
392
+ */
393
+ router.put('/api/things/:id', async (c) => {
394
+ const url = new URL(c.req.url);
395
+ const colo = c.req.header('CF-Ray')?.split('-')[1];
396
+ const id = c.req.param('id');
397
+ try {
398
+ const body = await c.req.json();
399
+ const stub = getDOStub(c);
400
+ const result = await callDO(stub, 'do.things.update', [id, body]);
401
+ return c.json(apiResponse(url.hostname, result, {
402
+ self: `${url.origin}/api/things/${id}`,
403
+ collection: `${url.origin}/api/things`,
404
+ delete: `${url.origin}/api/things/${id} (DELETE)`,
405
+ }, colo));
406
+ }
407
+ catch (error) {
408
+ return c.json({
409
+ api: url.hostname,
410
+ error: {
411
+ code: 'UPDATE_ERROR',
412
+ message: error instanceof Error ? error.message : 'Failed to update thing',
413
+ },
414
+ links: { self: `${url.origin}/api/things/${id}`, collection: `${url.origin}/api/things` },
415
+ timestamp: Date.now(),
416
+ }, 400);
417
+ }
418
+ });
419
+ // ==========================================================================
420
+ // Set/Remove $ref
421
+ // ==========================================================================
422
+ /**
423
+ * PUT /api/things/:id/ref - Set the $ref for a thing
424
+ */
425
+ router.put('/api/things/:id/ref', async (c) => {
426
+ const url = new URL(c.req.url);
427
+ const colo = c.req.header('CF-Ray')?.split('-')[1];
428
+ const id = c.req.param('id');
429
+ try {
430
+ const body = (await c.req.json());
431
+ if (!body.ref) {
432
+ return c.json({
433
+ api: url.hostname,
434
+ error: {
435
+ code: 'INVALID_REQUEST',
436
+ message: 'ref field is required',
437
+ },
438
+ links: { self: `${url.origin}/api/things/${id}/ref`, thing: `${url.origin}/api/things/${id}` },
439
+ timestamp: Date.now(),
440
+ }, 400);
441
+ }
442
+ const stub = getDOStub(c);
443
+ const result = await callDO(stub, 'do.things.setRef', [id, body.ref]);
444
+ return c.json(apiResponse(url.hostname, result, {
445
+ self: `${url.origin}/api/things/${id}`,
446
+ collection: `${url.origin}/api/things`,
447
+ removeRef: `${url.origin}/api/things/${id}/ref (DELETE)`,
448
+ }, colo));
449
+ }
450
+ catch (error) {
451
+ return c.json({
452
+ api: url.hostname,
453
+ error: {
454
+ code: 'SET_REF_ERROR',
455
+ message: error instanceof Error ? error.message : 'Failed to set thing ref',
456
+ },
457
+ links: { self: `${url.origin}/api/things/${id}/ref`, thing: `${url.origin}/api/things/${id}` },
458
+ timestamp: Date.now(),
459
+ }, 400);
460
+ }
461
+ });
462
+ /**
463
+ * DELETE /api/things/:id/ref - Remove the $ref from a thing
464
+ */
465
+ router.delete('/api/things/:id/ref', async (c) => {
466
+ const url = new URL(c.req.url);
467
+ const colo = c.req.header('CF-Ray')?.split('-')[1];
468
+ const id = c.req.param('id');
469
+ try {
470
+ const stub = getDOStub(c);
471
+ const result = await callDO(stub, 'do.things.removeRef', [id]);
472
+ return c.json(apiResponse(url.hostname, result, {
473
+ self: `${url.origin}/api/things/${id}`,
474
+ collection: `${url.origin}/api/things`,
475
+ setRef: `${url.origin}/api/things/${id}/ref (PUT)`,
476
+ }, colo));
477
+ }
478
+ catch (error) {
479
+ return c.json({
480
+ api: url.hostname,
481
+ error: {
482
+ code: 'REMOVE_REF_ERROR',
483
+ message: error instanceof Error ? error.message : 'Failed to remove thing ref',
484
+ },
485
+ links: { self: `${url.origin}/api/things/${id}/ref`, thing: `${url.origin}/api/things/${id}` },
486
+ timestamp: Date.now(),
487
+ }, 400);
488
+ }
489
+ });
490
+ // ==========================================================================
491
+ // Delete Thing
492
+ // ==========================================================================
493
+ /**
494
+ * DELETE /api/things/:id - Delete a thing
495
+ */
496
+ router.delete('/api/things/:id', async (c) => {
497
+ const url = new URL(c.req.url);
498
+ const colo = c.req.header('CF-Ray')?.split('-')[1];
499
+ const id = c.req.param('id');
500
+ try {
501
+ const stub = getDOStub(c);
502
+ await callDO(stub, 'do.things.delete', [id]);
503
+ return c.json(apiResponse(url.hostname, { deleted: true, id }, {
504
+ collection: `${url.origin}/api/things`,
505
+ api: `${url.origin}/api`,
506
+ }, colo));
507
+ }
508
+ catch (error) {
509
+ return c.json({
510
+ api: url.hostname,
511
+ error: {
512
+ code: 'DELETE_ERROR',
513
+ message: error instanceof Error ? error.message : 'Failed to delete thing',
514
+ },
515
+ links: { self: `${url.origin}/api/things/${id}`, collection: `${url.origin}/api/things` },
516
+ timestamp: Date.now(),
517
+ }, 400);
518
+ }
519
+ });
520
+ // ==========================================================================
521
+ // Validate Thing Data
522
+ // ==========================================================================
523
+ /**
524
+ * POST /api/things/validate - Validate thing data against noun schema
525
+ */
526
+ router.post('/api/things/validate', async (c) => {
527
+ const url = new URL(c.req.url);
528
+ const colo = c.req.header('CF-Ray')?.split('-')[1];
529
+ try {
530
+ const body = (await c.req.json());
531
+ if (!body.type || !body.data) {
532
+ return c.json({
533
+ api: url.hostname,
534
+ error: {
535
+ code: 'INVALID_REQUEST',
536
+ message: 'type and data fields are required',
537
+ },
538
+ links: { self: `${url.origin}/api/things/validate`, things: `${url.origin}/api/things` },
539
+ timestamp: Date.now(),
540
+ }, 400);
541
+ }
542
+ const stub = getDOStub(c);
543
+ const result = (await callDO(stub, 'do.things.validate', [body.type, body.data]));
544
+ return c.json(apiResponse(url.hostname, result, {
545
+ self: `${url.origin}/api/things/validate`,
546
+ things: `${url.origin}/api/things`,
547
+ create: `${url.origin}/api/things (POST)`,
548
+ }, colo), result.valid ? 200 : 422);
549
+ }
550
+ catch (error) {
551
+ return c.json({
552
+ api: url.hostname,
553
+ error: {
554
+ code: 'VALIDATE_ERROR',
555
+ message: error instanceof Error ? error.message : 'Failed to validate thing data',
556
+ },
557
+ links: { self: `${url.origin}/api/things/validate`, things: `${url.origin}/api/things` },
558
+ timestamp: Date.now(),
559
+ }, 500);
560
+ }
561
+ });
562
+ return router;
563
+ }
564
+ // =============================================================================
565
+ // Export
566
+ // =============================================================================
567
+ export default createThingsRoutes;
568
+ //# sourceMappingURL=things.js.map