@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.
- package/dist/api-client.d.ts +33 -0
- package/dist/api-client.d.ts.map +1 -0
- package/dist/api-client.js +123 -0
- package/dist/api-client.js.map +1 -0
- package/dist/auth.d.ts +13 -0
- package/dist/auth.d.ts.map +1 -0
- package/dist/auth.js +299 -0
- package/dist/auth.js.map +1 -0
- package/dist/connect.d.ts +45 -0
- package/dist/connect.d.ts.map +1 -0
- package/dist/connect.js +166 -0
- package/dist/connect.js.map +1 -0
- package/dist/index.d.ts +7 -10
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -37
- package/dist/index.js.map +1 -1
- package/dist/lib/ssh-interactive.d.ts +70 -0
- package/dist/lib/ssh-interactive.d.ts.map +1 -0
- package/dist/lib/ssh-interactive.js +440 -0
- package/dist/lib/ssh-interactive.js.map +1 -0
- package/dist/lib/ssh-runtime.d.ts +35 -0
- package/dist/lib/ssh-runtime.d.ts.map +1 -0
- package/dist/lib/ssh-runtime.js +52 -0
- package/dist/lib/ssh-runtime.js.map +1 -0
- package/dist/types.d.ts +76 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +12 -0
- package/dist/types.js.map +1 -0
- package/dist/workflows.d.ts +49 -0
- package/dist/workflows.d.ts.map +1 -0
- package/dist/workflows.js +473 -0
- package/dist/workflows.js.map +1 -0
- package/package.json +12 -25
- package/dist/api/admin.d.ts +0 -8
- package/dist/api/admin.d.ts.map +0 -1
- package/dist/api/admin.js +0 -225
- package/dist/api/admin.js.map +0 -1
- package/dist/api/auth.d.ts +0 -20
- package/dist/api/auth.d.ts.map +0 -1
- package/dist/api/auth.js +0 -138
- package/dist/api/auth.js.map +0 -1
- package/dist/api/billing.d.ts +0 -7
- package/dist/api/billing.d.ts.map +0 -1
- package/dist/api/billing.js +0 -564
- package/dist/api/billing.js.map +0 -1
- package/dist/api/cli-pty-runner.d.ts +0 -53
- package/dist/api/cli-pty-runner.d.ts.map +0 -1
- package/dist/api/cli-pty-runner.js +0 -175
- package/dist/api/cli-pty-runner.js.map +0 -1
- package/dist/api/codex-auth-helper.d.ts +0 -21
- package/dist/api/codex-auth-helper.d.ts.map +0 -1
- package/dist/api/codex-auth-helper.js +0 -327
- package/dist/api/codex-auth-helper.js.map +0 -1
- package/dist/api/consensus.d.ts +0 -13
- package/dist/api/consensus.d.ts.map +0 -1
- package/dist/api/consensus.js +0 -261
- package/dist/api/consensus.js.map +0 -1
- package/dist/api/coordinators.d.ts +0 -8
- package/dist/api/coordinators.d.ts.map +0 -1
- package/dist/api/coordinators.js +0 -750
- package/dist/api/coordinators.js.map +0 -1
- package/dist/api/daemons.d.ts +0 -12
- package/dist/api/daemons.d.ts.map +0 -1
- package/dist/api/daemons.js +0 -535
- package/dist/api/daemons.js.map +0 -1
- package/dist/api/email-auth.d.ts +0 -11
- package/dist/api/email-auth.d.ts.map +0 -1
- package/dist/api/email-auth.js +0 -347
- package/dist/api/email-auth.js.map +0 -1
- package/dist/api/generic-webhooks.d.ts +0 -8
- package/dist/api/generic-webhooks.d.ts.map +0 -1
- package/dist/api/generic-webhooks.js +0 -129
- package/dist/api/generic-webhooks.js.map +0 -1
- package/dist/api/git.d.ts +0 -8
- package/dist/api/git.d.ts.map +0 -1
- package/dist/api/git.js +0 -269
- package/dist/api/git.js.map +0 -1
- package/dist/api/github-app.d.ts +0 -11
- package/dist/api/github-app.d.ts.map +0 -1
- package/dist/api/github-app.js +0 -223
- package/dist/api/github-app.js.map +0 -1
- package/dist/api/middleware/planLimits.d.ts +0 -43
- package/dist/api/middleware/planLimits.d.ts.map +0 -1
- package/dist/api/middleware/planLimits.js +0 -202
- package/dist/api/middleware/planLimits.js.map +0 -1
- package/dist/api/monitoring.d.ts +0 -11
- package/dist/api/monitoring.d.ts.map +0 -1
- package/dist/api/monitoring.js +0 -578
- package/dist/api/monitoring.js.map +0 -1
- package/dist/api/nango-auth.d.ts +0 -9
- package/dist/api/nango-auth.d.ts.map +0 -1
- package/dist/api/nango-auth.js +0 -741
- package/dist/api/nango-auth.js.map +0 -1
- package/dist/api/onboarding.d.ts +0 -15
- package/dist/api/onboarding.d.ts.map +0 -1
- package/dist/api/onboarding.js +0 -679
- package/dist/api/onboarding.js.map +0 -1
- package/dist/api/policy.d.ts +0 -8
- package/dist/api/policy.d.ts.map +0 -1
- package/dist/api/policy.js +0 -229
- package/dist/api/policy.js.map +0 -1
- package/dist/api/provider-env.d.ts +0 -26
- package/dist/api/provider-env.d.ts.map +0 -1
- package/dist/api/provider-env.js +0 -141
- package/dist/api/provider-env.js.map +0 -1
- package/dist/api/providers.d.ts +0 -7
- package/dist/api/providers.d.ts.map +0 -1
- package/dist/api/providers.js +0 -574
- package/dist/api/providers.js.map +0 -1
- package/dist/api/repos.d.ts +0 -8
- package/dist/api/repos.d.ts.map +0 -1
- package/dist/api/repos.js +0 -577
- package/dist/api/repos.js.map +0 -1
- package/dist/api/sessions.d.ts +0 -11
- package/dist/api/sessions.d.ts.map +0 -1
- package/dist/api/sessions.js +0 -302
- package/dist/api/sessions.js.map +0 -1
- package/dist/api/teams.d.ts +0 -7
- package/dist/api/teams.d.ts.map +0 -1
- package/dist/api/teams.js +0 -281
- package/dist/api/teams.js.map +0 -1
- package/dist/api/test-helpers.d.ts +0 -10
- package/dist/api/test-helpers.d.ts.map +0 -1
- package/dist/api/test-helpers.js +0 -745
- package/dist/api/test-helpers.js.map +0 -1
- package/dist/api/usage.d.ts +0 -7
- package/dist/api/usage.d.ts.map +0 -1
- package/dist/api/usage.js +0 -111
- package/dist/api/usage.js.map +0 -1
- package/dist/api/webhooks.d.ts +0 -8
- package/dist/api/webhooks.d.ts.map +0 -1
- package/dist/api/webhooks.js +0 -645
- package/dist/api/webhooks.js.map +0 -1
- package/dist/api/workspaces.d.ts +0 -25
- package/dist/api/workspaces.d.ts.map +0 -1
- package/dist/api/workspaces.js +0 -1799
- package/dist/api/workspaces.js.map +0 -1
- package/dist/billing/index.d.ts +0 -9
- package/dist/billing/index.d.ts.map +0 -1
- package/dist/billing/index.js +0 -9
- package/dist/billing/index.js.map +0 -1
- package/dist/billing/plans.d.ts +0 -39
- package/dist/billing/plans.d.ts.map +0 -1
- package/dist/billing/plans.js +0 -245
- package/dist/billing/plans.js.map +0 -1
- package/dist/billing/service.d.ts +0 -80
- package/dist/billing/service.d.ts.map +0 -1
- package/dist/billing/service.js +0 -388
- package/dist/billing/service.js.map +0 -1
- package/dist/billing/types.d.ts +0 -141
- package/dist/billing/types.d.ts.map +0 -1
- package/dist/billing/types.js +0 -7
- package/dist/billing/types.js.map +0 -1
- package/dist/config.d.ts +0 -5
- package/dist/config.d.ts.map +0 -1
- package/dist/config.js +0 -5
- package/dist/config.js.map +0 -1
- package/dist/db/bulk-ingest.d.ts +0 -89
- package/dist/db/bulk-ingest.d.ts.map +0 -1
- package/dist/db/bulk-ingest.js +0 -268
- package/dist/db/bulk-ingest.js.map +0 -1
- package/dist/db/drizzle.d.ts +0 -290
- package/dist/db/drizzle.d.ts.map +0 -1
- package/dist/db/drizzle.js +0 -1422
- package/dist/db/drizzle.js.map +0 -1
- package/dist/db/index.d.ts +0 -56
- package/dist/db/index.d.ts.map +0 -1
- package/dist/db/index.js +0 -70
- package/dist/db/index.js.map +0 -1
- package/dist/db/schema.d.ts +0 -5117
- package/dist/db/schema.d.ts.map +0 -1
- package/dist/db/schema.js +0 -656
- package/dist/db/schema.js.map +0 -1
- package/dist/provisioner/index.d.ts +0 -207
- package/dist/provisioner/index.d.ts.map +0 -1
- package/dist/provisioner/index.js +0 -2118
- package/dist/provisioner/index.js.map +0 -1
- package/dist/server.d.ts +0 -17
- package/dist/server.d.ts.map +0 -1
- package/dist/server.js +0 -2055
- package/dist/server.js.map +0 -1
- package/dist/services/auto-scaler.d.ts +0 -152
- package/dist/services/auto-scaler.d.ts.map +0 -1
- package/dist/services/auto-scaler.js +0 -439
- package/dist/services/auto-scaler.js.map +0 -1
- package/dist/services/capacity-manager.d.ts +0 -148
- package/dist/services/capacity-manager.d.ts.map +0 -1
- package/dist/services/capacity-manager.js +0 -449
- package/dist/services/capacity-manager.js.map +0 -1
- package/dist/services/ci-agent-spawner.d.ts +0 -49
- package/dist/services/ci-agent-spawner.d.ts.map +0 -1
- package/dist/services/ci-agent-spawner.js +0 -373
- package/dist/services/ci-agent-spawner.js.map +0 -1
- package/dist/services/cloud-message-bus.d.ts +0 -28
- package/dist/services/cloud-message-bus.d.ts.map +0 -1
- package/dist/services/cloud-message-bus.js +0 -19
- package/dist/services/cloud-message-bus.js.map +0 -1
- package/dist/services/compute-enforcement.d.ts +0 -57
- package/dist/services/compute-enforcement.d.ts.map +0 -1
- package/dist/services/compute-enforcement.js +0 -175
- package/dist/services/compute-enforcement.js.map +0 -1
- package/dist/services/coordinator.d.ts +0 -62
- package/dist/services/coordinator.d.ts.map +0 -1
- package/dist/services/coordinator.js +0 -389
- package/dist/services/coordinator.js.map +0 -1
- package/dist/services/index.d.ts +0 -17
- package/dist/services/index.d.ts.map +0 -1
- package/dist/services/index.js +0 -25
- package/dist/services/index.js.map +0 -1
- package/dist/services/intro-expiration.d.ts +0 -60
- package/dist/services/intro-expiration.d.ts.map +0 -1
- package/dist/services/intro-expiration.js +0 -252
- package/dist/services/intro-expiration.js.map +0 -1
- package/dist/services/mention-handler.d.ts +0 -65
- package/dist/services/mention-handler.d.ts.map +0 -1
- package/dist/services/mention-handler.js +0 -405
- package/dist/services/mention-handler.js.map +0 -1
- package/dist/services/nango.d.ts +0 -219
- package/dist/services/nango.d.ts.map +0 -1
- package/dist/services/nango.js +0 -424
- package/dist/services/nango.js.map +0 -1
- package/dist/services/persistence.d.ts +0 -131
- package/dist/services/persistence.d.ts.map +0 -1
- package/dist/services/persistence.js +0 -200
- package/dist/services/persistence.js.map +0 -1
- package/dist/services/planLimits.d.ts +0 -147
- package/dist/services/planLimits.d.ts.map +0 -1
- package/dist/services/planLimits.js +0 -335
- package/dist/services/planLimits.js.map +0 -1
- package/dist/services/presence-registry.d.ts +0 -56
- package/dist/services/presence-registry.d.ts.map +0 -1
- package/dist/services/presence-registry.js +0 -91
- package/dist/services/presence-registry.js.map +0 -1
- package/dist/services/scaling-orchestrator.d.ts +0 -159
- package/dist/services/scaling-orchestrator.d.ts.map +0 -1
- package/dist/services/scaling-orchestrator.js +0 -502
- package/dist/services/scaling-orchestrator.js.map +0 -1
- package/dist/services/scaling-policy.d.ts +0 -121
- package/dist/services/scaling-policy.d.ts.map +0 -1
- package/dist/services/scaling-policy.js +0 -415
- package/dist/services/scaling-policy.js.map +0 -1
- package/dist/services/ssh-security.d.ts +0 -31
- package/dist/services/ssh-security.d.ts.map +0 -1
- package/dist/services/ssh-security.js +0 -63
- package/dist/services/ssh-security.js.map +0 -1
- package/dist/services/workspace-keepalive.d.ts +0 -76
- package/dist/services/workspace-keepalive.d.ts.map +0 -1
- package/dist/services/workspace-keepalive.js +0 -234
- package/dist/services/workspace-keepalive.js.map +0 -1
- package/dist/shims/consensus.d.ts +0 -23
- package/dist/shims/consensus.d.ts.map +0 -1
- package/dist/shims/consensus.js +0 -5
- package/dist/shims/consensus.js.map +0 -1
- package/dist/webhooks/index.d.ts +0 -24
- package/dist/webhooks/index.d.ts.map +0 -1
- package/dist/webhooks/index.js +0 -29
- package/dist/webhooks/index.js.map +0 -1
- package/dist/webhooks/parsers/github.d.ts +0 -8
- package/dist/webhooks/parsers/github.d.ts.map +0 -1
- package/dist/webhooks/parsers/github.js +0 -234
- package/dist/webhooks/parsers/github.js.map +0 -1
- package/dist/webhooks/parsers/index.d.ts +0 -23
- package/dist/webhooks/parsers/index.d.ts.map +0 -1
- package/dist/webhooks/parsers/index.js +0 -30
- package/dist/webhooks/parsers/index.js.map +0 -1
- package/dist/webhooks/parsers/linear.d.ts +0 -9
- package/dist/webhooks/parsers/linear.d.ts.map +0 -1
- package/dist/webhooks/parsers/linear.js +0 -258
- package/dist/webhooks/parsers/linear.js.map +0 -1
- package/dist/webhooks/parsers/slack.d.ts +0 -9
- package/dist/webhooks/parsers/slack.d.ts.map +0 -1
- package/dist/webhooks/parsers/slack.js +0 -214
- package/dist/webhooks/parsers/slack.js.map +0 -1
- package/dist/webhooks/responders/github.d.ts +0 -8
- package/dist/webhooks/responders/github.d.ts.map +0 -1
- package/dist/webhooks/responders/github.js +0 -73
- package/dist/webhooks/responders/github.js.map +0 -1
- package/dist/webhooks/responders/index.d.ts +0 -23
- package/dist/webhooks/responders/index.d.ts.map +0 -1
- package/dist/webhooks/responders/index.js +0 -30
- package/dist/webhooks/responders/index.js.map +0 -1
- package/dist/webhooks/responders/linear.d.ts +0 -9
- package/dist/webhooks/responders/linear.d.ts.map +0 -1
- package/dist/webhooks/responders/linear.js +0 -149
- package/dist/webhooks/responders/linear.js.map +0 -1
- package/dist/webhooks/responders/slack.d.ts +0 -20
- package/dist/webhooks/responders/slack.d.ts.map +0 -1
- package/dist/webhooks/responders/slack.js +0 -178
- package/dist/webhooks/responders/slack.js.map +0 -1
- package/dist/webhooks/router.d.ts +0 -25
- package/dist/webhooks/router.d.ts.map +0 -1
- package/dist/webhooks/router.js +0 -504
- package/dist/webhooks/router.js.map +0 -1
- package/dist/webhooks/rules-engine.d.ts +0 -24
- package/dist/webhooks/rules-engine.d.ts.map +0 -1
- package/dist/webhooks/rules-engine.js +0 -287
- package/dist/webhooks/rules-engine.js.map +0 -1
- package/dist/webhooks/types.d.ts +0 -186
- package/dist/webhooks/types.d.ts.map +0 -1
- package/dist/webhooks/types.js +0 -8
- 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"}
|