cyrus-edge-worker 0.0.19 → 0.0.20

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.
@@ -1,4 +1,4 @@
1
- import { createServer } from 'http';
1
+ import { createServer, } from "node:http";
2
2
  /**
3
3
  * Shared webhook server that can handle multiple Linear tokens
4
4
  * Each token has its own webhook secret for signature verification
@@ -9,7 +9,7 @@ export class SharedWebhookServer {
9
9
  port;
10
10
  host;
11
11
  isListening = false;
12
- constructor(port = 3456, host = 'localhost') {
12
+ constructor(port = 3456, host = "localhost") {
13
13
  this.port = port;
14
14
  this.host = host;
15
15
  }
@@ -29,7 +29,7 @@ export class SharedWebhookServer {
29
29
  console.log(`🔗 Shared webhook server listening on http://${this.host}:${this.port}`);
30
30
  resolve();
31
31
  });
32
- this.server.on('error', (error) => {
32
+ this.server.on("error", (error) => {
33
33
  this.isListening = false;
34
34
  reject(error);
35
35
  });
@@ -43,7 +43,7 @@ export class SharedWebhookServer {
43
43
  return new Promise((resolve) => {
44
44
  this.server.close(() => {
45
45
  this.isListening = false;
46
- console.log('🔗 Shared webhook server stopped');
46
+ console.log("🔗 Shared webhook server stopped");
47
47
  resolve();
48
48
  });
49
49
  });
@@ -75,32 +75,32 @@ export class SharedWebhookServer {
75
75
  async handleWebhookRequest(req, res) {
76
76
  try {
77
77
  console.log(`🔗 Incoming webhook request: ${req.method} ${req.url}`);
78
- if (req.method !== 'POST') {
78
+ if (req.method !== "POST") {
79
79
  console.log(`🔗 Rejected non-POST request: ${req.method}`);
80
- res.writeHead(405, { 'Content-Type': 'text/plain' });
81
- res.end('Method Not Allowed');
80
+ res.writeHead(405, { "Content-Type": "text/plain" });
81
+ res.end("Method Not Allowed");
82
82
  return;
83
83
  }
84
- if (req.url !== '/webhook') {
84
+ if (req.url !== "/webhook") {
85
85
  console.log(`🔗 Rejected request to wrong URL: ${req.url}`);
86
- res.writeHead(404, { 'Content-Type': 'text/plain' });
87
- res.end('Not Found');
86
+ res.writeHead(404, { "Content-Type": "text/plain" });
87
+ res.end("Not Found");
88
88
  return;
89
89
  }
90
90
  // Read request body
91
- let body = '';
92
- req.on('data', chunk => {
91
+ let body = "";
92
+ req.on("data", (chunk) => {
93
93
  body += chunk.toString();
94
94
  });
95
- req.on('end', () => {
95
+ req.on("end", () => {
96
96
  try {
97
- const signature = req.headers['x-webhook-signature'];
98
- const timestamp = req.headers['x-webhook-timestamp'];
97
+ const signature = req.headers["x-webhook-signature"];
98
+ const timestamp = req.headers["x-webhook-timestamp"];
99
99
  console.log(`🔗 Webhook received with ${body.length} bytes, ${this.webhookHandlers.size} registered handlers`);
100
100
  if (!signature) {
101
- console.log('🔗 Webhook rejected: Missing signature header');
102
- res.writeHead(400, { 'Content-Type': 'text/plain' });
103
- res.end('Missing signature');
101
+ console.log("🔗 Webhook rejected: Missing signature header");
102
+ res.writeHead(400, { "Content-Type": "text/plain" });
103
+ res.end("Missing signature");
104
104
  return;
105
105
  }
106
106
  // Try each registered handler until one verifies the signature
@@ -110,8 +110,8 @@ export class SharedWebhookServer {
110
110
  try {
111
111
  if (handler(body, signature, timestamp)) {
112
112
  // Handler verified signature and processed webhook
113
- res.writeHead(200, { 'Content-Type': 'text/plain' });
114
- res.end('OK');
113
+ res.writeHead(200, { "Content-Type": "text/plain" });
114
+ res.end("OK");
115
115
  console.log(`🔗 Webhook delivered to token ending in ...${token.slice(-4)} (attempt ${handlerAttempts}/${this.webhookHandlers.size})`);
116
116
  return;
117
117
  }
@@ -122,25 +122,25 @@ export class SharedWebhookServer {
122
122
  }
123
123
  // No handler could verify the signature
124
124
  console.error(`🔗 Webhook signature verification failed for all ${this.webhookHandlers.size} registered handlers`);
125
- res.writeHead(401, { 'Content-Type': 'text/plain' });
126
- res.end('Unauthorized');
125
+ res.writeHead(401, { "Content-Type": "text/plain" });
126
+ res.end("Unauthorized");
127
127
  }
128
128
  catch (error) {
129
- console.error('🔗 Error processing webhook:', error);
130
- res.writeHead(400, { 'Content-Type': 'text/plain' });
131
- res.end('Bad Request');
129
+ console.error("🔗 Error processing webhook:", error);
130
+ res.writeHead(400, { "Content-Type": "text/plain" });
131
+ res.end("Bad Request");
132
132
  }
133
133
  });
134
- req.on('error', (error) => {
135
- console.error('🔗 Request error:', error);
136
- res.writeHead(500, { 'Content-Type': 'text/plain' });
137
- res.end('Internal Server Error');
134
+ req.on("error", (error) => {
135
+ console.error("🔗 Request error:", error);
136
+ res.writeHead(500, { "Content-Type": "text/plain" });
137
+ res.end("Internal Server Error");
138
138
  });
139
139
  }
140
140
  catch (error) {
141
- console.error('🔗 Webhook request error:', error);
142
- res.writeHead(500, { 'Content-Type': 'text/plain' });
143
- res.end('Internal Server Error');
141
+ console.error("🔗 Webhook request error:", error);
142
+ res.writeHead(500, { "Content-Type": "text/plain" });
143
+ res.end("Internal Server Error");
144
144
  }
145
145
  }
146
146
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SharedWebhookServer.js","sourceRoot":"","sources":["../src/SharedWebhookServer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SharedWebhookServer.js","sourceRoot":"","sources":["../src/SharedWebhookServer.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,9 +1,9 @@
1
- export { EdgeWorker } from './EdgeWorker.js';
2
- export { SharedApplicationServer } from './SharedApplicationServer.js';
3
- export { AgentSessionManager } from './AgentSessionManager.js';
4
- export type { EdgeWorkerConfig, EdgeWorkerEvents, RepositoryConfig } from './types.js';
5
- export type { OAuthCallbackHandler } from './SharedApplicationServer.js';
6
- export type { SDKMessage } from 'cyrus-claude-runner';
7
- export type { Workspace } from 'cyrus-core';
8
- export { getAllTools, readOnlyTools } from 'cyrus-claude-runner';
1
+ export type { SDKMessage } from "cyrus-claude-runner";
2
+ export { getAllTools, readOnlyTools } from "cyrus-claude-runner";
3
+ export type { Workspace } from "cyrus-core";
4
+ export { AgentSessionManager } from "./AgentSessionManager.js";
5
+ export { EdgeWorker } from "./EdgeWorker.js";
6
+ export type { OAuthCallbackHandler } from "./SharedApplicationServer.js";
7
+ export { SharedApplicationServer } from "./SharedApplicationServer.js";
8
+ export type { EdgeWorkerConfig, EdgeWorkerEvents, RepositoryConfig, } from "./types.js";
9
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAA;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC9D,YAAY,EACV,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,YAAY,CAAA;AACnB,YAAY,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAA;AAGxE,YAAY,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AACrD,YAAY,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAC3C,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,YAAY,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACjE,YAAY,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,YAAY,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,YAAY,EACX,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,GAChB,MAAM,YAAY,CAAC"}
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
- export { EdgeWorker } from './EdgeWorker.js';
2
- export { SharedApplicationServer } from './SharedApplicationServer.js';
3
- export { AgentSessionManager } from './AgentSessionManager.js';
4
- export { getAllTools, readOnlyTools } from 'cyrus-claude-runner';
1
+ export { getAllTools, readOnlyTools } from "cyrus-claude-runner";
2
+ export { AgentSessionManager } from "./AgentSessionManager.js";
3
+ export { EdgeWorker } from "./EdgeWorker.js";
4
+ export { SharedApplicationServer } from "./SharedApplicationServer.js";
5
5
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAA;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAW9D,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC"}
package/dist/types.d.ts CHANGED
@@ -1,7 +1,7 @@
1
- import type { Workspace } from 'cyrus-core';
2
- import type { Issue as LinearIssue } from '@linear/sdk';
3
- import type { SDKMessage } from 'cyrus-claude-runner';
4
- import type { OAuthCallbackHandler } from './SharedApplicationServer.js';
1
+ import type { Issue as LinearIssue } from "@linear/sdk";
2
+ import type { SDKMessage } from "cyrus-claude-runner";
3
+ import type { Workspace } from "cyrus-core";
4
+ import type { OAuthCallbackHandler } from "./SharedApplicationServer.js";
5
5
  /**
6
6
  * Configuration for a single repository/workspace pair
7
7
  */
