@agent-relay/cloud 2.0.23 → 6.0.4

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 (301) hide show
  1. package/dist/api-client.d.ts +33 -0
  2. package/dist/api-client.d.ts.map +1 -0
  3. package/dist/api-client.js +123 -0
  4. package/dist/api-client.js.map +1 -0
  5. package/dist/auth.d.ts +13 -0
  6. package/dist/auth.d.ts.map +1 -0
  7. package/dist/auth.js +299 -0
  8. package/dist/auth.js.map +1 -0
  9. package/dist/connect.d.ts +45 -0
  10. package/dist/connect.d.ts.map +1 -0
  11. package/dist/connect.js +166 -0
  12. package/dist/connect.js.map +1 -0
  13. package/dist/index.d.ts +7 -10
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +7 -37
  16. package/dist/index.js.map +1 -1
  17. package/dist/lib/ssh-interactive.d.ts +70 -0
  18. package/dist/lib/ssh-interactive.d.ts.map +1 -0
  19. package/dist/lib/ssh-interactive.js +440 -0
  20. package/dist/lib/ssh-interactive.js.map +1 -0
  21. package/dist/lib/ssh-runtime.d.ts +35 -0
  22. package/dist/lib/ssh-runtime.d.ts.map +1 -0
  23. package/dist/lib/ssh-runtime.js +52 -0
  24. package/dist/lib/ssh-runtime.js.map +1 -0
  25. package/dist/types.d.ts +76 -0
  26. package/dist/types.d.ts.map +1 -0
  27. package/dist/types.js +12 -0
  28. package/dist/types.js.map +1 -0
  29. package/dist/workflows.d.ts +49 -0
  30. package/dist/workflows.d.ts.map +1 -0
  31. package/dist/workflows.js +473 -0
  32. package/dist/workflows.js.map +1 -0
  33. package/package.json +12 -25
  34. package/dist/api/admin.d.ts +0 -8
  35. package/dist/api/admin.d.ts.map +0 -1
  36. package/dist/api/admin.js +0 -225
  37. package/dist/api/admin.js.map +0 -1
  38. package/dist/api/auth.d.ts +0 -20
  39. package/dist/api/auth.d.ts.map +0 -1
  40. package/dist/api/auth.js +0 -138
  41. package/dist/api/auth.js.map +0 -1
  42. package/dist/api/billing.d.ts +0 -7
  43. package/dist/api/billing.d.ts.map +0 -1
  44. package/dist/api/billing.js +0 -564
  45. package/dist/api/billing.js.map +0 -1
  46. package/dist/api/cli-pty-runner.d.ts +0 -53
  47. package/dist/api/cli-pty-runner.d.ts.map +0 -1
  48. package/dist/api/cli-pty-runner.js +0 -175
  49. package/dist/api/cli-pty-runner.js.map +0 -1
  50. package/dist/api/codex-auth-helper.d.ts +0 -21
  51. package/dist/api/codex-auth-helper.d.ts.map +0 -1
  52. package/dist/api/codex-auth-helper.js +0 -327
  53. package/dist/api/codex-auth-helper.js.map +0 -1
  54. package/dist/api/consensus.d.ts +0 -13
  55. package/dist/api/consensus.d.ts.map +0 -1
  56. package/dist/api/consensus.js +0 -261
  57. package/dist/api/consensus.js.map +0 -1
  58. package/dist/api/coordinators.d.ts +0 -8
  59. package/dist/api/coordinators.d.ts.map +0 -1
  60. package/dist/api/coordinators.js +0 -750
  61. package/dist/api/coordinators.js.map +0 -1
  62. package/dist/api/daemons.d.ts +0 -12
  63. package/dist/api/daemons.d.ts.map +0 -1
  64. package/dist/api/daemons.js +0 -535
  65. package/dist/api/daemons.js.map +0 -1
  66. package/dist/api/email-auth.d.ts +0 -11
  67. package/dist/api/email-auth.d.ts.map +0 -1
  68. package/dist/api/email-auth.js +0 -347
  69. package/dist/api/email-auth.js.map +0 -1
  70. package/dist/api/generic-webhooks.d.ts +0 -8
  71. package/dist/api/generic-webhooks.d.ts.map +0 -1
  72. package/dist/api/generic-webhooks.js +0 -129
  73. package/dist/api/generic-webhooks.js.map +0 -1
  74. package/dist/api/git.d.ts +0 -8
  75. package/dist/api/git.d.ts.map +0 -1
  76. package/dist/api/git.js +0 -269
  77. package/dist/api/git.js.map +0 -1
  78. package/dist/api/github-app.d.ts +0 -11
  79. package/dist/api/github-app.d.ts.map +0 -1
  80. package/dist/api/github-app.js +0 -223
  81. package/dist/api/github-app.js.map +0 -1
  82. package/dist/api/middleware/planLimits.d.ts +0 -43
  83. package/dist/api/middleware/planLimits.d.ts.map +0 -1
  84. package/dist/api/middleware/planLimits.js +0 -202
  85. package/dist/api/middleware/planLimits.js.map +0 -1
  86. package/dist/api/monitoring.d.ts +0 -11
  87. package/dist/api/monitoring.d.ts.map +0 -1
  88. package/dist/api/monitoring.js +0 -578
  89. package/dist/api/monitoring.js.map +0 -1
  90. package/dist/api/nango-auth.d.ts +0 -9
  91. package/dist/api/nango-auth.d.ts.map +0 -1
  92. package/dist/api/nango-auth.js +0 -741
  93. package/dist/api/nango-auth.js.map +0 -1
  94. package/dist/api/onboarding.d.ts +0 -15
  95. package/dist/api/onboarding.d.ts.map +0 -1
  96. package/dist/api/onboarding.js +0 -679
  97. package/dist/api/onboarding.js.map +0 -1
  98. package/dist/api/policy.d.ts +0 -8
  99. package/dist/api/policy.d.ts.map +0 -1
  100. package/dist/api/policy.js +0 -229
  101. package/dist/api/policy.js.map +0 -1
  102. package/dist/api/provider-env.d.ts +0 -26
  103. package/dist/api/provider-env.d.ts.map +0 -1
  104. package/dist/api/provider-env.js +0 -141
  105. package/dist/api/provider-env.js.map +0 -1
  106. package/dist/api/providers.d.ts +0 -7
  107. package/dist/api/providers.d.ts.map +0 -1
  108. package/dist/api/providers.js +0 -574
  109. package/dist/api/providers.js.map +0 -1
  110. package/dist/api/repos.d.ts +0 -8
  111. package/dist/api/repos.d.ts.map +0 -1
  112. package/dist/api/repos.js +0 -577
  113. package/dist/api/repos.js.map +0 -1
  114. package/dist/api/sessions.d.ts +0 -11
  115. package/dist/api/sessions.d.ts.map +0 -1
  116. package/dist/api/sessions.js +0 -302
  117. package/dist/api/sessions.js.map +0 -1
  118. package/dist/api/teams.d.ts +0 -7
  119. package/dist/api/teams.d.ts.map +0 -1
  120. package/dist/api/teams.js +0 -281
  121. package/dist/api/teams.js.map +0 -1
  122. package/dist/api/test-helpers.d.ts +0 -10
  123. package/dist/api/test-helpers.d.ts.map +0 -1
  124. package/dist/api/test-helpers.js +0 -745
  125. package/dist/api/test-helpers.js.map +0 -1
  126. package/dist/api/usage.d.ts +0 -7
  127. package/dist/api/usage.d.ts.map +0 -1
  128. package/dist/api/usage.js +0 -111
  129. package/dist/api/usage.js.map +0 -1
  130. package/dist/api/webhooks.d.ts +0 -8
  131. package/dist/api/webhooks.d.ts.map +0 -1
  132. package/dist/api/webhooks.js +0 -645
  133. package/dist/api/webhooks.js.map +0 -1
  134. package/dist/api/workspaces.d.ts +0 -25
  135. package/dist/api/workspaces.d.ts.map +0 -1
  136. package/dist/api/workspaces.js +0 -1799
  137. package/dist/api/workspaces.js.map +0 -1
  138. package/dist/billing/index.d.ts +0 -9
  139. package/dist/billing/index.d.ts.map +0 -1
  140. package/dist/billing/index.js +0 -9
  141. package/dist/billing/index.js.map +0 -1
  142. package/dist/billing/plans.d.ts +0 -39
  143. package/dist/billing/plans.d.ts.map +0 -1
  144. package/dist/billing/plans.js +0 -245
  145. package/dist/billing/plans.js.map +0 -1
  146. package/dist/billing/service.d.ts +0 -80
  147. package/dist/billing/service.d.ts.map +0 -1
  148. package/dist/billing/service.js +0 -388
  149. package/dist/billing/service.js.map +0 -1
  150. package/dist/billing/types.d.ts +0 -141
  151. package/dist/billing/types.d.ts.map +0 -1
  152. package/dist/billing/types.js +0 -7
  153. package/dist/billing/types.js.map +0 -1
  154. package/dist/config.d.ts +0 -5
  155. package/dist/config.d.ts.map +0 -1
  156. package/dist/config.js +0 -5
  157. package/dist/config.js.map +0 -1
  158. package/dist/db/bulk-ingest.d.ts +0 -89
  159. package/dist/db/bulk-ingest.d.ts.map +0 -1
  160. package/dist/db/bulk-ingest.js +0 -268
  161. package/dist/db/bulk-ingest.js.map +0 -1
  162. package/dist/db/drizzle.d.ts +0 -290
  163. package/dist/db/drizzle.d.ts.map +0 -1
  164. package/dist/db/drizzle.js +0 -1422
  165. package/dist/db/drizzle.js.map +0 -1
  166. package/dist/db/index.d.ts +0 -56
  167. package/dist/db/index.d.ts.map +0 -1
  168. package/dist/db/index.js +0 -70
  169. package/dist/db/index.js.map +0 -1
  170. package/dist/db/schema.d.ts +0 -5117
  171. package/dist/db/schema.d.ts.map +0 -1
  172. package/dist/db/schema.js +0 -656
  173. package/dist/db/schema.js.map +0 -1
  174. package/dist/provisioner/index.d.ts +0 -207
  175. package/dist/provisioner/index.d.ts.map +0 -1
  176. package/dist/provisioner/index.js +0 -2118
  177. package/dist/provisioner/index.js.map +0 -1
  178. package/dist/server.d.ts +0 -17
  179. package/dist/server.d.ts.map +0 -1
  180. package/dist/server.js +0 -2055
  181. package/dist/server.js.map +0 -1
  182. package/dist/services/auto-scaler.d.ts +0 -152
  183. package/dist/services/auto-scaler.d.ts.map +0 -1
  184. package/dist/services/auto-scaler.js +0 -439
  185. package/dist/services/auto-scaler.js.map +0 -1
  186. package/dist/services/capacity-manager.d.ts +0 -148
  187. package/dist/services/capacity-manager.d.ts.map +0 -1
  188. package/dist/services/capacity-manager.js +0 -449
  189. package/dist/services/capacity-manager.js.map +0 -1
  190. package/dist/services/ci-agent-spawner.d.ts +0 -49
  191. package/dist/services/ci-agent-spawner.d.ts.map +0 -1
  192. package/dist/services/ci-agent-spawner.js +0 -373
  193. package/dist/services/ci-agent-spawner.js.map +0 -1
  194. package/dist/services/cloud-message-bus.d.ts +0 -28
  195. package/dist/services/cloud-message-bus.d.ts.map +0 -1
  196. package/dist/services/cloud-message-bus.js +0 -19
  197. package/dist/services/cloud-message-bus.js.map +0 -1
  198. package/dist/services/compute-enforcement.d.ts +0 -57
  199. package/dist/services/compute-enforcement.d.ts.map +0 -1
  200. package/dist/services/compute-enforcement.js +0 -175
  201. package/dist/services/compute-enforcement.js.map +0 -1
  202. package/dist/services/coordinator.d.ts +0 -62
  203. package/dist/services/coordinator.d.ts.map +0 -1
  204. package/dist/services/coordinator.js +0 -389
  205. package/dist/services/coordinator.js.map +0 -1
  206. package/dist/services/index.d.ts +0 -17
  207. package/dist/services/index.d.ts.map +0 -1
  208. package/dist/services/index.js +0 -25
  209. package/dist/services/index.js.map +0 -1
  210. package/dist/services/intro-expiration.d.ts +0 -60
  211. package/dist/services/intro-expiration.d.ts.map +0 -1
  212. package/dist/services/intro-expiration.js +0 -252
  213. package/dist/services/intro-expiration.js.map +0 -1
  214. package/dist/services/mention-handler.d.ts +0 -65
  215. package/dist/services/mention-handler.d.ts.map +0 -1
  216. package/dist/services/mention-handler.js +0 -405
  217. package/dist/services/mention-handler.js.map +0 -1
  218. package/dist/services/nango.d.ts +0 -219
  219. package/dist/services/nango.d.ts.map +0 -1
  220. package/dist/services/nango.js +0 -424
  221. package/dist/services/nango.js.map +0 -1
  222. package/dist/services/persistence.d.ts +0 -131
  223. package/dist/services/persistence.d.ts.map +0 -1
  224. package/dist/services/persistence.js +0 -200
  225. package/dist/services/persistence.js.map +0 -1
  226. package/dist/services/planLimits.d.ts +0 -147
  227. package/dist/services/planLimits.d.ts.map +0 -1
  228. package/dist/services/planLimits.js +0 -335
  229. package/dist/services/planLimits.js.map +0 -1
  230. package/dist/services/presence-registry.d.ts +0 -56
  231. package/dist/services/presence-registry.d.ts.map +0 -1
  232. package/dist/services/presence-registry.js +0 -91
  233. package/dist/services/presence-registry.js.map +0 -1
  234. package/dist/services/scaling-orchestrator.d.ts +0 -159
  235. package/dist/services/scaling-orchestrator.d.ts.map +0 -1
  236. package/dist/services/scaling-orchestrator.js +0 -502
  237. package/dist/services/scaling-orchestrator.js.map +0 -1
  238. package/dist/services/scaling-policy.d.ts +0 -121
  239. package/dist/services/scaling-policy.d.ts.map +0 -1
  240. package/dist/services/scaling-policy.js +0 -415
  241. package/dist/services/scaling-policy.js.map +0 -1
  242. package/dist/services/ssh-security.d.ts +0 -31
  243. package/dist/services/ssh-security.d.ts.map +0 -1
  244. package/dist/services/ssh-security.js +0 -63
  245. package/dist/services/ssh-security.js.map +0 -1
  246. package/dist/services/workspace-keepalive.d.ts +0 -76
  247. package/dist/services/workspace-keepalive.d.ts.map +0 -1
  248. package/dist/services/workspace-keepalive.js +0 -234
  249. package/dist/services/workspace-keepalive.js.map +0 -1
  250. package/dist/shims/consensus.d.ts +0 -23
  251. package/dist/shims/consensus.d.ts.map +0 -1
  252. package/dist/shims/consensus.js +0 -5
  253. package/dist/shims/consensus.js.map +0 -1
  254. package/dist/webhooks/index.d.ts +0 -24
  255. package/dist/webhooks/index.d.ts.map +0 -1
  256. package/dist/webhooks/index.js +0 -29
  257. package/dist/webhooks/index.js.map +0 -1
  258. package/dist/webhooks/parsers/github.d.ts +0 -8
  259. package/dist/webhooks/parsers/github.d.ts.map +0 -1
  260. package/dist/webhooks/parsers/github.js +0 -234
  261. package/dist/webhooks/parsers/github.js.map +0 -1
  262. package/dist/webhooks/parsers/index.d.ts +0 -23
  263. package/dist/webhooks/parsers/index.d.ts.map +0 -1
  264. package/dist/webhooks/parsers/index.js +0 -30
  265. package/dist/webhooks/parsers/index.js.map +0 -1
  266. package/dist/webhooks/parsers/linear.d.ts +0 -9
  267. package/dist/webhooks/parsers/linear.d.ts.map +0 -1
  268. package/dist/webhooks/parsers/linear.js +0 -258
  269. package/dist/webhooks/parsers/linear.js.map +0 -1
  270. package/dist/webhooks/parsers/slack.d.ts +0 -9
  271. package/dist/webhooks/parsers/slack.d.ts.map +0 -1
  272. package/dist/webhooks/parsers/slack.js +0 -214
  273. package/dist/webhooks/parsers/slack.js.map +0 -1
  274. package/dist/webhooks/responders/github.d.ts +0 -8
  275. package/dist/webhooks/responders/github.d.ts.map +0 -1
  276. package/dist/webhooks/responders/github.js +0 -73
  277. package/dist/webhooks/responders/github.js.map +0 -1
  278. package/dist/webhooks/responders/index.d.ts +0 -23
  279. package/dist/webhooks/responders/index.d.ts.map +0 -1
  280. package/dist/webhooks/responders/index.js +0 -30
  281. package/dist/webhooks/responders/index.js.map +0 -1
  282. package/dist/webhooks/responders/linear.d.ts +0 -9
  283. package/dist/webhooks/responders/linear.d.ts.map +0 -1
  284. package/dist/webhooks/responders/linear.js +0 -149
  285. package/dist/webhooks/responders/linear.js.map +0 -1
  286. package/dist/webhooks/responders/slack.d.ts +0 -20
  287. package/dist/webhooks/responders/slack.d.ts.map +0 -1
  288. package/dist/webhooks/responders/slack.js +0 -178
  289. package/dist/webhooks/responders/slack.js.map +0 -1
  290. package/dist/webhooks/router.d.ts +0 -25
  291. package/dist/webhooks/router.d.ts.map +0 -1
  292. package/dist/webhooks/router.js +0 -504
  293. package/dist/webhooks/router.js.map +0 -1
  294. package/dist/webhooks/rules-engine.d.ts +0 -24
  295. package/dist/webhooks/rules-engine.d.ts.map +0 -1
  296. package/dist/webhooks/rules-engine.js +0 -287
  297. package/dist/webhooks/rules-engine.js.map +0 -1
  298. package/dist/webhooks/types.d.ts +0 -186
  299. package/dist/webhooks/types.d.ts.map +0 -1
  300. package/dist/webhooks/types.js +0 -8
  301. package/dist/webhooks/types.js.map +0 -1
