agent-relay 1.1.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (490) hide show
  1. package/README.md +1 -1
  2. package/dist/bridge/spawner.d.ts +53 -0
  3. package/dist/bridge/spawner.d.ts.map +1 -1
  4. package/dist/bridge/spawner.js +203 -19
  5. package/dist/bridge/spawner.js.map +1 -1
  6. package/dist/bridge/types.d.ts +12 -0
  7. package/dist/bridge/types.d.ts.map +1 -1
  8. package/dist/cli/index.js +401 -5
  9. package/dist/cli/index.js.map +1 -1
  10. package/dist/cloud/api/auth.d.ts +3 -2
  11. package/dist/cloud/api/auth.d.ts.map +1 -1
  12. package/dist/cloud/api/auth.js +10 -98
  13. package/dist/cloud/api/auth.js.map +1 -1
  14. package/dist/cloud/api/cli-pty-runner.d.ts +54 -0
  15. package/dist/cloud/api/cli-pty-runner.d.ts.map +1 -0
  16. package/dist/cloud/api/cli-pty-runner.js +119 -0
  17. package/dist/cloud/api/cli-pty-runner.js.map +1 -0
  18. package/dist/cloud/api/generic-webhooks.d.ts +8 -0
  19. package/dist/cloud/api/generic-webhooks.d.ts.map +1 -0
  20. package/dist/cloud/api/generic-webhooks.js +129 -0
  21. package/dist/cloud/api/generic-webhooks.js.map +1 -0
  22. package/dist/cloud/api/git.d.ts +8 -0
  23. package/dist/cloud/api/git.d.ts.map +1 -0
  24. package/dist/cloud/api/git.js +131 -0
  25. package/dist/cloud/api/git.js.map +1 -0
  26. package/dist/cloud/api/github-app.d.ts +11 -0
  27. package/dist/cloud/api/github-app.d.ts.map +1 -0
  28. package/dist/cloud/api/github-app.js +189 -0
  29. package/dist/cloud/api/github-app.js.map +1 -0
  30. package/dist/cloud/api/middleware/planLimits.d.ts +7 -0
  31. package/dist/cloud/api/middleware/planLimits.d.ts.map +1 -1
  32. package/dist/cloud/api/middleware/planLimits.js +39 -1
  33. package/dist/cloud/api/middleware/planLimits.js.map +1 -1
  34. package/dist/cloud/api/monitoring.d.ts +11 -0
  35. package/dist/cloud/api/monitoring.d.ts.map +1 -0
  36. package/dist/cloud/api/monitoring.js +578 -0
  37. package/dist/cloud/api/monitoring.js.map +1 -0
  38. package/dist/cloud/api/nango-auth.d.ts +9 -0
  39. package/dist/cloud/api/nango-auth.d.ts.map +1 -0
  40. package/dist/cloud/api/nango-auth.js +377 -0
  41. package/dist/cloud/api/nango-auth.js.map +1 -0
  42. package/dist/cloud/api/onboarding.d.ts +8 -1
  43. package/dist/cloud/api/onboarding.d.ts.map +1 -1
  44. package/dist/cloud/api/onboarding.js +300 -119
  45. package/dist/cloud/api/onboarding.js.map +1 -1
  46. package/dist/cloud/api/policy.d.ts +8 -0
  47. package/dist/cloud/api/policy.d.ts.map +1 -0
  48. package/dist/cloud/api/policy.js +229 -0
  49. package/dist/cloud/api/policy.js.map +1 -0
  50. package/dist/cloud/api/providers.js +114 -42
  51. package/dist/cloud/api/providers.js.map +1 -1
  52. package/dist/cloud/api/test-helpers.d.ts +10 -0
  53. package/dist/cloud/api/test-helpers.d.ts.map +1 -0
  54. package/dist/cloud/api/test-helpers.js +575 -0
  55. package/dist/cloud/api/test-helpers.js.map +1 -0
  56. package/dist/cloud/api/webhooks.d.ts +7 -0
  57. package/dist/cloud/api/webhooks.d.ts.map +1 -0
  58. package/dist/cloud/api/webhooks.js +496 -0
  59. package/dist/cloud/api/webhooks.js.map +1 -0
  60. package/dist/cloud/api/workspaces.js +225 -8
  61. package/dist/cloud/api/workspaces.js.map +1 -1
  62. package/dist/cloud/billing/plans.d.ts.map +1 -1
  63. package/dist/cloud/billing/plans.js +13 -0
  64. package/dist/cloud/billing/plans.js.map +1 -1
  65. package/dist/cloud/billing/types.d.ts +9 -3
  66. package/dist/cloud/billing/types.d.ts.map +1 -1
  67. package/dist/cloud/config.d.ts +9 -2
  68. package/dist/cloud/config.d.ts.map +1 -1
  69. package/dist/cloud/config.js +13 -4
  70. package/dist/cloud/config.js.map +1 -1
  71. package/dist/cloud/db/drizzle.d.ts +84 -1
  72. package/dist/cloud/db/drizzle.d.ts.map +1 -1
  73. package/dist/cloud/db/drizzle.js +470 -0
  74. package/dist/cloud/db/drizzle.js.map +1 -1
  75. package/dist/cloud/db/index.d.ts +9 -4
  76. package/dist/cloud/db/index.d.ts.map +1 -1
  77. package/dist/cloud/db/index.js +11 -3
  78. package/dist/cloud/db/index.js.map +1 -1
  79. package/dist/cloud/db/schema.d.ts +3283 -556
  80. package/dist/cloud/db/schema.d.ts.map +1 -1
  81. package/dist/cloud/db/schema.js +314 -1
  82. package/dist/cloud/db/schema.js.map +1 -1
  83. package/dist/cloud/index.d.ts +1 -0
  84. package/dist/cloud/index.d.ts.map +1 -1
  85. package/dist/cloud/index.js +2 -0
  86. package/dist/cloud/index.js.map +1 -1
  87. package/dist/cloud/provisioner/index.d.ts +24 -0
  88. package/dist/cloud/provisioner/index.d.ts.map +1 -1
  89. package/dist/cloud/provisioner/index.js +319 -18
  90. package/dist/cloud/provisioner/index.js.map +1 -1
  91. package/dist/cloud/server.d.ts +1 -0
  92. package/dist/cloud/server.d.ts.map +1 -1
  93. package/dist/cloud/server.js +357 -13
  94. package/dist/cloud/server.js.map +1 -1
  95. package/dist/cloud/services/auto-scaler.d.ts +152 -0
  96. package/dist/cloud/services/auto-scaler.d.ts.map +1 -0
  97. package/dist/cloud/services/auto-scaler.js +439 -0
  98. package/dist/cloud/services/auto-scaler.js.map +1 -0
  99. package/dist/cloud/services/capacity-manager.d.ts +148 -0
  100. package/dist/cloud/services/capacity-manager.d.ts.map +1 -0
  101. package/dist/cloud/services/capacity-manager.js +449 -0
  102. package/dist/cloud/services/capacity-manager.js.map +1 -0
  103. package/dist/cloud/services/ci-agent-spawner.d.ts +49 -0
  104. package/dist/cloud/services/ci-agent-spawner.d.ts.map +1 -0
  105. package/dist/cloud/services/ci-agent-spawner.js +373 -0
  106. package/dist/cloud/services/ci-agent-spawner.js.map +1 -0
  107. package/dist/cloud/services/index.d.ts +12 -0
  108. package/dist/cloud/services/index.d.ts.map +1 -0
  109. package/dist/cloud/services/index.js +15 -0
  110. package/dist/cloud/services/index.js.map +1 -0
  111. package/dist/cloud/services/mention-handler.d.ts +65 -0
  112. package/dist/cloud/services/mention-handler.d.ts.map +1 -0
  113. package/dist/cloud/services/mention-handler.js +405 -0
  114. package/dist/cloud/services/mention-handler.js.map +1 -0
  115. package/dist/cloud/services/nango.d.ts +126 -0
  116. package/dist/cloud/services/nango.d.ts.map +1 -0
  117. package/dist/cloud/services/nango.js +191 -0
  118. package/dist/cloud/services/nango.js.map +1 -0
  119. package/dist/cloud/services/persistence.d.ts +131 -0
  120. package/dist/cloud/services/persistence.d.ts.map +1 -0
  121. package/dist/cloud/services/persistence.js +200 -0
  122. package/dist/cloud/services/persistence.js.map +1 -0
  123. package/dist/cloud/services/planLimits.d.ts +15 -0
  124. package/dist/cloud/services/planLimits.d.ts.map +1 -1
  125. package/dist/cloud/services/planLimits.js +28 -0
  126. package/dist/cloud/services/planLimits.js.map +1 -1
  127. package/dist/cloud/services/scaling-orchestrator.d.ts +159 -0
  128. package/dist/cloud/services/scaling-orchestrator.d.ts.map +1 -0
  129. package/dist/cloud/services/scaling-orchestrator.js +502 -0
  130. package/dist/cloud/services/scaling-orchestrator.js.map +1 -0
  131. package/dist/cloud/services/scaling-policy.d.ts +121 -0
  132. package/dist/cloud/services/scaling-policy.d.ts.map +1 -0
  133. package/dist/cloud/services/scaling-policy.js +415 -0
  134. package/dist/cloud/services/scaling-policy.js.map +1 -0
  135. package/dist/cloud/vault/index.js +1 -1
  136. package/dist/cloud/vault/index.js.map +1 -1
  137. package/dist/cloud/webhooks/index.d.ts +24 -0
  138. package/dist/cloud/webhooks/index.d.ts.map +1 -0
  139. package/dist/cloud/webhooks/index.js +29 -0
  140. package/dist/cloud/webhooks/index.js.map +1 -0
  141. package/dist/cloud/webhooks/parsers/github.d.ts +8 -0
  142. package/dist/cloud/webhooks/parsers/github.d.ts.map +1 -0
  143. package/dist/cloud/webhooks/parsers/github.js +234 -0
  144. package/dist/cloud/webhooks/parsers/github.js.map +1 -0
  145. package/dist/cloud/webhooks/parsers/index.d.ts +23 -0
  146. package/dist/cloud/webhooks/parsers/index.d.ts.map +1 -0
  147. package/dist/cloud/webhooks/parsers/index.js +30 -0
  148. package/dist/cloud/webhooks/parsers/index.js.map +1 -0
  149. package/dist/cloud/webhooks/parsers/linear.d.ts +9 -0
  150. package/dist/cloud/webhooks/parsers/linear.d.ts.map +1 -0
  151. package/dist/cloud/webhooks/parsers/linear.js +258 -0
  152. package/dist/cloud/webhooks/parsers/linear.js.map +1 -0
  153. package/dist/cloud/webhooks/parsers/slack.d.ts +9 -0
  154. package/dist/cloud/webhooks/parsers/slack.d.ts.map +1 -0
  155. package/dist/cloud/webhooks/parsers/slack.js +214 -0
  156. package/dist/cloud/webhooks/parsers/slack.js.map +1 -0
  157. package/dist/cloud/webhooks/responders/github.d.ts +8 -0
  158. package/dist/cloud/webhooks/responders/github.d.ts.map +1 -0
  159. package/dist/cloud/webhooks/responders/github.js +73 -0
  160. package/dist/cloud/webhooks/responders/github.js.map +1 -0
  161. package/dist/cloud/webhooks/responders/index.d.ts +23 -0
  162. package/dist/cloud/webhooks/responders/index.d.ts.map +1 -0
  163. package/dist/cloud/webhooks/responders/index.js +30 -0
  164. package/dist/cloud/webhooks/responders/index.js.map +1 -0
  165. package/dist/cloud/webhooks/responders/linear.d.ts +9 -0
  166. package/dist/cloud/webhooks/responders/linear.d.ts.map +1 -0
  167. package/dist/cloud/webhooks/responders/linear.js +149 -0
  168. package/dist/cloud/webhooks/responders/linear.js.map +1 -0
  169. package/dist/cloud/webhooks/responders/slack.d.ts +20 -0
  170. package/dist/cloud/webhooks/responders/slack.d.ts.map +1 -0
  171. package/dist/cloud/webhooks/responders/slack.js +178 -0
  172. package/dist/cloud/webhooks/responders/slack.js.map +1 -0
  173. package/dist/cloud/webhooks/router.d.ts +25 -0
  174. package/dist/cloud/webhooks/router.d.ts.map +1 -0
  175. package/dist/cloud/webhooks/router.js +504 -0
  176. package/dist/cloud/webhooks/router.js.map +1 -0
  177. package/dist/cloud/webhooks/rules-engine.d.ts +24 -0
  178. package/dist/cloud/webhooks/rules-engine.d.ts.map +1 -0
  179. package/dist/cloud/webhooks/rules-engine.js +287 -0
  180. package/dist/cloud/webhooks/rules-engine.js.map +1 -0
  181. package/dist/cloud/webhooks/types.d.ts +186 -0
  182. package/dist/cloud/webhooks/types.d.ts.map +1 -0
  183. package/dist/cloud/webhooks/types.js +8 -0
  184. package/dist/cloud/webhooks/types.js.map +1 -0
  185. package/dist/continuity/formatter.d.ts +51 -0
  186. package/dist/continuity/formatter.d.ts.map +1 -0
  187. package/dist/continuity/formatter.js +313 -0
  188. package/dist/continuity/formatter.js.map +1 -0
  189. package/dist/continuity/handoff-store.d.ts +67 -0
  190. package/dist/continuity/handoff-store.d.ts.map +1 -0
  191. package/dist/continuity/handoff-store.js +472 -0
  192. package/dist/continuity/handoff-store.js.map +1 -0
  193. package/dist/continuity/index.d.ts +45 -0
  194. package/dist/continuity/index.d.ts.map +1 -0
  195. package/dist/continuity/index.js +48 -0
  196. package/dist/continuity/index.js.map +1 -0
  197. package/dist/continuity/ledger-store.d.ts +110 -0
  198. package/dist/continuity/ledger-store.d.ts.map +1 -0
  199. package/dist/continuity/ledger-store.js +500 -0
  200. package/dist/continuity/ledger-store.js.map +1 -0
  201. package/dist/continuity/manager.d.ts +178 -0
  202. package/dist/continuity/manager.d.ts.map +1 -0
  203. package/dist/continuity/manager.js +562 -0
  204. package/dist/continuity/manager.js.map +1 -0
  205. package/dist/continuity/parser.d.ts +76 -0
  206. package/dist/continuity/parser.d.ts.map +1 -0
  207. package/dist/continuity/parser.js +579 -0
  208. package/dist/continuity/parser.js.map +1 -0
  209. package/dist/continuity/types.d.ts +180 -0
  210. package/dist/continuity/types.d.ts.map +1 -0
  211. package/dist/continuity/types.js +9 -0
  212. package/dist/continuity/types.js.map +1 -0
  213. package/dist/daemon/agent-manager.d.ts +27 -0
  214. package/dist/daemon/agent-manager.d.ts.map +1 -1
  215. package/dist/daemon/agent-manager.js +107 -6
  216. package/dist/daemon/agent-manager.js.map +1 -1
  217. package/dist/daemon/agent-registry.d.ts +32 -0
  218. package/dist/daemon/agent-registry.d.ts.map +1 -1
  219. package/dist/daemon/agent-registry.js +42 -2
  220. package/dist/daemon/agent-registry.js.map +1 -1
  221. package/dist/daemon/api.d.ts +12 -0
  222. package/dist/daemon/api.d.ts.map +1 -1
  223. package/dist/daemon/api.js +131 -2
  224. package/dist/daemon/api.js.map +1 -1
  225. package/dist/daemon/cli-auth.d.ts +67 -0
  226. package/dist/daemon/cli-auth.d.ts.map +1 -0
  227. package/dist/daemon/cli-auth.js +537 -0
  228. package/dist/daemon/cli-auth.js.map +1 -0
  229. package/dist/daemon/cloud-sync.d.ts.map +1 -1
  230. package/dist/daemon/cloud-sync.js +9 -7
  231. package/dist/daemon/cloud-sync.js.map +1 -1
  232. package/dist/daemon/orchestrator.d.ts.map +1 -1
  233. package/dist/daemon/orchestrator.js +30 -0
  234. package/dist/daemon/orchestrator.js.map +1 -1
  235. package/dist/daemon/router.d.ts +5 -0
  236. package/dist/daemon/router.d.ts.map +1 -1
  237. package/dist/daemon/router.js +78 -26
  238. package/dist/daemon/router.js.map +1 -1
  239. package/dist/daemon/server.d.ts +5 -0
  240. package/dist/daemon/server.d.ts.map +1 -1
  241. package/dist/daemon/server.js +9 -1
  242. package/dist/daemon/server.js.map +1 -1
  243. package/dist/daemon/services/browser-testing.d.ts +88 -0
  244. package/dist/daemon/services/browser-testing.d.ts.map +1 -0
  245. package/dist/daemon/services/browser-testing.js +244 -0
  246. package/dist/daemon/services/browser-testing.js.map +1 -0
  247. package/dist/daemon/services/container-spawner.d.ts +135 -0
  248. package/dist/daemon/services/container-spawner.d.ts.map +1 -0
  249. package/dist/daemon/services/container-spawner.js +313 -0
  250. package/dist/daemon/services/container-spawner.js.map +1 -0
  251. package/dist/daemon/types.d.ts +5 -1
  252. package/dist/daemon/types.d.ts.map +1 -1
  253. package/dist/dashboard/out/404.html +1 -1
  254. package/dist/dashboard/out/_next/static/chunks/116-2502180def231162.js +1 -0
  255. package/dist/dashboard/out/_next/static/chunks/282-980c2eb8fff20123.js +1 -0
  256. package/dist/dashboard/out/_next/static/chunks/480-2d4111711d4e473c.js +1 -0
  257. package/dist/dashboard/out/_next/static/chunks/724-73c1ee5f60abe860.js +9 -0
  258. package/dist/dashboard/out/_next/static/chunks/766-c3a14283c88d815b.js +1 -0
  259. package/dist/dashboard/out/_next/static/chunks/app/app/page-7120be68bea622f3.js +1 -0
  260. package/dist/dashboard/out/_next/static/chunks/app/connect-repos/page-dc2e3a1a22478efc.js +1 -0
  261. package/dist/dashboard/out/_next/static/chunks/app/history/{page-b6edd4dde8d08194.js → page-56a8b4616a90dc43.js} +1 -1
  262. package/dist/dashboard/out/_next/static/chunks/app/login/page-3eac37ea6f5dd153.js +1 -0
  263. package/dist/dashboard/out/_next/static/chunks/app/metrics/page-1081dd190a331a91.js +1 -0
  264. package/dist/dashboard/out/_next/static/chunks/app/page-daf87e86f783f980.js +1 -0
  265. package/dist/dashboard/out/_next/static/chunks/app/providers/page-b68a681526eb145e.js +1 -0
  266. package/dist/dashboard/out/_next/static/chunks/app/signup/page-fee4ed1709070bcd.js +1 -0
  267. package/dist/dashboard/out/_next/static/chunks/e868780c-48e5f147c90a3a41.js +18 -0
  268. package/dist/dashboard/out/_next/static/chunks/{main-c2f423b9c9f4591b.js → main-97850e03d723ea8c.js} +1 -1
  269. package/dist/dashboard/out/_next/static/chunks/webpack-1cdd8ed57114d5e1.js +1 -0
  270. package/dist/dashboard/out/_next/static/css/29852f26181969a0.css +1 -0
  271. package/dist/dashboard/out/_next/static/css/411ce23ffeae9f76.css +1 -0
  272. package/dist/dashboard/out/app.html +1 -14
  273. package/dist/dashboard/out/app.txt +2 -2
  274. package/dist/dashboard/out/connect-repos.html +1 -0
  275. package/dist/dashboard/out/connect-repos.txt +7 -0
  276. package/dist/dashboard/out/history.html +1 -1
  277. package/dist/dashboard/out/history.txt +2 -2
  278. package/dist/dashboard/out/index.html +1 -1
  279. package/dist/dashboard/out/index.txt +2 -2
  280. package/dist/dashboard/out/login.html +6 -0
  281. package/dist/dashboard/out/login.txt +7 -0
  282. package/dist/dashboard/out/metrics.html +1 -1
  283. package/dist/dashboard/out/metrics.txt +2 -2
  284. package/dist/dashboard/out/pricing.html +2 -2
  285. package/dist/dashboard/out/pricing.txt +2 -2
  286. package/dist/dashboard/out/providers.html +1 -0
  287. package/dist/dashboard/out/providers.txt +7 -0
  288. package/dist/dashboard/out/signup.html +6 -0
  289. package/dist/dashboard/out/signup.txt +7 -0
  290. package/dist/dashboard-server/server.d.ts.map +1 -1
  291. package/dist/dashboard-server/server.js +1308 -8
  292. package/dist/dashboard-server/server.js.map +1 -1
  293. package/dist/hooks/emitter.d.ts +40 -0
  294. package/dist/hooks/emitter.d.ts.map +1 -0
  295. package/dist/hooks/emitter.js +63 -0
  296. package/dist/hooks/emitter.js.map +1 -0
  297. package/dist/hooks/index.d.ts +3 -0
  298. package/dist/hooks/index.d.ts.map +1 -1
  299. package/dist/hooks/index.js +3 -0
  300. package/dist/hooks/index.js.map +1 -1
  301. package/dist/hooks/registry.d.ts +173 -0
  302. package/dist/hooks/registry.d.ts.map +1 -0
  303. package/dist/hooks/registry.js +476 -0
  304. package/dist/hooks/registry.js.map +1 -0
  305. package/dist/hooks/trajectory-hooks.d.ts +52 -0
  306. package/dist/hooks/trajectory-hooks.d.ts.map +1 -0
  307. package/dist/hooks/trajectory-hooks.js +183 -0
  308. package/dist/hooks/trajectory-hooks.js.map +1 -0
  309. package/dist/hooks/types.d.ts +141 -0
  310. package/dist/hooks/types.d.ts.map +1 -1
  311. package/dist/index.d.ts +2 -0
  312. package/dist/index.d.ts.map +1 -1
  313. package/dist/index.js +3 -0
  314. package/dist/index.js.map +1 -1
  315. package/dist/memory/adapters/index.d.ts +8 -0
  316. package/dist/memory/adapters/index.d.ts.map +1 -0
  317. package/dist/memory/adapters/index.js +8 -0
  318. package/dist/memory/adapters/index.js.map +1 -0
  319. package/dist/memory/adapters/inmemory.d.ts +59 -0
  320. package/dist/memory/adapters/inmemory.d.ts.map +1 -0
  321. package/dist/memory/adapters/inmemory.js +195 -0
  322. package/dist/memory/adapters/inmemory.js.map +1 -0
  323. package/dist/memory/adapters/supermemory.d.ts +71 -0
  324. package/dist/memory/adapters/supermemory.d.ts.map +1 -0
  325. package/dist/memory/adapters/supermemory.js +338 -0
  326. package/dist/memory/adapters/supermemory.js.map +1 -0
  327. package/dist/memory/factory.d.ts +48 -0
  328. package/dist/memory/factory.d.ts.map +1 -0
  329. package/dist/memory/factory.js +143 -0
  330. package/dist/memory/factory.js.map +1 -0
  331. package/dist/memory/index.d.ts +32 -0
  332. package/dist/memory/index.d.ts.map +1 -0
  333. package/dist/memory/index.js +32 -0
  334. package/dist/memory/index.js.map +1 -0
  335. package/dist/memory/memory-hooks.d.ts +60 -0
  336. package/dist/memory/memory-hooks.d.ts.map +1 -0
  337. package/dist/memory/memory-hooks.js +313 -0
  338. package/dist/memory/memory-hooks.js.map +1 -0
  339. package/dist/memory/service.d.ts +49 -0
  340. package/dist/memory/service.d.ts.map +1 -0
  341. package/dist/memory/service.js +146 -0
  342. package/dist/memory/service.js.map +1 -0
  343. package/dist/memory/types.d.ts +195 -0
  344. package/dist/memory/types.d.ts.map +1 -0
  345. package/dist/memory/types.js +8 -0
  346. package/dist/memory/types.js.map +1 -0
  347. package/dist/policy/agent-policy.d.ts +225 -0
  348. package/dist/policy/agent-policy.d.ts.map +1 -0
  349. package/dist/policy/agent-policy.js +665 -0
  350. package/dist/policy/agent-policy.js.map +1 -0
  351. package/dist/policy/cloud-policy-fetcher.d.ts +12 -0
  352. package/dist/policy/cloud-policy-fetcher.d.ts.map +1 -0
  353. package/dist/policy/cloud-policy-fetcher.js +64 -0
  354. package/dist/policy/cloud-policy-fetcher.js.map +1 -0
  355. package/dist/resiliency/crash-insights.d.ts +156 -0
  356. package/dist/resiliency/crash-insights.d.ts.map +1 -0
  357. package/dist/resiliency/crash-insights.js +492 -0
  358. package/dist/resiliency/crash-insights.js.map +1 -0
  359. package/dist/resiliency/gossip-health.d.ts +137 -0
  360. package/dist/resiliency/gossip-health.d.ts.map +1 -0
  361. package/dist/resiliency/gossip-health.js +241 -0
  362. package/dist/resiliency/gossip-health.js.map +1 -0
  363. package/dist/resiliency/index.d.ts +5 -0
  364. package/dist/resiliency/index.d.ts.map +1 -1
  365. package/dist/resiliency/index.js +5 -0
  366. package/dist/resiliency/index.js.map +1 -1
  367. package/dist/resiliency/leader-watchdog.d.ts +109 -0
  368. package/dist/resiliency/leader-watchdog.d.ts.map +1 -0
  369. package/dist/resiliency/leader-watchdog.js +189 -0
  370. package/dist/resiliency/leader-watchdog.js.map +1 -0
  371. package/dist/resiliency/memory-monitor.d.ts +172 -0
  372. package/dist/resiliency/memory-monitor.d.ts.map +1 -0
  373. package/dist/resiliency/memory-monitor.js +593 -0
  374. package/dist/resiliency/memory-monitor.js.map +1 -0
  375. package/dist/resiliency/stateless-lead.d.ts +149 -0
  376. package/dist/resiliency/stateless-lead.d.ts.map +1 -0
  377. package/dist/resiliency/stateless-lead.js +308 -0
  378. package/dist/resiliency/stateless-lead.js.map +1 -0
  379. package/dist/resiliency/supervisor.d.ts +38 -0
  380. package/dist/resiliency/supervisor.d.ts.map +1 -1
  381. package/dist/resiliency/supervisor.js +122 -0
  382. package/dist/resiliency/supervisor.js.map +1 -1
  383. package/dist/shared/cli-auth-config.d.ts +91 -0
  384. package/dist/shared/cli-auth-config.d.ts.map +1 -0
  385. package/dist/shared/cli-auth-config.js +264 -0
  386. package/dist/shared/cli-auth-config.js.map +1 -0
  387. package/dist/storage/adapter.d.ts +1 -1
  388. package/dist/storage/adapter.d.ts.map +1 -1
  389. package/dist/trajectory/config.d.ts +84 -0
  390. package/dist/trajectory/config.d.ts.map +1 -0
  391. package/dist/trajectory/config.js +163 -0
  392. package/dist/trajectory/config.js.map +1 -0
  393. package/dist/trajectory/index.d.ts +8 -0
  394. package/dist/trajectory/index.d.ts.map +1 -0
  395. package/dist/trajectory/index.js +8 -0
  396. package/dist/trajectory/index.js.map +1 -0
  397. package/dist/trajectory/integration.d.ts +292 -0
  398. package/dist/trajectory/integration.d.ts.map +1 -0
  399. package/dist/trajectory/integration.js +834 -0
  400. package/dist/trajectory/integration.js.map +1 -0
  401. package/dist/utils/logger.js +1 -1
  402. package/dist/utils/logger.js.map +1 -1
  403. package/dist/utils/project-namespace.d.ts +24 -0
  404. package/dist/utils/project-namespace.d.ts.map +1 -1
  405. package/dist/utils/project-namespace.js +84 -0
  406. package/dist/utils/project-namespace.js.map +1 -1
  407. package/dist/wrapper/parser.d.ts +10 -0
  408. package/dist/wrapper/parser.d.ts.map +1 -1
  409. package/dist/wrapper/parser.js +100 -33
  410. package/dist/wrapper/parser.js.map +1 -1
  411. package/dist/wrapper/pty-wrapper.d.ts +197 -16
  412. package/dist/wrapper/pty-wrapper.d.ts.map +1 -1
  413. package/dist/wrapper/pty-wrapper.js +943 -106
  414. package/dist/wrapper/pty-wrapper.js.map +1 -1
  415. package/dist/wrapper/shared.d.ts +165 -0
  416. package/dist/wrapper/shared.d.ts.map +1 -0
  417. package/dist/wrapper/shared.js +270 -0
  418. package/dist/wrapper/shared.js.map +1 -0
  419. package/dist/wrapper/tmux-wrapper.d.ts +73 -11
  420. package/dist/wrapper/tmux-wrapper.d.ts.map +1 -1
  421. package/dist/wrapper/tmux-wrapper.js +541 -120
  422. package/dist/wrapper/tmux-wrapper.js.map +1 -1
  423. package/docs/CLOUD-ARCHITECTURE.md +152 -0
  424. package/docs/HOOKS_API.md +394 -0
  425. package/docs/WRAPPER_EVENTS.md +358 -0
  426. package/docs/agent-policy-snippet.md +40 -0
  427. package/docs/agent-relay-protocol.md +238 -0
  428. package/docs/agent-relay-snippet.md +53 -47
  429. package/docs/archive/EXECUTIVE_SUMMARY.md +358 -0
  430. package/docs/archive/ROADMAP.md +329 -0
  431. package/docs/competitive/GASTOWN.md +451 -0
  432. package/docs/{COMPETITIVE_ANALYSIS.md → competitive/OVERVIEW.md} +1 -0
  433. package/docs/competitive/README.md +34 -0
  434. package/docs/competitive/TMUX_ORCHESTRATOR.md +605 -0
  435. package/docs/dashboard.png +0 -0
  436. package/docs/design/ci-failure-webhooks.md +812 -0
  437. package/docs/design/comprehensive-integrations.md +238 -0
  438. package/docs/design/e2b-sandbox-integration.md +504 -0
  439. package/docs/design/github-app-permissions.md +264 -0
  440. package/docs/local-testing.md +428 -0
  441. package/docs/proposals/continuous-claude-integration.md +622 -0
  442. package/docs/proposals/custom-commands.md +368 -0
  443. package/docs/tasks/global-skills-system.tasks.md +230 -0
  444. package/docs/tasks/webhook-integrations.tasks.md +184 -0
  445. package/docs/tasks/workspace-capabilities.tasks.md +121 -0
  446. package/docs/testing/RESILIENCY-TEST-PLAN-2026-01-01.md +366 -0
  447. package/package.json +16 -7
  448. package/scripts/cloud-setup.sh +96 -0
  449. package/scripts/manual-qa.sh +293 -0
  450. package/scripts/postinstall.js +60 -0
  451. package/scripts/run-cloud-qa.sh +220 -0
  452. package/scripts/test-cli-auth/Dockerfile +44 -0
  453. package/scripts/test-cli-auth/Dockerfile.real +79 -0
  454. package/scripts/test-cli-auth/README.md +286 -0
  455. package/scripts/test-cli-auth/ci-test-real-clis.ts +251 -0
  456. package/scripts/test-cli-auth/ci-test-runner.ts +263 -0
  457. package/scripts/test-cli-auth/mock-cli.sh +147 -0
  458. package/scripts/test-cli-auth/package.json +14 -0
  459. package/scripts/test-cli-auth/test-oauth-flow.ts +220 -0
  460. package/scripts/test-pty-input-auto.js +222 -0
  461. package/scripts/test-pty-input.js +150 -0
  462. package/dist/dashboard/out/_next/static/chunks/693-7b3301d8f6bc5014.js +0 -1
  463. package/dist/dashboard/out/_next/static/chunks/713-f78477eb185f1f4d.js +0 -1
  464. package/dist/dashboard/out/_next/static/chunks/766-e53e1cfe39b0b5b5.js +0 -1
  465. package/dist/dashboard/out/_next/static/chunks/900-037c64bfd797fb2a.js +0 -1
  466. package/dist/dashboard/out/_next/static/chunks/app/app/page-e3d9e1f4466b9bae.js +0 -1
  467. package/dist/dashboard/out/_next/static/chunks/app/metrics/page-e68825a81db67ba1.js +0 -1
  468. package/dist/dashboard/out/_next/static/chunks/app/page-cc108bf68c8a657f.js +0 -1
  469. package/dist/dashboard/out/_next/static/chunks/webpack-a5acc2831d094776.js +0 -1
  470. package/dist/dashboard/out/_next/static/css/79b80143647a07d7.css +0 -1
  471. package/dist/dashboard/out/_next/static/css/8cf277370ad48cfe.css +0 -1
  472. /package/dist/dashboard/out/_next/static/{6HHWb2ZmnJ4OSm0zUP7h4 → H5aWG0udPB4iOUIl_gytz}/_buildManifest.js +0 -0
  473. /package/dist/dashboard/out/_next/static/{6HHWb2ZmnJ4OSm0zUP7h4 → H5aWG0udPB4iOUIl_gytz}/_ssgManifest.js +0 -0
  474. /package/dist/dashboard/out/_next/static/chunks/{117-b2cd8d6485aacf2b.js → 117-b100311aff8d5c61.js} +0 -0
  475. /package/dist/dashboard/out/_next/static/chunks/{648-8f3f26864ce515e5.js → 648-a13d3c2b1be45466.js} +0 -0
  476. /package/dist/dashboard/out/_next/static/chunks/app/_not-found/{page-0b990dbb71d72a98.js → page-a4973f3e3c82fb67.js} +0 -0
  477. /package/dist/dashboard/out/_next/static/chunks/app/pricing/{page-d80e03a5297f95b6.js → page-4d72d5a5d8a9b618.js} +0 -0
  478. /package/docs/{CHANGELOG.md → archive/CHANGELOG.md} +0 -0
  479. /package/docs/{CLI-SIMPLIFICATION-COMPLETE.md → archive/CLI-SIMPLIFICATION-COMPLETE.md} +0 -0
  480. /package/docs/{DESIGN_BRIDGE_STAFFING.md → archive/DESIGN_BRIDGE_STAFFING.md} +0 -0
  481. /package/docs/{DESIGN_V2.md → archive/DESIGN_V2.md} +0 -0
  482. /package/docs/{MONETIZATION.md → archive/MONETIZATION.md} +0 -0
  483. /package/docs/{PROPOSAL-trajectories.md → archive/PROPOSAL-trajectories.md} +0 -0
  484. /package/docs/{SCALING_ANALYSIS.md → archive/SCALING_ANALYSIS.md} +0 -0
  485. /package/docs/{TESTING_PRESENCE_FEATURES.md → archive/TESTING_PRESENCE_FEATURES.md} +0 -0
  486. /package/docs/{TMUX_IMPLEMENTATION_NOTES.md → archive/TMUX_IMPLEMENTATION_NOTES.md} +0 -0
  487. /package/docs/{TMUX_IMPROVEMENTS.md → archive/TMUX_IMPROVEMENTS.md} +0 -0
  488. /package/docs/{dashboard-v2-plan.md → archive/dashboard-v2-plan.md} +0 -0
  489. /package/docs/{removable-code-analysis.md → archive/removable-code-analysis.md} +0 -0
  490. /package/docs/{competitive-analysis-mcp-agent-mail.md → competitive/MCP_AGENT_MAIL.md} +0 -0
