@relaycast/engine 1.1.7

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 (445) hide show
  1. package/dist/adapters/node/database.d.ts +25 -0
  2. package/dist/adapters/node/database.d.ts.map +1 -0
  3. package/dist/adapters/node/database.js +71 -0
  4. package/dist/adapters/node/database.js.map +1 -0
  5. package/dist/adapters/node/event-queue.d.ts +15 -0
  6. package/dist/adapters/node/event-queue.d.ts.map +1 -0
  7. package/dist/adapters/node/event-queue.js +27 -0
  8. package/dist/adapters/node/event-queue.js.map +1 -0
  9. package/dist/adapters/node/files.d.ts +47 -0
  10. package/dist/adapters/node/files.d.ts.map +1 -0
  11. package/dist/adapters/node/files.js +128 -0
  12. package/dist/adapters/node/files.js.map +1 -0
  13. package/dist/adapters/node/index.d.ts +60 -0
  14. package/dist/adapters/node/index.d.ts.map +1 -0
  15. package/dist/adapters/node/index.js +79 -0
  16. package/dist/adapters/node/index.js.map +1 -0
  17. package/dist/adapters/node/kv.d.ts +27 -0
  18. package/dist/adapters/node/kv.d.ts.map +1 -0
  19. package/dist/adapters/node/kv.js +67 -0
  20. package/dist/adapters/node/kv.js.map +1 -0
  21. package/dist/adapters/node/mcp.d.ts +18 -0
  22. package/dist/adapters/node/mcp.d.ts.map +1 -0
  23. package/dist/adapters/node/mcp.js +53 -0
  24. package/dist/adapters/node/mcp.js.map +1 -0
  25. package/dist/adapters/node/presence.d.ts +33 -0
  26. package/dist/adapters/node/presence.d.ts.map +1 -0
  27. package/dist/adapters/node/presence.js +113 -0
  28. package/dist/adapters/node/presence.js.map +1 -0
  29. package/dist/adapters/node/rate-limit.d.ts +17 -0
  30. package/dist/adapters/node/rate-limit.d.ts.map +1 -0
  31. package/dist/adapters/node/rate-limit.js +36 -0
  32. package/dist/adapters/node/rate-limit.js.map +1 -0
  33. package/dist/adapters/node/realtime.d.ts +72 -0
  34. package/dist/adapters/node/realtime.d.ts.map +1 -0
  35. package/dist/adapters/node/realtime.js +274 -0
  36. package/dist/adapters/node/realtime.js.map +1 -0
  37. package/dist/auth/index.d.ts +21 -0
  38. package/dist/auth/index.d.ts.map +1 -0
  39. package/dist/auth/index.js +50 -0
  40. package/dist/auth/index.js.map +1 -0
  41. package/dist/bin/serve.d.ts +3 -0
  42. package/dist/bin/serve.d.ts.map +1 -0
  43. package/dist/bin/serve.js +74 -0
  44. package/dist/bin/serve.js.map +1 -0
  45. package/dist/db/index.d.ts +16 -0
  46. package/dist/db/index.d.ts.map +1 -0
  47. package/dist/db/index.js +24 -0
  48. package/dist/db/index.js.map +1 -0
  49. package/dist/db/migrate.d.ts +14 -0
  50. package/dist/db/migrate.d.ts.map +1 -0
  51. package/dist/db/migrate.js +16 -0
  52. package/dist/db/migrate.js.map +1 -0
  53. package/dist/db/migrations/0000_broad_dagger.sql +227 -0
  54. package/dist/db/migrations/0001_fts5_search.sql +23 -0
  55. package/dist/db/migrations/0002_add_metadata_columns.sql +16 -0
  56. package/dist/db/migrations/0003_add_channel_mute.sql +5 -0
  57. package/dist/db/migrations/0004_a2a_agents.sql +21 -0
  58. package/dist/db/migrations/0005_certifications.sql +24 -0
  59. package/dist/db/migrations/0006_message_logs.sql +30 -0
  60. package/dist/db/migrations/0007_directory.sql +125 -0
  61. package/dist/db/migrations/0008_smart_routing.sql +30 -0
  62. package/dist/db/migrations/0009_drop_workspace_name_unique.sql +4 -0
  63. package/dist/db/migrations/0010_actions_and_harness.sql +108 -0
  64. package/dist/db/migrations/0011_stable_handle.sql +5 -0
  65. package/dist/db/migrations/0012_delivery_and_sequence_constraints.sql +26 -0
  66. package/dist/db/migrations/0013_status_active.sql +9 -0
  67. package/dist/db/migrations/meta/0000_snapshot.json +1694 -0
  68. package/dist/db/migrations/meta/_journal.json +13 -0
  69. package/dist/db/schema.d.ts +4742 -0
  70. package/dist/db/schema.d.ts.map +1 -0
  71. package/dist/db/schema.js +572 -0
  72. package/dist/db/schema.js.map +1 -0
  73. package/dist/engine/a2a-health.d.ts +11 -0
  74. package/dist/engine/a2a-health.d.ts.map +1 -0
  75. package/dist/engine/a2a-health.js +65 -0
  76. package/dist/engine/a2a-health.js.map +1 -0
  77. package/dist/engine/a2a.d.ts +73 -0
  78. package/dist/engine/a2a.d.ts.map +1 -0
  79. package/dist/engine/a2a.js +549 -0
  80. package/dist/engine/a2a.js.map +1 -0
  81. package/dist/engine/action.d.ts +85 -0
  82. package/dist/engine/action.d.ts.map +1 -0
  83. package/dist/engine/action.js +220 -0
  84. package/dist/engine/action.js.map +1 -0
  85. package/dist/engine/activity.d.ts +21 -0
  86. package/dist/engine/activity.d.ts.map +1 -0
  87. package/dist/engine/activity.js +46 -0
  88. package/dist/engine/activity.js.map +1 -0
  89. package/dist/engine/agent.d.ts +155 -0
  90. package/dist/engine/agent.d.ts.map +1 -0
  91. package/dist/engine/agent.js +408 -0
  92. package/dist/engine/agent.js.map +1 -0
  93. package/dist/engine/cache.d.ts +19 -0
  94. package/dist/engine/cache.d.ts.map +1 -0
  95. package/dist/engine/cache.js +40 -0
  96. package/dist/engine/cache.js.map +1 -0
  97. package/dist/engine/certify.d.ts +84 -0
  98. package/dist/engine/certify.d.ts.map +1 -0
  99. package/dist/engine/certify.js +452 -0
  100. package/dist/engine/certify.js.map +1 -0
  101. package/dist/engine/channel.d.ts +67 -0
  102. package/dist/engine/channel.d.ts.map +1 -0
  103. package/dist/engine/channel.js +375 -0
  104. package/dist/engine/channel.js.map +1 -0
  105. package/dist/engine/console.d.ts +83 -0
  106. package/dist/engine/console.d.ts.map +1 -0
  107. package/dist/engine/console.js +189 -0
  108. package/dist/engine/console.js.map +1 -0
  109. package/dist/engine/directory.d.ts +241 -0
  110. package/dist/engine/directory.d.ts.map +1 -0
  111. package/dist/engine/directory.js +528 -0
  112. package/dist/engine/directory.js.map +1 -0
  113. package/dist/engine/dm.d.ts +63 -0
  114. package/dist/engine/dm.d.ts.map +1 -0
  115. package/dist/engine/dm.js +397 -0
  116. package/dist/engine/dm.js.map +1 -0
  117. package/dist/engine/dmAll.d.ts +11 -0
  118. package/dist/engine/dmAll.d.ts.map +1 -0
  119. package/dist/engine/dmAll.js +117 -0
  120. package/dist/engine/dmAll.js.map +1 -0
  121. package/dist/engine/event-id.d.ts +2 -0
  122. package/dist/engine/event-id.d.ts.map +1 -0
  123. package/dist/engine/event-id.js +0 -0
  124. package/dist/engine/event-id.js.map +1 -0
  125. package/dist/engine/eventDelivery.d.ts +12 -0
  126. package/dist/engine/eventDelivery.d.ts.map +1 -0
  127. package/dist/engine/eventDelivery.js +103 -0
  128. package/dist/engine/eventDelivery.js.map +1 -0
  129. package/dist/engine/eventQueue.d.ts +6 -0
  130. package/dist/engine/eventQueue.d.ts.map +1 -0
  131. package/dist/engine/eventQueue.js +23 -0
  132. package/dist/engine/eventQueue.js.map +1 -0
  133. package/dist/engine/eventSubscription.d.ts +59 -0
  134. package/dist/engine/eventSubscription.d.ts.map +1 -0
  135. package/dist/engine/eventSubscription.js +74 -0
  136. package/dist/engine/eventSubscription.js.map +1 -0
  137. package/dist/engine/file.d.ts +43 -0
  138. package/dist/engine/file.d.ts.map +1 -0
  139. package/dist/engine/file.js +115 -0
  140. package/dist/engine/file.js.map +1 -0
  141. package/dist/engine/groupDm.d.ts +54 -0
  142. package/dist/engine/groupDm.d.ts.map +1 -0
  143. package/dist/engine/groupDm.js +262 -0
  144. package/dist/engine/groupDm.js.map +1 -0
  145. package/dist/engine/inboundWebhook.d.ts +45 -0
  146. package/dist/engine/inboundWebhook.d.ts.map +1 -0
  147. package/dist/engine/inboundWebhook.js +170 -0
  148. package/dist/engine/inboundWebhook.js.map +1 -0
  149. package/dist/engine/inbox.d.ts +34 -0
  150. package/dist/engine/inbox.d.ts.map +1 -0
  151. package/dist/engine/inbox.js +141 -0
  152. package/dist/engine/inbox.js.map +1 -0
  153. package/dist/engine/index.d.ts +10 -0
  154. package/dist/engine/index.d.ts.map +1 -0
  155. package/dist/engine/index.js +10 -0
  156. package/dist/engine/index.js.map +1 -0
  157. package/dist/engine/message.d.ts +81 -0
  158. package/dist/engine/message.d.ts.map +1 -0
  159. package/dist/engine/message.js +293 -0
  160. package/dist/engine/message.js.map +1 -0
  161. package/dist/engine/presence.d.ts +12 -0
  162. package/dist/engine/presence.d.ts.map +1 -0
  163. package/dist/engine/presence.js +24 -0
  164. package/dist/engine/presence.js.map +1 -0
  165. package/dist/engine/reaction.d.ts +19 -0
  166. package/dist/engine/reaction.d.ts.map +1 -0
  167. package/dist/engine/reaction.js +97 -0
  168. package/dist/engine/reaction.js.map +1 -0
  169. package/dist/engine/receipt.d.ts +19 -0
  170. package/dist/engine/receipt.d.ts.map +1 -0
  171. package/dist/engine/receipt.js +96 -0
  172. package/dist/engine/receipt.js.map +1 -0
  173. package/dist/engine/resyncQuery.d.ts +15 -0
  174. package/dist/engine/resyncQuery.d.ts.map +1 -0
  175. package/dist/engine/resyncQuery.js +124 -0
  176. package/dist/engine/resyncQuery.js.map +1 -0
  177. package/dist/engine/routing.d.ts +45 -0
  178. package/dist/engine/routing.d.ts.map +1 -0
  179. package/dist/engine/routing.js +390 -0
  180. package/dist/engine/routing.js.map +1 -0
  181. package/dist/engine/search.d.ts +19 -0
  182. package/dist/engine/search.d.ts.map +1 -0
  183. package/dist/engine/search.js +60 -0
  184. package/dist/engine/search.js.map +1 -0
  185. package/dist/engine/searchQuery.d.ts +8 -0
  186. package/dist/engine/searchQuery.d.ts.map +1 -0
  187. package/dist/engine/searchQuery.js +19 -0
  188. package/dist/engine/searchQuery.js.map +1 -0
  189. package/dist/engine/sessionEvent.d.ts +29 -0
  190. package/dist/engine/sessionEvent.d.ts.map +1 -0
  191. package/dist/engine/sessionEvent.js +76 -0
  192. package/dist/engine/sessionEvent.js.map +1 -0
  193. package/dist/engine/snowflake.d.ts +14 -0
  194. package/dist/engine/snowflake.d.ts.map +1 -0
  195. package/dist/engine/snowflake.js +88 -0
  196. package/dist/engine/snowflake.js.map +1 -0
  197. package/dist/engine/systemPrompt.d.ts +13 -0
  198. package/dist/engine/systemPrompt.d.ts.map +1 -0
  199. package/dist/engine/systemPrompt.js +31 -0
  200. package/dist/engine/systemPrompt.js.map +1 -0
  201. package/dist/engine/thread.d.ts +56 -0
  202. package/dist/engine/thread.d.ts.map +1 -0
  203. package/dist/engine/thread.js +158 -0
  204. package/dist/engine/thread.js.map +1 -0
  205. package/dist/engine/tokenRotate.d.ts +8 -0
  206. package/dist/engine/tokenRotate.d.ts.map +1 -0
  207. package/dist/engine/tokenRotate.js +25 -0
  208. package/dist/engine/tokenRotate.js.map +1 -0
  209. package/dist/engine/usage.d.ts +16 -0
  210. package/dist/engine/usage.d.ts.map +1 -0
  211. package/dist/engine/usage.js +24 -0
  212. package/dist/engine/usage.js.map +1 -0
  213. package/dist/engine/workspace.d.ts +44 -0
  214. package/dist/engine/workspace.d.ts.map +1 -0
  215. package/dist/engine/workspace.js +127 -0
  216. package/dist/engine/workspace.js.map +1 -0
  217. package/dist/engine/wsTransform.d.ts +14 -0
  218. package/dist/engine/wsTransform.d.ts.map +1 -0
  219. package/dist/engine/wsTransform.js +196 -0
  220. package/dist/engine/wsTransform.js.map +1 -0
  221. package/dist/engine.d.ts +18 -0
  222. package/dist/engine.d.ts.map +1 -0
  223. package/dist/engine.js +275 -0
  224. package/dist/engine.js.map +1 -0
  225. package/dist/entrypoints/node.d.ts +35 -0
  226. package/dist/entrypoints/node.d.ts.map +1 -0
  227. package/dist/entrypoints/node.js +114 -0
  228. package/dist/entrypoints/node.js.map +1 -0
  229. package/dist/env.d.ts +38 -0
  230. package/dist/env.d.ts.map +1 -0
  231. package/dist/env.js +2 -0
  232. package/dist/env.js.map +1 -0
  233. package/dist/index.d.ts +14 -0
  234. package/dist/index.d.ts.map +1 -0
  235. package/dist/index.js +16 -0
  236. package/dist/index.js.map +1 -0
  237. package/dist/lib/logger.d.ts +47 -0
  238. package/dist/lib/logger.d.ts.map +1 -0
  239. package/dist/lib/logger.js +214 -0
  240. package/dist/lib/logger.js.map +1 -0
  241. package/dist/lib/origin.d.ts +25 -0
  242. package/dist/lib/origin.d.ts.map +1 -0
  243. package/dist/lib/origin.js +80 -0
  244. package/dist/lib/origin.js.map +1 -0
  245. package/dist/lib/serverTelemetry.d.ts +12 -0
  246. package/dist/lib/serverTelemetry.d.ts.map +1 -0
  247. package/dist/lib/serverTelemetry.js +46 -0
  248. package/dist/lib/serverTelemetry.js.map +1 -0
  249. package/dist/lib/ssrf.d.ts +23 -0
  250. package/dist/lib/ssrf.d.ts.map +1 -0
  251. package/dist/lib/ssrf.js +57 -0
  252. package/dist/lib/ssrf.js.map +1 -0
  253. package/dist/lib/workspaceStream.d.ts +9 -0
  254. package/dist/lib/workspaceStream.d.ts.map +1 -0
  255. package/dist/lib/workspaceStream.js +53 -0
  256. package/dist/lib/workspaceStream.js.map +1 -0
  257. package/dist/middleware/auth.d.ts +9 -0
  258. package/dist/middleware/auth.d.ts.map +1 -0
  259. package/dist/middleware/auth.js +40 -0
  260. package/dist/middleware/auth.js.map +1 -0
  261. package/dist/middleware/engine-context.d.ts +9 -0
  262. package/dist/middleware/engine-context.d.ts.map +1 -0
  263. package/dist/middleware/engine-context.js +15 -0
  264. package/dist/middleware/engine-context.js.map +1 -0
  265. package/dist/middleware/idempotency.d.ts +24 -0
  266. package/dist/middleware/idempotency.d.ts.map +1 -0
  267. package/dist/middleware/idempotency.js +148 -0
  268. package/dist/middleware/idempotency.js.map +1 -0
  269. package/dist/middleware/logger.d.ts +4 -0
  270. package/dist/middleware/logger.d.ts.map +1 -0
  271. package/dist/middleware/logger.js +163 -0
  272. package/dist/middleware/logger.js.map +1 -0
  273. package/dist/middleware/planLimits.d.ts +5 -0
  274. package/dist/middleware/planLimits.d.ts.map +1 -0
  275. package/dist/middleware/planLimits.js +35 -0
  276. package/dist/middleware/planLimits.js.map +1 -0
  277. package/dist/middleware/presenceRefresh.d.ts +3 -0
  278. package/dist/middleware/presenceRefresh.d.ts.map +1 -0
  279. package/dist/middleware/presenceRefresh.js +18 -0
  280. package/dist/middleware/presenceRefresh.js.map +1 -0
  281. package/dist/middleware/rateLimit.d.ts +3 -0
  282. package/dist/middleware/rateLimit.d.ts.map +1 -0
  283. package/dist/middleware/rateLimit.js +69 -0
  284. package/dist/middleware/rateLimit.js.map +1 -0
  285. package/dist/middleware/usageTracker.d.ts +3 -0
  286. package/dist/middleware/usageTracker.d.ts.map +1 -0
  287. package/dist/middleware/usageTracker.js +10 -0
  288. package/dist/middleware/usageTracker.js.map +1 -0
  289. package/dist/ports/auth.d.ts +45 -0
  290. package/dist/ports/auth.d.ts.map +1 -0
  291. package/dist/ports/auth.js +2 -0
  292. package/dist/ports/auth.js.map +1 -0
  293. package/dist/ports/database.d.ts +20 -0
  294. package/dist/ports/database.d.ts.map +1 -0
  295. package/dist/ports/database.js +2 -0
  296. package/dist/ports/database.js.map +1 -0
  297. package/dist/ports/entitlements.d.ts +25 -0
  298. package/dist/ports/entitlements.d.ts.map +1 -0
  299. package/dist/ports/entitlements.js +2 -0
  300. package/dist/ports/entitlements.js.map +1 -0
  301. package/dist/ports/event-queue.d.ts +19 -0
  302. package/dist/ports/event-queue.d.ts.map +1 -0
  303. package/dist/ports/event-queue.js +2 -0
  304. package/dist/ports/event-queue.js.map +1 -0
  305. package/dist/ports/files.d.ts +28 -0
  306. package/dist/ports/files.d.ts.map +1 -0
  307. package/dist/ports/files.js +2 -0
  308. package/dist/ports/files.js.map +1 -0
  309. package/dist/ports/index.d.ts +84 -0
  310. package/dist/ports/index.d.ts.map +1 -0
  311. package/dist/ports/index.js +2 -0
  312. package/dist/ports/index.js.map +1 -0
  313. package/dist/ports/kv.d.ts +25 -0
  314. package/dist/ports/kv.d.ts.map +1 -0
  315. package/dist/ports/kv.js +2 -0
  316. package/dist/ports/kv.js.map +1 -0
  317. package/dist/ports/mcp.d.ts +18 -0
  318. package/dist/ports/mcp.d.ts.map +1 -0
  319. package/dist/ports/mcp.js +2 -0
  320. package/dist/ports/mcp.js.map +1 -0
  321. package/dist/ports/presence.d.ts +18 -0
  322. package/dist/ports/presence.d.ts.map +1 -0
  323. package/dist/ports/presence.js +2 -0
  324. package/dist/ports/presence.js.map +1 -0
  325. package/dist/ports/rate-limit.d.ts +20 -0
  326. package/dist/ports/rate-limit.d.ts.map +1 -0
  327. package/dist/ports/rate-limit.js +2 -0
  328. package/dist/ports/rate-limit.js.map +1 -0
  329. package/dist/ports/realtime.d.ts +104 -0
  330. package/dist/ports/realtime.d.ts.map +1 -0
  331. package/dist/ports/realtime.js +19 -0
  332. package/dist/ports/realtime.js.map +1 -0
  333. package/dist/ports/telemetry.d.ts +20 -0
  334. package/dist/ports/telemetry.d.ts.map +1 -0
  335. package/dist/ports/telemetry.js +2 -0
  336. package/dist/ports/telemetry.js.map +1 -0
  337. package/dist/providers/noop-telemetry.d.ts +13 -0
  338. package/dist/providers/noop-telemetry.d.ts.map +1 -0
  339. package/dist/providers/noop-telemetry.js +16 -0
  340. package/dist/providers/noop-telemetry.js.map +1 -0
  341. package/dist/providers/static-entitlements.d.ts +23 -0
  342. package/dist/providers/static-entitlements.d.ts.map +1 -0
  343. package/dist/providers/static-entitlements.js +42 -0
  344. package/dist/providers/static-entitlements.js.map +1 -0
  345. package/dist/routes/a2a.d.ts +4 -0
  346. package/dist/routes/a2a.d.ts.map +1 -0
  347. package/dist/routes/a2a.js +375 -0
  348. package/dist/routes/a2a.js.map +1 -0
  349. package/dist/routes/action.d.ts +4 -0
  350. package/dist/routes/action.d.ts.map +1 -0
  351. package/dist/routes/action.js +213 -0
  352. package/dist/routes/action.js.map +1 -0
  353. package/dist/routes/agent.d.ts +4 -0
  354. package/dist/routes/agent.d.ts.map +1 -0
  355. package/dist/routes/agent.js +431 -0
  356. package/dist/routes/agent.js.map +1 -0
  357. package/dist/routes/background.d.ts +13 -0
  358. package/dist/routes/background.d.ts.map +1 -0
  359. package/dist/routes/background.js +33 -0
  360. package/dist/routes/background.js.map +1 -0
  361. package/dist/routes/certify.d.ts +4 -0
  362. package/dist/routes/certify.d.ts.map +1 -0
  363. package/dist/routes/certify.js +119 -0
  364. package/dist/routes/certify.js.map +1 -0
  365. package/dist/routes/channel.d.ts +4 -0
  366. package/dist/routes/channel.d.ts.map +1 -0
  367. package/dist/routes/channel.js +492 -0
  368. package/dist/routes/channel.js.map +1 -0
  369. package/dist/routes/console.d.ts +4 -0
  370. package/dist/routes/console.d.ts.map +1 -0
  371. package/dist/routes/console.js +117 -0
  372. package/dist/routes/console.js.map +1 -0
  373. package/dist/routes/directory.d.ts +4 -0
  374. package/dist/routes/directory.d.ts.map +1 -0
  375. package/dist/routes/directory.js +236 -0
  376. package/dist/routes/directory.js.map +1 -0
  377. package/dist/routes/dm.d.ts +4 -0
  378. package/dist/routes/dm.d.ts.map +1 -0
  379. package/dist/routes/dm.js +157 -0
  380. package/dist/routes/dm.js.map +1 -0
  381. package/dist/routes/eventSubscription.d.ts +4 -0
  382. package/dist/routes/eventSubscription.d.ts.map +1 -0
  383. package/dist/routes/eventSubscription.js +115 -0
  384. package/dist/routes/eventSubscription.js.map +1 -0
  385. package/dist/routes/fanout.d.ts +17 -0
  386. package/dist/routes/fanout.d.ts.map +1 -0
  387. package/dist/routes/fanout.js +150 -0
  388. package/dist/routes/fanout.js.map +1 -0
  389. package/dist/routes/file.d.ts +4 -0
  390. package/dist/routes/file.d.ts.map +1 -0
  391. package/dist/routes/file.js +166 -0
  392. package/dist/routes/file.js.map +1 -0
  393. package/dist/routes/groupDm.d.ts +4 -0
  394. package/dist/routes/groupDm.d.ts.map +1 -0
  395. package/dist/routes/groupDm.js +204 -0
  396. package/dist/routes/groupDm.js.map +1 -0
  397. package/dist/routes/health.d.ts +4 -0
  398. package/dist/routes/health.d.ts.map +1 -0
  399. package/dist/routes/health.js +10 -0
  400. package/dist/routes/health.js.map +1 -0
  401. package/dist/routes/inboundWebhook.d.ts +4 -0
  402. package/dist/routes/inboundWebhook.d.ts.map +1 -0
  403. package/dist/routes/inboundWebhook.js +149 -0
  404. package/dist/routes/inboundWebhook.js.map +1 -0
  405. package/dist/routes/inbox.d.ts +4 -0
  406. package/dist/routes/inbox.d.ts.map +1 -0
  407. package/dist/routes/inbox.js +23 -0
  408. package/dist/routes/inbox.js.map +1 -0
  409. package/dist/routes/message.d.ts +4 -0
  410. package/dist/routes/message.d.ts.map +1 -0
  411. package/dist/routes/message.js +164 -0
  412. package/dist/routes/message.js.map +1 -0
  413. package/dist/routes/presence.d.ts +4 -0
  414. package/dist/routes/presence.d.ts.map +1 -0
  415. package/dist/routes/presence.js +70 -0
  416. package/dist/routes/presence.js.map +1 -0
  417. package/dist/routes/reaction.d.ts +4 -0
  418. package/dist/routes/reaction.d.ts.map +1 -0
  419. package/dist/routes/reaction.js +152 -0
  420. package/dist/routes/reaction.js.map +1 -0
  421. package/dist/routes/receipt.d.ts +4 -0
  422. package/dist/routes/receipt.d.ts.map +1 -0
  423. package/dist/routes/receipt.js +100 -0
  424. package/dist/routes/receipt.js.map +1 -0
  425. package/dist/routes/routing.d.ts +4 -0
  426. package/dist/routes/routing.d.ts.map +1 -0
  427. package/dist/routes/routing.js +186 -0
  428. package/dist/routes/routing.js.map +1 -0
  429. package/dist/routes/search.d.ts +4 -0
  430. package/dist/routes/search.d.ts.map +1 -0
  431. package/dist/routes/search.js +48 -0
  432. package/dist/routes/search.js.map +1 -0
  433. package/dist/routes/systemPrompt.d.ts +4 -0
  434. package/dist/routes/systemPrompt.d.ts.map +1 -0
  435. package/dist/routes/systemPrompt.js +66 -0
  436. package/dist/routes/systemPrompt.js.map +1 -0
  437. package/dist/routes/thread.d.ts +4 -0
  438. package/dist/routes/thread.d.ts.map +1 -0
  439. package/dist/routes/thread.js +126 -0
  440. package/dist/routes/thread.js.map +1 -0
  441. package/dist/routes/workspace.d.ts +4 -0
  442. package/dist/routes/workspace.d.ts.map +1 -0
  443. package/dist/routes/workspace.js +355 -0
  444. package/dist/routes/workspace.js.map +1 -0
  445. package/package.json +71 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/db/schema.ts"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwB7B,CAAC;AAKF,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqBzB,CAAC;AAKF,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8BtB,CAAC;AAKF,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqBzB,CAAC"}
