@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":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ import { type ServerType } from '@hono/node-server';
2
+ import type { EngineConfig } from '../ports/index.js';
3
+ import type { AuthProvider } from '../ports/auth.js';
4
+ import type { EntitlementsProvider } from '../ports/entitlements.js';
5
+ import type { TelemetrySink } from '../ports/telemetry.js';
6
+ import { type InProcessPresenceOptions, type NodeRuntime } from '../adapters/node/index.js';
7
+ export interface StartServerOptions {
8
+ dbPath: string;
9
+ port: number;
10
+ /** Public origin. Default: `http://localhost:<port>`. */
11
+ baseUrl?: string;
12
+ fileDir?: string;
13
+ fileSecret?: string;
14
+ migrate?: boolean;
15
+ auth?: AuthProvider;
16
+ entitlements?: EntitlementsProvider;
17
+ telemetry?: TelemetrySink;
18
+ config?: EngineConfig;
19
+ presence?: InProcessPresenceOptions;
20
+ }
21
+ export interface RunningServer {
22
+ server: ServerType;
23
+ runtime: NodeRuntime;
24
+ stop(): Promise<void>;
25
+ }
26
+ /**
27
+ * Start the self-host Relaycast server: Node + SQLite, single process.
28
+ *
29
+ * Mounts the engine plus the local file upload/download route, and handles
30
+ * WebSocket upgrades at the HTTP-server level (Node can't return a 101 from a
31
+ * fetch handler), authenticating with the configured auth provider and wiring
32
+ * each socket to the in-process realtime adapter.
33
+ */
34
+ export declare function startServer(options: StartServerOptions): RunningServer;
35
+ //# sourceMappingURL=node.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../src/entrypoints/node.ts"],"names":[],"mappings":"AAIA,OAAO,EAAS,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAK3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAIL,KAAK,wBAAwB,EAC7B,KAAK,WAAW,EACjB,MAAM,2BAA2B,CAAC;AAEnC,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,yDAAyD;IACzD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,YAAY,CAAC,EAAE,oBAAoB,CAAC;IACpC,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,QAAQ,CAAC,EAAE,wBAAwB,CAAC;CACrC;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,WAAW,CAAC;IACrB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB;AAkBD;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,aAAa,CA+FtE"}
@@ -0,0 +1,114 @@
1
+ import { Hono } from 'hono';
2
+ import { serve } from '@hono/node-server';
3
+ import { WebSocketServer } from 'ws';
4
+ import { createEngine } from '../engine.js';
5
+ import { isWorkspaceStreamEnabled } from '../lib/workspaceStream.js';
6
+ import { createNodeRuntime, FILE_ROUTE_PREFIX, } from '../adapters/node/index.js';
7
+ function toEngineSocket(ws) {
8
+ return {
9
+ send: (data) => ws.send(data),
10
+ close: (code, reason) => ws.close(code, reason),
11
+ };
12
+ }
13
+ function rejectUpgrade(socket, status, message) {
14
+ try {
15
+ socket.write(`HTTP/1.1 ${status} ${message}\r\nConnection: close\r\n\r\n`);
16
+ socket.destroy();
17
+ }
18
+ catch {
19
+ // socket already gone
20
+ }
21
+ }
22
+ /**
23
+ * Start the self-host Relaycast server: Node + SQLite, single process.
24
+ *
25
+ * Mounts the engine plus the local file upload/download route, and handles
26
+ * WebSocket upgrades at the HTTP-server level (Node can't return a 101 from a
27
+ * fetch handler), authenticating with the configured auth provider and wiring
28
+ * each socket to the in-process realtime adapter.
29
+ */
30
+ export function startServer(options) {
31
+ const baseUrl = options.baseUrl ?? `http://localhost:${options.port}`;
32
+ const runtime = createNodeRuntime({
33
+ dbPath: options.dbPath,
34
+ baseUrl,
35
+ fileDir: options.fileDir,
36
+ fileSecret: options.fileSecret,
37
+ migrate: options.migrate,
38
+ auth: options.auth,
39
+ entitlements: options.entitlements,
40
+ telemetry: options.telemetry,
41
+ config: options.config,
42
+ presence: options.presence,
43
+ });
44
+ const engine = createEngine(runtime.deps);
45
+ // Parent app: serve local files, then delegate everything else to the engine.
46
+ const app = new Hono();
47
+ app.all(FILE_ROUTE_PREFIX, (c) => runtime.fileHandler(c.req.raw));
48
+ app.route('/', engine);
49
+ const server = serve({ fetch: app.fetch, port: options.port });
50
+ // WebSocket upgrades (Node owns these at the socket level).
51
+ const wss = new WebSocketServer({ noServer: true });
52
+ const { auth, db, kv, config } = runtime.deps;
53
+ server.on('upgrade', (req, socket, head) => {
54
+ const url = new URL(req.url ?? '/', baseUrl);
55
+ if (url.pathname !== '/v1/ws') {
56
+ rejectUpgrade(socket, 426, 'Upgrade Required');
57
+ return;
58
+ }
59
+ const token = url.searchParams.get('token');
60
+ if (!token) {
61
+ rejectUpgrade(socket, 401, 'Unauthorized');
62
+ return;
63
+ }
64
+ void (async () => {
65
+ if (token.startsWith('at_live_')) {
66
+ const res = await auth.authenticate({ token, require: 'agent', db });
67
+ if (!res.ok || !res.agent) {
68
+ rejectUpgrade(socket, 401, 'Unauthorized');
69
+ return;
70
+ }
71
+ const { workspace, agent } = res;
72
+ wss.handleUpgrade(req, socket, head, (ws) => {
73
+ const handle = runtime.realtime.attachAgentSocket(workspace.id, agent.id, toEngineSocket(ws));
74
+ runtime.deps.presence.heartbeat(workspace.id, agent.id, agent.name).catch(() => { });
75
+ ws.on('message', (data) => { void handle.handleMessage(data.toString()); });
76
+ ws.on('close', () => { void handle.handleClose(); });
77
+ });
78
+ return;
79
+ }
80
+ if (token.startsWith('rk_live_')) {
81
+ const res = await auth.authenticate({ token, require: 'workspace', db });
82
+ if (!res.ok) {
83
+ rejectUpgrade(socket, 401, 'Unauthorized');
84
+ return;
85
+ }
86
+ const enabled = await isWorkspaceStreamEnabled(kv, res.workspace.id, config?.workspaceStreamEnabled ?? false);
87
+ if (!enabled) {
88
+ rejectUpgrade(socket, 404, 'Not Found');
89
+ return;
90
+ }
91
+ const { workspace } = res;
92
+ wss.handleUpgrade(req, socket, head, (ws) => {
93
+ const handle = runtime.realtime.attachWorkspaceSocket(workspace.id, toEngineSocket(ws));
94
+ ws.on('message', (data) => { void handle.handleMessage(data.toString()); });
95
+ ws.on('close', () => { void handle.handleClose(); });
96
+ });
97
+ return;
98
+ }
99
+ rejectUpgrade(socket, 401, 'Unauthorized');
100
+ })().catch(() => rejectUpgrade(socket, 500, 'Internal Server Error'));
101
+ });
102
+ return {
103
+ server,
104
+ runtime,
105
+ async stop() {
106
+ runtime.close();
107
+ wss.close();
108
+ await new Promise((resolve) => {
109
+ server.close(() => resolve());
110
+ });
111
+ },
112
+ };
113
+ }
114
+ //# sourceMappingURL=node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/entrypoints/node.ts"],"names":[],"mappings":"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"}
package/dist/env.d.ts ADDED
@@ -0,0 +1,38 @@
1
+ import type { workspaces, agents } from './db/schema.js';
2
+ import type { Logger } from './lib/logger.js';
3
+ import type { EngineDb, EnginePorts, EngineProviders, EngineConfig } from './ports/index.js';
4
+ /**
5
+ * The runtime dependency bundle injected into every request. An adapter
6
+ * constructs this once (Node in-process for self-host; Cloudflare DO for the
7
+ * hosted product) and `createEngine` stashes it on the Hono context so engine
8
+ * code reads infrastructure off `c.get('engine')` instead of `c.env.*` bindings.
9
+ */
10
+ export interface EngineRuntime extends EnginePorts, EngineProviders {
11
+ config: EngineConfig;
12
+ }
13
+ /** Hono context variables set by middleware. */
14
+ export interface AppVariables {
15
+ workspace: typeof workspaces.$inferSelect;
16
+ agent: typeof agents.$inferSelect | undefined;
17
+ db: EngineDb;
18
+ logger: Logger;
19
+ requestId: string;
20
+ /**
21
+ * Harness identifier derived from the `X-Relaycast-Harness` request header.
22
+ * Always set (defaults to `'unknown'`). Stamped on every server-side telemetry
23
+ * event for the request via `emitServerEvent`.
24
+ */
25
+ harness: string;
26
+ /** The injected ports + providers + config for this deployment. */
27
+ engine: EngineRuntime;
28
+ }
29
+ /**
30
+ * The Hono Env used throughout the app. `Bindings` is empty — the engine is
31
+ * platform-agnostic and takes no Cloudflare bindings; everything platform
32
+ * specific arrives through {@link EngineRuntime} on `Variables.engine`.
33
+ */
34
+ export type AppEnv = {
35
+ Bindings: Record<string, never>;
36
+ Variables: AppVariables;
37
+ };
38
+ //# sourceMappingURL=env.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,EACV,QAAQ,EACR,WAAW,EACX,eAAe,EACf,YAAY,EACb,MAAM,kBAAkB,CAAC;AAE1B;;;;;GAKG;AACH,MAAM,WAAW,aAAc,SAAQ,WAAW,EAAE,eAAe;IACjE,MAAM,EAAE,YAAY,CAAC;CACtB;AAED,gDAAgD;AAChD,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,OAAO,UAAU,CAAC,YAAY,CAAC;IAC1C,KAAK,EAAE,OAAO,MAAM,CAAC,YAAY,GAAG,SAAS,CAAC;IAC9C,EAAE,EAAE,QAAQ,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB,mEAAmE;IACnE,MAAM,EAAE,aAAa,CAAC;CACvB;AAED;;;;GAIG;AACH,MAAM,MAAM,MAAM,GAAG;IACnB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAChC,SAAS,EAAE,YAAY,CAAC;CACzB,CAAC"}
package/dist/env.js ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=env.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env.js","sourceRoot":"","sources":["../src/env.ts"],"names":[],"mappings":""}
@@ -0,0 +1,14 @@
1
+ export declare const SERVER_VERSION: "0.1.0";
2
+ export { createEngine } from './engine.js';
3
+ export type { AppEnv, AppVariables, EngineRuntime } from './env.js';
4
+ export type { EngineDeps, EnginePorts, EngineProviders, EngineConfig, EngineDb, EngineEvent, RealtimeBus, ConnectionRegistry, BroadcastToChannelArgs, UpgradeArgs, PresenceTracker, RateLimiter, RateLimitResult, McpSessionHost, FileStorage, KeyValueStore, EventQueue, QueuedEvent, AuthProvider, AuthResult, AuthRequire, Workspace, Agent, EntitlementsProvider, PlanLimits, UsageMetric, TelemetrySink, TelemetryEvent, } from './ports/index.js';
5
+ export { SqliteApiKeyAuthProvider, hashToken } from './auth/index.js';
6
+ export { StaticEntitlementsProvider, PLAN_LIMITS } from './providers/static-entitlements.js';
7
+ export { NoopTelemetrySink } from './providers/noop-telemetry.js';
8
+ export { getDb, healthCheck as dbHealthCheck } from './db/index.js';
9
+ export type { Db } from './db/index.js';
10
+ export * as schema from './db/schema.js';
11
+ export { deliverEvent } from './engine/eventDelivery.js';
12
+ export { runA2aHealthChecks } from './engine/a2a-health.js';
13
+ export { generateId, getSnowflakeGenerator, SnowflakeGenerator } from './engine/snowflake.js';
14
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,EAAG,OAAgB,CAAC;AAG/C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAGpE,YAAY,EACV,UAAU,EACV,WAAW,EACX,eAAe,EACf,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,WAAW,EACX,kBAAkB,EAClB,sBAAsB,EACtB,WAAW,EACX,eAAe,EACf,WAAW,EACX,eAAe,EACf,cAAc,EACd,WAAW,EACX,aAAa,EACb,UAAU,EACV,WAAW,EACX,YAAY,EACZ,UAAU,EACV,WAAW,EACX,SAAS,EACT,KAAK,EACL,oBAAoB,EACpB,UAAU,EACV,WAAW,EACX,aAAa,EACb,cAAc,GACf,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,wBAAwB,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACtE,OAAO,EAAE,0BAA0B,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AAC7F,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAGlE,OAAO,EAAE,KAAK,EAAE,WAAW,IAAI,aAAa,EAAE,MAAM,eAAe,CAAC;AACpE,YAAY,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AAGzC,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAG5D,OAAO,EAAE,UAAU,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,16 @@
1
+ export const SERVER_VERSION = '0.1.0';
2
+ // The engine factory + the Hono Env type consumers extend.
3
+ export { createEngine } from './engine.js';
4
+ // OSS default providers (self-host). Cloud injects its own.
5
+ export { SqliteApiKeyAuthProvider, hashToken } from './auth/index.js';
6
+ export { StaticEntitlementsProvider, PLAN_LIMITS } from './providers/static-entitlements.js';
7
+ export { NoopTelemetrySink } from './providers/noop-telemetry.js';
8
+ // Database helpers + schema for adapters and migrations.
9
+ export { getDb, healthCheck as dbHealthCheck } from './db/index.js';
10
+ export * as schema from './db/schema.js';
11
+ // Webhook delivery + scheduled-task helpers adapters wire to their queue/cron.
12
+ export { deliverEvent } from './engine/eventDelivery.js';
13
+ export { runA2aHealthChecks } from './engine/a2a-health.js';
14
+ // ID generation.
15
+ export { generateId, getSnowflakeGenerator, SnowflakeGenerator } from './engine/snowflake.js';
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GAAG,OAAgB,CAAC;AAE/C,2DAA2D;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAmC3C,4DAA4D;AAC5D,OAAO,EAAE,wBAAwB,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACtE,OAAO,EAAE,0BAA0B,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AAC7F,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAElE,yDAAyD;AACzD,OAAO,EAAE,KAAK,EAAE,WAAW,IAAI,aAAa,EAAE,MAAM,eAAe,CAAC;AAEpE,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AAEzC,+EAA+E;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,iBAAiB;AACjB,OAAO,EAAE,UAAU,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,47 @@
1
+ import type { Context } from 'hono';
2
+ import type { AppEnv, EngineRuntime } from '../env.js';
3
+ type LogFields = Record<string, unknown>;
4
+ /**
5
+ * Minimal logging config the engine needs — resolved from {@link EngineConfig}
6
+ * by an adapter. Platform-agnostic: production logs are exported to a PostHog
7
+ * OTLP endpoint via plain `fetch` only when `posthogApiKey` is set (cloud);
8
+ * otherwise the logger writes to the console (self-host / dev).
9
+ */
10
+ export interface LoggerEnv {
11
+ environment: string;
12
+ appVersion?: string;
13
+ appSemver?: string;
14
+ sdkSemver?: string;
15
+ posthogApiKey?: string;
16
+ posthogHost?: string;
17
+ }
18
+ export interface Logger {
19
+ debug: (message: string, fields?: LogFields) => void;
20
+ info: (message: string, fields?: LogFields) => void;
21
+ warn: (message: string, fields?: LogFields) => void;
22
+ error: (message: string, fields?: LogFields) => void;
23
+ flush: () => Promise<void>;
24
+ child: (source: string, fields?: LogFields) => Logger;
25
+ }
26
+ interface CreateLoggerOptions {
27
+ source: string;
28
+ request?: Request;
29
+ sdkVersion?: string;
30
+ fields?: LogFields;
31
+ state?: LoggerState;
32
+ }
33
+ interface LoggerState {
34
+ pending: Set<Promise<void>>;
35
+ }
36
+ /** Build a {@link LoggerEnv} from the engine runtime's config. */
37
+ export declare function loggerEnvFromRuntime(runtime: EngineRuntime | undefined): LoggerEnv;
38
+ export declare function createLogger(env: LoggerEnv, options: CreateLoggerOptions): Logger;
39
+ export declare function createRequestLogger(c: Context<AppEnv>, source: string, fields?: LogFields): Logger;
40
+ export declare function getRequestLogger(c: Context<AppEnv>, source: string, fields?: LogFields): Logger;
41
+ export declare function toErrorDetails(error: unknown): {
42
+ error_name: string;
43
+ error_message: string;
44
+ error_stack?: string;
45
+ };
46
+ export {};
47
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/lib/logger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAGvD,KAAK,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAezC;;;;;GAKG;AACH,MAAM,WAAW,SAAS;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,MAAM;IACrB,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,KAAK,IAAI,CAAC;IACrD,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,KAAK,IAAI,CAAC;IACpD,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,KAAK,IAAI,CAAC;IACpD,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,KAAK,IAAI,CAAC;IACrD,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,KAAK,MAAM,CAAC;CACvD;AAED,UAAU,mBAAmB;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB;AAED,UAAU,WAAW;IACnB,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;CAC7B;AAED,kEAAkE;AAClE,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,aAAa,GAAG,SAAS,GAAG,SAAS,CAUlF;AA8GD,wBAAgB,YAAY,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,mBAAmB,GAAG,MAAM,CA6CjF;AAED,wBAAgB,mBAAmB,CACjC,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,EAClB,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,SAAS,GACjB,MAAM,CAuBR;AAED,wBAAgB,gBAAgB,CAC9B,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,EAClB,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,SAAS,GACjB,MAAM,CAUR;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,CAYlH"}
@@ -0,0 +1,214 @@
1
+ const DEFAULT_POSTHOG_HOST = 'https://us.i.posthog.com';
2
+ const DEFAULT_APP_VERSION = '0.1.0';
3
+ const DEFAULT_SDK_VERSION = 'unknown';
4
+ const SERVICE_NAME = 'relaycast-server';
5
+ const LOGGER_SCOPE = 'relaycast.server.logger';
6
+ const SEVERITY_BY_LEVEL = {
7
+ debug: 5,
8
+ info: 9,
9
+ warn: 13,
10
+ error: 17,
11
+ };
12
+ /** Build a {@link LoggerEnv} from the engine runtime's config. */
13
+ export function loggerEnvFromRuntime(runtime) {
14
+ const config = runtime?.config ?? {};
15
+ return {
16
+ environment: config.environment ?? 'development',
17
+ appVersion: config.appVersion,
18
+ appSemver: config.appSemver,
19
+ sdkSemver: config.sdkSemver,
20
+ posthogApiKey: config.logExport?.posthogApiKey,
21
+ posthogHost: config.logExport?.posthogHost,
22
+ };
23
+ }
24
+ function getPostHogHost(env) {
25
+ const configured = env.posthogHost ?? DEFAULT_POSTHOG_HOST;
26
+ return configured.endsWith('/') ? configured.slice(0, -1) : configured;
27
+ }
28
+ function getAppVersion(env) {
29
+ return env.appSemver ?? env.appVersion ?? DEFAULT_APP_VERSION;
30
+ }
31
+ function getSdkVersion(env, request, explicit) {
32
+ if (explicit)
33
+ return explicit;
34
+ const fromHeader = request?.headers.get('x-sdk-version');
35
+ if (fromHeader)
36
+ return fromHeader;
37
+ return env.sdkSemver ?? DEFAULT_SDK_VERSION;
38
+ }
39
+ function toAttributeValue(value) {
40
+ if (typeof value === 'string')
41
+ return { stringValue: value };
42
+ if (typeof value === 'boolean')
43
+ return { boolValue: value };
44
+ if (typeof value === 'number') {
45
+ if (Number.isFinite(value) && Number.isInteger(value))
46
+ return { intValue: String(value) };
47
+ if (Number.isFinite(value))
48
+ return { doubleValue: value };
49
+ return { stringValue: String(value) };
50
+ }
51
+ if (value === null)
52
+ return { stringValue: 'null' };
53
+ if (value === undefined)
54
+ return { stringValue: 'undefined' };
55
+ try {
56
+ return { stringValue: JSON.stringify(value) };
57
+ }
58
+ catch {
59
+ return { stringValue: String(value) };
60
+ }
61
+ }
62
+ function metadataToAttributes(metadata) {
63
+ return Object.entries(metadata).map(([key, value]) => ({
64
+ key,
65
+ value: toAttributeValue(value),
66
+ }));
67
+ }
68
+ async function sendToPostHog(env, level, message, metadata, appVersion) {
69
+ const apiKey = env.posthogApiKey;
70
+ if (!apiKey)
71
+ return;
72
+ const timestampNanos = `${Date.now()}000000`;
73
+ const payload = {
74
+ resourceLogs: [{
75
+ resource: {
76
+ attributes: [
77
+ { key: 'service.name', value: { stringValue: SERVICE_NAME } },
78
+ { key: 'service.version', value: { stringValue: appVersion } },
79
+ { key: 'deployment.environment', value: { stringValue: env.environment } },
80
+ ],
81
+ },
82
+ scopeLogs: [{
83
+ scope: { name: LOGGER_SCOPE, version: appVersion },
84
+ logRecords: [{
85
+ timeUnixNano: timestampNanos,
86
+ observedTimeUnixNano: timestampNanos,
87
+ severityNumber: SEVERITY_BY_LEVEL[level],
88
+ severityText: level.toUpperCase(),
89
+ body: { stringValue: message },
90
+ attributes: metadataToAttributes(metadata),
91
+ }],
92
+ }],
93
+ }],
94
+ };
95
+ try {
96
+ const response = await globalThis.fetch(`${getPostHogHost(env)}/i/v1/logs`, {
97
+ method: 'POST',
98
+ headers: {
99
+ Authorization: `Bearer ${apiKey}`,
100
+ 'Content-Type': 'application/json',
101
+ },
102
+ body: JSON.stringify(payload),
103
+ });
104
+ if (!response.ok) {
105
+ // Best effort: ignore non-2xx response from logging backend.
106
+ }
107
+ }
108
+ catch {
109
+ // Best effort: do not fail request handling if log export fails.
110
+ }
111
+ }
112
+ function writeConsole(level, source, message, metadata) {
113
+ const line = `[${source}] ${message}`;
114
+ if (level === 'debug') {
115
+ console.debug(line, metadata);
116
+ return;
117
+ }
118
+ if (level === 'info') {
119
+ console.info(line, metadata);
120
+ return;
121
+ }
122
+ if (level === 'warn') {
123
+ console.warn(line, metadata);
124
+ return;
125
+ }
126
+ console.error(line, metadata);
127
+ }
128
+ export function createLogger(env, options) {
129
+ const appVersion = getAppVersion(env);
130
+ const sdkVersion = getSdkVersion(env, options.request, options.sdkVersion);
131
+ const baseFields = options.fields ?? {};
132
+ const state = options.state ?? { pending: new Set() };
133
+ const log = (level, message, fields = {}) => {
134
+ const metadata = {
135
+ app_version: appVersion,
136
+ sdk_version: sdkVersion,
137
+ environment: env.environment,
138
+ source: options.source,
139
+ ...baseFields,
140
+ ...fields,
141
+ };
142
+ // Always write to the console so logs are never silently lost — even in
143
+ // production, where the OTLP export can fail (network/misconfig) and
144
+ // swallows its own errors. When a PostHog key is configured we additionally
145
+ // export to the OTLP endpoint.
146
+ writeConsole(level, options.source, message, metadata);
147
+ if (!env.posthogApiKey)
148
+ return;
149
+ const promise = sendToPostHog(env, level, message, metadata, appVersion);
150
+ state.pending.add(promise);
151
+ void promise.finally(() => state.pending.delete(promise));
152
+ };
153
+ return {
154
+ debug: (message, fields) => log('debug', message, fields),
155
+ info: (message, fields) => log('info', message, fields),
156
+ warn: (message, fields) => log('warn', message, fields),
157
+ error: (message, fields) => log('error', message, fields),
158
+ flush: async () => {
159
+ if (state.pending.size === 0)
160
+ return;
161
+ await Promise.allSettled(Array.from(state.pending));
162
+ },
163
+ child: (source, fields = {}) => createLogger(env, {
164
+ source,
165
+ request: options.request,
166
+ sdkVersion: options.sdkVersion,
167
+ fields: { ...baseFields, ...fields },
168
+ state,
169
+ }),
170
+ };
171
+ }
172
+ export function createRequestLogger(c, source, fields) {
173
+ const request = (() => {
174
+ const maybeReq = c.req?.raw;
175
+ return maybeReq instanceof Request ? maybeReq : undefined;
176
+ })();
177
+ const contextReq = c.req;
178
+ const maybeRequestId = c.get?.('requestId');
179
+ const requestId = typeof maybeRequestId === 'string' ? maybeRequestId : undefined;
180
+ const runtime = c.get?.('engine');
181
+ return createLogger(loggerEnvFromRuntime(runtime), {
182
+ source,
183
+ request,
184
+ fields: {
185
+ ...(requestId ? { request_id: requestId } : {}),
186
+ ...(contextReq?.path ? { route: contextReq.path } : {}),
187
+ ...(contextReq?.method ? { method: contextReq.method } : {}),
188
+ ...(fields ?? {}),
189
+ },
190
+ });
191
+ }
192
+ export function getRequestLogger(c, source, fields) {
193
+ const maybeLogger = c.get?.('logger');
194
+ if (maybeLogger &&
195
+ typeof maybeLogger === 'object' &&
196
+ typeof maybeLogger.child === 'function') {
197
+ return maybeLogger.child(source, fields);
198
+ }
199
+ return createRequestLogger(c, source, fields);
200
+ }
201
+ export function toErrorDetails(error) {
202
+ if (error instanceof Error) {
203
+ return {
204
+ error_name: error.name,
205
+ error_message: error.message,
206
+ ...(error.stack ? { error_stack: error.stack } : {}),
207
+ };
208
+ }
209
+ return {
210
+ error_name: 'NonError',
211
+ error_message: String(error),
212
+ };
213
+ }
214
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/lib/logger.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import { type TelemetryOrigin } from '@relaycast/types';
2
+ export type OriginInfo = Partial<TelemetryOrigin>;
3
+ /**
4
+ * HTTP header used by harnesses (Claude Code, Cursor, etc.) to identify
5
+ * themselves to the relaycast server. See relay#881.
6
+ */
7
+ export declare const HARNESS_HEADER = "X-Relaycast-Harness";
8
+ /** Fallback value when the header is missing or invalid. */
9
+ export declare const UNKNOWN_HARNESS = "unknown";
10
+ /**
11
+ * Read and sanitize the `X-Relaycast-Harness` header from a request.
12
+ *
13
+ * Returns a lowercase identifier (kebab-case by convention, e.g. `claude-code`,
14
+ * `cursor`, `codex`). We intentionally do NOT enforce an enum here — accepting
15
+ * any well-formed value lets us discover new harnesses without shipping a
16
+ * relaycast release first. Segmentation/normalization happens downstream in
17
+ * the analytics layer.
18
+ *
19
+ * Drops empty, oversized, or non-ASCII values to `'unknown'`.
20
+ */
21
+ export declare function extractHarness(headers: Headers): string;
22
+ export declare function deriveClientName(headers: Headers): string | undefined;
23
+ export declare function extractOriginInfo(request: Request, fallbackClientName?: string): OriginInfo;
24
+ export declare function requiredOriginInfo(request: Request, fallbackClientName?: string): TelemetryOrigin;
25
+ //# sourceMappingURL=origin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"origin.d.ts","sourceRoot":"","sources":["../../src/lib/origin.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAElF,MAAM,MAAM,UAAU,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;AAElD;;;GAGG;AACH,eAAO,MAAM,cAAc,wBAAwB,CAAC;AAEpD,4DAA4D;AAC5D,eAAO,MAAM,eAAe,YAAY,CAAC;AAKzC;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAavD;AASD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAQrE;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,kBAAkB,CAAC,EAAE,MAAM,GAAG,UAAU,CAgC3F;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,kBAAkB,CAAC,EAAE,MAAM,GAAG,eAAe,CAEjG"}