@@ -0,0 +1,48 @@
1
+ /**
2
+ * Memory Adapter Factory
3
+ *
4
+ * Creates memory adapters based on configuration.
5
+ * Supports environment variables for configuration.
6
+ */
7
+ import type { MemoryAdapter, MemoryConfig } from './types.js';
8
+ /**
9
+ * Get memory configuration from environment variables
10
+ *
11
+ * Environment variables:
12
+ * - AGENT_RELAY_MEMORY_TYPE: 'inmemory', 'supermemory', 'claude'
13
+ * - AGENT_RELAY_MEMORY_API_KEY: API key for external services
14
+ * - AGENT_RELAY_MEMORY_ENDPOINT: Custom API endpoint
15
+ * - SUPERMEMORY_API_KEY: Supermemory-specific API key (fallback)
16
+ */
17
+ export declare function getMemoryConfigFromEnv(): MemoryConfig;
18
+ /**
19
+ * Create a memory adapter based on configuration
20
+ *
21
+ * @param config - Memory configuration (merged with env vars)
22
+ * @returns Initialized memory adapter
23
+ *
24
+ * @example
25
+ * ```typescript
26
+ * // Use environment variables
27
+ * const memory = await createMemoryAdapter();
28
+ *
29
+ * // Explicit configuration
30
+ * const memory = await createMemoryAdapter({
31
+ * type: 'supermemory',
32
+ * apiKey: 'my-api-key',
33
+ * });
34
+ * ```
35
+ */
36
+ export declare function createMemoryAdapter(config?: Partial<MemoryConfig>): Promise<MemoryAdapter>;
37
+ /**
38
+ * Check if a memory adapter type is available
39
+ *
40
+ * @param type - Adapter type to check
41
+ * @returns Whether the adapter is available
42
+ */
43
+ export declare function isMemoryAdapterAvailable(type: string): boolean;
44
+ /**
45
+ * Get list of available memory adapter types
46
+ */
47
+ export declare function getAvailableMemoryAdapters(): string[];
48
+ //# sourceMappingURL=factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/memory/factory.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAI9D;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,IAAI,YAAY,CAarD;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAC7B,OAAO,CAAC,aAAa,CAAC,CAoExB;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAyB9D;AAED;;GAEG;AACH,wBAAgB,0BAA0B,IAAI,MAAM,EAAE,CAQrD"}
@@ -0,0 +1,143 @@
1
+ /**
2
+ * Memory Adapter Factory
3
+ *
4
+ * Creates memory adapters based on configuration.
5
+ * Supports environment variables for configuration.
6
+ */
7
+ import { InMemoryAdapter } from './adapters/inmemory.js';
8
+ import { SupermemoryAdapter } from './adapters/supermemory.js';
9
+ /**
10
+ * Get memory configuration from environment variables
11
+ *
12
+ * Environment variables:
13
+ * - AGENT_RELAY_MEMORY_TYPE: 'inmemory', 'supermemory', 'claude'
14
+ * - AGENT_RELAY_MEMORY_API_KEY: API key for external services
15
+ * - AGENT_RELAY_MEMORY_ENDPOINT: Custom API endpoint
16
+ * - SUPERMEMORY_API_KEY: Supermemory-specific API key (fallback)
17
+ */
18
+ export function getMemoryConfigFromEnv() {
19
+ const type = process.env.AGENT_RELAY_MEMORY_TYPE ?? 'inmemory';
20
+ const apiKey = process.env.AGENT_RELAY_MEMORY_API_KEY ??
21
+ process.env.SUPERMEMORY_API_KEY;
22
+ return {
23
+ type,
24
+ apiKey,
25
+ endpoint: process.env.AGENT_RELAY_MEMORY_ENDPOINT,
26
+ defaultAgentId: process.env.AGENT_RELAY_AGENT_ID,
27
+ defaultProjectId: process.env.AGENT_RELAY_PROJECT_ID,
28
+ };
29
+ }
30
+ /**
31
+ * Create a memory adapter based on configuration
32
+ *
33
+ * @param config - Memory configuration (merged with env vars)
34
+ * @returns Initialized memory adapter
35
+ *
36
+ * @example
37
+ * ```typescript
38
+ * // Use environment variables
39
+ * const memory = await createMemoryAdapter();
40
+ *
41
+ * // Explicit configuration
42
+ * const memory = await createMemoryAdapter({
43
+ * type: 'supermemory',
44
+ * apiKey: 'my-api-key',
45
+ * });
46
+ * ```
47
+ */
48
+ export async function createMemoryAdapter(config) {
49
+ // Merge with environment config
50
+ const envConfig = getMemoryConfigFromEnv();
51
+ const finalConfig = {
52
+ type: config?.type ?? envConfig.type ?? 'inmemory',
53
+ apiKey: config?.apiKey ?? envConfig.apiKey,
54
+ endpoint: config?.endpoint ?? envConfig.endpoint,
55
+ defaultAgentId: config?.defaultAgentId ?? envConfig.defaultAgentId,
56
+ defaultProjectId: config?.defaultProjectId ?? envConfig.defaultProjectId,
57
+ options: { ...envConfig.options, ...config?.options },
58
+ };
59
+ const adapterType = finalConfig.type.toLowerCase();
60
+ let adapter;
61
+ switch (adapterType) {
62
+ case 'supermemory':
63
+ case 'supermemory.ai': {
64
+ if (!finalConfig.apiKey) {
65
+ throw new Error('Supermemory adapter requires an API key. ' +
66
+ 'Set AGENT_RELAY_MEMORY_API_KEY or SUPERMEMORY_API_KEY environment variable, ' +
67
+ 'or provide apiKey in config.');
68
+ }
69
+ adapter = new SupermemoryAdapter({
70
+ apiKey: finalConfig.apiKey,
71
+ endpoint: finalConfig.endpoint,
72
+ defaultAgentId: finalConfig.defaultAgentId,
73
+ defaultProjectId: finalConfig.defaultProjectId,
74
+ container: finalConfig.options?.container,
75
+ timeout: finalConfig.options?.timeout,
76
+ });
77
+ break;
78
+ }
79
+ case 'claude':
80
+ case 'claude-memory': {
81
+ // Claude memory is not yet available as a public API
82
+ // Fall back to in-memory with a warning
83
+ console.warn('[memory] Claude memory adapter not yet available. ' +
84
+ 'Using in-memory adapter as fallback.');
85
+ adapter = new InMemoryAdapter({
86
+ defaultAgentId: finalConfig.defaultAgentId,
87
+ defaultProjectId: finalConfig.defaultProjectId,
88
+ maxMemories: finalConfig.options?.maxMemories,
89
+ });
90
+ break;
91
+ }
92
+ case 'inmemory':
93
+ case 'memory':
94
+ case 'none':
95
+ default: {
96
+ adapter = new InMemoryAdapter({
97
+ defaultAgentId: finalConfig.defaultAgentId,
98
+ defaultProjectId: finalConfig.defaultProjectId,
99
+ maxMemories: finalConfig.options?.maxMemories,
100
+ });
101
+ break;
102
+ }
103
+ }
104
+ await adapter.init();
105
+ return adapter;
106
+ }
107
+ /**
108
+ * Check if a memory adapter type is available
109
+ *
110
+ * @param type - Adapter type to check
111
+ * @returns Whether the adapter is available
112
+ */
113
+ export function isMemoryAdapterAvailable(type) {
114
+ const adapterType = type.toLowerCase();
115
+ switch (adapterType) {
116
+ case 'inmemory':
117
+ case 'memory':
118
+ case 'none':
119
+ return true;
120
+ case 'supermemory':
121
+ case 'supermemory.ai':
122
+ // Available if API key is configured
123
+ return !!(process.env.AGENT_RELAY_MEMORY_API_KEY ||
124
+ process.env.SUPERMEMORY_API_KEY);
125
+ case 'claude':
126
+ case 'claude-memory':
127
+ // Not yet available
128
+ return false;
129
+ default:
130
+ return false;
131
+ }
132
+ }
133
+ /**
134
+ * Get list of available memory adapter types
135
+ */
136
+ export function getAvailableMemoryAdapters() {
137
+ const adapters = ['inmemory'];
138
+ if (process.env.AGENT_RELAY_MEMORY_API_KEY || process.env.SUPERMEMORY_API_KEY) {
139
+ adapters.push('supermemory');
140
+ }
141
+ return adapters;
142
+ }
143
+ //# sourceMappingURL=factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/memory/factory.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Agent Relay Memory System
3
+ *
4
+ * Provides semantic memory storage and retrieval with multiple backend support.
5
+ * Memory adapters can be used standalone or integrated with the hooks system.
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * import { createMemoryAdapter } from 'agent-relay/memory';
10
+ *
11
+ * // Create an in-memory adapter for testing
12
+ * const memory = await createMemoryAdapter({ type: 'inmemory' });
13
+ *
14
+ * // Or use supermemory.ai for production
15
+ * const memory = await createMemoryAdapter({
16
+ * type: 'supermemory',
17
+ * apiKey: process.env.SUPERMEMORY_API_KEY,
18
+ * });
19
+ *
20
+ * // Add a memory
21
+ * await memory.add('User prefers TypeScript', { tags: ['preference'] });
22
+ *
23
+ * // Search for relevant memories
24
+ * const results = await memory.search({ query: 'programming language' });
25
+ * ```
26
+ */
27
+ export * from './types.js';
28
+ export * from './adapters/index.js';
29
+ export { createMemoryAdapter, getMemoryConfigFromEnv } from './factory.js';
30
+ export { createMemoryService } from './service.js';
31
+ export { createMemoryHooks, getMemoryHooks } from './memory-hooks.js';
32
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/memory/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAC3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Agent Relay Memory System
3
+ *
4
+ * Provides semantic memory storage and retrieval with multiple backend support.
5
+ * Memory adapters can be used standalone or integrated with the hooks system.
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * import { createMemoryAdapter } from 'agent-relay/memory';
10
+ *
11
+ * // Create an in-memory adapter for testing
12
+ * const memory = await createMemoryAdapter({ type: 'inmemory' });
13
+ *
14
+ * // Or use supermemory.ai for production
15
+ * const memory = await createMemoryAdapter({
16
+ * type: 'supermemory',
17
+ * apiKey: process.env.SUPERMEMORY_API_KEY,
18
+ * });
19
+ *
20
+ * // Add a memory
21
+ * await memory.add('User prefers TypeScript', { tags: ['preference'] });
22
+ *
23
+ * // Search for relevant memories
24
+ * const results = await memory.search({ query: 'programming language' });
25
+ * ```
26
+ */
27
+ export * from './types.js';
28
+ export * from './adapters/index.js';
29
+ export { createMemoryAdapter, getMemoryConfigFromEnv } from './factory.js';
30
+ export { createMemoryService } from './service.js';
31
+ export { createMemoryHooks, getMemoryHooks } from './memory-hooks.js';
32
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/memory/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAC3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * Memory Hooks
3
+ *
4
+ * Provides memory-aware lifecycle hooks that automatically:
5
+ * - Load relevant context on session start
6
+ * - Prompt for memory save on session end
7
+ * - Handle @memory: pattern output
8
+ */
9
+ import type { LifecycleHooks } from '../hooks/types.js';
10
+ import type { MemoryAdapter, MemoryConfig } from './types.js';
11
+ /**
12
+ * Options for memory hooks
13
+ */
14
+ export interface MemoryHooksOptions {
15
+ /** Pre-configured memory adapter */
16
+ adapter?: MemoryAdapter;
17
+ /** Configuration for creating a new adapter */
18
+ config?: Partial<MemoryConfig>;
19
+ /** Agent ID for memory operations */
20
+ agentId?: string;
21
+ /** Project ID for memory operations */
22
+ projectId?: string;
23
+ /** Whether to inject relevant memories on session start */
24
+ injectOnStart?: boolean;
25
+ /** Maximum memories to inject on start */
26
+ maxStartMemories?: number;
27
+ /** Search query for session start (default: project-based) */
28
+ startSearchQuery?: string;
29
+ /** Whether to prompt for memory save on session end */
30
+ promptOnEnd?: boolean;
31
+ /** Whether to auto-save important learnings from output */
32
+ autoSave?: boolean;
33
+ /** Whether to auto-save session summary on graceful end */
34
+ autoSaveOnEnd?: boolean;
35
+ /** Patterns that indicate content worth saving */
36
+ savePatterns?: RegExp[];
37
+ }
38
+ /**
39
+ * Create memory hooks for automatic context loading and saving
40
+ *
41
+ * @example
42
+ * ```typescript
43
+ * const hooks = createMemoryHooks({
44
+ * config: { type: 'supermemory', apiKey: 'xxx' },
45
+ * agentId: 'my-agent',
46
+ * projectId: 'my-project',
47
+ * });
48
+ *
49
+ * registry.registerLifecycleHooks(hooks);
50
+ * ```
51
+ */
52
+ export declare function createMemoryHooks(options?: MemoryHooksOptions): LifecycleHooks;
53
+ /**
54
+ * Get memory hooks with default settings
55
+ *
56
+ * @param agentId - Agent identifier
57
+ * @param projectId - Project identifier
58
+ */
59
+ export declare function getMemoryHooks(agentId: string, projectId: string): LifecycleHooks;
60
+ //# sourceMappingURL=memory-hooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-hooks.d.ts","sourceRoot":"","sources":["../../src/memory/memory-hooks.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,cAAc,EAKf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EACV,aAAa,EACb,YAAY,EAEb,MAAM,YAAY,CAAC;AAGpB;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,oCAAoC;IACpC,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,+CAA+C;IAC/C,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAC/B,qCAAqC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uCAAuC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2DAA2D;IAC3D,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,0CAA0C;IAC1C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,8DAA8D;IAC9D,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,uDAAuD;IACvD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,2DAA2D;IAC3D,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,kDAAkD;IAClD,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAuDD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,GAAE,kBAAuB,GAAG,cAAc,CAwBlF;AAmQD;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,cAAc,CAEjF"}
@@ -0,0 +1,313 @@
1
+ /**
2
+ * Memory Hooks
3
+ *
4
+ * Provides memory-aware lifecycle hooks that automatically:
5
+ * - Load relevant context on session start
6
+ * - Prompt for memory save on session end
7
+ * - Handle @memory: pattern output
8
+ */
9
+ import { createMemoryAdapter } from './factory.js';
10
+ /**
11
+ * Default patterns that indicate content worth auto-saving
12
+ *
13
+ * Categories:
14
+ * - Learnings: discoveries, realizations, insights
15
+ * - Decisions: significant choices made
16
+ * - Breakthroughs: problems solved, aha moments
17
+ * - Failures: things that went wrong, errors encountered
18
+ * - Preferences: user/project preferences
19
+ * - Retrospectives: end-of-task reflections
20
+ */
21
+ const DEFAULT_SAVE_PATTERNS = [
22
+ // Learnings and discoveries
23
+ /(?:learned|discovered|found out|realized|important|remember|note to self)/i,
24
+ /(?:key insight|takeaway|lesson learned|now I understand)/i,
25
+ // Significant decisions
26
+ /(?:decided to|decision:|chose to|going with|settled on|approach:|strategy:)/i,
27
+ /(?:trade-?off|weighing|considering|opting for)/i,
28
+ // Breakthroughs and solutions
29
+ /(?:breakthrough|finally|solved|figured out|the fix was|root cause)/i,
30
+ /(?:aha|eureka|that's why|the issue was|problem was)/i,
31
+ // Failures and problems
32
+ /(?:failed because|mistake was|should have|shouldn't have|next time)/i,
33
+ /(?:went wrong|broke because|error was due to|caused by)/i,
34
+ /(?:avoid|don't repeat|pitfall|gotcha|watch out)/i,
35
+ // User/project preferences
36
+ /(?:user prefers?|preference|always use|never use|don't use)/i,
37
+ /(?:project uses?|codebase uses?|this repo|this project)/i,
38
+ /(?:convention|pattern|style guide|best practice)/i,
39
+ // Retrospectives
40
+ /(?:in retrospect|looking back|reflecting|summary:|recap:)/i,
41
+ /(?:what worked|what didn't|improvements for next time)/i,
42
+ ];
43
+ /**
44
+ * Create memory hooks for automatic context loading and saving
45
+ *
46
+ * @example
47
+ * ```typescript
48
+ * const hooks = createMemoryHooks({
49
+ * config: { type: 'supermemory', apiKey: 'xxx' },
50
+ * agentId: 'my-agent',
51
+ * projectId: 'my-project',
52
+ * });
53
+ *
54
+ * registry.registerLifecycleHooks(hooks);
55
+ * ```
56
+ */
57
+ export function createMemoryHooks(options = {}) {
58
+ const state = {
59
+ adapter: options.adapter ?? null,
60
+ adapterPromise: null,
61
+ sessionLearnings: [],
62
+ options: {
63
+ agentId: options.agentId ?? 'default',
64
+ projectId: options.projectId ?? 'default',
65
+ injectOnStart: options.injectOnStart ?? true,
66
+ maxStartMemories: options.maxStartMemories ?? 5,
67
+ startSearchQuery: options.startSearchQuery ?? '',
68
+ promptOnEnd: options.promptOnEnd ?? false,
69
+ autoSave: options.autoSave ?? true,
70
+ autoSaveOnEnd: options.autoSaveOnEnd ?? true,
71
+ savePatterns: options.savePatterns ?? DEFAULT_SAVE_PATTERNS,
72
+ config: options.config,
73
+ },
74
+ };
75
+ return {
76
+ onSessionStart: createSessionStartHook(state),
77
+ onSessionEnd: createSessionEndHook(state),
78
+ onOutput: createOutputHook(state),
79
+ };
80
+ }
81
+ /**
82
+ * Lazily get or create the memory adapter
83
+ */
84
+ async function getAdapter(state) {
85
+ if (state.adapter) {
86
+ return state.adapter;
87
+ }
88
+ if (!state.adapterPromise) {
89
+ state.adapterPromise = createMemoryAdapter({
90
+ ...state.options.config,
91
+ defaultAgentId: state.options.agentId,
92
+ defaultProjectId: state.options.projectId,
93
+ }).catch(error => {
94
+ console.error('[memory-hooks] Failed to create adapter:', error);
95
+ return null;
96
+ });
97
+ }
98
+ state.adapter = await state.adapterPromise;
99
+ return state.adapter;
100
+ }
101
+ /**
102
+ * Session start hook - loads relevant memories
103
+ */
104
+ function createSessionStartHook(state) {
105
+ return async (ctx) => {
106
+ if (!state.options.injectOnStart) {
107
+ return;
108
+ }
109
+ state.sessionId = ctx.sessionId;
110
+ const adapter = await getAdapter(state);
111
+ if (!adapter) {
112
+ return;
113
+ }
114
+ try {
115
+ // Build search query based on context
116
+ const searchQuery = state.options.startSearchQuery ||
117
+ `project: ${ctx.workingDir} OR agent: ${state.options.agentId}`;
118
+ const memories = await adapter.search({
119
+ query: searchQuery,
120
+ limit: state.options.maxStartMemories,
121
+ agentId: state.options.agentId,
122
+ projectId: state.options.projectId,
123
+ });
124
+ if (memories.length === 0) {
125
+ return;
126
+ }
127
+ const formattedMemories = formatMemoriesForInjection(memories);
128
+ return {
129
+ inject: `\n[CONTEXT FROM MEMORY]\n${formattedMemories}\n`,
130
+ };
131
+ }
132
+ catch (error) {
133
+ console.error('[memory-hooks] Failed to load memories:', error);
134
+ }
135
+ };
136
+ }
137
+ /**
138
+ * Session end hook - logs learnings summary and optionally prompts for more
139
+ */
140
+ function createSessionEndHook(state) {
141
+ return async (ctx) => {
142
+ // Log session summary (learnings were already saved immediately during output)
143
+ if (state.options.autoSaveOnEnd && ctx.graceful && state.sessionLearnings.length > 0) {
144
+ const uniqueLearnings = [...new Set(state.sessionLearnings)];
145
+ console.log(`[memory-hooks] Session captured ${uniqueLearnings.length} learnings (saved during session)`);
146
+ // Clear for next session
147
+ state.sessionLearnings = [];
148
+ }
149
+ // Optional prompt for additional saves
150
+ if (state.options.promptOnEnd && ctx.graceful) {
151
+ return {
152
+ inject: `
153
+ [SESSION ENDING]
154
+ If you learned anything important, save it for future sessions:
155
+ @memory:save <what you learned>
156
+
157
+ Examples:
158
+ @memory:save User prefers TypeScript over JavaScript
159
+ @memory:save This project uses Prisma for database access
160
+ @memory:save Auth tokens stored in httpOnly cookies
161
+ `,
162
+ };
163
+ }
164
+ };
165
+ }
166
+ /**
167
+ * Output hook - handles @memory: patterns and auto-save
168
+ */
169
+ function createOutputHook(state) {
170
+ return async (ctx) => {
171
+ const { content } = ctx;
172
+ // Handle @memory: patterns (explicit saves)
173
+ const memoryMatch = content.match(/@memory:(\w+)\s+(.+)/);
174
+ if (memoryMatch) {
175
+ const [, action, payload] = memoryMatch;
176
+ return handleMemoryCommand(state, action, payload.trim());
177
+ }
178
+ // Auto-detect and save learnings
179
+ if (state.options.autoSave) {
180
+ for (const pattern of state.options.savePatterns) {
181
+ if (pattern.test(content)) {
182
+ // Extract the relevant sentence/phrase
183
+ const relevantContent = extractRelevantContent(content, pattern);
184
+ if (relevantContent && relevantContent.length > 10) {
185
+ // Collect for session-end retrospective
186
+ if (state.options.autoSaveOnEnd) {
187
+ state.sessionLearnings.push(relevantContent);
188
+ }
189
+ // Also save immediately (ensures persistence even on crash)
190
+ const adapter = await getAdapter(state);
191
+ if (adapter) {
192
+ await adapter.add(relevantContent, {
193
+ source: 'auto-detected',
194
+ sessionId: state.sessionId,
195
+ tags: ['auto-saved'],
196
+ });
197
+ }
198
+ }
199
+ break;
200
+ }
201
+ }
202
+ }
203
+ };
204
+ }
205
+ /**
206
+ * Handle @memory: commands
207
+ */
208
+ async function handleMemoryCommand(state, action, payload) {
209
+ const adapter = await getAdapter(state);
210
+ if (!adapter) {
211
+ return { inject: '[memory] Memory service not available' };
212
+ }
213
+ switch (action.toLowerCase()) {
214
+ case 'save':
215
+ case 'add': {
216
+ const result = await adapter.add(payload, {
217
+ source: 'agent-command',
218
+ sessionId: state.sessionId,
219
+ });
220
+ if (result.success) {
221
+ return { inject: `[memory] Saved: "${truncate(payload, 50)}"` };
222
+ }
223
+ else {
224
+ return { inject: `[memory] Failed to save: ${result.error}` };
225
+ }
226
+ }
227
+ case 'search':
228
+ case 'find':
229
+ case 'recall': {
230
+ const memories = await adapter.search({
231
+ query: payload,
232
+ limit: 5,
233
+ });
234
+ if (memories.length === 0) {
235
+ return { inject: '[memory] No relevant memories found' };
236
+ }
237
+ const formatted = formatMemoriesForInjection(memories);
238
+ return { inject: `[memory] Found ${memories.length} memories:\n${formatted}` };
239
+ }
240
+ case 'forget':
241
+ case 'delete': {
242
+ const result = await adapter.delete(payload);
243
+ if (result.success) {
244
+ return { inject: `[memory] Deleted memory: ${payload}` };
245
+ }
246
+ else {
247
+ return { inject: `[memory] Failed to delete: ${result.error}` };
248
+ }
249
+ }
250
+ case 'list': {
251
+ if (!adapter.list) {
252
+ return { inject: '[memory] List not supported by this adapter' };
253
+ }
254
+ const limit = parseInt(payload) || 10;
255
+ const memories = await adapter.list({ limit });
256
+ if (memories.length === 0) {
257
+ return { inject: '[memory] No memories stored' };
258
+ }
259
+ const formatted = formatMemoriesForInjection(memories);
260
+ return { inject: `[memory] Recent memories:\n${formatted}` };
261
+ }
262
+ default:
263
+ return {
264
+ inject: `[memory] Unknown action: ${action}. Use: save, search, forget, list`,
265
+ };
266
+ }
267
+ }
268
+ /**
269
+ * Format memories for injection into agent context
270
+ */
271
+ function formatMemoriesForInjection(memories) {
272
+ return memories
273
+ .map((m, i) => {
274
+ const score = m.score ? ` (relevance: ${Math.round(m.score * 100)}%)` : '';
275
+ const tags = m.tags?.length ? ` [${m.tags.join(', ')}]` : '';
276
+ return `${i + 1}. ${m.content}${tags}${score}`;
277
+ })
278
+ .join('\n');
279
+ }
280
+ /**
281
+ * Extract relevant content around a pattern match
282
+ */
283
+ function extractRelevantContent(content, pattern) {
284
+ const match = content.match(pattern);
285
+ if (!match)
286
+ return null;
287
+ // Find the sentence containing the match
288
+ const sentences = content.split(/[.!?]+/);
289
+ for (const sentence of sentences) {
290
+ if (pattern.test(sentence)) {
291
+ return sentence.trim();
292
+ }
293
+ }
294
+ return match[0];
295
+ }
296
+ /**
297
+ * Truncate string with ellipsis
298
+ */
299
+ function truncate(str, maxLen) {
300
+ if (str.length <= maxLen)
301
+ return str;
302
+ return str.slice(0, maxLen - 3) + '...';
303
+ }
304
+ /**
305
+ * Get memory hooks with default settings
306
+ *
307
+ * @param agentId - Agent identifier
308
+ * @param projectId - Project identifier
309
+ */
310
+ export function getMemoryHooks(agentId, projectId) {
311
+ return createMemoryHooks({ agentId, projectId });
312
+ }
313
+ //# sourceMappingURL=memory-hooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-hooks.js","sourceRoot":"","sources":["../../src/memory/memory-hooks.ts"],"names":[],"mappings":"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"}