@agentuity/runtime 2.0.11 → 3.0.0-alpha.1

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 (415) hide show
  1. package/dist/index.d.ts +37 -65
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +59 -61
  4. package/dist/index.js.map +1 -1
  5. package/package.json +9 -38
  6. package/src/index.ts +58 -259
  7. package/AGENTS.md +0 -116
  8. package/dist/_config.d.ts +0 -100
  9. package/dist/_config.d.ts.map +0 -1
  10. package/dist/_config.js +0 -147
  11. package/dist/_config.js.map +0 -1
  12. package/dist/_context.d.ts +0 -80
  13. package/dist/_context.d.ts.map +0 -1
  14. package/dist/_context.js +0 -160
  15. package/dist/_context.js.map +0 -1
  16. package/dist/_events.d.ts +0 -64
  17. package/dist/_events.d.ts.map +0 -1
  18. package/dist/_events.js +0 -92
  19. package/dist/_events.js.map +0 -1
  20. package/dist/_globals.d.ts +0 -58
  21. package/dist/_globals.d.ts.map +0 -1
  22. package/dist/_globals.js +0 -71
  23. package/dist/_globals.js.map +0 -1
  24. package/dist/_idle.d.ts +0 -7
  25. package/dist/_idle.d.ts.map +0 -1
  26. package/dist/_idle.js +0 -10
  27. package/dist/_idle.js.map +0 -1
  28. package/dist/_metadata.d.ts +0 -117
  29. package/dist/_metadata.d.ts.map +0 -1
  30. package/dist/_metadata.js +0 -268
  31. package/dist/_metadata.js.map +0 -1
  32. package/dist/_process-protection.d.ts +0 -27
  33. package/dist/_process-protection.d.ts.map +0 -1
  34. package/dist/_process-protection.js +0 -56
  35. package/dist/_process-protection.js.map +0 -1
  36. package/dist/_server.d.ts +0 -50
  37. package/dist/_server.d.ts.map +0 -1
  38. package/dist/_server.js +0 -89
  39. package/dist/_server.js.map +0 -1
  40. package/dist/_services.d.ts +0 -25
  41. package/dist/_services.d.ts.map +0 -1
  42. package/dist/_services.js +0 -286
  43. package/dist/_services.js.map +0 -1
  44. package/dist/_standalone.d.ts +0 -212
  45. package/dist/_standalone.d.ts.map +0 -1
  46. package/dist/_standalone.js +0 -556
  47. package/dist/_standalone.js.map +0 -1
  48. package/dist/_tokens.d.ts +0 -12
  49. package/dist/_tokens.d.ts.map +0 -1
  50. package/dist/_tokens.js +0 -97
  51. package/dist/_tokens.js.map +0 -1
  52. package/dist/_util.d.ts +0 -16
  53. package/dist/_util.d.ts.map +0 -1
  54. package/dist/_util.js +0 -54
  55. package/dist/_util.js.map +0 -1
  56. package/dist/_validation.d.ts +0 -89
  57. package/dist/_validation.d.ts.map +0 -1
  58. package/dist/_validation.js +0 -29
  59. package/dist/_validation.js.map +0 -1
  60. package/dist/_waituntil.d.ts +0 -32
  61. package/dist/_waituntil.d.ts.map +0 -1
  62. package/dist/_waituntil.js +0 -156
  63. package/dist/_waituntil.js.map +0 -1
  64. package/dist/agent.d.ts +0 -1262
  65. package/dist/agent.d.ts.map +0 -1
  66. package/dist/agent.js +0 -981
  67. package/dist/agent.js.map +0 -1
  68. package/dist/app.d.ts +0 -514
  69. package/dist/app.d.ts.map +0 -1
  70. package/dist/app.js +0 -228
  71. package/dist/app.js.map +0 -1
  72. package/dist/bootstrap.d.ts +0 -44
  73. package/dist/bootstrap.d.ts.map +0 -1
  74. package/dist/bootstrap.js +0 -259
  75. package/dist/bootstrap.js.map +0 -1
  76. package/dist/bun-s3-patch.d.ts +0 -37
  77. package/dist/bun-s3-patch.d.ts.map +0 -1
  78. package/dist/bun-s3-patch.js +0 -142
  79. package/dist/bun-s3-patch.js.map +0 -1
  80. package/dist/cors.d.ts +0 -42
  81. package/dist/cors.d.ts.map +0 -1
  82. package/dist/cors.js +0 -117
  83. package/dist/cors.js.map +0 -1
  84. package/dist/dev-patches/aisdk.d.ts +0 -17
  85. package/dist/dev-patches/aisdk.d.ts.map +0 -1
  86. package/dist/dev-patches/aisdk.js +0 -160
  87. package/dist/dev-patches/aisdk.js.map +0 -1
  88. package/dist/dev-patches/gateway.d.ts +0 -16
  89. package/dist/dev-patches/gateway.d.ts.map +0 -1
  90. package/dist/dev-patches/gateway.js +0 -54
  91. package/dist/dev-patches/gateway.js.map +0 -1
  92. package/dist/dev-patches/index.d.ts +0 -21
  93. package/dist/dev-patches/index.d.ts.map +0 -1
  94. package/dist/dev-patches/index.js +0 -33
  95. package/dist/dev-patches/index.js.map +0 -1
  96. package/dist/dev-patches/otel-llm.d.ts +0 -12
  97. package/dist/dev-patches/otel-llm.d.ts.map +0 -1
  98. package/dist/dev-patches/otel-llm.js +0 -352
  99. package/dist/dev-patches/otel-llm.js.map +0 -1
  100. package/dist/devmode.d.ts +0 -3
  101. package/dist/devmode.d.ts.map +0 -1
  102. package/dist/devmode.js +0 -167
  103. package/dist/devmode.js.map +0 -1
  104. package/dist/eval.d.ts +0 -91
  105. package/dist/eval.d.ts.map +0 -1
  106. package/dist/eval.js +0 -16
  107. package/dist/eval.js.map +0 -1
  108. package/dist/handlers/_route-meta.d.ts +0 -22
  109. package/dist/handlers/_route-meta.d.ts.map +0 -1
  110. package/dist/handlers/_route-meta.js +0 -25
  111. package/dist/handlers/_route-meta.js.map +0 -1
  112. package/dist/handlers/cron.d.ts +0 -73
  113. package/dist/handlers/cron.d.ts.map +0 -1
  114. package/dist/handlers/cron.js +0 -43
  115. package/dist/handlers/cron.js.map +0 -1
  116. package/dist/handlers/index.d.ts +0 -6
  117. package/dist/handlers/index.d.ts.map +0 -1
  118. package/dist/handlers/index.js +0 -6
  119. package/dist/handlers/index.js.map +0 -1
  120. package/dist/handlers/sse.d.ts +0 -163
  121. package/dist/handlers/sse.d.ts.map +0 -1
  122. package/dist/handlers/sse.js +0 -175
  123. package/dist/handlers/sse.js.map +0 -1
  124. package/dist/handlers/stream.d.ts +0 -52
  125. package/dist/handlers/stream.d.ts.map +0 -1
  126. package/dist/handlers/stream.js +0 -108
  127. package/dist/handlers/stream.js.map +0 -1
  128. package/dist/handlers/webrtc.d.ts +0 -49
  129. package/dist/handlers/webrtc.d.ts.map +0 -1
  130. package/dist/handlers/webrtc.js +0 -109
  131. package/dist/handlers/webrtc.js.map +0 -1
  132. package/dist/handlers/websocket.d.ts +0 -88
  133. package/dist/handlers/websocket.d.ts.map +0 -1
  134. package/dist/handlers/websocket.js +0 -161
  135. package/dist/handlers/websocket.js.map +0 -1
  136. package/dist/logger/console.d.ts +0 -70
  137. package/dist/logger/console.d.ts.map +0 -1
  138. package/dist/logger/console.js +0 -278
  139. package/dist/logger/console.js.map +0 -1
  140. package/dist/logger/index.d.ts +0 -3
  141. package/dist/logger/index.d.ts.map +0 -1
  142. package/dist/logger/index.js +0 -3
  143. package/dist/logger/index.js.map +0 -1
  144. package/dist/logger/internal.d.ts +0 -79
  145. package/dist/logger/internal.d.ts.map +0 -1
  146. package/dist/logger/internal.js +0 -133
  147. package/dist/logger/internal.js.map +0 -1
  148. package/dist/logger/logger.d.ts +0 -41
  149. package/dist/logger/logger.d.ts.map +0 -1
  150. package/dist/logger/logger.js +0 -2
  151. package/dist/logger/logger.js.map +0 -1
  152. package/dist/logger/user.d.ts +0 -8
  153. package/dist/logger/user.d.ts.map +0 -1
  154. package/dist/logger/user.js +0 -7
  155. package/dist/logger/user.js.map +0 -1
  156. package/dist/logger/util.d.ts +0 -11
  157. package/dist/logger/util.d.ts.map +0 -1
  158. package/dist/logger/util.js +0 -77
  159. package/dist/logger/util.js.map +0 -1
  160. package/dist/middleware.d.ts +0 -105
  161. package/dist/middleware.d.ts.map +0 -1
  162. package/dist/middleware.js +0 -763
  163. package/dist/middleware.js.map +0 -1
  164. package/dist/otel/config.d.ts +0 -19
  165. package/dist/otel/config.d.ts.map +0 -1
  166. package/dist/otel/config.js +0 -26
  167. package/dist/otel/config.js.map +0 -1
  168. package/dist/otel/console.d.ts +0 -33
  169. package/dist/otel/console.d.ts.map +0 -1
  170. package/dist/otel/console.js +0 -86
  171. package/dist/otel/console.js.map +0 -1
  172. package/dist/otel/exporters/index.d.ts +0 -4
  173. package/dist/otel/exporters/index.d.ts.map +0 -1
  174. package/dist/otel/exporters/index.js +0 -4
  175. package/dist/otel/exporters/index.js.map +0 -1
  176. package/dist/otel/exporters/jsonl-log-exporter.d.ts +0 -36
  177. package/dist/otel/exporters/jsonl-log-exporter.d.ts.map +0 -1
  178. package/dist/otel/exporters/jsonl-log-exporter.js +0 -103
  179. package/dist/otel/exporters/jsonl-log-exporter.js.map +0 -1
  180. package/dist/otel/exporters/jsonl-metric-exporter.d.ts +0 -40
  181. package/dist/otel/exporters/jsonl-metric-exporter.d.ts.map +0 -1
  182. package/dist/otel/exporters/jsonl-metric-exporter.js +0 -104
  183. package/dist/otel/exporters/jsonl-metric-exporter.js.map +0 -1
  184. package/dist/otel/exporters/jsonl-trace-exporter.d.ts +0 -36
  185. package/dist/otel/exporters/jsonl-trace-exporter.d.ts.map +0 -1
  186. package/dist/otel/exporters/jsonl-trace-exporter.js +0 -111
  187. package/dist/otel/exporters/jsonl-trace-exporter.js.map +0 -1
  188. package/dist/otel/fetch.d.ts +0 -12
  189. package/dist/otel/fetch.d.ts.map +0 -1
  190. package/dist/otel/fetch.js +0 -82
  191. package/dist/otel/fetch.js.map +0 -1
  192. package/dist/otel/http.d.ts +0 -16
  193. package/dist/otel/http.d.ts.map +0 -1
  194. package/dist/otel/http.js +0 -44
  195. package/dist/otel/http.js.map +0 -1
  196. package/dist/otel/logger.d.ts +0 -37
  197. package/dist/otel/logger.d.ts.map +0 -1
  198. package/dist/otel/logger.js +0 -265
  199. package/dist/otel/logger.js.map +0 -1
  200. package/dist/otel/otel.d.ts +0 -68
  201. package/dist/otel/otel.d.ts.map +0 -1
  202. package/dist/otel/otel.js +0 -245
  203. package/dist/otel/otel.js.map +0 -1
  204. package/dist/otel/tracestate.d.ts +0 -44
  205. package/dist/otel/tracestate.d.ts.map +0 -1
  206. package/dist/otel/tracestate.js +0 -84
  207. package/dist/otel/tracestate.js.map +0 -1
  208. package/dist/router.d.ts +0 -66
  209. package/dist/router.d.ts.map +0 -1
  210. package/dist/router.js +0 -44
  211. package/dist/router.js.map +0 -1
  212. package/dist/services/evalrun/composite.d.ts +0 -21
  213. package/dist/services/evalrun/composite.d.ts.map +0 -1
  214. package/dist/services/evalrun/composite.js +0 -26
  215. package/dist/services/evalrun/composite.js.map +0 -1
  216. package/dist/services/evalrun/http.d.ts +0 -24
  217. package/dist/services/evalrun/http.d.ts.map +0 -1
  218. package/dist/services/evalrun/http.js +0 -115
  219. package/dist/services/evalrun/http.js.map +0 -1
  220. package/dist/services/evalrun/index.d.ts +0 -5
  221. package/dist/services/evalrun/index.d.ts.map +0 -1
  222. package/dist/services/evalrun/index.js +0 -5
  223. package/dist/services/evalrun/index.js.map +0 -1
  224. package/dist/services/evalrun/json.d.ts +0 -21
  225. package/dist/services/evalrun/json.d.ts.map +0 -1
  226. package/dist/services/evalrun/json.js +0 -38
  227. package/dist/services/evalrun/json.js.map +0 -1
  228. package/dist/services/evalrun/local.d.ts +0 -19
  229. package/dist/services/evalrun/local.d.ts.map +0 -1
  230. package/dist/services/evalrun/local.js +0 -22
  231. package/dist/services/evalrun/local.js.map +0 -1
  232. package/dist/services/local/_db.d.ts +0 -4
  233. package/dist/services/local/_db.d.ts.map +0 -1
  234. package/dist/services/local/_db.js +0 -281
  235. package/dist/services/local/_db.js.map +0 -1
  236. package/dist/services/local/_router.d.ts +0 -3
  237. package/dist/services/local/_router.d.ts.map +0 -1
  238. package/dist/services/local/_router.js +0 -28
  239. package/dist/services/local/_router.js.map +0 -1
  240. package/dist/services/local/_util.d.ts +0 -18
  241. package/dist/services/local/_util.d.ts.map +0 -1
  242. package/dist/services/local/_util.js +0 -44
  243. package/dist/services/local/_util.js.map +0 -1
  244. package/dist/services/local/email.d.ts +0 -24
  245. package/dist/services/local/email.d.ts.map +0 -1
  246. package/dist/services/local/email.js +0 -58
  247. package/dist/services/local/email.js.map +0 -1
  248. package/dist/services/local/index.d.ts +0 -10
  249. package/dist/services/local/index.d.ts.map +0 -1
  250. package/dist/services/local/index.js +0 -10
  251. package/dist/services/local/index.js.map +0 -1
  252. package/dist/services/local/keyvalue.d.ts +0 -17
  253. package/dist/services/local/keyvalue.d.ts.map +0 -1
  254. package/dist/services/local/keyvalue.js +0 -133
  255. package/dist/services/local/keyvalue.js.map +0 -1
  256. package/dist/services/local/queue.d.ts +0 -10
  257. package/dist/services/local/queue.d.ts.map +0 -1
  258. package/dist/services/local/queue.js +0 -96
  259. package/dist/services/local/queue.js.map +0 -1
  260. package/dist/services/local/stream.d.ts +0 -12
  261. package/dist/services/local/stream.d.ts.map +0 -1
  262. package/dist/services/local/stream.js +0 -266
  263. package/dist/services/local/stream.js.map +0 -1
  264. package/dist/services/local/task.d.ts +0 -55
  265. package/dist/services/local/task.d.ts.map +0 -1
  266. package/dist/services/local/task.js +0 -1248
  267. package/dist/services/local/task.js.map +0 -1
  268. package/dist/services/local/vector.d.ts +0 -17
  269. package/dist/services/local/vector.d.ts.map +0 -1
  270. package/dist/services/local/vector.js +0 -303
  271. package/dist/services/local/vector.js.map +0 -1
  272. package/dist/services/sandbox/http.d.ts +0 -23
  273. package/dist/services/sandbox/http.d.ts.map +0 -1
  274. package/dist/services/sandbox/http.js +0 -327
  275. package/dist/services/sandbox/http.js.map +0 -1
  276. package/dist/services/sandbox/index.d.ts +0 -2
  277. package/dist/services/sandbox/index.d.ts.map +0 -1
  278. package/dist/services/sandbox/index.js +0 -2
  279. package/dist/services/sandbox/index.js.map +0 -1
  280. package/dist/services/session/composite.d.ts +0 -21
  281. package/dist/services/session/composite.d.ts.map +0 -1
  282. package/dist/services/session/composite.js +0 -26
  283. package/dist/services/session/composite.js.map +0 -1
  284. package/dist/services/session/http.d.ts +0 -34
  285. package/dist/services/session/http.d.ts.map +0 -1
  286. package/dist/services/session/http.js +0 -124
  287. package/dist/services/session/http.js.map +0 -1
  288. package/dist/services/session/index.d.ts +0 -5
  289. package/dist/services/session/index.d.ts.map +0 -1
  290. package/dist/services/session/index.js +0 -5
  291. package/dist/services/session/index.js.map +0 -1
  292. package/dist/services/session/json.d.ts +0 -22
  293. package/dist/services/session/json.d.ts.map +0 -1
  294. package/dist/services/session/json.js +0 -35
  295. package/dist/services/session/json.js.map +0 -1
  296. package/dist/services/session/local.d.ts +0 -19
  297. package/dist/services/session/local.d.ts.map +0 -1
  298. package/dist/services/session/local.js +0 -23
  299. package/dist/services/session/local.js.map +0 -1
  300. package/dist/services/thread/local.d.ts +0 -20
  301. package/dist/services/thread/local.d.ts.map +0 -1
  302. package/dist/services/thread/local.js +0 -158
  303. package/dist/services/thread/local.js.map +0 -1
  304. package/dist/session.d.ts +0 -734
  305. package/dist/session.d.ts.map +0 -1
  306. package/dist/session.js +0 -1140
  307. package/dist/session.js.map +0 -1
  308. package/dist/signature.d.ts +0 -22
  309. package/dist/signature.d.ts.map +0 -1
  310. package/dist/signature.js +0 -63
  311. package/dist/signature.js.map +0 -1
  312. package/dist/validator.d.ts +0 -142
  313. package/dist/validator.d.ts.map +0 -1
  314. package/dist/validator.js +0 -149
  315. package/dist/validator.js.map +0 -1
  316. package/dist/version-check.d.ts +0 -20
  317. package/dist/version-check.d.ts.map +0 -1
  318. package/dist/version-check.js +0 -157
  319. package/dist/version-check.js.map +0 -1
  320. package/dist/web.d.ts +0 -8
  321. package/dist/web.d.ts.map +0 -1
  322. package/dist/web.js +0 -67
  323. package/dist/web.js.map +0 -1
  324. package/dist/webrtc-signaling.d.ts +0 -80
  325. package/dist/webrtc-signaling.d.ts.map +0 -1
  326. package/dist/webrtc-signaling.js +0 -237
  327. package/dist/webrtc-signaling.js.map +0 -1
  328. package/dist/workbench.d.ts +0 -17
  329. package/dist/workbench.d.ts.map +0 -1
  330. package/dist/workbench.js +0 -605
  331. package/dist/workbench.js.map +0 -1
  332. package/src/_config.ts +0 -163
  333. package/src/_context.ts +0 -240
  334. package/src/_events.ts +0 -142
  335. package/src/_globals.ts +0 -92
  336. package/src/_idle.ts +0 -10
  337. package/src/_metadata.ts +0 -407
  338. package/src/_process-protection.ts +0 -71
  339. package/src/_server.ts +0 -109
  340. package/src/_services.ts +0 -379
  341. package/src/_standalone.ts +0 -710
  342. package/src/_tokens.ts +0 -114
  343. package/src/_util.ts +0 -62
  344. package/src/_validation.ts +0 -119
  345. package/src/_waituntil.ts +0 -188
  346. package/src/agent.ts +0 -2739
  347. package/src/app.ts +0 -769
  348. package/src/bootstrap.ts +0 -321
  349. package/src/bun-s3-patch.ts +0 -224
  350. package/src/cors.ts +0 -137
  351. package/src/dev-patches/aisdk.ts +0 -169
  352. package/src/dev-patches/gateway.ts +0 -68
  353. package/src/dev-patches/index.ts +0 -37
  354. package/src/dev-patches/otel-llm.ts +0 -405
  355. package/src/devmode.ts +0 -171
  356. package/src/eval.ts +0 -109
  357. package/src/globals.d.ts +0 -28
  358. package/src/handlers/_route-meta.ts +0 -33
  359. package/src/handlers/cron.ts +0 -141
  360. package/src/handlers/index.ts +0 -18
  361. package/src/handlers/sse.ts +0 -358
  362. package/src/handlers/stream.ts +0 -121
  363. package/src/handlers/webrtc.ts +0 -125
  364. package/src/handlers/websocket.ts +0 -203
  365. package/src/logger/console.ts +0 -323
  366. package/src/logger/index.ts +0 -2
  367. package/src/logger/internal.ts +0 -165
  368. package/src/logger/logger.ts +0 -44
  369. package/src/logger/user.ts +0 -15
  370. package/src/logger/util.ts +0 -80
  371. package/src/middleware.ts +0 -1095
  372. package/src/otel/config.ts +0 -47
  373. package/src/otel/console.ts +0 -91
  374. package/src/otel/exporters/README.md +0 -217
  375. package/src/otel/exporters/index.ts +0 -3
  376. package/src/otel/exporters/jsonl-log-exporter.ts +0 -113
  377. package/src/otel/exporters/jsonl-metric-exporter.ts +0 -120
  378. package/src/otel/exporters/jsonl-trace-exporter.ts +0 -121
  379. package/src/otel/fetch.ts +0 -105
  380. package/src/otel/http.ts +0 -53
  381. package/src/otel/logger.ts +0 -293
  382. package/src/otel/otel.ts +0 -354
  383. package/src/otel/tracestate.ts +0 -108
  384. package/src/router.ts +0 -75
  385. package/src/services/evalrun/composite.ts +0 -34
  386. package/src/services/evalrun/http.ts +0 -167
  387. package/src/services/evalrun/index.ts +0 -4
  388. package/src/services/evalrun/json.ts +0 -46
  389. package/src/services/evalrun/local.ts +0 -28
  390. package/src/services/local/README.md +0 -1576
  391. package/src/services/local/_db.ts +0 -353
  392. package/src/services/local/_router.ts +0 -40
  393. package/src/services/local/_util.ts +0 -55
  394. package/src/services/local/email.ts +0 -91
  395. package/src/services/local/index.ts +0 -9
  396. package/src/services/local/keyvalue.ts +0 -174
  397. package/src/services/local/queue.ts +0 -145
  398. package/src/services/local/stream.ts +0 -358
  399. package/src/services/local/task.ts +0 -1711
  400. package/src/services/local/vector.ts +0 -438
  401. package/src/services/sandbox/http.ts +0 -522
  402. package/src/services/sandbox/index.ts +0 -1
  403. package/src/services/session/composite.ts +0 -33
  404. package/src/services/session/http.ts +0 -167
  405. package/src/services/session/index.ts +0 -4
  406. package/src/services/session/json.ts +0 -42
  407. package/src/services/session/local.ts +0 -33
  408. package/src/services/thread/local.ts +0 -199
  409. package/src/session.ts +0 -1960
  410. package/src/signature.ts +0 -82
  411. package/src/validator.ts +0 -283
  412. package/src/version-check.ts +0 -184
  413. package/src/web.ts +0 -76
  414. package/src/webrtc-signaling.ts +0 -288
  415. package/src/workbench.ts +0 -725