@@ -0,0 +1,572 @@
1
+ import { sqliteTable, text, integer, index, uniqueIndex, primaryKey, } from 'drizzle-orm/sqlite-core';
2
+ import { sql } from 'drizzle-orm';
3
+ // ============================================
4
+ // Workspaces
5
+ // ============================================
6
+ export const workspaces = sqliteTable('workspaces', {
7
+ id: text('id').primaryKey(),
8
+ name: text('name').notNull(),
9
+ apiKeyHash: text('api_key_hash').notNull().unique(),
10
+ systemPrompt: text('system_prompt'),
11
+ plan: text('plan').notNull().default('free'),
12
+ createdAt: integer('created_at', { mode: 'timestamp' }).notNull().default(sql `(unixepoch())`),
13
+ metadata: text('metadata', { mode: 'json' }).default('{}'),
14
+ });
15
+ // ============================================
16
+ // Agents
17
+ // ============================================
18
+ export const agents = sqliteTable('agents', {
19
+ id: text('id').primaryKey(),
20
+ workspaceId: text('workspace_id')
21
+ .notNull()
22
+ .references(() => workspaces.id, { onDelete: 'cascade' }),
23
+ name: text('name').notNull(),
24
+ type: text('type').notNull().default('agent'),
25
+ tokenHash: text('token_hash').notNull().unique(),
26
+ status: text('status').notNull().default('active'),
27
+ handle: text('handle'),
28
+ persona: text('persona'),
29
+ metadata: text('metadata', { mode: 'json' }).default('{}'),
30
+ capabilities: text('capabilities', { mode: 'json' }).$type(),
31
+ createdAt: integer('created_at', { mode: 'timestamp' }).notNull().default(sql `(unixepoch())`),
32
+ lastSeen: integer('last_seen', { mode: 'timestamp' }).notNull().default(sql `(unixepoch())`),
33
+ }, (table) => [
34
+ uniqueIndex('agents_workspace_name_unique').on(table.workspaceId, table.name),
35
+ index('idx_agents_workspace').on(table.workspaceId),
36
+ index('idx_agents_token').on(table.tokenHash),
37
+ ]);
38
+ // ============================================
39
+ // A2A Agents
40
+ // ============================================
41
+ export const a2aAgents = sqliteTable('a2a_agents', {
42
+ id: text('id').primaryKey(),
43
+ workspaceId: text('workspace_id')
44
+ .notNull()
45
+ .references(() => workspaces.id, { onDelete: 'cascade' }),
46
+ relayAgentId: text('relay_agent_id')
47
+ .notNull()
48
+ .references(() => agents.id, { onDelete: 'cascade' }),
49
+ agentCard: text('agent_card', { mode: 'json' }).notNull().default('{}'),
50
+ externalUrl: text('external_url').notNull(),
51
+ authScheme: text('auth_scheme'),
52
+ authCredential: text('auth_credential'),
53
+ status: text('status').notNull().default('active'),
54
+ messagesSent: integer('messages_sent').notNull().default(0),
55
+ messagesRecv: integer('messages_recv').notNull().default(0),
56
+ lastHealth: integer('last_health', { mode: 'timestamp' }),
57
+ healthFailures: integer('health_failures').notNull().default(0),
58
+ createdAt: integer('created_at', { mode: 'timestamp' }).notNull().default(sql `(unixepoch())`),
59
+ updatedAt: integer('updated_at', { mode: 'timestamp' }).notNull().default(sql `(unixepoch())`),
60
+ }, (table) => [
61
+ index('idx_a2a_agents_workspace').on(table.workspaceId),
62
+ uniqueIndex('idx_a2a_agents_relay_agent').on(table.relayAgentId),
63
+ ]);
64
+ // ============================================
65
+ // Directory Agents
66
+ // ============================================
67
+ export const directoryAgents = sqliteTable('directory_agents', {
68
+ id: text('id').primaryKey(),
69
+ workspaceId: text('workspace_id')
70
+ .notNull()
71
+ .references(() => workspaces.id, { onDelete: 'cascade' }),
72
+ sourceAgentId: text('source_agent_id').references(() => agents.id, { onDelete: 'set null' }),
73
+ slug: text('slug').notNull(),
74
+ name: text('name').notNull(),
75
+ description: text('description'),
76
+ provider: text('provider'),
77
+ endpointUrl: text('endpoint_url'),
78
+ documentationUrl: text('documentation_url'),
79
+ version: text('version'),
80
+ tags: text('tags', { mode: 'json' }).$type().notNull().default([]),
81
+ capabilities: text('capabilities', { mode: 'json' }).notNull().default('{}'),
82
+ metadata: text('metadata', { mode: 'json' }).notNull().default('{}'),
83
+ status: text('status').notNull().default('active'),
84
+ ratingSum: integer('rating_sum').notNull().default(0),
85
+ ratingCount: integer('rating_count').notNull().default(0),
86
+ createdAt: integer('created_at', { mode: 'timestamp' }).notNull().default(sql `(unixepoch())`),
87
+ updatedAt: integer('updated_at', { mode: 'timestamp' }).notNull().default(sql `(unixepoch())`),
88
+ }, (table) => [
89
+ uniqueIndex('directory_agents_workspace_slug_unique').on(table.workspaceId, table.slug),
90
+ index('idx_directory_agents_workspace').on(table.workspaceId, table.createdAt),
91
+ index('idx_directory_agents_source_agent').on(table.sourceAgentId),
92
+ index('idx_directory_agents_status').on(table.workspaceId, table.status),
93
+ ]);
94
+ // ============================================
95
+ // Directory Skills
96
+ // ============================================
97
+ export const directorySkills = sqliteTable('directory_skills', {
98
+ id: text('id').primaryKey(),
99
+ workspaceId: text('workspace_id')
100
+ .notNull()
101
+ .references(() => workspaces.id, { onDelete: 'cascade' }),
102
+ directoryAgentId: text('directory_agent_id')
103
+ .notNull()
104
+ .references(() => directoryAgents.id, { onDelete: 'cascade' }),
105
+ skillId: text('skill_id'),
106
+ name: text('name').notNull(),
107
+ description: text('description'),
108
+ tags: text('tags', { mode: 'json' }).$type().notNull().default([]),
109
+ metadata: text('metadata', { mode: 'json' }).notNull().default('{}'),
110
+ position: integer('position').notNull().default(0),
111
+ createdAt: integer('created_at', { mode: 'timestamp' }).notNull().default(sql `(unixepoch())`),
112
+ }, (table) => [
113
+ index('idx_directory_skills_agent').on(table.directoryAgentId, table.position),
114
+ index('idx_directory_skills_workspace').on(table.workspaceId),
115
+ ]);
116
+ // ============================================
117
+ // Directory Ratings
118
+ // ============================================
119
+ export const directoryRatings = sqliteTable('directory_ratings', {
120
+ id: text('id').primaryKey(),
121
+ workspaceId: text('workspace_id')
122
+ .notNull()
123
+ .references(() => workspaces.id, { onDelete: 'cascade' }),
124
+ directoryAgentId: text('directory_agent_id')
125
+ .notNull()
126
+ .references(() => directoryAgents.id, { onDelete: 'cascade' }),
127
+ raterAgentId: text('rater_agent_id')
128
+ .notNull()
129
+ .references(() => agents.id, { onDelete: 'cascade' }),
130
+ score: integer('score').notNull(),
131
+ review: text('review'),
132
+ createdAt: integer('created_at', { mode: 'timestamp' }).notNull().default(sql `(unixepoch())`),
133
+ updatedAt: integer('updated_at', { mode: 'timestamp' }).notNull().default(sql `(unixepoch())`),
134
+ }, (table) => [
135
+ uniqueIndex('directory_ratings_agent_rater_unique').on(table.directoryAgentId, table.raterAgentId),
136
+ index('idx_directory_ratings_workspace').on(table.workspaceId, table.createdAt),
137
+ index('idx_directory_ratings_directory_agent').on(table.directoryAgentId, table.createdAt),
138
+ ]);
139
+ // ============================================
140
+ // Smart Routing
141
+ // ============================================
142
+ export const routingConfigs = sqliteTable('routing_configs', {
143
+ workspaceId: text('workspace_id')
144
+ .primaryKey()
145
+ .references(() => workspaces.id, { onDelete: 'cascade' }),
146
+ weights: text('weights', { mode: 'json' }).notNull().default('{}'),
147
+ circuitBreakerThreshold: integer('circuit_breaker_threshold').notNull().default(3),
148
+ circuitBreakerCooldownSeconds: integer('circuit_breaker_cooldown_seconds').notNull().default(300),
149
+ updatedAt: integer('updated_at', { mode: 'timestamp' }).notNull().default(sql `(unixepoch())`),
150
+ }, (table) => [
151
+ index('idx_routing_configs_updated_at').on(table.updatedAt),
152
+ ]);
153
+ export const routingFailures = sqliteTable('routing_failures', {
154
+ workspaceId: text('workspace_id')
155
+ .notNull()
156
+ .references(() => workspaces.id, { onDelete: 'cascade' }),
157
+ agentId: text('agent_id')
158
+ .notNull()
159
+ .references(() => agents.id, { onDelete: 'cascade' }),
160
+ consecutiveFailures: integer('consecutive_failures').notNull().default(0),
161
+ totalFailures: integer('total_failures').notNull().default(0),
162
+ totalSuccesses: integer('total_successes').notNull().default(0),
163
+ lastFailureAt: integer('last_failure_at', { mode: 'timestamp' }),
164
+ lastSuccessAt: integer('last_success_at', { mode: 'timestamp' }),
165
+ circuitOpenUntil: integer('circuit_open_until', { mode: 'timestamp' }),
166
+ lastError: text('last_error'),
167
+ updatedAt: integer('updated_at', { mode: 'timestamp' }).notNull().default(sql `(unixepoch())`),
168
+ }, (table) => [
169
+ primaryKey({ columns: [table.workspaceId, table.agentId] }),
170
+ index('idx_routing_failures_workspace').on(table.workspaceId, table.updatedAt),
171
+ index('idx_routing_failures_circuit').on(table.workspaceId, table.circuitOpenUntil),
172
+ ]);
173
+ // ============================================
174
+ // Certifications
175
+ // ============================================
176
+ export const certifications = sqliteTable('certifications', {
177
+ id: text('id').primaryKey(),
178
+ workspaceId: text('workspace_id')
179
+ .notNull()
180
+ .references(() => workspaces.id, { onDelete: 'cascade' }),
181
+ agentUrl: text('agent_url').notNull(),
182
+ level: integer('level').notNull(),
183
+ source: text('source').notNull().default('manual'),
184
+ status: text('status').notNull().default('pending'),
185
+ passed: integer('passed', { mode: 'boolean' }).notNull().default(false),
186
+ passedTests: integer('passed_tests').notNull().default(0),
187
+ totalTests: integer('total_tests').notNull().default(0),
188
+ monitorEnabled: integer('monitor_enabled', { mode: 'boolean' }).notNull().default(false),
189
+ monitorIntervalMinutes: integer('monitor_interval_minutes').notNull().default(60),
190
+ lastRunAt: integer('last_run_at', { mode: 'timestamp' }),
191
+ results: text('results', { mode: 'json' }).default('[]'),
192
+ createdAt: integer('created_at', { mode: 'timestamp' }).notNull().default(sql `(unixepoch())`),
193
+ updatedAt: integer('updated_at', { mode: 'timestamp' }).notNull().default(sql `(unixepoch())`),
194
+ }, (table) => [
195
+ index('idx_certifications_workspace').on(table.workspaceId, table.createdAt),
196
+ index('idx_certifications_agent_url').on(table.agentUrl),
197
+ index('idx_certifications_monitor_enabled').on(table.monitorEnabled, table.updatedAt),
198
+ ]);
199
+ // ============================================
200
+ // Channels
201
+ // ============================================
202
+ export const channels = sqliteTable('channels', {
203
+ id: text('id').primaryKey(),
204
+ workspaceId: text('workspace_id')
205
+ .notNull()
206
+ .references(() => workspaces.id, { onDelete: 'cascade' }),
207
+ name: text('name').notNull(),
208
+ channelType: integer('channel_type').notNull().default(0),
209
+ topic: text('topic'),
210
+ metadata: text('metadata', { mode: 'json' }).default('{}'),
211
+ createdBy: text('created_by').references(() => agents.id),
212
+ createdAt: integer('created_at', { mode: 'timestamp' }).notNull().default(sql `(unixepoch())`),
213
+ isArchived: integer('is_archived', { mode: 'boolean' }).notNull().default(false),
214
+ }, (table) => [
215
+ uniqueIndex('channels_workspace_name_unique').on(table.workspaceId, table.name),
216
+ index('idx_channels_workspace').on(table.workspaceId),
217
+ ]);
218
+ // ============================================
219
+ // Channel Members
220
+ // ============================================
221
+ export const channelMembers = sqliteTable('channel_members', {
222
+ channelId: text('channel_id')
223
+ .notNull()
224
+ .references(() => channels.id, { onDelete: 'cascade' }),
225
+ agentId: text('agent_id')
226
+ .notNull()
227
+ .references(() => agents.id, { onDelete: 'cascade' }),
228
+ role: text('role').notNull().default('member'),
229
+ joinedAt: integer('joined_at', { mode: 'timestamp' }).notNull().default(sql `(unixepoch())`),
230
+ lastReadId: text('last_read_id'),
231
+ isMuted: integer('is_muted', { mode: 'boolean' }).notNull().default(false),
232
+ }, (table) => [
233
+ primaryKey({ columns: [table.channelId, table.agentId] }),
234
+ index('idx_channel_members_agent').on(table.agentId),
235
+ ]);
236
+ // ============================================
237
+ // Messages
238
+ // ============================================
239
+ export const messages = sqliteTable('messages', {
240
+ id: text('id').primaryKey(),
241
+ workspaceId: text('workspace_id')
242
+ .notNull()
243
+ .references(() => workspaces.id, { onDelete: 'cascade' }),
244
+ channelId: text('channel_id')
245
+ .notNull()
246
+ .references(() => channels.id, { onDelete: 'cascade' }),
247
+ agentId: text('agent_id')
248
+ .notNull()
249
+ .references(() => agents.id),
250
+ threadId: text('thread_id').references(() => messages.id),
251
+ body: text('body').notNull(),
252
+ blocks: text('blocks', { mode: 'json' }),
253
+ metadata: text('metadata', { mode: 'json' }).default('{}'),
254
+ hasAttachments: integer('has_attachments', { mode: 'boolean' }).notNull().default(false),
255
+ createdAt: integer('created_at', { mode: 'timestamp' }).notNull().default(sql `(unixepoch())`),
256
+ updatedAt: integer('updated_at', { mode: 'timestamp' }),
257
+ // FTS5 search handled via separate virtual table + triggers
258
+ }, (table) => [
259
+ index('idx_messages_channel_time').on(table.channelId, table.id),
260
+ index('idx_messages_thread').on(table.threadId, table.id),
261
+ index('idx_messages_workspace').on(table.workspaceId, table.id),
262
+ ]);
263
+ // ============================================
264
+ // Message Logs
265
+ // ============================================
266
+ export const messageLogs = sqliteTable('message_logs', {
267
+ id: text('id').primaryKey(),
268
+ workspaceId: text('workspace_id')
269
+ .notNull()
270
+ .references(() => workspaces.id, { onDelete: 'cascade' }),
271
+ messageId: text('message_id')
272
+ .notNull()
273
+ .references(() => messages.id, { onDelete: 'cascade' }),
274
+ channelId: text('channel_id')
275
+ .notNull()
276
+ .references(() => channels.id, { onDelete: 'cascade' }),
277
+ agentId: text('agent_id')
278
+ .notNull()
279
+ .references(() => agents.id, { onDelete: 'cascade' }),
280
+ conversationId: text('conversation_id'),
281
+ deliveryKind: text('delivery_kind').notNull(),
282
+ body: text('body').notNull(),
283
+ contentType: text('content_type'),
284
+ metadata: text('metadata', { mode: 'json' }).default('{}'),
285
+ attachmentCount: integer('attachment_count').notNull().default(0),
286
+ mentionCount: integer('mention_count').notNull().default(0),
287
+ latencyMs: integer('latency_ms').notNull().default(0),
288
+ createdAt: integer('created_at', { mode: 'timestamp' }).notNull().default(sql `(unixepoch())`),
289
+ }, (table) => [
290
+ uniqueIndex('message_logs_message_unique').on(table.messageId),
291
+ index('idx_message_logs_workspace_time').on(table.workspaceId, table.id),
292
+ index('idx_message_logs_agent_time').on(table.agentId, table.id),
293
+ index('idx_message_logs_channel_time').on(table.channelId, table.id),
294
+ index('idx_message_logs_conversation_time').on(table.conversationId, table.id),
295
+ ]);
296
+ // ============================================
297
+ // Reactions
298
+ // ============================================
299
+ export const reactions = sqliteTable('reactions', {
300
+ id: text('id').primaryKey(),
301
+ messageId: text('message_id')
302
+ .notNull()
303
+ .references(() => messages.id, { onDelete: 'cascade' }),
304
+ agentId: text('agent_id')
305
+ .notNull()
306
+ .references(() => agents.id, { onDelete: 'cascade' }),
307
+ emoji: text('emoji').notNull(),
308
+ createdAt: integer('created_at', { mode: 'timestamp' }).notNull().default(sql `(unixepoch())`),
309
+ }, (table) => [
310
+ uniqueIndex('reactions_message_agent_emoji_unique').on(table.messageId, table.agentId, table.emoji),
311
+ index('idx_reactions_message').on(table.messageId),
312
+ ]);
313
+ // ============================================
314
+ // DM Conversations
315
+ // ============================================
316
+ export const dmConversations = sqliteTable('dm_conversations', {
317
+ id: text('id').primaryKey(),
318
+ workspaceId: text('workspace_id')
319
+ .notNull()
320
+ .references(() => workspaces.id, { onDelete: 'cascade' }),
321
+ channelId: text('channel_id')
322
+ .notNull()
323
+ .references(() => channels.id, { onDelete: 'cascade' }),
324
+ dmType: text('dm_type').notNull().default('1:1'),
325
+ name: text('name'),
326
+ createdAt: integer('created_at', { mode: 'timestamp' }).notNull().default(sql `(unixepoch())`),
327
+ }, (table) => [
328
+ index('idx_dm_conversations_workspace').on(table.workspaceId),
329
+ ]);
330
+ // ============================================
331
+ // DM Participants
332
+ // ============================================
333
+ export const dmParticipants = sqliteTable('dm_participants', {
334
+ conversationId: text('conversation_id')
335
+ .notNull()
336
+ .references(() => dmConversations.id, { onDelete: 'cascade' }),
337
+ agentId: text('agent_id')
338
+ .notNull()
339
+ .references(() => agents.id, { onDelete: 'cascade' }),
340
+ joinedAt: integer('joined_at', { mode: 'timestamp' }).notNull().default(sql `(unixepoch())`),
341
+ leftAt: integer('left_at', { mode: 'timestamp' }),
342
+ }, (table) => [
343
+ primaryKey({ columns: [table.conversationId, table.agentId] }),
344
+ index('idx_dm_participants_agent').on(table.agentId),
345
+ ]);
346
+ // ============================================
347
+ // Files
348
+ // ============================================
349
+ export const files = sqliteTable('files', {
350
+ id: text('id').primaryKey(),
351
+ workspaceId: text('workspace_id')
352
+ .notNull()
353
+ .references(() => workspaces.id, { onDelete: 'cascade' }),
354
+ uploadedBy: text('uploaded_by')
355
+ .notNull()
356
+ .references(() => agents.id),
357
+ filename: text('filename').notNull(),
358
+ contentType: text('content_type').notNull(),
359
+ sizeBytes: integer('size_bytes').notNull(),
360
+ storageKey: text('storage_key').notNull(),
361
+ status: text('status').notNull().default('pending'),
362
+ createdAt: integer('created_at', { mode: 'timestamp' }).notNull().default(sql `(unixepoch())`),
363
+ }, (table) => [
364
+ index('idx_files_workspace').on(table.workspaceId, table.createdAt),
365
+ index('idx_files_uploader').on(table.uploadedBy),
366
+ ]);
367
+ // ============================================
368
+ // Message Attachments (junction table)
369
+ // ============================================
370
+ export const messageAttachments = sqliteTable('message_attachments', {
371
+ messageId: text('message_id')
372
+ .notNull()
373
+ .references(() => messages.id, { onDelete: 'cascade' }),
374
+ fileId: text('file_id')
375
+ .notNull()
376
+ .references(() => files.id, { onDelete: 'cascade' }),
377
+ position: integer('position').notNull().default(0),
378
+ }, (table) => [
379
+ primaryKey({ columns: [table.messageId, table.fileId] }),
380
+ index('idx_message_attachments_file').on(table.fileId),
381
+ ]);
382
+ // ============================================
383
+ // Read Receipts
384
+ // ============================================
385
+ export const readReceipts = sqliteTable('read_receipts', {
386
+ messageId: text('message_id')
387
+ .notNull()
388
+ .references(() => messages.id, { onDelete: 'cascade' }),
389
+ agentId: text('agent_id')
390
+ .notNull()
391
+ .references(() => agents.id, { onDelete: 'cascade' }),
392
+ readAt: integer('read_at', { mode: 'timestamp' }).notNull().default(sql `(unixepoch())`),
393
+ }, (table) => [
394
+ primaryKey({ columns: [table.messageId, table.agentId] }),
395
+ index('idx_read_receipts_message').on(table.messageId),
396
+ index('idx_read_receipts_agent').on(table.agentId, table.readAt),
397
+ ]);
398
+ // ============================================
399
+ // Usage Records
400
+ // ============================================
401
+ export const usageRecords = sqliteTable('usage_records', {
402
+ id: text('id').primaryKey(),
403
+ workspaceId: text('workspace_id')
404
+ .notNull()
405
+ .references(() => workspaces.id, { onDelete: 'cascade' }),
406
+ periodStart: integer('period_start', { mode: 'timestamp' }).notNull(),
407
+ periodEnd: integer('period_end', { mode: 'timestamp' }).notNull(),
408
+ messagesSent: integer('messages_sent').notNull().default(0),
409
+ apiCalls: integer('api_calls').notNull().default(0),
410
+ filesUploaded: integer('files_uploaded').notNull().default(0),
411
+ fileBytes: integer('file_bytes').notNull().default(0),
412
+ wsMinutes: integer('ws_minutes').notNull().default(0),
413
+ createdAt: integer('created_at', { mode: 'timestamp' }).notNull().default(sql `(unixepoch())`),
414
+ }, (table) => [
415
+ index('idx_usage_workspace_period').on(table.workspaceId, table.periodStart),
416
+ ]);
417
+ // ============================================
418
+ // Inbound Webhooks
419
+ // ============================================
420
+ export const webhooks = sqliteTable('webhooks', {
421
+ id: text('id').primaryKey(),
422
+ workspaceId: text('workspace_id')
423
+ .notNull()
424
+ .references(() => workspaces.id, { onDelete: 'cascade' }),
425
+ name: text('name').notNull(),
426
+ channelId: text('channel_id')
427
+ .notNull()
428
+ .references(() => channels.id, { onDelete: 'cascade' }),
429
+ createdBy: text('created_by').references(() => agents.id),
430
+ isActive: integer('is_active', { mode: 'boolean' }).notNull().default(true),
431
+ createdAt: integer('created_at', { mode: 'timestamp' }).notNull().default(sql `(unixepoch())`),
432
+ }, (table) => [
433
+ uniqueIndex('webhooks_workspace_name_unique').on(table.workspaceId, table.name),
434
+ index('idx_webhooks_workspace').on(table.workspaceId),
435
+ ]);
436
+ // ============================================
437
+ // Outbound Event Subscriptions
438
+ // ============================================
439
+ export const eventSubscriptions = sqliteTable('event_subscriptions', {
440
+ id: text('id').primaryKey(),
441
+ workspaceId: text('workspace_id')
442
+ .notNull()
443
+ .references(() => workspaces.id, { onDelete: 'cascade' }),
444
+ events: text('events', { mode: 'json' }).notNull().$type(),
445
+ filter: text('filter', { mode: 'json' }).$type(),
446
+ url: text('url').notNull(),
447
+ secret: text('secret'),
448
+ isActive: integer('is_active', { mode: 'boolean' }).notNull().default(true),
449
+ createdAt: integer('created_at', { mode: 'timestamp' }).notNull().default(sql `(unixepoch())`),
450
+ }, (table) => [
451
+ index('idx_event_subscriptions_workspace').on(table.workspaceId),
452
+ ]);
453
+ // ============================================
454
+ // Actions (typed agent capabilities)
455
+ // ============================================
456
+ export const actions = sqliteTable('actions', {
457
+ id: text('id').primaryKey(),
458
+ workspaceId: text('workspace_id')
459
+ .notNull()
460
+ .references(() => workspaces.id, { onDelete: 'cascade' }),
461
+ name: text('name').notNull(),
462
+ description: text('description').notNull(),
463
+ handlerAgentId: text('handler_agent_id')
464
+ .notNull()
465
+ .references(() => agents.id, { onDelete: 'cascade' }),
466
+ inputSchema: text('input_schema', { mode: 'json' }).$type().default({}),
467
+ outputSchema: text('output_schema', { mode: 'json' }).$type().default({}),
468
+ availableTo: text('available_to', { mode: 'json' }).$type(),
469
+ isActive: integer('is_active', { mode: 'boolean' }).notNull().default(true),
470
+ createdAt: integer('created_at', { mode: 'timestamp' }).notNull().default(sql `(unixepoch())`),
471
+ }, (table) => [
472
+ uniqueIndex('actions_workspace_name_unique').on(table.workspaceId, table.name),
473
+ index('idx_actions_workspace').on(table.workspaceId),
474
+ index('idx_actions_handler').on(table.handlerAgentId),
475
+ ]);
476
+ // ============================================
477
+ // Action Invocations (audit log)
478
+ // ============================================
479
+ export const actionInvocations = sqliteTable('action_invocations', {
480
+ id: text('id').primaryKey(),
481
+ workspaceId: text('workspace_id')
482
+ .notNull()
483
+ .references(() => workspaces.id, { onDelete: 'cascade' }),
484
+ actionId: text('action_id').references(() => actions.id, { onDelete: 'set null' }),
485
+ actionName: text('action_name').notNull(),
486
+ callerId: text('caller_id').references(() => agents.id, { onDelete: 'set null' }),
487
+ callerName: text('caller_name'),
488
+ input: text('input', { mode: 'json' }).default({}),
489
+ output: text('output', { mode: 'json' }),
490
+ status: text('status').notNull().default('invoked'),
491
+ error: text('error'),
492
+ durationMs: integer('duration_ms'),
493
+ createdAt: integer('created_at', { mode: 'timestamp' }).notNull().default(sql `(unixepoch())`),
494
+ completedAt: integer('completed_at', { mode: 'timestamp' }),
495
+ }, (table) => [
496
+ index('idx_action_invocations_workspace').on(table.workspaceId, table.createdAt),
497
+ index('idx_action_invocations_action').on(table.actionId, table.createdAt),
498
+ index('idx_action_invocations_caller').on(table.callerId, table.createdAt),
499
+ ]);
500
+ // ============================================
501
+ // Session Events (harness-emitted observations)
502
+ // ============================================
503
+ export const sessionEvents = sqliteTable('session_events', {
504
+ id: text('id').primaryKey(),
505
+ workspaceId: text('workspace_id')
506
+ .notNull()
507
+ .references(() => workspaces.id, { onDelete: 'cascade' }),
508
+ agentId: text('agent_id')
509
+ .notNull()
510
+ .references(() => agents.id, { onDelete: 'cascade' }),
511
+ type: text('type').notNull(),
512
+ payload: text('payload', { mode: 'json' }).notNull().default({}),
513
+ sequence: integer('sequence').notNull().default(0),
514
+ createdAt: integer('created_at', { mode: 'timestamp' }).notNull().default(sql `(unixepoch())`),
515
+ }, (table) => [
516
+ uniqueIndex('session_events_agent_sequence_unique').on(table.agentId, table.sequence),
517
+ index('idx_session_events_agent').on(table.agentId, table.createdAt),
518
+ index('idx_session_events_workspace').on(table.workspaceId, table.createdAt),
519
+ index('idx_session_events_type').on(table.workspaceId, table.type, table.createdAt),
520
+ ]);
521
+ // ============================================
522
+ // Deliveries (per-recipient message delivery tracking)
523
+ // ============================================
524
+ export const deliveries = sqliteTable('deliveries', {
525
+ id: text('id').primaryKey(),
526
+ workspaceId: text('workspace_id')
527
+ .notNull()
528
+ .references(() => workspaces.id, { onDelete: 'cascade' }),
529
+ messageId: text('message_id')
530
+ .notNull()
531
+ .references(() => messages.id, { onDelete: 'cascade' }),
532
+ agentId: text('agent_id')
533
+ .notNull()
534
+ .references(() => agents.id, { onDelete: 'cascade' }),
535
+ mode: text('mode').notNull().default('immediate'),
536
+ reason: text('reason'),
537
+ priority: text('priority').notNull().default('normal'),
538
+ deadline: integer('deadline', { mode: 'timestamp' }),
539
+ status: text('status').notNull().default('accepted'),
540
+ retryable: integer('retryable', { mode: 'boolean' }),
541
+ availableAt: integer('available_at', { mode: 'timestamp' }),
542
+ error: text('error'),
543
+ idempotencyKey: text('idempotency_key'),
544
+ createdAt: integer('created_at', { mode: 'timestamp' }).notNull().default(sql `(unixepoch())`),
545
+ updatedAt: integer('updated_at', { mode: 'timestamp' }),
546
+ }, (table) => [
547
+ uniqueIndex('deliveries_message_agent_unique').on(table.messageId, table.agentId),
548
+ index('idx_deliveries_agent').on(table.agentId, table.createdAt),
549
+ index('idx_deliveries_status').on(table.workspaceId, table.status, table.createdAt),
550
+ ]);
551
+ // ============================================
552
+ // Pending Events (durable event queue)
553
+ // ============================================
554
+ export const pendingEvents = sqliteTable('pending_events', {
555
+ id: text('id').primaryKey(),
556
+ workspaceId: text('workspace_id')
557
+ .notNull()
558
+ .references(() => workspaces.id, { onDelete: 'cascade' }),
559
+ eventType: text('event_type').notNull(),
560
+ payload: text('payload', { mode: 'json' }).notNull(),
561
+ status: text('status').notNull().default('pending'),
562
+ attempts: integer('attempts').notNull().default(0),
563
+ maxAttempts: integer('max_attempts').notNull().default(5),
564
+ lastError: text('last_error'),
565
+ createdAt: integer('created_at', { mode: 'timestamp' }).notNull().default(sql `(unixepoch())`),
566
+ processAfter: integer('process_after', { mode: 'timestamp' }).notNull().default(sql `(unixepoch())`),
567
+ completedAt: integer('completed_at', { mode: 'timestamp' }),
568
+ }, (table) => [
569
+ index('idx_pending_events_status').on(table.status, table.processAfter),
570
+ index('idx_pending_events_workspace').on(table.workspaceId),
571
+ ]);
572
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/db/schema.ts"],"names":[],"mappings":"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"}