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,287 @@
1
+ /**
2
+ * Webhook Rules Engine
3
+ *
4
+ * Matches normalized events against configured rules and determines actions to take.
5
+ */
6
+ /**
7
+ * Simple JSONPath-like evaluator for conditions
8
+ * Supports: $.field, $.field.subfield, comparisons (==, !=, in, contains)
9
+ */
10
+ function evaluateCondition(condition, event) {
11
+ if (!condition || condition.trim() === '')
12
+ return true;
13
+ try {
14
+ // Parse condition: $.path operator value
15
+ // Note: >= and <= must come before > and < in the alternation to match correctly
16
+ const conditionPattern = /^\$\.([a-zA-Z0-9_.]+)\s*(==|!=|>=|<=|>|<|in|contains)\s*(.+)$/;
17
+ const match = condition.match(conditionPattern);
18
+ if (!match) {
19
+ console.warn(`[rules-engine] Invalid condition format: ${condition}`);
20
+ return false;
21
+ }
22
+ const [, path, operator, rawValue] = match;
23
+ const value = rawValue.trim();
24
+ // Get the value from the event
25
+ const eventValue = getValueByPath(event, path);
26
+ // Parse the comparison value
27
+ let compareValue;
28
+ if (value.startsWith('[') && value.endsWith(']')) {
29
+ // Array literal
30
+ compareValue = JSON.parse(value);
31
+ }
32
+ else if (value.startsWith('"') && value.endsWith('"')) {
33
+ // String literal
34
+ compareValue = value.slice(1, -1);
35
+ }
36
+ else if (value === 'true') {
37
+ compareValue = true;
38
+ }
39
+ else if (value === 'false') {
40
+ compareValue = false;
41
+ }
42
+ else if (value === 'null') {
43
+ compareValue = null;
44
+ }
45
+ else if (!isNaN(Number(value))) {
46
+ compareValue = Number(value);
47
+ }
48
+ else {
49
+ // Treat as string
50
+ compareValue = value;
51
+ }
52
+ switch (operator) {
53
+ case '==':
54
+ // Handle null/undefined equivalence
55
+ if (compareValue === null) {
56
+ return eventValue === null || eventValue === undefined;
57
+ }
58
+ return eventValue === compareValue;
59
+ case '!=':
60
+ return eventValue !== compareValue;
61
+ case 'in':
62
+ return Array.isArray(compareValue) && compareValue.includes(eventValue);
63
+ case 'contains':
64
+ if (Array.isArray(eventValue)) {
65
+ return eventValue.includes(compareValue);
66
+ }
67
+ if (typeof eventValue === 'string' && typeof compareValue === 'string') {
68
+ return eventValue.includes(compareValue);
69
+ }
70
+ return false;
71
+ case '>':
72
+ return typeof eventValue === 'number' && typeof compareValue === 'number' && eventValue > compareValue;
73
+ case '<':
74
+ return typeof eventValue === 'number' && typeof compareValue === 'number' && eventValue < compareValue;
75
+ case '>=':
76
+ return typeof eventValue === 'number' && typeof compareValue === 'number' && eventValue >= compareValue;
77
+ case '<=':
78
+ return typeof eventValue === 'number' && typeof compareValue === 'number' && eventValue <= compareValue;
79
+ default:
80
+ return false;
81
+ }
82
+ }
83
+ catch (error) {
84
+ console.error(`[rules-engine] Error evaluating condition: ${condition}`, error);
85
+ return false;
86
+ }
87
+ }
88
+ /**
89
+ * Get a value from an object by dot-separated path
90
+ */
91
+ function getValueByPath(obj, path) {
92
+ const parts = path.split('.');
93
+ let current = obj;
94
+ for (const part of parts) {
95
+ if (current === null || current === undefined)
96
+ return undefined;
97
+ if (typeof current !== 'object')
98
+ return undefined;
99
+ current = current[part];
100
+ }
101
+ return current;
102
+ }
103
+ /**
104
+ * Check if a rule matches an event
105
+ */
106
+ export function matchesRule(rule, event) {
107
+ // Check if rule is enabled
108
+ if (!rule.enabled)
109
+ return false;
110
+ // Check source match
111
+ if (rule.source !== '*' && rule.source !== event.source) {
112
+ return false;
113
+ }
114
+ // Check event type match
115
+ if (rule.eventType !== '*' && rule.eventType !== event.type) {
116
+ // Support wildcard prefix matching (e.g., 'ci_*' matches 'ci_failure')
117
+ if (rule.eventType.endsWith('*')) {
118
+ const prefix = rule.eventType.slice(0, -1);
119
+ if (!event.type.startsWith(prefix)) {
120
+ return false;
121
+ }
122
+ }
123
+ else {
124
+ return false;
125
+ }
126
+ }
127
+ // Check condition if present
128
+ if (rule.condition && !evaluateCondition(rule.condition, event)) {
129
+ return false;
130
+ }
131
+ return true;
132
+ }
133
+ /**
134
+ * Find all matching rules for an event, sorted by priority
135
+ */
136
+ export function findMatchingRules(rules, event) {
137
+ return rules
138
+ .filter(rule => matchesRule(rule, event))
139
+ .sort((a, b) => a.priority - b.priority);
140
+ }
141
+ /**
142
+ * Resolve template variables in action configuration
143
+ * Supports: ${event.field}, ${event.field.subfield}
144
+ */
145
+ export function resolveActionTemplate(action, event) {
146
+ const resolvedAction = { ...action };
147
+ // Resolve agentType if it references an event field
148
+ if (resolvedAction.agentType?.startsWith('$.')) {
149
+ const path = resolvedAction.agentType.slice(2);
150
+ const value = getValueByPath(event, path);
151
+ if (typeof value === 'string') {
152
+ resolvedAction.agentType = value;
153
+ }
154
+ else if (Array.isArray(value) && value.length > 0) {
155
+ // Use first mentioned agent
156
+ resolvedAction.agentType = String(value[0]);
157
+ }
158
+ }
159
+ // Resolve prompt template references
160
+ if (resolvedAction.prompt?.startsWith('${') && resolvedAction.prompt?.endsWith('}')) {
161
+ const path = resolvedAction.prompt.slice(2, -1);
162
+ const value = getValueByPath(event, path);
163
+ if (typeof value === 'string') {
164
+ resolvedAction.prompt = value;
165
+ }
166
+ }
167
+ return resolvedAction;
168
+ }
169
+ /**
170
+ * Default rules for common patterns
171
+ */
172
+ export const defaultRules = [
173
+ // CI Failures
174
+ {
175
+ id: 'ci-failure',
176
+ name: 'CI Failure Handler',
177
+ enabled: true,
178
+ source: 'github',
179
+ eventType: 'ci_failure',
180
+ action: {
181
+ type: 'spawn_agent',
182
+ agentType: 'ci-fix',
183
+ prompt: 'ci-failure',
184
+ },
185
+ priority: 10,
186
+ },
187
+ // GitHub Mentions
188
+ {
189
+ id: 'github-mention',
190
+ name: 'GitHub Mention Handler',
191
+ enabled: true,
192
+ source: 'github',
193
+ eventType: 'mention',
194
+ action: {
195
+ type: 'spawn_agent',
196
+ agentType: '$.mentions', // Use first mentioned agent
197
+ prompt: 'mention',
198
+ },
199
+ priority: 20,
200
+ },
201
+ // GitHub Issues
202
+ {
203
+ id: 'github-issue',
204
+ name: 'GitHub Issue Handler',
205
+ enabled: true,
206
+ source: 'github',
207
+ eventType: 'issue_created',
208
+ condition: '$.priority in ["critical", "high"]',
209
+ action: {
210
+ type: 'spawn_agent',
211
+ agentType: 'developer',
212
+ prompt: 'issue',
213
+ },
214
+ priority: 30,
215
+ },
216
+ // Linear Issues
217
+ {
218
+ id: 'linear-issue',
219
+ name: 'Linear Issue Handler',
220
+ enabled: true,
221
+ source: 'linear',
222
+ eventType: 'issue_created',
223
+ action: {
224
+ type: 'spawn_agent',
225
+ agentType: 'developer',
226
+ prompt: 'linear-issue',
227
+ },
228
+ priority: 20,
229
+ },
230
+ // Linear Mentions
231
+ {
232
+ id: 'linear-mention',
233
+ name: 'Linear Mention Handler',
234
+ enabled: true,
235
+ source: 'linear',
236
+ eventType: 'mention',
237
+ action: {
238
+ type: 'spawn_agent',
239
+ agentType: '$.mentions',
240
+ prompt: 'mention',
241
+ },
242
+ priority: 20,
243
+ },
244
+ // Slack App Mentions
245
+ {
246
+ id: 'slack-mention',
247
+ name: 'Slack App Mention Handler',
248
+ enabled: true,
249
+ source: 'slack',
250
+ eventType: 'mention',
251
+ action: {
252
+ type: 'spawn_agent',
253
+ agentType: '$.mentions',
254
+ prompt: 'slack-request',
255
+ },
256
+ priority: 20,
257
+ },
258
+ // Linear Issue Assignments (native integration)
259
+ {
260
+ id: 'linear-assignment',
261
+ name: 'Linear Issue Assignment Handler',
262
+ enabled: true,
263
+ source: 'linear',
264
+ eventType: 'issue_assigned',
265
+ action: {
266
+ type: 'spawn_agent',
267
+ agentType: '$.mentions', // Use the assigned agent type
268
+ prompt: 'linear-issue',
269
+ },
270
+ priority: 15,
271
+ },
272
+ // GitHub Issue Assignments
273
+ {
274
+ id: 'github-assignment',
275
+ name: 'GitHub Issue Assignment Handler',
276
+ enabled: true,
277
+ source: 'github',
278
+ eventType: 'issue_assigned',
279
+ action: {
280
+ type: 'spawn_agent',
281
+ agentType: '$.mentions',
282
+ prompt: 'issue',
283
+ },
284
+ priority: 15,
285
+ },
286
+ ];
287
+ //# sourceMappingURL=rules-engine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rules-engine.js","sourceRoot":"","sources":["../../../src/cloud/webhooks/rules-engine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,186 @@
1
+ /**
2
+ * Generic Webhook System - Type Definitions
3
+ *
4
+ * Defines the core types for a configurable webhook system
5
+ * that can handle events from any source (GitHub, GitLab, Linear, Slack, etc.)
6
+ */
7
+ /**
8
+ * Normalized event format that all parsers produce
9
+ */
10
+ export interface NormalizedEvent {
11
+ /** Unique event ID */
12
+ id: string;
13
+ /** Source system (github, gitlab, linear, slack, etc.) */
14
+ source: string;
15
+ /** Event type (e.g., 'ci_failure', 'mention', 'issue_created') */
16
+ type: string;
17
+ /** Timestamp of the event */
18
+ timestamp: Date;
19
+ /** Actor who triggered the event */
20
+ actor: {
21
+ id: string;
22
+ name: string;
23
+ email?: string;
24
+ };
25
+ /** Repository or project context */
26
+ context: {
27
+ /** Full name (e.g., 'owner/repo' or project ID) */
28
+ name: string;
29
+ /** URL to the repository/project */
30
+ url?: string;
31
+ };
32
+ /** The item this event relates to (issue, PR, ticket, message) */
33
+ item?: {
34
+ type: 'issue' | 'pull_request' | 'ticket' | 'message' | 'comment' | 'check';
35
+ id: string | number;
36
+ number?: number;
37
+ title?: string;
38
+ body?: string;
39
+ url?: string;
40
+ state?: string;
41
+ };
42
+ /** Mentioned agents or users */
43
+ mentions: string[];
44
+ /** Labels, tags, or categories */
45
+ labels: string[];
46
+ /** Priority level if applicable */
47
+ priority?: 'critical' | 'high' | 'medium' | 'low';
48
+ /** Additional source-specific data */
49
+ metadata: Record<string, unknown>;
50
+ /** Raw payload for debugging */
51
+ rawPayload: unknown;
52
+ }
53
+ /**
54
+ * Action to take in response to an event
55
+ */
56
+ export interface WebhookAction {
57
+ type: 'spawn_agent' | 'message_agent' | 'post_comment' | 'create_issue' | 'custom';
58
+ /** Agent type or name to spawn/message */
59
+ agentType?: string;
60
+ /** Prompt template name or inline prompt */
61
+ prompt?: string;
62
+ /** Additional action-specific config */
63
+ config?: Record<string, unknown>;
64
+ }
65
+ /**
66
+ * Signature verification configuration
67
+ */
68
+ export interface SignatureConfig {
69
+ /** Header containing the signature */
70
+ header: string;
71
+ /** Algorithm to use for verification */
72
+ algorithm: 'sha256' | 'sha1' | 'token' | 'slack-v0' | 'none';
73
+ /** Environment variable containing the secret */
74
+ secretEnvVar: string;
75
+ /** Optional prefix to strip from signature (e.g., 'sha256=') */
76
+ signaturePrefix?: string;
77
+ }
78
+ /**
79
+ * Webhook source configuration
80
+ */
81
+ export interface WebhookSourceConfig {
82
+ /** Source identifier */
83
+ id: string;
84
+ /** Display name */
85
+ name: string;
86
+ /** Whether this source is enabled */
87
+ enabled: boolean;
88
+ /** Signature verification config */
89
+ signature: SignatureConfig;
90
+ /** Parser to use for this source */
91
+ parser: string;
92
+ /** Responder to use for sending responses */
93
+ responder: string;
94
+ /** Parser-specific configuration */
95
+ parserConfig?: Record<string, unknown>;
96
+ /** Responder-specific configuration */
97
+ responderConfig?: Record<string, unknown>;
98
+ }
99
+ /**
100
+ * Event routing rule
101
+ */
102
+ export interface WebhookRule {
103
+ /** Rule identifier */
104
+ id: string;
105
+ /** Display name */
106
+ name: string;
107
+ /** Whether this rule is enabled */
108
+ enabled: boolean;
109
+ /** Source to match (* for any) */
110
+ source: string;
111
+ /** Event type to match (* for any) */
112
+ eventType: string;
113
+ /** JSONPath condition (optional) */
114
+ condition?: string;
115
+ /** Action to take when matched */
116
+ action: WebhookAction;
117
+ /** Priority (lower = higher priority) */
118
+ priority: number;
119
+ }
120
+ /**
121
+ * Complete webhook configuration
122
+ */
123
+ export interface WebhookConfig {
124
+ sources: Record<string, WebhookSourceConfig>;
125
+ rules: WebhookRule[];
126
+ }
127
+ /**
128
+ * Parser interface - transforms source-specific payloads to normalized events
129
+ */
130
+ export interface WebhookParser {
131
+ /** Parser identifier */
132
+ id: string;
133
+ /** Parse raw payload into normalized event(s) */
134
+ parse(payload: unknown, headers: Record<string, string | string[] | undefined>, config?: Record<string, unknown>): NormalizedEvent[];
135
+ }
136
+ /**
137
+ * Response to send back to the source system
138
+ */
139
+ export interface WebhookResponse {
140
+ /** Type of response */
141
+ type: 'comment' | 'message' | 'reaction' | 'status';
142
+ /** Target (issue number, channel ID, etc.) */
143
+ target: string | number;
144
+ /** Response body/content */
145
+ body: string;
146
+ /** Additional response metadata */
147
+ metadata?: Record<string, unknown>;
148
+ }
149
+ /**
150
+ * Responder interface - sends responses back to source systems
151
+ */
152
+ export interface WebhookResponder {
153
+ /** Responder identifier */
154
+ id: string;
155
+ /** Send a response to the source system */
156
+ respond(event: NormalizedEvent, response: WebhookResponse, config?: Record<string, unknown>): Promise<{
157
+ success: boolean;
158
+ id?: string;
159
+ url?: string;
160
+ error?: string;
161
+ }>;
162
+ }
163
+ /**
164
+ * Result of processing a webhook
165
+ */
166
+ export interface WebhookResult {
167
+ success: boolean;
168
+ eventId: string;
169
+ source: string;
170
+ eventType: string;
171
+ matchedRules: string[];
172
+ actions: Array<{
173
+ ruleId: string;
174
+ action: WebhookAction;
175
+ success: boolean;
176
+ error?: string;
177
+ }>;
178
+ responses: Array<{
179
+ type: string;
180
+ success: boolean;
181
+ id?: string;
182
+ url?: string;
183
+ error?: string;
184
+ }>;
185
+ }
186
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/cloud/webhooks/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,sBAAsB;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,0DAA0D;IAC1D,MAAM,EAAE,MAAM,CAAC;IACf,kEAAkE;IAClE,IAAI,EAAE,MAAM,CAAC;IACb,6BAA6B;IAC7B,SAAS,EAAE,IAAI,CAAC;IAChB,oCAAoC;IACpC,KAAK,EAAE;QACL,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,oCAAoC;IACpC,OAAO,EAAE;QACP,mDAAmD;QACnD,IAAI,EAAE,MAAM,CAAC;QACb,oCAAoC;QACpC,GAAG,CAAC,EAAE,MAAM,CAAC;KACd,CAAC;IACF,kEAAkE;IAClE,IAAI,CAAC,EAAE;QACL,IAAI,EAAE,OAAO,GAAG,cAAc,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;QAC5E,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;QACpB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,gCAAgC;IAChC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,kCAAkC;IAClC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,mCAAmC;IACnC,QAAQ,CAAC,EAAE,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IAClD,sCAAsC;IACtC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,gCAAgC;IAChC,UAAU,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,aAAa,GAAG,eAAe,GAAG,cAAc,GAAG,cAAc,GAAG,QAAQ,CAAC;IACnF,0CAA0C;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4CAA4C;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wCAAwC;IACxC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,sCAAsC;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,wCAAwC;IACxC,SAAS,EAAE,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,UAAU,GAAG,MAAM,CAAC;IAC7D,iDAAiD;IACjD,YAAY,EAAE,MAAM,CAAC;IACrB,gEAAgE;IAChE,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,wBAAwB;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,qCAAqC;IACrC,OAAO,EAAE,OAAO,CAAC;IACjB,oCAAoC;IACpC,SAAS,EAAE,eAAe,CAAC;IAC3B,oCAAoC;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,6CAA6C;IAC7C,SAAS,EAAE,MAAM,CAAC;IAClB,oCAAoC;IACpC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,uCAAuC;IACvC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC3C;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,sBAAsB;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,mCAAmC;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,kCAAkC;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,sCAAsC;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,oCAAoC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kCAAkC;IAClC,MAAM,EAAE,aAAa,CAAC;IACtB,yCAAyC;IACzC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAC7C,KAAK,EAAE,WAAW,EAAE,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,wBAAwB;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,iDAAiD;IACjD,KAAK,CACH,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,EACtD,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,eAAe,EAAE,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,uBAAuB;IACvB,IAAI,EAAE,SAAS,GAAG,SAAS,GAAG,UAAU,GAAG,QAAQ,CAAC;IACpD,8CAA8C;IAC9C,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,4BAA4B;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,mCAAmC;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,2BAA2B;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,2CAA2C;IAC3C,OAAO,CACL,KAAK,EAAE,eAAe,EACtB,QAAQ,EAAE,eAAe,EACzB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC7E;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,OAAO,EAAE,KAAK,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,aAAa,CAAC;QACtB,OAAO,EAAE,OAAO,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC,CAAC;IACH,SAAS,EAAE,KAAK,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,OAAO,CAAC;QACjB,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC,CAAC;CACJ"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Generic Webhook System - Type Definitions
3
+ *
4
+ * Defines the core types for a configurable webhook system
5
+ * that can handle events from any source (GitHub, GitLab, Linear, Slack, etc.)
6
+ */
7
+ export {};
8
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/cloud/webhooks/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Context Formatter
3
+ *
4
+ * Formats ledgers, handoffs, and learnings into markdown
5
+ * for injection into agent context.
6
+ */
7
+ import type { Ledger, Handoff, StartupContext, FileRef, Decision } from './types.js';
8
+ /**
9
+ * Format options for context injection
10
+ */
11
+ export interface FormatOptions {
12
+ /** Maximum length of the formatted context */
13
+ maxLength?: number;
14
+ /** Include file references */
15
+ includeFiles?: boolean;
16
+ /** Include decisions */
17
+ includeDecisions?: boolean;
18
+ /** Include learnings */
19
+ includeLearnings?: boolean;
20
+ /** Compact mode (less verbose) */
21
+ compact?: boolean;
22
+ }
23
+ /**
24
+ * Format a startup context for injection
25
+ */
26
+ export declare function formatStartupContext(context: Omit<StartupContext, 'formatted'>, options?: FormatOptions): string;
27
+ /**
28
+ * Format a ledger for context injection
29
+ */
30
+ export declare function formatLedger(ledger: Ledger, options?: FormatOptions): string;
31
+ /**
32
+ * Format a handoff for context injection
33
+ */
34
+ export declare function formatHandoff(handoff: Handoff, options?: FormatOptions): string;
35
+ /**
36
+ * Format a search result summary
37
+ */
38
+ export declare function formatSearchResults(handoffs: Handoff[], query: string): string;
39
+ /**
40
+ * Format a brief status summary (for status line / dashboard)
41
+ */
42
+ export declare function formatBriefStatus(ledger: Ledger | null, handoff: Handoff | null): string;
43
+ /**
44
+ * Format file references for injection
45
+ */
46
+ export declare function formatFileRefs(files: FileRef[]): string;
47
+ /**
48
+ * Format decisions for injection
49
+ */
50
+ export declare function formatDecisions(decisions: Decision[]): string;
51
+ //# sourceMappingURL=formatter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatter.d.ts","sourceRoot":"","sources":["../../src/continuity/formatter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAErF;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,8CAA8C;IAC9C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8BAA8B;IAC9B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,wBAAwB;IACxB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,wBAAwB;IACxB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,kCAAkC;IAClC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAUD;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,WAAW,CAAC,EAC1C,OAAO,GAAE,aAAkB,GAC1B,MAAM,CAwCR;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,MAAM,CAqGhF;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,GAAE,aAAkB,GAAG,MAAM,CA2FnF;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CA0B9E;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,GAAG,MAAM,CAwBxF;AASD;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,MAAM,CAUvD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,MAAM,CAE7D"}