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.
- package/dist/EdgeWorker.d.ts +53 -17
- package/dist/EdgeWorker.d.ts.map +1 -1
- package/dist/EdgeWorker.js +343 -179
- package/dist/EdgeWorker.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +10 -40
- package/dist/types.d.ts.map +1 -1
- package/package.json +4 -5
package/dist/EdgeWorker.d.ts
CHANGED
|
@@ -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
|
|
50
|
+
* Handle issue assignment webhook
|
|
51
51
|
*/
|
|
52
|
-
private
|
|
52
|
+
private handleIssueAssignedWebhook;
|
|
53
53
|
/**
|
|
54
|
-
* Handle
|
|
54
|
+
* Handle issue comment mention webhook
|
|
55
55
|
*/
|
|
56
|
-
private
|
|
56
|
+
private handleIssueCommentMentionWebhook;
|
|
57
57
|
/**
|
|
58
|
-
*
|
|
58
|
+
* Handle issue new comment webhook
|
|
59
59
|
*/
|
|
60
|
-
private
|
|
60
|
+
private handleIssueNewCommentWebhook;
|
|
61
|
+
/**
|
|
62
|
+
* Handle issue unassignment webhook
|
|
63
|
+
*/
|
|
64
|
+
private handleIssueUnassignedWebhook;
|
|
61
65
|
/**
|
|
62
|
-
*
|
|
66
|
+
* Find the repository configuration for a webhook
|
|
63
67
|
*/
|
|
64
|
-
private
|
|
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
|
|
90
|
+
* Handle Claude messages
|
|
91
|
+
*/
|
|
92
|
+
private handleClaudeMessage;
|
|
93
|
+
/**
|
|
94
|
+
* Handle Claude session completion (successful)
|
|
79
95
|
*/
|
|
80
|
-
private
|
|
96
|
+
private handleClaudeComplete;
|
|
81
97
|
/**
|
|
82
|
-
* Handle Claude
|
|
98
|
+
* Handle Claude session error
|
|
83
99
|
*/
|
|
84
|
-
private
|
|
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
|
-
*
|
|
121
|
+
* Sanitize branch name by removing backticks to prevent command injection
|
|
95
122
|
*/
|
|
96
|
-
private
|
|
123
|
+
private sanitizeBranchName;
|
|
97
124
|
/**
|
|
98
|
-
*
|
|
125
|
+
* Extract text content from Claude message
|
|
99
126
|
*/
|
|
100
|
-
private
|
|
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
|
/**
|
package/dist/EdgeWorker.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EdgeWorker.d.ts","sourceRoot":"","sources":["../src/EdgeWorker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;
|
|
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"}
|
package/dist/EdgeWorker.js
CHANGED
|
@@ -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.
|
|
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(
|
|
137
|
+
async handleWebhook(webhook, repos) {
|
|
137
138
|
// Find the appropriate repository for this webhook
|
|
138
|
-
const repository = this.findRepositoryForWebhook(
|
|
139
|
+
const repository = this.findRepositoryForWebhook(webhook, repos);
|
|
139
140
|
if (!repository) {
|
|
140
|
-
console.log('No repository configured for webhook from workspace',
|
|
141
|
+
console.log('No repository configured for webhook from workspace', webhook.organizationId);
|
|
141
142
|
return;
|
|
142
143
|
}
|
|
143
144
|
try {
|
|
144
|
-
//
|
|
145
|
-
if (
|
|
146
|
-
await this.
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
168
|
+
* Handle issue assignment webhook
|
|
174
169
|
*/
|
|
175
|
-
async
|
|
176
|
-
|
|
177
|
-
|
|
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
|
|
175
|
+
* Handle issue comment mention webhook
|
|
195
176
|
*/
|
|
196
|
-
async
|
|
197
|
-
|
|
198
|
-
|
|
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
|
-
*
|
|
182
|
+
* Handle issue new comment webhook
|
|
207
183
|
*/
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
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
|
-
*
|
|
189
|
+
* Handle issue unassignment webhook
|
|
216
190
|
*/
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
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(
|
|
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(
|
|
249
|
+
? await this.config.handlers.createWorkspace(fullIssue, repository)
|
|
235
250
|
: {
|
|
236
|
-
path: `${repository.workspaceBaseDir}/${
|
|
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(
|
|
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:
|
|
254
|
-
|
|
255
|
-
|
|
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(
|
|
259
|
-
//
|
|
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
|
-
|
|
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(
|
|
283
|
+
this.issueToCommentId.set(fullIssue.id, initialComment.id);
|
|
271
284
|
}
|
|
272
|
-
this.sessionManager.addSession(
|
|
273
|
-
this.sessionToRepo.set(
|
|
274
|
-
// Emit events
|
|
275
|
-
this.emit('session:started',
|
|
276
|
-
this.config.handlers?.onSessionStart?.(
|
|
277
|
-
// Build and
|
|
278
|
-
console.log(`[EdgeWorker] Building initial prompt for issue ${
|
|
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(
|
|
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]
|
|
283
|
-
await runner.
|
|
284
|
-
console.log(`[EdgeWorker]
|
|
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/
|
|
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(
|
|
375
|
+
? await this.config.handlers.createWorkspace(fullIssue, repository)
|
|
355
376
|
: {
|
|
356
|
-
path: `${repository.workspaceBaseDir}/${
|
|
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.
|
|
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
|
-
|
|
402
|
+
mcpConfigPath: repository.mcpConfigPath,
|
|
403
|
+
onMessage: (message) => {
|
|
383
404
|
// Check for continuation errors
|
|
384
|
-
if (
|
|
385
|
-
const content = Array.isArray(
|
|
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.
|
|
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.
|
|
420
|
+
this.handleClaudeMessage(issue.id, message, repository.id);
|
|
400
421
|
},
|
|
401
|
-
|
|
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
|
-
//
|
|
406
|
-
runner.
|
|
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
|
|
428
|
-
|
|
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.
|
|
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
|
|
480
|
+
* Handle Claude messages
|
|
449
481
|
*/
|
|
450
|
-
async
|
|
451
|
-
// Emit generic event
|
|
452
|
-
this.emit('claude:
|
|
453
|
-
this.config.handlers?.
|
|
454
|
-
// Handle specific
|
|
455
|
-
if (
|
|
456
|
-
const content = this.extractTextContent(
|
|
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
|
|
463
|
-
const messageContent = Array.isArray(
|
|
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 (
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
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
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
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
|
|
539
|
+
* Handle Claude session completion (successful)
|
|
505
540
|
*/
|
|
506
|
-
|
|
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,
|
|
510
|
-
this.config.handlers?.onSessionEnd?.(issueId,
|
|
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
|
-
//
|
|
525
|
-
await this.
|
|
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
|
-
|
|
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,
|
|
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
|
|
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
|
-
*
|
|
716
|
+
* Sanitize branch name by removing backticks to prevent command injection
|
|
607
717
|
*/
|
|
608
|
-
|
|
609
|
-
|
|
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 =
|
|
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
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
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);
|
package/dist/EdgeWorker.js.map
CHANGED
|
@@ -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
|
|
3
|
-
export type {
|
|
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
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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,
|
|
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;
|
|
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 {
|
|
2
|
-
import type {
|
|
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:
|
|
28
|
-
|
|
29
|
-
onSessionStart?: (issueId: string, issue:
|
|
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:
|
|
48
|
+
'session:started': (issueId: string, issue: LinearIssue, repositoryId: string) => void;
|
|
79
49
|
'session:ended': (issueId: string, exitCode: number | null, repositoryId: string) => void;
|
|
80
|
-
'claude:
|
|
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;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,
|
|
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.
|
|
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-
|
|
16
|
-
"cyrus-
|
|
17
|
-
"cyrus-ndjson-client": "0.0.
|
|
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",
|