@@ -58,13 +58,13 @@ export interface EdgeWorkerConfig {
58
58
  * Events emitted by EdgeWorker
59
59
  */
60
60
  export interface EdgeWorkerEvents {
61
- 'connected': (token: string) => void;
62
- 'disconnected': (token: string, reason?: string) => void;
63
- 'session:started': (issueId: string, issue: LinearIssue, repositoryId: string) => void;
64
- 'session:ended': (issueId: string, exitCode: number | null, repositoryId: string) => void;
65
- 'claude:message': (issueId: string, message: SDKMessage, repositoryId: string) => void;
66
- 'claude:response': (issueId: string, text: string, repositoryId: string) => void;
67
- 'claude:tool-use': (issueId: string, tool: string, input: any, repositoryId: string) => void;
68
- 'error': (error: Error, context?: any) => void;
61
+ connected: (token: string) => void;
62
+ disconnected: (token: string, reason?: string) => void;
63
+ "session:started": (issueId: string, issue: LinearIssue, repositoryId: string) => void;
64
+ "session:ended": (issueId: string, exitCode: number | null, repositoryId: string) => void;
65
+ "claude:message": (issueId: string, message: SDKMessage, repositoryId: string) => void;
66
+ "claude:response": (issueId: string, text: string, repositoryId: string) => void;
67
+ "claude:tool-use": (issueId: string, tool: string, input: any, repositoryId: string) => void;
68
+ error: (error: Error, context?: any) => void;
69
69
  }
70
70
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cyrus-edge-worker",
3
- "version": "0.0.19",
3
+ "version": "0.0.20",
4
4
  "description": "Unified edge worker for processing Linear issues with Claude",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -13,12 +13,12 @@
13
13
  "prompts"
14
14
  ],
15
15
  "dependencies": {
16
- "@linear/sdk": "^52.0.0",
16
+ "@linear/sdk": "^54.0.0",
17
17
  "@ngrok/ngrok": "^1.5.1",
18
18
  "file-type": "^18.7.0",
19
- "cyrus-core": "0.0.7",
20
- "cyrus-ndjson-client": "0.0.14",
21
- "cyrus-claude-runner": "0.0.14"
19
+ "cyrus-core": "0.0.8",
20
+ "cyrus-ndjson-client": "0.0.15",
21
+ "cyrus-claude-runner": "0.0.15"
22
22
  },
23
23
  "devDependencies": {
24
24
  "@types/node": "^20.0.0",