@@ -1,23 +0,0 @@
1
- /**
2
- * Webhook Responders Index
3
- *
4
- * Registry of all available responders.
5
- */
6
- import type { WebhookResponder } from '../types.js';
7
- import { githubResponder } from './github.js';
8
- import { linearResponder } from './linear.js';
9
- import { slackResponder, formatSlackBlocks } from './slack.js';
10
- /**
11
- * Registry of all available responders
12
- */
13
- export declare const responders: Record<string, WebhookResponder>;
14
- /**
15
- * Get a responder by ID
16
- */
17
- export declare function getResponder(id: string): WebhookResponder | undefined;
18
- /**
19
- * Register a custom responder
20
- */
21
- export declare function registerResponder(responder: WebhookResponder): void;
22
- export { githubResponder, linearResponder, slackResponder, formatSlackBlocks };
23
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/webhooks/responders/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE/D;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAIvD,CAAC;AAEF;;GAEG;AACH,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAErE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,gBAAgB,GAAG,IAAI,CAEnE;AAED,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,cAAc,EAAE,iBAAiB,EAAE,CAAC"}
@@ -1,30 +0,0 @@
1
- /**
2
- * Webhook Responders Index
3
- *
4
- * Registry of all available responders.
5
- */
6
- import { githubResponder } from './github.js';
7
- import { linearResponder } from './linear.js';
8
- import { slackResponder, formatSlackBlocks } from './slack.js';
9
- /**
10
- * Registry of all available responders
11
- */
12
- export const responders = {
13
- github: githubResponder,
14
- linear: linearResponder,
15
- slack: slackResponder,
16
- };
17
- /**
18
- * Get a responder by ID
19
- */
20
- export function getResponder(id) {
21
- return responders[id];
22
- }
23
- /**
24
- * Register a custom responder
25
- */
26
- export function registerResponder(responder) {
27
- responders[responder.id] = responder;
28
- }
29
- export { githubResponder, linearResponder, slackResponder, formatSlackBlocks };
30
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/webhooks/responders/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE/D;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAqC;IAC1D,MAAM,EAAE,eAAe;IACvB,MAAM,EAAE,eAAe;IACvB,KAAK,EAAE,cAAc;CACtB,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,EAAU;IACrC,OAAO,UAAU,CAAC,EAAE,CAAC,CAAC;AACxB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,SAA2B;IAC3D,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC;AACvC,CAAC;AAED,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,cAAc,EAAE,iBAAiB,EAAE,CAAC"}
@@ -1,9 +0,0 @@
1
- /**
2
- * Linear Responder
3
- *
4
- * Sends responses back to Linear via their GraphQL API.
5
- * https://developers.linear.app/docs/graphql/working-with-the-graphql-api
6
- */
7
- import type { WebhookResponder } from '../types.js';
8
- export declare const linearResponder: WebhookResponder;
9
- //# sourceMappingURL=linear.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"linear.d.ts","sourceRoot":"","sources":["../../../src/webhooks/responders/linear.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAmB,gBAAgB,EAAmB,MAAM,aAAa,CAAC;AAsBtF,eAAO,MAAM,eAAe,EAAE,gBAuJ7B,CAAC"}
@@ -1,149 +0,0 @@
1
- /**
2
- * Linear Responder
3
- *
4
- * Sends responses back to Linear via their GraphQL API.
5
- * https://developers.linear.app/docs/graphql/working-with-the-graphql-api
6
- */
7
- /**
8
- * Execute a Linear GraphQL mutation
9
- */
10
- async function linearGraphQL(apiKey, query, variables) {
11
- const response = await fetch('https://api.linear.app/graphql', {
12
- method: 'POST',
13
- headers: {
14
- 'Content-Type': 'application/json',
15
- 'Authorization': apiKey,
16
- },
17
- body: JSON.stringify({ query, variables }),
18
- });
19
- return response.json();
20
- }
21
- export const linearResponder = {
22
- id: 'linear',
23
- async respond(event, response, config) {
24
- const apiKey = config?.apiKey || process.env.LINEAR_API_KEY;
25
- if (!apiKey) {
26
- return {
27
- success: false,
28
- error: 'Linear API key not configured',
29
- };
30
- }
31
- try {
32
- switch (response.type) {
33
- case 'comment': {
34
- // Create a comment on an issue
35
- const issueId = String(response.target);
36
- const mutation = `
37
- mutation CreateComment($issueId: String!, $body: String!) {
38
- commentCreate(input: { issueId: $issueId, body: $body }) {
39
- success
40
- comment {
41
- id
42
- url
43
- }
44
- }
45
- }
46
- `;
47
- const result = await linearGraphQL(apiKey, mutation, {
48
- issueId,
49
- body: response.body,
50
- });
51
- if (result.errors?.length) {
52
- return {
53
- success: false,
54
- error: result.errors.map(e => e.message).join(', '),
55
- };
56
- }
57
- const commentCreate = result.data?.commentCreate;
58
- const comment = commentCreate?.comment;
59
- return {
60
- success: !!commentCreate?.success,
61
- id: comment?.id,
62
- url: comment?.url,
63
- };
64
- }
65
- case 'reaction': {
66
- // Add a reaction/emoji to a comment
67
- const commentId = String(response.target);
68
- const emoji = response.metadata?.emoji || '👍';
69
- const mutation = `
70
- mutation CreateReaction($commentId: String!, $emoji: String!) {
71
- reactionCreate(input: { commentId: $commentId, emoji: $emoji }) {
72
- success
73
- reaction {
74
- id
75
- }
76
- }
77
- }
78
- `;
79
- const result = await linearGraphQL(apiKey, mutation, {
80
- commentId,
81
- emoji,
82
- });
83
- if (result.errors?.length) {
84
- return {
85
- success: false,
86
- error: result.errors.map(e => e.message).join(', '),
87
- };
88
- }
89
- const reactionCreate = result.data?.reactionCreate;
90
- return {
91
- success: !!reactionCreate?.success,
92
- id: reactionCreate?.reaction?.id,
93
- };
94
- }
95
- case 'status': {
96
- // Update issue state
97
- const issueId = String(response.target);
98
- const stateId = response.metadata?.stateId;
99
- if (!stateId) {
100
- return {
101
- success: false,
102
- error: 'State ID required for status update',
103
- };
104
- }
105
- const mutation = `
106
- mutation UpdateIssue($issueId: String!, $stateId: String!) {
107
- issueUpdate(id: $issueId, input: { stateId: $stateId }) {
108
- success
109
- issue {
110
- id
111
- url
112
- }
113
- }
114
- }
115
- `;
116
- const result = await linearGraphQL(apiKey, mutation, {
117
- issueId,
118
- stateId,
119
- });
120
- if (result.errors?.length) {
121
- return {
122
- success: false,
123
- error: result.errors.map(e => e.message).join(', '),
124
- };
125
- }
126
- const issueUpdate = result.data?.issueUpdate;
127
- const issue = issueUpdate?.issue;
128
- return {
129
- success: !!issueUpdate?.success,
130
- id: issue?.id,
131
- url: issue?.url,
132
- };
133
- }
134
- default:
135
- return {
136
- success: false,
137
- error: `Unknown response type: ${response.type}`,
138
- };
139
- }
140
- }
141
- catch (error) {
142
- return {
143
- success: false,
144
- error: error instanceof Error ? error.message : 'Unknown error',
145
- };
146
- }
147
- },
148
- };
149
- //# sourceMappingURL=linear.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"linear.js","sourceRoot":"","sources":["../../../src/webhooks/responders/linear.ts"],"names":[],"mappings":"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"}
@@ -1,20 +0,0 @@
1
- /**
2
- * Slack Responder
3
- *
4
- * Sends responses back to Slack via their Web API.
5
- * https://api.slack.com/methods
6
- */
7
- import type { WebhookResponder } from '../types.js';
8
- export declare const slackResponder: WebhookResponder;
9
- /**
10
- * Helper to format a message with blocks for richer formatting
11
- */
12
- export declare function formatSlackBlocks(text: string, options?: {
13
- header?: string;
14
- context?: string;
15
- actions?: Array<{
16
- text: string;
17
- url: string;
18
- }>;
19
- }): Array<Record<string, unknown>>;
20
- //# sourceMappingURL=slack.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"slack.d.ts","sourceRoot":"","sources":["../../../src/webhooks/responders/slack.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAmB,gBAAgB,EAAmB,MAAM,aAAa,CAAC;AAsBtF,eAAO,MAAM,cAAc,EAAE,gBAgI5B,CAAC;AAEF;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;IACR,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAChD,GACA,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAkDhC"}
@@ -1,178 +0,0 @@
1
- /**
2
- * Slack Responder
3
- *
4
- * Sends responses back to Slack via their Web API.
5
- * https://api.slack.com/methods
6
- */
7
- /**
8
- * Call a Slack Web API method
9
- */
10
- async function slackAPI(token, method, body) {
11
- const response = await fetch(`https://slack.com/api/${method}`, {
12
- method: 'POST',
13
- headers: {
14
- 'Content-Type': 'application/json; charset=utf-8',
15
- 'Authorization': `Bearer ${token}`,
16
- },
17
- body: JSON.stringify(body),
18
- });
19
- return response.json();
20
- }
21
- export const slackResponder = {
22
- id: 'slack',
23
- async respond(event, response, config) {
24
- const botToken = config?.botToken || process.env.SLACK_BOT_TOKEN;
25
- if (!botToken) {
26
- return {
27
- success: false,
28
- error: 'Slack bot token not configured',
29
- };
30
- }
31
- try {
32
- // Get channel from event metadata or response target
33
- const channelId = response.metadata?.channel
34
- || event.metadata?.channelId
35
- || String(response.target);
36
- if (!channelId) {
37
- return {
38
- success: false,
39
- error: 'Channel ID required',
40
- };
41
- }
42
- switch (response.type) {
43
- case 'message': {
44
- // Post a message to a channel
45
- const threadTs = response.metadata?.threadTs
46
- || event.metadata?.threadTs
47
- || event.metadata?.ts;
48
- const result = await slackAPI(botToken, 'chat.postMessage', {
49
- channel: channelId,
50
- text: response.body,
51
- thread_ts: threadTs, // Reply in thread if available
52
- unfurl_links: false,
53
- unfurl_media: false,
54
- });
55
- if (!result.ok) {
56
- return {
57
- success: false,
58
- error: result.error || 'Failed to post message',
59
- };
60
- }
61
- return {
62
- success: true,
63
- id: result.ts,
64
- // Construct Slack message URL
65
- url: `https://slack.com/archives/${channelId}/p${result.ts?.replace('.', '')}`,
66
- };
67
- }
68
- case 'comment': {
69
- // Same as message, but explicitly in a thread
70
- const threadTs = String(response.target);
71
- const result = await slackAPI(botToken, 'chat.postMessage', {
72
- channel: channelId,
73
- text: response.body,
74
- thread_ts: threadTs,
75
- reply_broadcast: response.metadata?.broadcast === true,
76
- });
77
- if (!result.ok) {
78
- return {
79
- success: false,
80
- error: result.error || 'Failed to post reply',
81
- };
82
- }
83
- return {
84
- success: true,
85
- id: result.ts,
86
- };
87
- }
88
- case 'reaction': {
89
- // Add a reaction to a message
90
- const ts = String(response.target);
91
- const emoji = response.metadata?.emoji || response.body.replace(/:/g, '');
92
- const result = await slackAPI(botToken, 'reactions.add', {
93
- channel: channelId,
94
- timestamp: ts,
95
- name: emoji,
96
- });
97
- if (!result.ok && result.error !== 'already_reacted') {
98
- return {
99
- success: false,
100
- error: result.error || 'Failed to add reaction',
101
- };
102
- }
103
- return {
104
- success: true,
105
- };
106
- }
107
- case 'status': {
108
- // Update bot status/presence (not commonly used)
109
- return {
110
- success: false,
111
- error: 'Status updates not implemented for Slack',
112
- };
113
- }
114
- default:
115
- return {
116
- success: false,
117
- error: `Unknown response type: ${response.type}`,
118
- };
119
- }
120
- }
121
- catch (error) {
122
- return {
123
- success: false,
124
- error: error instanceof Error ? error.message : 'Unknown error',
125
- };
126
- }
127
- },
128
- };
129
- /**
130
- * Helper to format a message with blocks for richer formatting
131
- */
132
- export function formatSlackBlocks(text, options) {
133
- const blocks = [];
134
- if (options?.header) {
135
- blocks.push({
136
- type: 'header',
137
- text: {
138
- type: 'plain_text',
139
- text: options.header,
140
- emoji: true,
141
- },
142
- });
143
- }
144
- blocks.push({
145
- type: 'section',
146
- text: {
147
- type: 'mrkdwn',
148
- text,
149
- },
150
- });
151
- if (options?.context) {
152
- blocks.push({
153
- type: 'context',
154
- elements: [
155
- {
156
- type: 'mrkdwn',
157
- text: options.context,
158
- },
159
- ],
160
- });
161
- }
162
- if (options?.actions?.length) {
163
- blocks.push({
164
- type: 'actions',
165
- elements: options.actions.map(action => ({
166
- type: 'button',
167
- text: {
168
- type: 'plain_text',
169
- text: action.text,
170
- emoji: true,
171
- },
172
- url: action.url,
173
- })),
174
- });
175
- }
176
- return blocks;
177
- }
178
- //# sourceMappingURL=slack.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"slack.js","sourceRoot":"","sources":["../../../src/webhooks/responders/slack.ts"],"names":[],"mappings":"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"}
@@ -1,25 +0,0 @@
1
- /**
2
- * Generic Webhook Router
3
- *
4
- * Routes incoming webhooks from any source through the configurable pipeline:
5
- * 1. Verify signature
6
- * 2. Parse payload into normalized events
7
- * 3. Match events against rules
8
- * 4. Execute actions
9
- * 5. Send responses
10
- */
11
- import type { WebhookConfig, WebhookSourceConfig, WebhookResult } from './types.js';
12
- /**
13
- * Default webhook source configurations
14
- */
15
- export declare const defaultSources: Record<string, WebhookSourceConfig>;
16
- /**
17
- * Get webhook configuration
18
- * In the future, this could load from database per-workspace
19
- */
20
- export declare function getWebhookConfig(): WebhookConfig;
21
- /**
22
- * Process a webhook from any source
23
- */
24
- export declare function processWebhook(source: string, payload: string, headers: Record<string, string | string[] | undefined>, config?: WebhookConfig): Promise<WebhookResult>;
25
- //# sourceMappingURL=router.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/webhooks/router.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,KAAK,EACV,aAAa,EACb,mBAAmB,EAGnB,aAAa,EACd,MAAM,YAAY,CAAC;AAMpB;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAsC9D,CAAC;AAEF;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,aAAa,CAKhD;AA0VD;;GAEG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,EACtD,MAAM,CAAC,EAAE,aAAa,GACrB,OAAO,CAAC,aAAa,CAAC,CAgKxB"}