cyrus-linear-event-transport 0.2.49 → 0.2.51
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.
|
@@ -12,8 +12,9 @@ export declare interface LinearEventTransport {
|
|
|
12
12
|
* This class implements IAgentEventTransport to provide a platform-agnostic
|
|
13
13
|
* interface for handling Linear webhooks with Linear-specific verification.
|
|
14
14
|
*
|
|
15
|
-
* It registers a POST /webhook endpoint with a Fastify server
|
|
16
|
-
*
|
|
15
|
+
* It registers a POST /linear-webhook endpoint with a Fastify server, plus
|
|
16
|
+
* a POST /webhook alias retained for backward compatibility (deprecated).
|
|
17
|
+
* Incoming webhooks are verified using either:
|
|
17
18
|
* 1. "direct" mode: Verifies Linear's webhook signature
|
|
18
19
|
* 2. "proxy" mode: Verifies Bearer token authentication
|
|
19
20
|
*
|
|
@@ -32,7 +33,8 @@ export declare class LinearEventTransport extends EventEmitter implements IAgent
|
|
|
32
33
|
*/
|
|
33
34
|
setTranslationContext(context: TranslationContext): void;
|
|
34
35
|
/**
|
|
35
|
-
* Register the /webhook endpoint
|
|
36
|
+
* Register the /linear-webhook endpoint (plus the deprecated /webhook alias)
|
|
37
|
+
* with the Fastify server.
|
|
36
38
|
*/
|
|
37
39
|
register(): void;
|
|
38
40
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LinearEventTransport.d.ts","sourceRoot":"","sources":["../src/LinearEventTransport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAK3C,OAAO,KAAK,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAC3E,OAAO,EAAgB,KAAK,OAAO,EAAsB,MAAM,YAAY,CAAC;AAG5E,OAAO,KAAK,EACX,0BAA0B,EAC1B,0BAA0B,EAC1B,MAAM,YAAY,CAAC;AAEpB,MAAM,CAAC,OAAO,WAAW,oBAAoB;IAC5C,EAAE,CAAC,CAAC,SAAS,MAAM,0BAA0B,EAC5C,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,0BAA0B,CAAC,CAAC,CAAC,GACrC,IAAI,CAAC;IACR,IAAI,CAAC,CAAC,SAAS,MAAM,0BAA0B,EAC9C,KAAK,EAAE,CAAC,EACR,GAAG,IAAI,EAAE,UAAU,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC,GAChD,OAAO,CAAC;CACX;AAED
|
|
1
|
+
{"version":3,"file":"LinearEventTransport.d.ts","sourceRoot":"","sources":["../src/LinearEventTransport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAK3C,OAAO,KAAK,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAC3E,OAAO,EAAgB,KAAK,OAAO,EAAsB,MAAM,YAAY,CAAC;AAG5E,OAAO,KAAK,EACX,0BAA0B,EAC1B,0BAA0B,EAC1B,MAAM,YAAY,CAAC;AAEpB,MAAM,CAAC,OAAO,WAAW,oBAAoB;IAC5C,EAAE,CAAC,CAAC,SAAS,MAAM,0BAA0B,EAC5C,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,0BAA0B,CAAC,CAAC,CAAC,GACrC,IAAI,CAAC;IACR,IAAI,CAAC,CAAC,SAAS,MAAM,0BAA0B,EAC9C,KAAK,EAAE,CAAC,EACR,GAAG,IAAI,EAAE,UAAU,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC,GAChD,OAAO,CAAC;CACX;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,oBACZ,SAAQ,YACR,YAAW,oBAAoB;IAE/B,OAAO,CAAC,MAAM,CAA6B;IAC3C,OAAO,CAAC,mBAAmB,CAAoC;IAC/D,OAAO,CAAC,MAAM,CAAU;IACxB,OAAO,CAAC,iBAAiB,CAA0B;IACnD,OAAO,CAAC,kBAAkB,CAAqB;gBAG9C,MAAM,EAAE,0BAA0B,EAClC,MAAM,CAAC,EAAE,OAAO,EAChB,kBAAkB,CAAC,EAAE,kBAAkB;IAcxC;;;OAGG;IACH,qBAAqB,CAAC,OAAO,EAAE,kBAAkB,GAAG,IAAI;IAIxD;;;OAGG;IACH,QAAQ,IAAI,IAAI;IA8ChB;;OAEG;YACW,mBAAmB;IAgEjC;;OAEG;YACW,kBAAkB;IAuChC;;;OAGG;IACH,OAAO,CAAC,WAAW;CAYnB"}
|
|
@@ -8,8 +8,9 @@ import { LinearMessageTranslator } from "./LinearMessageTranslator.js";
|
|
|
8
8
|
* This class implements IAgentEventTransport to provide a platform-agnostic
|
|
9
9
|
* interface for handling Linear webhooks with Linear-specific verification.
|
|
10
10
|
*
|
|
11
|
-
* It registers a POST /webhook endpoint with a Fastify server
|
|
12
|
-
*
|
|
11
|
+
* It registers a POST /linear-webhook endpoint with a Fastify server, plus
|
|
12
|
+
* a POST /webhook alias retained for backward compatibility (deprecated).
|
|
13
|
+
* Incoming webhooks are verified using either:
|
|
13
14
|
* 1. "direct" mode: Verifies Linear's webhook signature
|
|
14
15
|
* 2. "proxy" mode: Verifies Bearer token authentication
|
|
15
16
|
*
|
|
@@ -40,10 +41,11 @@ export class LinearEventTransport extends EventEmitter {
|
|
|
40
41
|
this.translationContext = { ...this.translationContext, ...context };
|
|
41
42
|
}
|
|
42
43
|
/**
|
|
43
|
-
* Register the /webhook endpoint
|
|
44
|
+
* Register the /linear-webhook endpoint (plus the deprecated /webhook alias)
|
|
45
|
+
* with the Fastify server.
|
|
44
46
|
*/
|
|
45
47
|
register() {
|
|
46
|
-
|
|
48
|
+
const handler = async (request, reply) => {
|
|
47
49
|
try {
|
|
48
50
|
// Verify based on mode
|
|
49
51
|
if (this.config.verificationMode === "direct") {
|
|
@@ -62,8 +64,19 @@ export class LinearEventTransport extends EventEmitter {
|
|
|
62
64
|
this.emit("error", err);
|
|
63
65
|
reply.code(500).send({ error: "Internal server error" });
|
|
64
66
|
}
|
|
67
|
+
};
|
|
68
|
+
this.config.fastifyServer.post("/linear-webhook", handler);
|
|
69
|
+
// Deprecated alias — retained so existing Linear webhook configurations
|
|
70
|
+
// continue to deliver while users migrate to /linear-webhook.
|
|
71
|
+
let deprecationWarned = false;
|
|
72
|
+
this.config.fastifyServer.post("/webhook", async (request, reply) => {
|
|
73
|
+
if (!deprecationWarned) {
|
|
74
|
+
deprecationWarned = true;
|
|
75
|
+
this.logger.warn("POST /webhook is deprecated; update your Linear webhook URL to use /linear-webhook");
|
|
76
|
+
}
|
|
77
|
+
await handler(request, reply);
|
|
65
78
|
});
|
|
66
|
-
this.logger.info(`Registered POST /webhook endpoint (${this.config.verificationMode} mode)`);
|
|
79
|
+
this.logger.info(`Registered POST /linear-webhook endpoint (${this.config.verificationMode} mode); POST /webhook retained as deprecated alias`);
|
|
67
80
|
}
|
|
68
81
|
/**
|
|
69
82
|
* Handle webhook in direct mode using Linear's signature verification
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LinearEventTransport.js","sourceRoot":"","sources":["../src/LinearEventTransport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EACN,mBAAmB,GAEnB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,YAAY,EAAgB,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAE5E,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAiBvE
|
|
1
|
+
{"version":3,"file":"LinearEventTransport.js","sourceRoot":"","sources":["../src/LinearEventTransport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EACN,mBAAmB,GAEnB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,YAAY,EAAgB,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAE5E,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAiBvE;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,oBACZ,SAAQ,YAAY;IAGZ,MAAM,CAA6B;IACnC,mBAAmB,GAA+B,IAAI,CAAC;IACvD,MAAM,CAAU;IAChB,iBAAiB,CAA0B;IAC3C,kBAAkB,CAAqB;IAE/C,YACC,MAAkC,EAClC,MAAgB,EAChB,kBAAuC;QAEvC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,YAAY,CAAC,EAAE,SAAS,EAAE,sBAAsB,EAAE,CAAC,CAAC;QAC5E,IAAI,CAAC,iBAAiB,GAAG,IAAI,uBAAuB,EAAE,CAAC;QACvD,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,IAAI,EAAE,CAAC;QAEnD,mDAAmD;QACnD,IAAI,MAAM,CAAC,gBAAgB,KAAK,QAAQ,EAAE,CAAC;YAC1C,IAAI,CAAC,mBAAmB,GAAG,IAAI,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACnE,CAAC;IACF,CAAC;IAED;;;OAGG;IACH,qBAAqB,CAAC,OAA2B;QAChD,IAAI,CAAC,kBAAkB,GAAG,EAAE,GAAG,IAAI,CAAC,kBAAkB,EAAE,GAAG,OAAO,EAAE,CAAC;IACtE,CAAC;IAED;;;OAGG;IACH,QAAQ;QACP,MAAM,OAAO,GAAG,KAAK,EACpB,OAAuB,EACvB,KAAmB,EACH,EAAE;YAClB,IAAI,CAAC;gBACJ,uBAAuB;gBACvB,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,KAAK,QAAQ,EAAE,CAAC;oBAC/C,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBAChD,CAAC;qBAAM,CAAC;oBACP,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBAC/C,CAAC;YACF,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;gBACvC,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;oBAC5B,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC;gBACnB,CAAC;gBACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;gBACxC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;gBACxB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC,CAAC;YAC1D,CAAC;QACF,CAAC,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;QAE3D,wEAAwE;QACxE,8DAA8D;QAC9D,IAAI,iBAAiB,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAC7B,UAAU,EACV,KAAK,EAAE,OAAuB,EAAE,KAAmB,EAAE,EAAE;YACtD,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACxB,iBAAiB,GAAG,IAAI,CAAC;gBACzB,IAAI,CAAC,MAAM,CAAC,IAAI,CACf,oFAAoF,CACpF,CAAC;YACH,CAAC;YACD,MAAM,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC/B,CAAC,CACD,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,IAAI,CACf,6CAA6C,IAAI,CAAC,MAAM,CAAC,gBAAgB,oDAAoD,CAC7H,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,mBAAmB,CAChC,OAAuB,EACvB,KAAmB;QAEnB,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC/B,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,uCAAuC,EAAE,CAAC,CAAC;YACzE,OAAO;QACR,CAAC;QAED,wDAAwD;QACxD,IACC,IAAI,CAAC,MAAM,CAAC,WAAW;YACvB,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;YAClC,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,EACvD,CAAC;YACF,IAAI,CAAC,MAAM,CAAC,IAAI,CACf,iDAAiD,OAAO,CAAC,EAAE,EAAE,CAC7D,CAAC;YACF,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,mCAAmC,EAAE,CAAC,CAAC;YACrE,OAAO;QACR,CAAC;QAED,oCAAoC;QACpC,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAW,CAAC;QAChE,IAAI,CAAC,SAAS,EAAE,CAAC;YAChB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,iCAAiC,EAAE,CAAC,CAAC;YACnE,OAAO;QACR,CAAC;QAED,IAAI,CAAC;YACJ,6EAA6E;YAC7E,8EAA8E;YAC9E,sEAAsE;YACtE,MAAM,OAAO,GAAI,OAAgD,CAAC,OAAO,CAAC;YAC1E,MAAM,UAAU,GAAG,OAAO;gBACzB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;gBACtB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;YAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;YAEvE,IAAI,CAAC,OAAO,EAAE,CAAC;gBACd,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,2BAA2B,EAAE,CAAC,CAAC;gBAC7D,OAAO;YACR,CAAC;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,IAA4B,CAAC;YAErD,6DAA6D;YAC7D,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAE5B,kDAAkD;YAClD,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YAE1B,wBAAwB;YACxB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACzC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;YAC5D,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;gBAC5B,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oCAAoC,EAAE,GAAG,CAAC,CAAC;YAC7D,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,2BAA2B,EAAE,CAAC,CAAC;QAC9D,CAAC;IACF,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,kBAAkB,CAC/B,OAAuB,EACvB,KAAmB;QAEnB,2BAA2B;QAC3B,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC;QACjD,IAAI,CAAC,UAAU,EAAE,CAAC;YACjB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,8BAA8B,EAAE,CAAC,CAAC;YAChE,OAAO;QACR,CAAC;QAED,sBAAsB;QACtB,MAAM,YAAY,GAAG,UAAU,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACpD,IAAI,UAAU,KAAK,YAAY,EAAE,CAAC;YACjC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,6BAA6B,EAAE,CAAC,CAAC;YAC/D,OAAO;QACR,CAAC;QAED,IAAI,CAAC;YACJ,MAAM,OAAO,GAAG,OAAO,CAAC,IAA4B,CAAC;YAErD,6DAA6D;YAC7D,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAE5B,kDAAkD;YAClD,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YAE1B,wBAAwB;YACxB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACzC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;YACzD,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;gBAC5B,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iCAAiC,EAAE,GAAG,CAAC,CAAC;YAC1D,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,2BAA2B,EAAE,CAAC,CAAC;QAC9D,CAAC;IACF,CAAC;IAED;;;OAGG;IACK,WAAW,CAAC,OAA6B;QAChD,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAC9C,OAAO,EACP,IAAI,CAAC,kBAAkB,CACvB,CAAC;QAEF,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QACtC,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QACpE,CAAC;IACF,CAAC;CACD"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "cyrus-linear-event-transport",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.51",
|
|
4
4
|
"description": "Linear event transport for receiving and verifying Linear webhooks",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@linear/sdk": "^64.0.0",
|
|
13
13
|
"fastify": "^5.8.5",
|
|
14
|
-
"cyrus-core": "0.2.
|
|
14
|
+
"cyrus-core": "0.2.51"
|
|
15
15
|
},
|
|
16
16
|
"devDependencies": {
|
|
17
17
|
"@types/node": "^20.0.0",
|