@@ -1,353 +0,0 @@
1
- import { Database } from 'bun:sqlite';
2
- import { mkdirSync, existsSync } from 'node:fs';
3
- import { homedir } from 'node:os';
4
- import { join } from 'node:path';
5
-
6
- let dbInstance: Database | null = null;
7
-
8
- export function getLocalDB(): Database {
9
- if (dbInstance) {
10
- return dbInstance;
11
- }
12
-
13
- const configDir = join(homedir(), '.config', 'agentuity');
14
-
15
- if (!existsSync(configDir)) {
16
- mkdirSync(configDir, { recursive: true });
17
- }
18
-
19
- const dbPath = join(configDir, 'local.db');
20
- dbInstance = new Database(dbPath);
21
-
22
- initializeTables(dbInstance);
23
- cleanupOrphanedProjects(dbInstance);
24
-
25
- return dbInstance;
26
- }
27
-
28
- function initializeTables(db: Database): void {
29
- // KeyValue Storage table
30
- db.run(`
31
- CREATE TABLE IF NOT EXISTS kv_storage (
32
- project_path TEXT NOT NULL,
33
- name TEXT NOT NULL,
34
- key TEXT NOT NULL,
35
- value BLOB NOT NULL,
36
- content_type TEXT NOT NULL DEFAULT 'application/octet-stream',
37
- expires_at INTEGER,
38
- created_at INTEGER NOT NULL,
39
- updated_at INTEGER NOT NULL,
40
- PRIMARY KEY (project_path, name, key)
41
- )
42
- `);
43
-
44
- db.run(`
45
- CREATE INDEX IF NOT EXISTS idx_kv_expires
46
- ON kv_storage(expires_at)
47
- WHERE expires_at IS NOT NULL
48
- `);
49
-
50
- // Stream Storage table
51
- db.run(`
52
- CREATE TABLE IF NOT EXISTS stream_storage (
53
- project_path TEXT NOT NULL,
54
- id TEXT PRIMARY KEY,
55
- name TEXT NOT NULL,
56
- metadata TEXT,
57
- content_type TEXT NOT NULL DEFAULT 'application/octet-stream',
58
- data BLOB,
59
- size_bytes INTEGER NOT NULL DEFAULT 0,
60
- created_at INTEGER NOT NULL
61
- )
62
- `);
63
-
64
- db.run(`
65
- CREATE INDEX IF NOT EXISTS idx_stream_name
66
- ON stream_storage(project_path, name)
67
- `);
68
-
69
- db.run(`
70
- CREATE INDEX IF NOT EXISTS idx_stream_metadata
71
- ON stream_storage(metadata)
72
- `);
73
-
74
- // Vector Storage table
75
- db.run(`
76
- CREATE TABLE IF NOT EXISTS vector_storage (
77
- project_path TEXT NOT NULL,
78
- name TEXT NOT NULL,
79
- id TEXT PRIMARY KEY,
80
- key TEXT NOT NULL,
81
- embedding TEXT NOT NULL,
82
- document TEXT,
83
- metadata TEXT,
84
- created_at INTEGER NOT NULL,
85
- updated_at INTEGER NOT NULL,
86
- UNIQUE (project_path, name, key)
87
- )
88
- `);
89
-
90
- db.run(`
91
- CREATE INDEX IF NOT EXISTS idx_vector_lookup
92
- ON vector_storage(project_path, name, key)
93
- `);
94
-
95
- db.run(`
96
- CREATE INDEX IF NOT EXISTS idx_vector_name
97
- ON vector_storage(project_path, name)
98
- `);
99
-
100
- // Task Storage table
101
- db.run(`
102
- CREATE TABLE IF NOT EXISTS task_storage (
103
- project_path TEXT NOT NULL,
104
- id TEXT NOT NULL,
105
- title TEXT NOT NULL,
106
- description TEXT,
107
- metadata TEXT,
108
- priority TEXT NOT NULL DEFAULT 'none',
109
- parent_id TEXT,
110
- type TEXT NOT NULL,
111
- status TEXT NOT NULL DEFAULT 'open',
112
- open_date TEXT,
113
- in_progress_date TEXT,
114
- closed_date TEXT,
115
- created_id TEXT NOT NULL,
116
- assigned_id TEXT,
117
- closed_id TEXT,
118
- deleted INTEGER NOT NULL DEFAULT 0,
119
- created_at INTEGER NOT NULL,
120
- updated_at INTEGER NOT NULL,
121
- PRIMARY KEY (project_path, id)
122
- )
123
- `);
124
-
125
- // Migration: add deleted column for existing databases
126
- try {
127
- db.run('ALTER TABLE task_storage ADD COLUMN deleted INTEGER NOT NULL DEFAULT 0');
128
- } catch {
129
- // Column already exists
130
- }
131
-
132
- // Task Changelog table
133
- db.run(`
134
- CREATE TABLE IF NOT EXISTS task_changelog_storage (
135
- project_path TEXT NOT NULL,
136
- id TEXT NOT NULL,
137
- task_id TEXT NOT NULL,
138
- field TEXT NOT NULL,
139
- old_value TEXT,
140
- new_value TEXT,
141
- created_at INTEGER NOT NULL,
142
- PRIMARY KEY (project_path, id)
143
- )
144
- `);
145
-
146
- db.run(`
147
- CREATE INDEX IF NOT EXISTS idx_task_changelog_lookup
148
- ON task_changelog_storage(project_path, task_id)
149
- `);
150
-
151
- // Task Comment table
152
- db.run(`
153
- CREATE TABLE IF NOT EXISTS task_comment_storage (
154
- project_path TEXT NOT NULL,
155
- id TEXT NOT NULL,
156
- task_id TEXT NOT NULL,
157
- user_id TEXT NOT NULL,
158
- body TEXT NOT NULL,
159
- created_at INTEGER NOT NULL,
160
- updated_at INTEGER NOT NULL,
161
- PRIMARY KEY (project_path, id)
162
- )
163
- `);
164
-
165
- db.run(`
166
- CREATE INDEX IF NOT EXISTS idx_task_comment_lookup
167
- ON task_comment_storage(project_path, task_id)
168
- `);
169
-
170
- // Task Tag table
171
- db.run(`
172
- CREATE TABLE IF NOT EXISTS task_tag_storage (
173
- project_path TEXT NOT NULL,
174
- id TEXT NOT NULL,
175
- name TEXT NOT NULL,
176
- color TEXT,
177
- created_at INTEGER NOT NULL,
178
- PRIMARY KEY (project_path, id)
179
- )
180
- `);
181
-
182
- // Task-Tag association table
183
- db.run(`
184
- CREATE TABLE IF NOT EXISTS task_tag_association_storage (
185
- project_path TEXT NOT NULL,
186
- task_id TEXT NOT NULL,
187
- tag_id TEXT NOT NULL,
188
- PRIMARY KEY (project_path, task_id, tag_id)
189
- )
190
- `);
191
-
192
- db.run(`
193
- CREATE INDEX IF NOT EXISTS idx_task_tag_assoc_task
194
- ON task_tag_association_storage(project_path, task_id)
195
- `);
196
-
197
- db.run(`
198
- CREATE INDEX IF NOT EXISTS idx_task_tag_assoc_tag
199
- ON task_tag_association_storage(project_path, tag_id)
200
- `);
201
-
202
- // Task User table
203
- db.run(`
204
- CREATE TABLE IF NOT EXISTS task_user_storage (
205
- project_path TEXT NOT NULL,
206
- id TEXT NOT NULL,
207
- name TEXT NOT NULL,
208
- type TEXT NOT NULL DEFAULT 'human',
209
- created_at INTEGER NOT NULL,
210
- PRIMARY KEY (project_path, id)
211
- )
212
- `);
213
-
214
- // Task Project table
215
- db.run(`
216
- CREATE TABLE IF NOT EXISTS task_project_storage (
217
- project_path TEXT NOT NULL,
218
- id TEXT NOT NULL,
219
- name TEXT NOT NULL,
220
- created_at INTEGER NOT NULL,
221
- PRIMARY KEY (project_path, id)
222
- )
223
- `);
224
- }
225
-
226
- function cleanupOrphanedProjects(db: Database): void {
227
- // Get the current project path to exclude from cleanup
228
- const currentProjectPath = process.cwd();
229
-
230
- // Query all tables for unique project paths
231
- const kvPaths = db.query('SELECT DISTINCT project_path FROM kv_storage').all() as Array<{
232
- project_path: string;
233
- }>;
234
- const streamPaths = db.query('SELECT DISTINCT project_path FROM stream_storage').all() as Array<{
235
- project_path: string;
236
- }>;
237
- const vectorPaths = db.query('SELECT DISTINCT project_path FROM vector_storage').all() as Array<{
238
- project_path: string;
239
- }>;
240
- const taskPaths = db.query('SELECT DISTINCT project_path FROM task_storage').all() as Array<{
241
- project_path: string;
242
- }>;
243
- const taskChangelogPaths = db
244
- .query('SELECT DISTINCT project_path FROM task_changelog_storage')
245
- .all() as Array<{
246
- project_path: string;
247
- }>;
248
- const taskCommentPaths = db
249
- .query('SELECT DISTINCT project_path FROM task_comment_storage')
250
- .all() as Array<{
251
- project_path: string;
252
- }>;
253
- const taskTagPaths = db
254
- .query('SELECT DISTINCT project_path FROM task_tag_storage')
255
- .all() as Array<{
256
- project_path: string;
257
- }>;
258
- const taskTagAssocPaths = db
259
- .query('SELECT DISTINCT project_path FROM task_tag_association_storage')
260
- .all() as Array<{
261
- project_path: string;
262
- }>;
263
- const taskUserPaths = db
264
- .query('SELECT DISTINCT project_path FROM task_user_storage')
265
- .all() as Array<{
266
- project_path: string;
267
- }>;
268
- const taskProjectPaths = db
269
- .query('SELECT DISTINCT project_path FROM task_project_storage')
270
- .all() as Array<{
271
- project_path: string;
272
- }>;
273
-
274
- // Combine and deduplicate all project paths
275
- const allPaths = new Set<string>();
276
- [
277
- ...kvPaths,
278
- ...streamPaths,
279
- ...vectorPaths,
280
- ...taskPaths,
281
- ...taskChangelogPaths,
282
- ...taskCommentPaths,
283
- ...taskTagPaths,
284
- ...taskTagAssocPaths,
285
- ...taskUserPaths,
286
- ...taskProjectPaths,
287
- ].forEach((row) => {
288
- allPaths.add(row.project_path);
289
- });
290
-
291
- // Check which paths no longer exist and are not the current project
292
- const pathsToDelete: string[] = [];
293
- for (const path of allPaths) {
294
- if (path !== currentProjectPath && !existsSync(path)) {
295
- pathsToDelete.push(path);
296
- }
297
- }
298
-
299
- // Delete data for removed projects
300
- if (pathsToDelete.length > 0) {
301
- const placeholders = pathsToDelete.map(() => '?').join(', ');
302
-
303
- // Delete from all tables
304
- const deleteKv = db.prepare(`DELETE FROM kv_storage WHERE project_path IN (${placeholders})`);
305
- const deleteStream = db.prepare(
306
- `DELETE FROM stream_storage WHERE project_path IN (${placeholders})`
307
- );
308
- const deleteVector = db.prepare(
309
- `DELETE FROM vector_storage WHERE project_path IN (${placeholders})`
310
- );
311
- const deleteTasks = db.prepare(
312
- `DELETE FROM task_storage WHERE project_path IN (${placeholders})`
313
- );
314
- const deleteTaskChangelog = db.prepare(
315
- `DELETE FROM task_changelog_storage WHERE project_path IN (${placeholders})`
316
- );
317
- const deleteTaskComments = db.prepare(
318
- `DELETE FROM task_comment_storage WHERE project_path IN (${placeholders})`
319
- );
320
- const deleteTaskTags = db.prepare(
321
- `DELETE FROM task_tag_storage WHERE project_path IN (${placeholders})`
322
- );
323
- const deleteTaskTagAssoc = db.prepare(
324
- `DELETE FROM task_tag_association_storage WHERE project_path IN (${placeholders})`
325
- );
326
- const deleteTaskUsers = db.prepare(
327
- `DELETE FROM task_user_storage WHERE project_path IN (${placeholders})`
328
- );
329
- const deleteTaskProjects = db.prepare(
330
- `DELETE FROM task_project_storage WHERE project_path IN (${placeholders})`
331
- );
332
-
333
- deleteKv.run(...pathsToDelete);
334
- deleteStream.run(...pathsToDelete);
335
- deleteVector.run(...pathsToDelete);
336
- deleteTasks.run(...pathsToDelete);
337
- deleteTaskChangelog.run(...pathsToDelete);
338
- deleteTaskComments.run(...pathsToDelete);
339
- deleteTaskTags.run(...pathsToDelete);
340
- deleteTaskTagAssoc.run(...pathsToDelete);
341
- deleteTaskUsers.run(...pathsToDelete);
342
- deleteTaskProjects.run(...pathsToDelete);
343
-
344
- console.log(`[LocalDB] Cleaned up data for ${pathsToDelete.length} orphaned project(s)`);
345
- }
346
- }
347
-
348
- export function closeLocalDB(): void {
349
- if (dbInstance) {
350
- dbInstance.close();
351
- dbInstance = null;
352
- }
353
- }
@@ -1,40 +0,0 @@
1
- import type { Database } from 'bun:sqlite';
2
- import { createRouter } from '../../router';
3
-
4
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
5
- export function createLocalStorageRouter(db: Database, projectPath: string): any {
6
- const router = createRouter();
7
-
8
- // so we can detect if we're running in local mode easily
9
- router.get('/_agentuity/local/health', (c) => c.text('OK'));
10
-
11
- // Serve streams: GET /_agentuity/local/stream/:id
12
- router.get('/_agentuity/local/stream/:id', async (c) => {
13
- const id = c.req.param('id');
14
-
15
- const query = db.query(`
16
- SELECT data, content_type
17
- FROM stream_storage
18
- WHERE project_path = ? AND id = ?
19
- `);
20
-
21
- const row = query.get(projectPath, id) as {
22
- data: Buffer | null;
23
- content_type: string;
24
- } | null;
25
-
26
- if (!row) {
27
- return c.notFound();
28
- }
29
-
30
- if (!row.data) {
31
- return c.json({ error: 'Stream not finalized' }, 400);
32
- }
33
-
34
- return c.body(new Uint8Array(row.data), 200, {
35
- 'Content-Type': row.content_type,
36
- });
37
- });
38
-
39
- return router;
40
- }
@@ -1,55 +0,0 @@
1
- import { StructuredError } from '@agentuity/core';
2
- import { resolve } from 'node:path';
3
-
4
- /**
5
- * Normalize a project path to an absolute path for consistent DB keys
6
- */
7
- export function normalizeProjectPath(cwd: string = process.cwd()): string {
8
- return resolve(cwd);
9
- }
10
-
11
- /**
12
- * Simple character-based embedding for local vector search
13
- * Not production-quality, but good enough for local dev/testing
14
- */
15
- export function simpleEmbedding(text: string, dimensions = 128): number[] {
16
- const vec = new Array(dimensions).fill(0);
17
- const normalized = text.toLowerCase();
18
-
19
- for (let i = 0; i < normalized.length; i++) {
20
- const charCode = normalized.charCodeAt(i);
21
- vec[i % dimensions] += Math.sin(charCode * (i + 1));
22
- vec[(i * 2) % dimensions] += Math.cos(charCode);
23
- }
24
-
25
- // Normalize vector
26
- const magnitude = Math.sqrt(vec.reduce((sum, v) => sum + v * v, 0));
27
- return magnitude > 0 ? vec.map((v) => v / magnitude) : vec;
28
- }
29
-
30
- const InvalidVectorError = StructuredError(
31
- 'InvalidVectorError',
32
- 'Vectors must have the same dimension'
33
- );
34
-
35
- /**
36
- * Calculate cosine similarity between two vectors
37
- */
38
- export function cosineSimilarity(a: number[], b: number[]): number {
39
- if (a.length !== b.length) {
40
- throw new InvalidVectorError();
41
- }
42
-
43
- const dot = a.reduce((sum, ai, i) => sum + ai * (b[i] ?? 0), 0);
44
- const normA = Math.sqrt(a.reduce((sum, ai) => sum + ai * ai, 0));
45
- const normB = Math.sqrt(b.reduce((sum, bi) => sum + bi * bi, 0));
46
-
47
- return normA > 0 && normB > 0 ? dot / (normA * normB) : 0;
48
- }
49
-
50
- /**
51
- * Get current timestamp in milliseconds
52
- */
53
- export function now(): number {
54
- return Date.now();
55
- }
@@ -1,91 +0,0 @@
1
- import {
2
- StructuredError,
3
- type EmailService,
4
- type EmailAddress,
5
- type EmailDestination,
6
- type EmailConnectionConfig,
7
- type EmailInbound,
8
- type EmailOutbound,
9
- type EmailSendParams,
10
- type EmailActivityParams,
11
- type EmailActivityResult,
12
- } from '@agentuity/core';
13
-
14
- const ERROR_MESSAGE =
15
- 'Email service is not available in local development mode. Deploy to Agentuity Cloud to use email.';
16
-
17
- const LocalEmailNotAvailableError = StructuredError('LocalEmailNotAvailableError', ERROR_MESSAGE);
18
-
19
- /**
20
- * Local development stub for the email service.
21
- * All methods throw a descriptive error directing users to deploy to Agentuity Cloud.
22
- */
23
- export class LocalEmailStorage implements EmailService {
24
- async createAddress(_localPart: string): Promise<EmailAddress> {
25
- throw new LocalEmailNotAvailableError();
26
- }
27
-
28
- async listAddresses(): Promise<EmailAddress[]> {
29
- throw new LocalEmailNotAvailableError();
30
- }
31
-
32
- async getAddress(_id: string): Promise<EmailAddress | null> {
33
- throw new LocalEmailNotAvailableError();
34
- }
35
-
36
- async getConnectionConfig(_id: string): Promise<EmailConnectionConfig | null> {
37
- throw new LocalEmailNotAvailableError();
38
- }
39
-
40
- async deleteAddress(_id: string): Promise<void> {
41
- throw new LocalEmailNotAvailableError();
42
- }
43
-
44
- async createDestination(
45
- _addressId: string,
46
- _type: string,
47
- _config: Record<string, unknown>
48
- ): Promise<EmailDestination> {
49
- throw new LocalEmailNotAvailableError();
50
- }
51
-
52
- async listDestinations(_addressId: string): Promise<EmailDestination[]> {
53
- throw new LocalEmailNotAvailableError();
54
- }
55
-
56
- async deleteDestination(_addressId: string, _destinationId: string): Promise<void> {
57
- throw new LocalEmailNotAvailableError();
58
- }
59
-
60
- async send(_params: EmailSendParams): Promise<EmailOutbound> {
61
- throw new LocalEmailNotAvailableError();
62
- }
63
-
64
- async listInbound(_addressId?: string): Promise<EmailInbound[]> {
65
- throw new LocalEmailNotAvailableError();
66
- }
67
-
68
- async getInbound(_id: string): Promise<EmailInbound | null> {
69
- throw new LocalEmailNotAvailableError();
70
- }
71
-
72
- async deleteInbound(_id: string): Promise<void> {
73
- throw new LocalEmailNotAvailableError();
74
- }
75
-
76
- async listOutbound(_addressId?: string): Promise<EmailOutbound[]> {
77
- throw new LocalEmailNotAvailableError();
78
- }
79
-
80
- async getOutbound(_id: string): Promise<EmailOutbound | null> {
81
- throw new LocalEmailNotAvailableError();
82
- }
83
-
84
- async deleteOutbound(_id: string): Promise<void> {
85
- throw new LocalEmailNotAvailableError();
86
- }
87
-
88
- async getActivity(_params?: EmailActivityParams): Promise<EmailActivityResult> {
89
- throw new LocalEmailNotAvailableError();
90
- }
91
- }
@@ -1,9 +0,0 @@
1
- export { getLocalDB, closeLocalDB } from './_db';
2
- export { normalizeProjectPath, simpleEmbedding, cosineSimilarity } from './_util';
3
- export { createLocalStorageRouter } from './_router';
4
- export { LocalKeyValueStorage } from './keyvalue';
5
- export { LocalStreamStorage } from './stream';
6
- export { LocalVectorStorage } from './vector';
7
- export { LocalQueueStorage } from './queue';
8
- export { LocalEmailStorage } from './email';
9
- export { LocalTaskStorage } from './task';