cyrus-edge-worker 0.0.1 → 0.0.2

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.
@@ -43,61 +43,88 @@ export declare class EdgeWorker extends EventEmitter {
43
43
  */
44
44
  private hasExistingLogs;
45
45
  /**
46
- * Handle webhook events from proxy
46
+ * Handle webhook events from proxy - now accepts native webhook payloads
47
47
  */
48
48
  private handleWebhook;
49
49
  /**
50
- * Handle Agent API notifications
50
+ * Handle issue assignment webhook
51
51
  */
52
- private handleAgentNotification;
52
+ private handleIssueAssignedWebhook;
53
53
  /**
54
- * Handle legacy webhook format
54
+ * Handle issue comment mention webhook
55
55
  */
56
- private handleLegacyWebhook;
56
+ private handleIssueCommentMentionWebhook;
57
57
  /**
58
- * Find the repository configuration for a webhook
58
+ * Handle issue new comment webhook
59
59
  */
60
- private findRepositoryForWebhook;
60
+ private handleIssueNewCommentWebhook;
61
+ /**
62
+ * Handle issue unassignment webhook
63
+ */
64
+ private handleIssueUnassignedWebhook;
61
65
  /**
62
- * Extract workspace ID from webhook data
66
+ * Find the repository configuration for a webhook
63
67
  */
64
- private extractWorkspaceId;
68
+ private findRepositoryForWebhook;
65
69
  /**
66
70
  * Handle issue assignment
71
+ * @param issue Linear issue object from webhook data (contains full Linear SDK properties)
72
+ * @param repository Repository configuration
67
73
  */
68
74
  private handleIssueAssigned;
75
+ private handleIssueAssignedWithFullIssue;
69
76
  /**
70
77
  * Handle new comment on issue
78
+ * @param issue Linear issue object from webhook data
79
+ * @param comment Linear comment object from webhook data
80
+ * @param repository Repository configuration
71
81
  */
72
82
  private handleNewComment;
73
83
  /**
74
84
  * Handle issue unassignment
85
+ * @param issue Linear issue object from webhook data
86
+ * @param repository Repository configuration
75
87
  */
76
88
  private handleIssueUnassigned;
77
89
  /**
78
- * Handle Claude events
90
+ * Handle Claude messages
91
+ */
92
+ private handleClaudeMessage;
93
+ /**
94
+ * Handle Claude session completion (successful)
79
95
  */
80
- private handleClaudeEvent;
96
+ private handleClaudeComplete;
81
97
  /**
82
- * Handle Claude process exit
98
+ * Handle Claude session error
83
99
  */
84
- private handleClaudeExit;
100
+ private handleClaudeError;
85
101
  /**
86
102
  * Handle token limit by restarting session
87
103
  */
88
104
  private handleTokenLimit;
105
+ /**
106
+ * Fetch complete issue details from Linear API
107
+ */
108
+ private fetchFullIssueDetails;
109
+ /**
110
+ * Convert full Linear SDK issue to CoreIssue interface for Session creation
111
+ */
112
+ private convertLinearIssueToCore;
89
113
  /**
90
114
  * Build initial prompt for issue
115
+ * @param issue Linear issue object from webhook data
116
+ * @param repository Repository configuration
117
+ * @param attachmentManifest Generated attachment manifest text
91
118
  */
92
119
  private buildInitialPrompt;
93
120
  /**
94
- * Extract text content from Claude event
121
+ * Sanitize branch name by removing backticks to prevent command injection
95
122
  */
96
- private extractTextContent;
123
+ private sanitizeBranchName;
97
124
  /**
98
- * Report status back to proxy
125
+ * Extract text content from Claude message
99
126
  */
100
- private reportStatus;
127
+ private extractTextContent;
101
128
  /**
102
129
  * Get connection status
103
130
  */
@@ -106,6 +133,12 @@ export declare class EdgeWorker extends EventEmitter {
106
133
  * Get active sessions
107
134
  */
108
135
  getActiveSessions(): string[];
136
+ /**
137
+ * Move issue to started state when assigned
138
+ * @param issue Full Linear issue object from Linear SDK
139
+ * @param repositoryId Repository ID for Linear client lookup
140
+ */
141
+ private moveIssueToStartedState;
109
142
  /**
110
143
  * Post initial comment when assigned to issue
111
144
  */
@@ -128,6 +161,9 @@ export declare class EdgeWorker extends EventEmitter {
128
161
  private extractAttachmentUrls;
129
162
  /**
130
163
  * Download attachments from Linear issue
164
+ * @param issue Linear issue object from webhook data
165
+ * @param repository Repository configuration
166
+ * @param workspacePath Path to workspace directory
131
167
  */
132
168
  private downloadIssueAttachments;
133
169
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"EdgeWorker.d.ts","sourceRoot":"","sources":["../src/EdgeWorker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AAKrC,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAoB,MAAM,YAAY,CAAA;AAUtF,MAAM,CAAC,OAAO,WAAW,UAAU;IACjC,EAAE,CAAC,CAAC,SAAS,MAAM,gBAAgB,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;IACnF,IAAI,CAAC,CAAC,SAAS,MAAM,gBAAgB,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAA;CACpG;AAED;;GAEG;AACH,qBAAa,UAAW,SAAQ,YAAY;IAC1C,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,YAAY,CAA2C;IAC/D,OAAO,CAAC,aAAa,CAAuC;IAC5D,OAAO,CAAC,aAAa,CAAuC;IAC5D,OAAO,CAAC,cAAc,CAAgB;IACtC,OAAO,CAAC,aAAa,CAAuC;IAC5D,OAAO,CAAC,aAAa,CAAiC;IACtD,OAAO,CAAC,gBAAgB,CAAiC;IACzD,OAAO,CAAC,mBAAmB,CAAmE;gBAElF,MAAM,EAAE,gBAAgB;IAiDpC;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ5B;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAmB3B;;OAEG;IACH,OAAO,CAAC,aAAa;IAKrB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAKxB;;OAEG;IACH,OAAO,CAAC,WAAW;IAKnB;;OAEG;YACW,eAAe;IAkB7B;;OAEG;YACW,aAAa;IAoC3B;;OAEG;YACW,uBAAuB;IAuBrC;;OAEG;YACW,mBAAmB;IAUjC;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAOhC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAS1B;;OAEG;YACW,mBAAmB;IA4EjC;;OAEG;YACW,gBAAgB;IAmJ9B;;OAEG;YACW,qBAAqB;IAmCnC;;OAEG;YACW,iBAAiB;IAuD/B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAOxB;;OAEG;YACW,gBAAgB;IAkB9B;;OAEG;YACW,kBAAkB;IAsFhC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAoB1B;;OAEG;YACW,YAAY;IAW1B;;OAEG;IACH,mBAAmB,IAAI,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAQ3C;;OAEG;IACH,iBAAiB,IAAI,MAAM,EAAE;IAI7B;;OAEG;YACW,kBAAkB;IA+BhC;;OAEG;YACW,WAAW;IAwCzB;;OAEG;YACW,sBAAsB;IA6BpC;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAS9B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAW7B;;OAEG;YACW,wBAAwB;IAmHtC;;OAEG;YACW,kBAAkB;IAmDhC;;OAEG;IACH,OAAO,CAAC,0BAA0B;CA4DnC"}
1
+ {"version":3,"file":"EdgeWorker.d.ts","sourceRoot":"","sources":["../src/EdgeWorker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AAqBrC,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAoB,MAAM,YAAY,CAAA;AAStF,MAAM,CAAC,OAAO,WAAW,UAAU;IACjC,EAAE,CAAC,CAAC,SAAS,MAAM,gBAAgB,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;IACnF,IAAI,CAAC,CAAC,SAAS,MAAM,gBAAgB,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAA;CACpG;AAED;;GAEG;AACH,qBAAa,UAAW,SAAQ,YAAY;IAC1C,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,YAAY,CAA2C;IAC/D,OAAO,CAAC,aAAa,CAAuC;IAC5D,OAAO,CAAC,aAAa,CAAuC;IAC5D,OAAO,CAAC,cAAc,CAAgB;IACtC,OAAO,CAAC,aAAa,CAAuC;IAC5D,OAAO,CAAC,aAAa,CAAiC;IACtD,OAAO,CAAC,gBAAgB,CAAiC;IACzD,OAAO,CAAC,mBAAmB,CAAmE;gBAElF,MAAM,EAAE,gBAAgB;IAiDpC;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ5B;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAmB3B;;OAEG;IACH,OAAO,CAAC,aAAa;IAKrB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAKxB;;OAEG;IACH,OAAO,CAAC,WAAW;IAKnB;;OAEG;YACW,eAAe;IAkB7B;;OAEG;YACW,aAAa;IA4B3B;;OAEG;YACW,0BAA0B;IAKxC;;OAEG;YACW,gCAAgC;IAK9C;;OAEG;YACW,4BAA4B;IAK1C;;OAEG;YACW,4BAA4B;IAW1C;;OAEG;IACH,OAAO,CAAC,wBAAwB;IA2BhC;;;;OAIG;YACW,mBAAmB;YAanB,gCAAgC;IA4E9C;;;;;OAKG;YACW,gBAAgB;IAuJ9B;;;;OAIG;YACW,qBAAqB;IAkDnC;;OAEG;YACW,mBAAmB;IA0DjC;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAQ5B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IASzB;;OAEG;YACW,gBAAgB;IAuB9B;;OAEG;YACW,qBAAqB;IAkBnC;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAahC;;;;;OAKG;YACW,kBAAkB;IA+GhC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAI1B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAuB1B;;OAEG;IACH,mBAAmB,IAAI,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAQ3C;;OAEG;IACH,iBAAiB,IAAI,MAAM,EAAE;IAI7B;;;;OAIG;YACW,uBAAuB;IAuDrC;;OAEG;YACW,kBAAkB;IA+BhC;;OAEG;YACW,WAAW;IAwCzB;;OAEG;YACW,sBAAsB;IA6BpC;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAS9B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAW7B;;;;;OAKG;YACW,wBAAwB;IAmHtC;;OAEG;YACW,kBAAkB;IAmDhC;;OAEG;IACH,OAAO,CAAC,0BAA0B;CA4DnC"}
@@ -3,6 +3,7 @@ import { LinearClient } from '@linear/sdk';
3
3
  import { NdjsonClient } from 'cyrus-ndjson-client';
4
4
  import { ClaudeRunner, getSafeTools } from 'cyrus-claude-runner';
5
5
  import { SessionManager, Session } from 'cyrus-core';
6
+ import { isIssueAssignedWebhook, isIssueCommentMentionWebhook, isIssueNewCommentWebhook, isIssueUnassignedWebhook } from 'cyrus-core';
6
7
  import { readFile, writeFile, mkdir, rename, readdir } from 'fs/promises';
7
8
  import { resolve, dirname, join, basename, extname } from 'path';
8
9
  import { fileURLToPath } from 'url';
@@ -52,7 +53,7 @@ export class EdgeWorker extends EventEmitter {
52
53
  onDisconnect: (reason) => this.handleDisconnect(token, reason),
53
54
  onError: (error) => this.handleError(error)
54
55
  });
55
- // Set up webhook handler
56
+ // Set up webhook handler - data should be the native webhook payload
56
57
  ndjsonClient.on('webhook', (data) => this.handleWebhook(data, repos));
57
58
  // Optional heartbeat logging
58
59
  if (process.env.DEBUG_EDGE === 'true') {
@@ -77,7 +78,7 @@ export class EdgeWorker extends EventEmitter {
77
78
  async stop() {
78
79
  // Kill all Claude processes
79
80
  for (const [, runner] of this.claudeRunners) {
80
- runner.kill();
81
+ runner.stop();
81
82
  }
82
83
  this.claudeRunners.clear();
83
84
  // Clear all sessions
@@ -131,114 +132,128 @@ export class EdgeWorker extends EventEmitter {
131
132
  }
132
133
  }
133
134
  /**
134
- * Handle webhook events from proxy
135
+ * Handle webhook events from proxy - now accepts native webhook payloads
135
136
  */
136
- async handleWebhook(data, repos) {
137
+ async handleWebhook(webhook, repos) {
137
138
  // Find the appropriate repository for this webhook
138
- const repository = this.findRepositoryForWebhook(data, repos);
139
+ const repository = this.findRepositoryForWebhook(webhook, repos);
139
140
  if (!repository) {
140
- console.log('No repository configured for webhook from workspace', this.extractWorkspaceId(data));
141
+ console.log('No repository configured for webhook from workspace', webhook.organizationId);
141
142
  return;
142
143
  }
143
144
  try {
144
- // Check for Agent notifications
145
- if (data.type === 'AppUserNotification') {
146
- await this.handleAgentNotification(data, repository);
145
+ // Handle specific webhook types with proper typing
146
+ if (isIssueAssignedWebhook(webhook)) {
147
+ await this.handleIssueAssignedWebhook(webhook, repository);
148
+ }
149
+ else if (isIssueCommentMentionWebhook(webhook)) {
150
+ await this.handleIssueCommentMentionWebhook(webhook, repository);
151
+ }
152
+ else if (isIssueNewCommentWebhook(webhook)) {
153
+ await this.handleIssueNewCommentWebhook(webhook, repository);
154
+ }
155
+ else if (isIssueUnassignedWebhook(webhook)) {
156
+ await this.handleIssueUnassignedWebhook(webhook, repository);
147
157
  }
148
158
  else {
149
- // Handle legacy webhook format
150
- await this.handleLegacyWebhook(data, repository);
151
- }
152
- // Report success if we have an event ID
153
- if ('eventId' in data && data.eventId) {
154
- await this.reportStatus({
155
- eventId: data.eventId,
156
- status: 'completed'
157
- });
159
+ console.log(`Unhandled webhook type: ${webhook.action}`);
158
160
  }
159
161
  }
160
162
  catch (error) {
161
- // Report failure
162
- if ('eventId' in data && data.eventId) {
163
- await this.reportStatus({
164
- eventId: data.eventId,
165
- status: 'failed',
166
- error: error instanceof Error ? error.message : 'Unknown error'
167
- });
168
- }
163
+ console.error(`[EdgeWorker] Failed to process webhook: ${webhook.action}`, error);
169
164
  throw error;
170
165
  }
171
166
  }
172
167
  /**
173
- * Handle Agent API notifications
168
+ * Handle issue assignment webhook
174
169
  */
175
- async handleAgentNotification(data, repository) {
176
- const notification = data.notification;
177
- switch (notification?.type) {
178
- case 'issueAssignedToYou':
179
- await this.handleIssueAssigned(notification.issue, repository);
180
- break;
181
- case 'issueCommentMention':
182
- case 'issueCommentReply':
183
- case 'issueNewComment':
184
- await this.handleNewComment(notification.issue, notification.comment, repository);
185
- break;
186
- case 'issueUnassignedFromYou':
187
- await this.handleIssueUnassigned(notification.issue, repository);
188
- break;
189
- default:
190
- console.log(`Unhandled notification type: ${notification?.type}`);
191
- }
170
+ async handleIssueAssignedWebhook(webhook, repository) {
171
+ console.log(`[EdgeWorker] Handling issue assignment: ${webhook.notification.issue.identifier}`);
172
+ await this.handleIssueAssigned(webhook.notification.issue, repository);
192
173
  }
193
174
  /**
194
- * Handle legacy webhook format
175
+ * Handle issue comment mention webhook
195
176
  */
196
- async handleLegacyWebhook(data, repository) {
197
- if (data.type === 'Comment' && data.action === 'create') {
198
- const issue = data.data?.issue;
199
- const comment = data.data;
200
- if (issue && comment) {
201
- await this.handleNewComment(issue, comment, repository);
202
- }
203
- }
177
+ async handleIssueCommentMentionWebhook(webhook, repository) {
178
+ console.log(`[EdgeWorker] Handling comment mention: ${webhook.notification.issue.identifier}`);
179
+ await this.handleNewComment(webhook.notification.issue, webhook.notification.comment, repository);
204
180
  }
205
181
  /**
206
- * Find the repository configuration for a webhook
182
+ * Handle issue new comment webhook
207
183
  */
208
- findRepositoryForWebhook(data, repos) {
209
- const workspaceId = this.extractWorkspaceId(data);
210
- if (!workspaceId)
211
- return repos[0] || null; // Fallback to first repo if no workspace ID
212
- return repos.find(repo => repo.linearWorkspaceId === workspaceId) || null;
184
+ async handleIssueNewCommentWebhook(webhook, repository) {
185
+ console.log(`[EdgeWorker] Handling new comment: ${webhook.notification.issue.identifier}`);
186
+ await this.handleNewComment(webhook.notification.issue, webhook.notification.comment, repository);
213
187
  }
214
188
  /**
215
- * Extract workspace ID from webhook data
189
+ * Handle issue unassignment webhook
216
190
  */
217
- extractWorkspaceId(data) {
218
- // Try different locations where workspace ID might be
219
- return data.organizationId ||
220
- data.workspaceId ||
221
- data.data?.workspaceId ||
222
- data.notification?.issue?.team?.id ||
223
- null;
191
+ async handleIssueUnassignedWebhook(webhook, repository) {
192
+ console.log(`[EdgeWorker] Handling issue unassignment: ${webhook.notification.issue.identifier}`);
193
+ // Log the complete webhook payload for TypeScript type definition
194
+ // console.log('=== ISSUE UNASSIGNMENT WEBHOOK PAYLOAD ===')
195
+ // console.log(JSON.stringify(webhook, null, 2))
196
+ // console.log('=== END WEBHOOK PAYLOAD ===')
197
+ await this.handleIssueUnassigned(webhook.notification.issue, repository);
198
+ }
199
+ /**
200
+ * Find the repository configuration for a webhook
201
+ */
202
+ findRepositoryForWebhook(webhook, repos) {
203
+ const workspaceId = webhook.organizationId;
204
+ if (!workspaceId)
205
+ return repos[0] || null; // Fallback to first repo if no workspace ID
206
+ // Try team-based routing first
207
+ const teamKey = webhook.notification?.issue?.team?.key;
208
+ if (teamKey) {
209
+ const repo = repos.find(r => r.teamKeys && r.teamKeys.includes(teamKey));
210
+ if (repo)
211
+ return repo;
212
+ }
213
+ // Try parsing issue identifier as fallback
214
+ const issueId = webhook.notification?.issue?.identifier;
215
+ if (issueId && issueId.includes('-')) {
216
+ const prefix = issueId.split('-')[0];
217
+ if (prefix) {
218
+ const repo = repos.find(r => r.teamKeys && r.teamKeys.includes(prefix));
219
+ if (repo)
220
+ return repo;
221
+ }
222
+ }
223
+ // Original workspace fallback - find first repo without teamKeys or matching workspace
224
+ return repos.find(repo => repo.linearWorkspaceId === workspaceId && (!repo.teamKeys || repo.teamKeys.length === 0)) || repos.find(repo => repo.linearWorkspaceId === workspaceId) || null;
224
225
  }
225
226
  /**
226
227
  * Handle issue assignment
228
+ * @param issue Linear issue object from webhook data (contains full Linear SDK properties)
229
+ * @param repository Repository configuration
227
230
  */
228
231
  async handleIssueAssigned(issue, repository) {
229
232
  console.log(`[EdgeWorker] handleIssueAssigned started for issue ${issue.identifier} (${issue.id})`);
233
+ // Fetch full Linear issue details immediately
234
+ const fullIssue = await this.fetchFullIssueDetails(issue.id, repository.id);
235
+ if (!fullIssue) {
236
+ throw new Error(`Failed to fetch full issue details for ${issue.id}`);
237
+ }
238
+ console.log(`[EdgeWorker] Fetched full issue details for ${issue.identifier}`);
239
+ await this.handleIssueAssignedWithFullIssue(fullIssue, repository);
240
+ }
241
+ async handleIssueAssignedWithFullIssue(fullIssue, repository) {
242
+ console.log(`[EdgeWorker] handleIssueAssignedWithFullIssue started for issue ${fullIssue.identifier} (${fullIssue.id})`);
243
+ // Move issue to started state automatically
244
+ await this.moveIssueToStartedState(fullIssue, repository.id);
230
245
  // Post initial comment immediately
231
- const initialComment = await this.postInitialComment(issue.id, repository.id);
232
- // Create workspace
246
+ const initialComment = await this.postInitialComment(fullIssue.id, repository.id);
247
+ // Create workspace using full issue data
233
248
  const workspace = this.config.handlers?.createWorkspace
234
- ? await this.config.handlers.createWorkspace(issue, repository)
249
+ ? await this.config.handlers.createWorkspace(fullIssue, repository)
235
250
  : {
236
- path: `${repository.workspaceBaseDir}/${issue.identifier}`,
251
+ path: `${repository.workspaceBaseDir}/${fullIssue.identifier}`,
237
252
  isGitWorktree: false
238
253
  };
239
254
  console.log(`[EdgeWorker] Workspace created at: ${workspace.path}`);
240
255
  // Download attachments before creating Claude runner
241
- const attachmentResult = await this.downloadIssueAttachments(issue, repository, workspace.path);
256
+ const attachmentResult = await this.downloadIssueAttachments(fullIssue, repository, workspace.path);
242
257
  // Build allowed directories list
243
258
  const allowedDirectories = [];
244
259
  if (attachmentResult.attachmentsDir) {
@@ -246,50 +261,51 @@ export class EdgeWorker extends EventEmitter {
246
261
  }
247
262
  // Create Claude runner with attachment directory access
248
263
  const runner = new ClaudeRunner({
249
- claudePath: this.config.claudePath,
250
264
  workingDirectory: workspace.path,
251
265
  allowedTools: repository.allowedTools || this.config.defaultAllowedTools || getSafeTools(),
252
266
  allowedDirectories,
253
- workspaceName: issue.identifier,
254
- onEvent: (event) => this.handleClaudeEvent(issue.id, event, repository.id),
255
- onExit: (code) => this.handleClaudeExit(issue.id, code, repository.id)
267
+ workspaceName: fullIssue.identifier,
268
+ mcpConfigPath: repository.mcpConfigPath,
269
+ onMessage: (message) => this.handleClaudeMessage(fullIssue.id, message, repository.id),
270
+ onComplete: (messages) => this.handleClaudeComplete(fullIssue.id, messages, repository.id),
271
+ onError: (error) => this.handleClaudeError(fullIssue.id, error, repository.id)
256
272
  });
257
273
  // Store runner
258
- this.claudeRunners.set(issue.id, runner);
259
- // Spawn Claude process
260
- const processInfo = runner.spawn();
261
- // Create session
274
+ this.claudeRunners.set(fullIssue.id, runner);
275
+ // Create session using full Linear issue (convert LinearIssue to CoreIssue)
262
276
  const session = new Session({
263
- issue,
277
+ issue: this.convertLinearIssueToCore(fullIssue),
264
278
  workspace,
265
- process: processInfo.process,
266
- startedAt: processInfo.startedAt
279
+ startedAt: new Date()
267
280
  });
268
281
  // Store initial comment ID if we have one
269
282
  if (initialComment?.id) {
270
- this.issueToCommentId.set(issue.id, initialComment.id);
283
+ this.issueToCommentId.set(fullIssue.id, initialComment.id);
271
284
  }
272
- this.sessionManager.addSession(issue.id, session);
273
- this.sessionToRepo.set(issue.id, repository.id);
274
- // Emit events
275
- this.emit('session:started', issue.id, issue, repository.id);
276
- this.config.handlers?.onSessionStart?.(issue.id, issue, repository.id);
277
- // Build and send initial prompt with attachment manifest
278
- console.log(`[EdgeWorker] Building initial prompt for issue ${issue.identifier}`);
285
+ this.sessionManager.addSession(fullIssue.id, session);
286
+ this.sessionToRepo.set(fullIssue.id, repository.id);
287
+ // Emit events using full Linear issue
288
+ this.emit('session:started', fullIssue.id, fullIssue, repository.id);
289
+ this.config.handlers?.onSessionStart?.(fullIssue.id, fullIssue, repository.id);
290
+ // Build and start Claude with initial prompt using full issue
291
+ console.log(`[EdgeWorker] Building initial prompt for issue ${fullIssue.identifier}`);
279
292
  try {
280
- const prompt = await this.buildInitialPrompt(issue, repository, attachmentResult.manifest);
293
+ const prompt = await this.buildInitialPrompt(fullIssue, repository, attachmentResult.manifest);
281
294
  console.log(`[EdgeWorker] Initial prompt built successfully, length: ${prompt.length} characters`);
282
- console.log(`[EdgeWorker] Sending initial prompt to Claude runner`);
283
- await runner.sendInitialPrompt(prompt);
284
- console.log(`[EdgeWorker] Initial prompt sent successfully`);
295
+ console.log(`[EdgeWorker] Starting Claude session`);
296
+ const sessionInfo = await runner.start(prompt);
297
+ console.log(`[EdgeWorker] Claude session started: ${sessionInfo.sessionId}`);
285
298
  }
286
299
  catch (error) {
287
- console.error(`[EdgeWorker] Error in prompt building/sending:`, error);
300
+ console.error(`[EdgeWorker] Error in prompt building/starting:`, error);
288
301
  throw error;
289
302
  }
290
303
  }
291
304
  /**
292
305
  * Handle new comment on issue
306
+ * @param issue Linear issue object from webhook data
307
+ * @param comment Linear comment object from webhook data
308
+ * @param repository Repository configuration
293
309
  */
294
310
  async handleNewComment(issue, comment, repository) {
295
311
  // Check if continuation is enabled
@@ -297,6 +313,11 @@ export class EdgeWorker extends EventEmitter {
297
313
  console.log('Continuation not enabled, ignoring comment');
298
314
  return;
299
315
  }
316
+ // Fetch full Linear issue details
317
+ const fullIssue = await this.fetchFullIssueDetails(issue.id, repository.id);
318
+ if (!fullIssue) {
319
+ throw new Error(`Failed to fetch full issue details for ${issue.id}`);
320
+ }
300
321
  // The webhook doesn't include parentId, so we need to fetch the full comment
301
322
  let replyParentId = comment.id; // Default to treating it as root
302
323
  try {
@@ -351,14 +372,14 @@ export class EdgeWorker extends EventEmitter {
351
372
  console.log(`Found existing logs for ${issue.identifier}, creating session for continuation`);
352
373
  // Create workspace (or get existing one)
353
374
  const workspace = this.config.handlers?.createWorkspace
354
- ? await this.config.handlers.createWorkspace(issue, repository)
375
+ ? await this.config.handlers.createWorkspace(fullIssue, repository)
355
376
  : {
356
- path: `${repository.workspaceBaseDir}/${issue.identifier}`,
377
+ path: `${repository.workspaceBaseDir}/${fullIssue.identifier}`,
357
378
  isGitWorktree: false
358
379
  };
359
- // Create session without spawning Claude yet
380
+ // Create session without spawning Claude yet (use full Linear issue)
360
381
  session = new Session({
361
- issue,
382
+ issue: this.convertLinearIssueToCore(fullIssue),
362
383
  workspace,
363
384
  process: null,
364
385
  startedAt: new Date()
@@ -369,25 +390,25 @@ export class EdgeWorker extends EventEmitter {
369
390
  // Kill existing Claude process if running
370
391
  const existingRunner = this.claudeRunners.get(issue.id);
371
392
  if (existingRunner) {
372
- existingRunner.kill();
393
+ existingRunner.stop();
373
394
  }
374
395
  try {
375
396
  // Create new runner with --continue flag
376
397
  const runner = new ClaudeRunner({
377
- claudePath: this.config.claudePath,
378
398
  workingDirectory: session.workspace.path,
379
399
  allowedTools: repository.allowedTools || this.config.defaultAllowedTools || getSafeTools(),
380
400
  continueSession: true,
381
401
  workspaceName: issue.identifier,
382
- onEvent: (event) => {
402
+ mcpConfigPath: repository.mcpConfigPath,
403
+ onMessage: (message) => {
383
404
  // Check for continuation errors
384
- if (event.type === 'assistant' && 'message' in event && event.message?.content) {
385
- const content = Array.isArray(event.message.content) ? event.message.content : [event.message.content];
405
+ if (message.type === 'assistant' && 'message' in message && message.message?.content) {
406
+ const content = Array.isArray(message.message.content) ? message.message.content : [message.message.content];
386
407
  for (const item of content) {
387
408
  if (item?.type === 'text' && item.text?.includes('tool_use` ids were found without `tool_result` blocks')) {
388
409
  console.log('Detected corrupted conversation history, will restart fresh');
389
410
  // Kill this runner
390
- runner.kill();
411
+ runner.stop();
391
412
  // Remove from map
392
413
  this.claudeRunners.delete(issue.id);
393
414
  // Start fresh
@@ -396,16 +417,15 @@ export class EdgeWorker extends EventEmitter {
396
417
  }
397
418
  }
398
419
  }
399
- this.handleClaudeEvent(issue.id, event, repository.id);
420
+ this.handleClaudeMessage(issue.id, message, repository.id);
400
421
  },
401
- onExit: (code) => this.handleClaudeExit(issue.id, code, repository.id)
422
+ onComplete: (messages) => this.handleClaudeComplete(issue.id, messages, repository.id),
423
+ onError: (error) => this.handleClaudeError(issue.id, error, repository.id)
402
424
  });
403
425
  // Store new runner
404
426
  this.claudeRunners.set(issue.id, runner);
405
- // Spawn new process
406
- runner.spawn();
407
- // Send comment as input
408
- await runner.sendInput(comment.body || comment.text || '');
427
+ // Start continuation session with the comment as prompt
428
+ await runner.start(comment.body || '');
409
429
  }
410
430
  catch (error) {
411
431
  console.error('Failed to continue conversation, starting fresh:', error);
@@ -418,20 +438,32 @@ export class EdgeWorker extends EventEmitter {
418
438
  }
419
439
  /**
420
440
  * Handle issue unassignment
441
+ * @param issue Linear issue object from webhook data
442
+ * @param repository Repository configuration
421
443
  */
422
444
  async handleIssueUnassigned(issue, repository) {
423
445
  // Check if there's an active session for this issue
424
446
  const session = this.sessionManager.getSession(issue.id);
425
- const initialCommentId = this.issueToCommentId.get(issue.id);
426
447
  // Post farewell comment if there's an active session
427
- if (session && initialCommentId) {
428
- await this.postComment(issue.id, "I've been unassigned and am stopping work now.", repository.id, initialCommentId // Post as reply to initial comment
429
- );
448
+ if (session) {
449
+ // Use the same threading logic as regular replies
450
+ const replyContext = this.issueToReplyContext.get(issue.id);
451
+ if (replyContext) {
452
+ // Reply using the same context as regular comments (handles threading correctly)
453
+ await this.postComment(issue.id, "I've been unassigned and am stopping work now.", repository.id, replyContext.parentId);
454
+ // Clear the reply context after using it
455
+ this.issueToReplyContext.delete(issue.id);
456
+ }
457
+ else {
458
+ // Fall back to replying to initial comment (for direct assignments)
459
+ const initialCommentId = this.issueToCommentId.get(issue.id);
460
+ await this.postComment(issue.id, "I've been unassigned and am stopping work now.", repository.id, initialCommentId);
461
+ }
430
462
  }
431
463
  // Kill Claude process
432
464
  const runner = this.claudeRunners.get(issue.id);
433
465
  if (runner) {
434
- runner.kill();
466
+ runner.stop();
435
467
  this.claudeRunners.delete(issue.id);
436
468
  }
437
469
  // Remove session
@@ -445,22 +477,22 @@ export class EdgeWorker extends EventEmitter {
445
477
  this.config.handlers?.onSessionEnd?.(issue.id, null, repoId || repository.id);
446
478
  }
447
479
  /**
448
- * Handle Claude events
480
+ * Handle Claude messages
449
481
  */
450
- async handleClaudeEvent(issueId, event, repositoryId) {
451
- // Emit generic event
452
- this.emit('claude:event', issueId, event, repositoryId);
453
- this.config.handlers?.onClaudeEvent?.(issueId, event, repositoryId);
454
- // Handle specific events
455
- if (event.type === 'assistant') {
456
- const content = this.extractTextContent(event);
482
+ async handleClaudeMessage(issueId, message, repositoryId) {
483
+ // Emit generic message event
484
+ this.emit('claude:message', issueId, message, repositoryId);
485
+ this.config.handlers?.onClaudeMessage?.(issueId, message, repositoryId);
486
+ // Handle specific messages
487
+ if (message.type === 'assistant') {
488
+ const content = this.extractTextContent(message);
457
489
  if (content) {
458
490
  this.emit('claude:response', issueId, content, repositoryId);
459
491
  // Don't post assistant messages anymore - wait for result
460
492
  }
461
493
  // Also check for tool use in assistant messages
462
- if ('message' in event && event.message && 'content' in event.message) {
463
- const messageContent = Array.isArray(event.message.content) ? event.message.content : [event.message.content];
494
+ if ('message' in message && message.message && 'content' in message.message) {
495
+ const messageContent = Array.isArray(message.message.content) ? message.message.content : [message.message.content];
464
496
  for (const item of messageContent) {
465
497
  if (item && typeof item === 'object' && 'type' in item && item.type === 'tool_use') {
466
498
  this.emit('claude:tool-use', issueId, item.name, item.input, repositoryId);
@@ -473,41 +505,55 @@ export class EdgeWorker extends EventEmitter {
473
505
  }
474
506
  }
475
507
  }
476
- else if (event.type === 'result' && 'result' in event && event.result) {
477
- // Post the final result to Linear
478
- // Check if we have reply context (from a comment mention)
479
- const replyContext = this.issueToReplyContext.get(issueId);
480
- if (replyContext) {
481
- // Reply to the comment that mentioned us, using appropriate parentId
482
- await this.postComment(issueId, event.result, repositoryId, replyContext.parentId);
483
- // Clear the reply context after using it
484
- this.issueToReplyContext.delete(issueId);
485
- }
486
- else {
487
- // Fall back to replying to initial comment (for direct assignments)
488
- const initialCommentId = this.issueToCommentId.get(issueId);
489
- await this.postComment(issueId, event.result, repositoryId, initialCommentId);
508
+ else if (message.type === 'result') {
509
+ if (message.subtype === 'success' && 'result' in message && message.result) {
510
+ // Post the successful result to Linear
511
+ // Check if we have reply context (from a comment mention)
512
+ const replyContext = this.issueToReplyContext.get(issueId);
513
+ if (replyContext) {
514
+ // Reply to the comment that mentioned us, using appropriate parentId
515
+ await this.postComment(issueId, message.result, repositoryId, replyContext.parentId);
516
+ // Clear the reply context after using it
517
+ this.issueToReplyContext.delete(issueId);
518
+ }
519
+ else {
520
+ // Fall back to replying to initial comment (for direct assignments)
521
+ const initialCommentId = this.issueToCommentId.get(issueId);
522
+ await this.postComment(issueId, message.result, repositoryId, initialCommentId);
523
+ }
490
524
  }
491
- }
492
- else if (event.type === 'error' || event.type === 'tool_error') {
493
- const errorMessage = 'message' in event ? event.message : 'error' in event ? event.error : 'Unknown error';
494
- this.handleError(new Error(`Claude error: ${errorMessage}`));
495
- }
496
- // Handle token limit
497
- if (this.config.features?.enableTokenLimitHandling && event.type === 'error') {
498
- if ('message' in event && event.message?.includes('token')) {
499
- await this.handleTokenLimit(issueId, repositoryId);
525
+ else if (message.subtype === 'error_max_turns' || message.subtype === 'error_during_execution') {
526
+ // Handle error results
527
+ const errorMessage = message.subtype === 'error_max_turns'
528
+ ? 'Maximum turns reached'
529
+ : 'Error during execution';
530
+ this.handleError(new Error(`Claude error: ${errorMessage}`));
531
+ // Handle token limit specifically for max turns error
532
+ if (this.config.features?.enableTokenLimitHandling && message.subtype === 'error_max_turns') {
533
+ await this.handleTokenLimit(issueId, repositoryId);
534
+ }
500
535
  }
501
536
  }
502
537
  }
503
538
  /**
504
- * Handle Claude process exit
539
+ * Handle Claude session completion (successful)
505
540
  */
506
- handleClaudeExit(issueId, code, repositoryId) {
541
+ handleClaudeComplete(issueId, messages, repositoryId) {
542
+ console.log(`[EdgeWorker] Claude session completed for issue ${issueId} with ${messages.length} messages`);
507
543
  this.claudeRunners.delete(issueId);
508
544
  this.sessionToRepo.delete(issueId);
509
- this.emit('session:ended', issueId, code, repositoryId);
510
- this.config.handlers?.onSessionEnd?.(issueId, code, repositoryId);
545
+ this.emit('session:ended', issueId, 0, repositoryId); // 0 indicates success
546
+ this.config.handlers?.onSessionEnd?.(issueId, 0, repositoryId);
547
+ }
548
+ /**
549
+ * Handle Claude session error
550
+ */
551
+ handleClaudeError(issueId, error, repositoryId) {
552
+ console.error(`[EdgeWorker] Claude session error for issue ${issueId}:`, error);
553
+ this.claudeRunners.delete(issueId);
554
+ this.sessionToRepo.delete(issueId);
555
+ this.emit('session:ended', issueId, 1, repositoryId); // 1 indicates error
556
+ this.config.handlers?.onSessionEnd?.(issueId, 1, repositoryId);
511
557
  }
512
558
  /**
513
559
  * Handle token limit by restarting session
@@ -521,14 +567,56 @@ export class EdgeWorker extends EventEmitter {
521
567
  return;
522
568
  // Post warning to Linear
523
569
  await this.postComment(issueId, '[System] Token limit reached. Starting fresh session with issue context.', repositoryId);
524
- // Restart session
525
- await this.handleIssueAssigned(session.issue, repository);
570
+ // Fetch fresh LinearIssue data and restart session
571
+ const linearIssue = await this.fetchFullIssueDetails(issueId, repositoryId);
572
+ if (!linearIssue) {
573
+ throw new Error(`Failed to fetch full issue details for ${issueId}`);
574
+ }
575
+ await this.handleIssueAssignedWithFullIssue(linearIssue, repository);
576
+ }
577
+ /**
578
+ * Fetch complete issue details from Linear API
579
+ */
580
+ async fetchFullIssueDetails(issueId, repositoryId) {
581
+ const linearClient = this.linearClients.get(repositoryId);
582
+ if (!linearClient) {
583
+ console.warn(`[EdgeWorker] No Linear client found for repository ${repositoryId}`);
584
+ return null;
585
+ }
586
+ try {
587
+ console.log(`[EdgeWorker] Fetching full issue details for ${issueId}`);
588
+ const fullIssue = await linearClient.issue(issueId);
589
+ console.log(`[EdgeWorker] Successfully fetched issue details for ${issueId}`);
590
+ return fullIssue;
591
+ }
592
+ catch (error) {
593
+ console.error(`[EdgeWorker] Failed to fetch full issue details for ${issueId}:`, error);
594
+ return null;
595
+ }
596
+ }
597
+ /**
598
+ * Convert full Linear SDK issue to CoreIssue interface for Session creation
599
+ */
600
+ convertLinearIssueToCore(issue) {
601
+ return {
602
+ id: issue.id,
603
+ identifier: issue.identifier,
604
+ title: issue.title || '',
605
+ description: issue.description || undefined,
606
+ getBranchName() {
607
+ return issue.branchName; // Use the real branchName property!
608
+ }
609
+ };
526
610
  }
527
611
  /**
528
612
  * Build initial prompt for issue
613
+ * @param issue Linear issue object from webhook data
614
+ * @param repository Repository configuration
615
+ * @param attachmentManifest Generated attachment manifest text
529
616
  */
530
617
  async buildInitialPrompt(issue, repository, attachmentManifest = '') {
531
618
  console.log(`[EdgeWorker] buildInitialPrompt called for issue ${issue.identifier}`);
619
+ // No need for enhancedIssue anymore - we already have the full Linear issue!
532
620
  try {
533
621
  // Use custom template if provided (repository-specific takes precedence)
534
622
  let templatePath = repository.promptTemplatePath || this.config.features?.promptTemplatePath;
@@ -542,32 +630,49 @@ export class EdgeWorker extends EventEmitter {
542
630
  console.log(`[EdgeWorker] Loading prompt template from: ${templatePath}`);
543
631
  const template = await readFile(templatePath, 'utf-8');
544
632
  console.log(`[EdgeWorker] Template loaded, length: ${template.length} characters`);
633
+ // Get state name from Linear API
634
+ const state = await issue.state;
635
+ const stateName = state?.name || 'Unknown';
636
+ console.log(`[EdgeWorker] Issue description: ${issue.description ? 'present' : 'missing'}`);
637
+ console.log(`[EdgeWorker] Issue state: ${stateName}`);
638
+ console.log(`[EdgeWorker] Issue priority: ${issue.priority || 'none'}`);
639
+ console.log(`[EdgeWorker] Issue branchName: ${issue.branchName}`);
545
640
  // Get comment history
546
641
  const linearClient = this.linearClients.get(repository.id);
547
642
  let commentHistory = '';
548
643
  let latestComment = '';
549
644
  if (linearClient && issue.id) {
550
645
  try {
646
+ console.log(`[EdgeWorker] Fetching comments for issue ${issue.identifier}`);
551
647
  const comments = await linearClient.comments({
552
648
  filter: { issue: { id: { eq: issue.id } } }
553
649
  });
554
650
  const commentNodes = await comments.nodes;
555
651
  if (commentNodes.length > 0) {
556
- commentHistory = commentNodes.map((comment, index) => `Comment ${index + 1} by ${comment.user?.name || 'Unknown'} at ${comment.createdAt}:\n${comment.body}`).join('\n\n');
652
+ // Resolve user information for each comment
653
+ const commentPromises = commentNodes.map(async (comment, index) => {
654
+ const user = await comment.user;
655
+ const authorName = user?.displayName || user?.name || user?.email || 'Unknown';
656
+ const createdAt = new Date(comment.createdAt).toLocaleString();
657
+ return `Comment ${index + 1} by ${authorName} at ${createdAt}:\n${comment.body}`;
658
+ });
659
+ const resolvedComments = await Promise.all(commentPromises);
660
+ commentHistory = resolvedComments.join('\n\n');
557
661
  latestComment = commentNodes[commentNodes.length - 1]?.body || '';
662
+ console.log(`[EdgeWorker] Processed ${commentNodes.length} comments for issue ${issue.identifier}`);
558
663
  }
559
664
  }
560
665
  catch (error) {
561
666
  console.error('Failed to fetch comments:', error);
562
667
  }
563
668
  }
564
- // Replace template variables
669
+ // Replace template variables using the full Linear issue
565
670
  const prompt = template
566
671
  .replace(/{{repository_name}}/g, repository.name)
567
672
  .replace(/{{issue_id}}/g, issue.id || issue.identifier || '')
568
673
  .replace(/{{issue_title}}/g, issue.title || '')
569
674
  .replace(/{{issue_description}}/g, issue.description || 'No description provided')
570
- .replace(/{{issue_state}}/g, issue.state?.name || 'Unknown')
675
+ .replace(/{{issue_state}}/g, stateName)
571
676
  .replace(/{{issue_priority}}/g, issue.priority?.toString() || 'None')
572
677
  .replace(/{{issue_url}}/g, issue.url || '')
573
678
  .replace(/{{comment_history}}/g, commentHistory || 'No comments yet')
@@ -575,7 +680,7 @@ export class EdgeWorker extends EventEmitter {
575
680
  .replace(/{{working_directory}}/g, this.config.handlers?.createWorkspace ?
576
681
  'Will be created based on issue' : repository.repositoryPath)
577
682
  .replace(/{{base_branch}}/g, repository.baseBranch)
578
- .replace(/{{branch_name}}/g, issue.branchName || `${issue.identifier}-${issue.title?.toLowerCase().replace(/\s+/g, '-').substring(0, 30)}`);
683
+ .replace(/{{branch_name}}/g, this.sanitizeBranchName(issue.branchName));
579
684
  // Append attachment manifest if provided
580
685
  if (attachmentManifest) {
581
686
  console.log(`[EdgeWorker] Adding attachment manifest, length: ${attachmentManifest.length} characters`);
@@ -588,13 +693,18 @@ export class EdgeWorker extends EventEmitter {
588
693
  }
589
694
  catch (error) {
590
695
  console.error('[EdgeWorker] Failed to load prompt template:', error);
591
- // Fallback to simple prompt
696
+ // Fallback to simple prompt using the full Linear issue
697
+ const state = await issue.state;
698
+ const stateName = state?.name || 'Unknown';
592
699
  return `Please help me with the following Linear issue:
593
700
 
594
701
  Repository: ${repository.name}
595
702
  Issue: ${issue.identifier}
596
703
  Title: ${issue.title}
597
704
  Description: ${issue.description || 'No description provided'}
705
+ State: ${stateName}
706
+ Priority: ${issue.priority?.toString() || 'None'}
707
+ Branch: ${issue.branchName}
598
708
 
599
709
  Working directory: ${repository.repositoryPath}
600
710
  Base branch: ${repository.baseBranch}
@@ -603,34 +713,34 @@ Please analyze this issue and help implement a solution.`;
603
713
  }
604
714
  }
605
715
  /**
606
- * Extract text content from Claude event
716
+ * Sanitize branch name by removing backticks to prevent command injection
607
717
  */
608
- extractTextContent(event) {
609
- if (event.type !== 'assistant')
718
+ sanitizeBranchName(name) {
719
+ return name ? name.replace(/`/g, '') : name;
720
+ }
721
+ /**
722
+ * Extract text content from Claude message
723
+ */
724
+ extractTextContent(sdkMessage) {
725
+ if (sdkMessage.type !== 'assistant')
610
726
  return null;
611
- const message = event.message;
727
+ const message = sdkMessage.message;
612
728
  if (!message?.content)
613
729
  return null;
614
730
  if (typeof message.content === 'string') {
615
731
  return message.content;
616
732
  }
617
733
  if (Array.isArray(message.content)) {
618
- return message.content
619
- .filter((block) => block.type === 'text')
620
- .map((block) => block.text)
621
- .join('');
734
+ const textBlocks = [];
735
+ for (const block of message.content) {
736
+ if (typeof block === 'object' && block !== null && 'type' in block && block.type === 'text' && 'text' in block) {
737
+ textBlocks.push(block.text);
738
+ }
739
+ }
740
+ return textBlocks.join('');
622
741
  }
623
742
  return null;
624
743
  }
625
- /**
626
- * Report status back to proxy
627
- */
628
- async reportStatus(update) {
629
- // Find which client to use based on the event ID
630
- // For now, send to all clients (they'll ignore if not their event)
631
- const promises = Array.from(this.ndjsonClients.values()).map(client => client.sendStatus(update).catch(err => console.error('Failed to send status update:', err)));
632
- await Promise.all(promises);
633
- }
634
744
  /**
635
745
  * Get connection status
636
746
  */
@@ -647,6 +757,57 @@ Please analyze this issue and help implement a solution.`;
647
757
  getActiveSessions() {
648
758
  return Array.from(this.sessionManager.getAllSessions().keys());
649
759
  }
760
+ /**
761
+ * Move issue to started state when assigned
762
+ * @param issue Full Linear issue object from Linear SDK
763
+ * @param repositoryId Repository ID for Linear client lookup
764
+ */
765
+ async moveIssueToStartedState(issue, repositoryId) {
766
+ try {
767
+ const linearClient = this.linearClients.get(repositoryId);
768
+ if (!linearClient) {
769
+ console.warn(`No Linear client found for repository ${repositoryId}, skipping state update`);
770
+ return;
771
+ }
772
+ // Check if issue is already in a started state
773
+ const currentState = await issue.state;
774
+ if (currentState?.type === 'started') {
775
+ console.log(`Issue ${issue.identifier} is already in started state (${currentState.name})`);
776
+ return;
777
+ }
778
+ // Get team for the issue
779
+ const team = await issue.team;
780
+ if (!team) {
781
+ console.warn(`No team found for issue ${issue.identifier}, skipping state update`);
782
+ return;
783
+ }
784
+ // Get available workflow states for the issue's team
785
+ const teamStates = await linearClient.workflowStates({
786
+ filter: { team: { id: { eq: team.id } } }
787
+ });
788
+ const states = await teamStates.nodes;
789
+ // Find the first state with type 'started'
790
+ const startedState = states.find((state) => state.type === 'started');
791
+ if (!startedState) {
792
+ console.warn(`No 'started' state found for team ${team.name || 'unknown'}, skipping state update`);
793
+ return;
794
+ }
795
+ // Update the issue state
796
+ console.log(`Moving issue ${issue.identifier} to started state: ${startedState.name}`);
797
+ if (!issue.id) {
798
+ console.warn(`Issue ${issue.identifier} has no ID, skipping state update`);
799
+ return;
800
+ }
801
+ await linearClient.updateIssue(issue.id, {
802
+ stateId: startedState.id
803
+ });
804
+ console.log(`✅ Successfully moved issue ${issue.identifier} to ${startedState.name} state`);
805
+ }
806
+ catch (error) {
807
+ console.error(`Failed to move issue ${issue.identifier} to started state:`, error);
808
+ // Don't throw - we don't want to fail the entire assignment process due to state update failure
809
+ }
810
+ }
650
811
  /**
651
812
  * Post initial comment when assigned to issue
652
813
  */
@@ -771,6 +932,9 @@ Please analyze this issue and help implement a solution.`;
771
932
  }
772
933
  /**
773
934
  * Download attachments from Linear issue
935
+ * @param issue Linear issue object from webhook data
936
+ * @param repository Repository configuration
937
+ * @param workspacePath Path to workspace directory
774
938
  */
775
939
  async downloadIssueAttachments(issue, repository, workspacePath) {
776
940
  try {
@@ -787,7 +951,7 @@ Please analyze this issue and help implement a solution.`;
787
951
  // Ensure directory exists
788
952
  await mkdir(attachmentsDir, { recursive: true });
789
953
  // Extract URLs from issue description
790
- const descriptionUrls = this.extractAttachmentUrls(issue.description);
954
+ const descriptionUrls = this.extractAttachmentUrls(issue.description || '');
791
955
  // Extract URLs from comments if available
792
956
  const commentUrls = [];
793
957
  const linearClient = this.linearClients.get(repository.id);
@@ -1 +1 @@
1
- {"version":3,"file":"EdgeWorker.js","sourceRoot":"","sources":["../src/EdgeWorker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EdgeWorker.js","sourceRoot":"","sources":["../src/EdgeWorker.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  export { EdgeWorker } from './EdgeWorker.js';
2
- export type { EdgeWorkerConfig, EdgeWorkerEvents, IssueAssignedWebhook, CommentCreatedWebhook } from './types.js';
3
- export type { ClaudeEvent } from 'cyrus-claude-parser';
2
+ export type { EdgeWorkerConfig, EdgeWorkerEvents } from './types.js';
3
+ export type { SDKMessage } from 'cyrus-claude-runner';
4
4
  export type { Issue, Workspace, Session } from 'cyrus-core';
5
5
  export { getAllTools, readOnlyTools } from 'cyrus-claude-runner';
6
6
  //# 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,YAAY,EACV,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,EACpB,qBAAqB,EACtB,MAAM,YAAY,CAAA;AAGnB,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACtD,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAC3D,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,YAAY,EACV,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,YAAY,CAAA;AAGnB,YAAY,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AACrD,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAC3D,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA"}
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;AAW5C,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAS5C,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA"}
package/dist/types.d.ts CHANGED
@@ -1,5 +1,6 @@
1
- import type { Issue, Workspace } from 'cyrus-core';
2
- import type { ClaudeEvent } from 'cyrus-claude-parser';
1
+ import type { Workspace } from 'cyrus-core';
2
+ import type { Issue as LinearIssue } from '@linear/sdk';
3
+ import type { SDKMessage } from 'cyrus-claude-runner';
3
4
  /**
4
5
  * Configuration for a single repository/workspace pair
5
6
  */
@@ -10,23 +11,24 @@ export interface RepositoryConfig {
10
11
  baseBranch: string;
11
12
  linearWorkspaceId: string;
12
13
  linearToken: string;
14
+ teamKeys?: string[];
13
15
  workspaceBaseDir: string;
14
16
  isActive?: boolean;
15
17
  promptTemplatePath?: string;
16
18
  allowedTools?: string[];
19
+ mcpConfigPath?: string;
17
20
  }
18
21
  /**
19
22
  * Configuration for the EdgeWorker supporting multiple repositories
20
23
  */
21
24
  export interface EdgeWorkerConfig {
22
25
  proxyUrl: string;
23
- claudePath: string;
24
26
  defaultAllowedTools?: string[];
25
27
  repositories: RepositoryConfig[];
26
28
  handlers?: {
27
- createWorkspace?: (issue: Issue, repository: RepositoryConfig) => Promise<Workspace>;
28
- onClaudeEvent?: (issueId: string, event: ClaudeEvent, repositoryId: string) => void;
29
- onSessionStart?: (issueId: string, issue: Issue, repositoryId: string) => void;
29
+ createWorkspace?: (issue: LinearIssue, repository: RepositoryConfig) => Promise<Workspace>;
30
+ onClaudeMessage?: (issueId: string, message: SDKMessage, repositoryId: string) => void;
31
+ onSessionStart?: (issueId: string, issue: LinearIssue, repositoryId: string) => void;
30
32
  onSessionEnd?: (issueId: string, exitCode: number | null, repositoryId: string) => void;
31
33
  onError?: (error: Error, context?: any) => void;
32
34
  };
@@ -37,47 +39,15 @@ export interface EdgeWorkerConfig {
37
39
  promptTemplatePath?: string;
38
40
  };
39
41
  }
40
- /**
41
- * Webhook types we handle
42
- */
43
- export interface IssueAssignedWebhook {
44
- type: 'webhook';
45
- id: string;
46
- timestamp: string;
47
- data: {
48
- type: 'AppUserNotification';
49
- notification: {
50
- type: 'issueAssignedToYou';
51
- issue: any;
52
- };
53
- createdAt: string;
54
- eventId?: string;
55
- };
56
- }
57
- export interface CommentCreatedWebhook {
58
- type: 'webhook';
59
- id: string;
60
- timestamp: string;
61
- data: {
62
- type: 'Comment';
63
- action: 'create';
64
- createdAt: string;
65
- data: {
66
- issue: any;
67
- comment: any;
68
- };
69
- eventId?: string;
70
- };
71
- }
72
42
  /**
73
43
  * Events emitted by EdgeWorker
74
44
  */
75
45
  export interface EdgeWorkerEvents {
76
46
  'connected': (token: string) => void;
77
47
  'disconnected': (token: string, reason?: string) => void;
78
- 'session:started': (issueId: string, issue: Issue, repositoryId: string) => void;
48
+ 'session:started': (issueId: string, issue: LinearIssue, repositoryId: string) => void;
79
49
  'session:ended': (issueId: string, exitCode: number | null, repositoryId: string) => void;
80
- 'claude:event': (issueId: string, event: ClaudeEvent, repositoryId: string) => void;
50
+ 'claude:message': (issueId: string, message: SDKMessage, repositoryId: string) => void;
81
51
  'claude:response': (issueId: string, text: string, repositoryId: string) => void;
82
52
  'claude:tool-use': (issueId: string, tool: string, input: any, repositoryId: string) => void;
83
53
  'error': (error: Error, context?: any) => void;
@@ -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.1",
3
+ "version": "0.0.2",
4
4
  "description": "Unified edge worker for processing Linear issues with Claude",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -12,10 +12,9 @@
12
12
  "dependencies": {
13
13
  "@linear/sdk": "^39.0.0",
14
14
  "file-type": "^18.7.0",
15
- "cyrus-claude-parser": "0.0.1",
16
- "cyrus-claude-runner": "0.0.1",
17
- "cyrus-ndjson-client": "0.0.1",
18
- "cyrus-core": "0.0.1"
15
+ "cyrus-claude-runner": "0.0.2",
16
+ "cyrus-core": "0.0.2",
17
+ "cyrus-ndjson-client": "0.0.2"
19
18
  },
20
19
  "devDependencies": {
21
20
  "@types/node": "^20.0.0",