cyrus-edge-worker 0.0.23 → 0.0.24
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 +40 -13
- package/dist/EdgeWorker.d.ts.map +1 -1
- package/dist/EdgeWorker.js +345 -172
- package/dist/EdgeWorker.js.map +1 -1
- package/dist/types.d.ts +40 -4
- package/dist/types.d.ts.map +1 -1
- package/package.json +6 -5
package/dist/EdgeWorker.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { EventEmitter } from "node:events";
|
|
2
|
+
import { type Issue as LinearIssue } from "@linear/sdk";
|
|
2
3
|
import type { SerializableEdgeWorkerState } from "cyrus-core";
|
|
3
4
|
import type { EdgeWorkerConfig, EdgeWorkerEvents } from "./types.js";
|
|
4
5
|
export declare interface EdgeWorker {
|
|
@@ -50,9 +51,23 @@ export declare class EdgeWorker extends EventEmitter {
|
|
|
50
51
|
private handleIssueUnassignedWebhook;
|
|
51
52
|
/**
|
|
52
53
|
* Find the repository configuration for a webhook
|
|
53
|
-
* Now supports async operations for label-based routing
|
|
54
|
+
* Now supports async operations for label-based and project-based routing
|
|
55
|
+
* Priority: routingLabels > projectKeys > teamKeys
|
|
54
56
|
*/
|
|
55
57
|
private findRepositoryForWebhook;
|
|
58
|
+
/**
|
|
59
|
+
* Helper method to find repository by project name
|
|
60
|
+
*/
|
|
61
|
+
private findRepositoryByProject;
|
|
62
|
+
/**
|
|
63
|
+
* Create a new Linear agent session with all necessary setup
|
|
64
|
+
* @param linearAgentActivitySessionId The Linear agent activity session ID
|
|
65
|
+
* @param issue Linear issue object
|
|
66
|
+
* @param repository Repository configuration
|
|
67
|
+
* @param agentSessionManager Agent session manager instance
|
|
68
|
+
* @returns Object containing session details and setup information
|
|
69
|
+
*/
|
|
70
|
+
private createLinearAgentSession;
|
|
56
71
|
/**
|
|
57
72
|
* Handle agent session created webhook
|
|
58
73
|
* . Can happen due to being 'delegated' or @ mentioned in a new thread
|
|
@@ -82,10 +97,6 @@ export declare class EdgeWorker extends EventEmitter {
|
|
|
82
97
|
* TODO: improve this
|
|
83
98
|
*/
|
|
84
99
|
private handleClaudeError;
|
|
85
|
-
/**
|
|
86
|
-
* Fetch complete issue details from Linear API
|
|
87
|
-
*/
|
|
88
|
-
private fetchFullIssueDetails;
|
|
89
100
|
/**
|
|
90
101
|
* Fetch issue labels for a given issue
|
|
91
102
|
*/
|
|
@@ -116,14 +127,6 @@ export declare class EdgeWorker extends EventEmitter {
|
|
|
116
127
|
* @returns The version value if found, undefined otherwise
|
|
117
128
|
*/
|
|
118
129
|
private extractVersionTag;
|
|
119
|
-
/**
|
|
120
|
-
* Convert full Linear SDK issue to CoreIssue interface for Session creation
|
|
121
|
-
*/
|
|
122
|
-
private convertLinearIssueToCore;
|
|
123
|
-
/**
|
|
124
|
-
* Sanitize branch name by removing backticks to prevent command injection
|
|
125
|
-
*/
|
|
126
|
-
private sanitizeBranchName;
|
|
127
130
|
/**
|
|
128
131
|
* Check if a branch exists locally or remotely
|
|
129
132
|
*/
|
|
@@ -132,6 +135,14 @@ export declare class EdgeWorker extends EventEmitter {
|
|
|
132
135
|
* Determine the base branch for an issue, considering parent issues
|
|
133
136
|
*/
|
|
134
137
|
private determineBaseBranch;
|
|
138
|
+
/**
|
|
139
|
+
* Convert full Linear SDK issue to CoreIssue interface for Session creation
|
|
140
|
+
*/
|
|
141
|
+
private convertLinearIssueToCore;
|
|
142
|
+
/**
|
|
143
|
+
* Sanitize branch name by removing backticks to prevent command injection
|
|
144
|
+
*/
|
|
145
|
+
private sanitizeBranchName;
|
|
135
146
|
/**
|
|
136
147
|
* Format Linear comments into a threaded structure that mirrors the Linear UI
|
|
137
148
|
* @param comments Array of Linear comments
|
|
@@ -227,6 +238,18 @@ export declare class EdgeWorker extends EventEmitter {
|
|
|
227
238
|
* Build MCP configuration with automatic Linear server injection
|
|
228
239
|
*/
|
|
229
240
|
private buildMcpConfig;
|
|
241
|
+
/**
|
|
242
|
+
* Resolve tool preset names to actual tool lists
|
|
243
|
+
*/
|
|
244
|
+
private resolveToolPreset;
|
|
245
|
+
/**
|
|
246
|
+
* Build prompt for a session - handles both new and existing sessions
|
|
247
|
+
*/
|
|
248
|
+
private buildSessionPrompt;
|
|
249
|
+
/**
|
|
250
|
+
* Build Claude runner configuration with common settings
|
|
251
|
+
*/
|
|
252
|
+
private buildClaudeRunnerConfig;
|
|
230
253
|
/**
|
|
231
254
|
* Build allowed tools list with Linear MCP tools automatically included
|
|
232
255
|
*/
|
|
@@ -263,5 +286,9 @@ export declare class EdgeWorker extends EventEmitter {
|
|
|
263
286
|
* Post instant acknowledgment thought when receiving prompted webhook
|
|
264
287
|
*/
|
|
265
288
|
private postInstantPromptedAcknowledgment;
|
|
289
|
+
/**
|
|
290
|
+
* Fetch complete issue details from Linear API
|
|
291
|
+
*/
|
|
292
|
+
fetchFullIssueDetails(issueId: string, repositoryId: string): Promise<LinearIssue | null>;
|
|
266
293
|
}
|
|
267
294
|
//# sourceMappingURL=EdgeWorker.d.ts.map
|
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,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"EdgeWorker.d.ts","sourceRoot":"","sources":["../src/EdgeWorker.ts"],"names":[],"mappings":"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"}
|
package/dist/EdgeWorker.js
CHANGED
|
@@ -4,7 +4,7 @@ import { homedir } from "node:os";
|
|
|
4
4
|
import { basename, dirname, extname, join, resolve } from "node:path";
|
|
5
5
|
import { fileURLToPath } from "node:url";
|
|
6
6
|
import { LinearClient, } from "@linear/sdk";
|
|
7
|
-
import { ClaudeRunner, getSafeTools } from "cyrus-claude-runner";
|
|
7
|
+
import { ClaudeRunner, getAllTools, getReadOnlyTools, getSafeTools, } from "cyrus-claude-runner";
|
|
8
8
|
import { isAgentSessionCreatedWebhook, isAgentSessionPromptedWebhook, isIssueAssignedWebhook, isIssueCommentMentionWebhook, isIssueNewCommentWebhook, isIssueUnassignedWebhook, PersistenceManager, } from "cyrus-core";
|
|
9
9
|
import { NdjsonClient } from "cyrus-ndjson-client";
|
|
10
10
|
import { fileTypeFromBuffer } from "file-type";
|
|
@@ -279,13 +279,14 @@ export class EdgeWorker extends EventEmitter {
|
|
|
279
279
|
}
|
|
280
280
|
/**
|
|
281
281
|
* Find the repository configuration for a webhook
|
|
282
|
-
* Now supports async operations for label-based routing
|
|
282
|
+
* Now supports async operations for label-based and project-based routing
|
|
283
|
+
* Priority: routingLabels > projectKeys > teamKeys
|
|
283
284
|
*/
|
|
284
285
|
async findRepositoryForWebhook(webhook, repos) {
|
|
285
286
|
const workspaceId = webhook.organizationId;
|
|
286
287
|
if (!workspaceId)
|
|
287
288
|
return repos[0] || null; // Fallback to first repo if no workspace ID
|
|
288
|
-
// Get issue
|
|
289
|
+
// Get issue information from webhook
|
|
289
290
|
let issueId;
|
|
290
291
|
let teamKey;
|
|
291
292
|
let issueIdentifier;
|
|
@@ -305,9 +306,8 @@ export class EdgeWorker extends EventEmitter {
|
|
|
305
306
|
const workspaceRepos = repos.filter((repo) => repo.linearWorkspaceId === workspaceId);
|
|
306
307
|
if (workspaceRepos.length === 0)
|
|
307
308
|
return null;
|
|
308
|
-
//
|
|
309
|
+
// Priority 1: Check routing labels (highest priority)
|
|
309
310
|
const reposWithRoutingLabels = workspaceRepos.filter((repo) => repo.routingLabels && repo.routingLabels.length > 0);
|
|
310
|
-
// If we have repos with routing labels and an issue ID, check labels
|
|
311
311
|
if (reposWithRoutingLabels.length > 0 && issueId && workspaceRepos[0]) {
|
|
312
312
|
// We need a Linear client to fetch labels
|
|
313
313
|
// Use the first workspace repo's client temporarily
|
|
@@ -320,62 +320,97 @@ export class EdgeWorker extends EventEmitter {
|
|
|
320
320
|
// Check each repo with routing labels
|
|
321
321
|
for (const repo of reposWithRoutingLabels) {
|
|
322
322
|
if (repo.routingLabels?.some((routingLabel) => labels.includes(routingLabel))) {
|
|
323
|
-
console.log(`[EdgeWorker]
|
|
323
|
+
console.log(`[EdgeWorker] Repository selected: ${repo.name} (label-based routing)`);
|
|
324
324
|
return repo;
|
|
325
325
|
}
|
|
326
326
|
}
|
|
327
327
|
}
|
|
328
328
|
catch (error) {
|
|
329
329
|
console.error(`[EdgeWorker] Failed to fetch labels for routing:`, error);
|
|
330
|
-
//
|
|
330
|
+
// Continue to project-based routing
|
|
331
331
|
}
|
|
332
332
|
}
|
|
333
333
|
}
|
|
334
|
-
//
|
|
334
|
+
// Priority 2: Check project-based routing
|
|
335
|
+
if (issueId) {
|
|
336
|
+
const projectBasedRepo = await this.findRepositoryByProject(issueId, workspaceRepos);
|
|
337
|
+
if (projectBasedRepo) {
|
|
338
|
+
console.log(`[EdgeWorker] Repository selected: ${projectBasedRepo.name} (project-based routing)`);
|
|
339
|
+
return projectBasedRepo;
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
// Priority 3: Check team-based routing
|
|
335
343
|
if (teamKey) {
|
|
336
344
|
const repo = workspaceRepos.find((r) => r.teamKeys?.includes(teamKey));
|
|
337
|
-
if (repo)
|
|
345
|
+
if (repo) {
|
|
346
|
+
console.log(`[EdgeWorker] Repository selected: ${repo.name} (team-based routing)`);
|
|
338
347
|
return repo;
|
|
348
|
+
}
|
|
339
349
|
}
|
|
340
|
-
// Try parsing issue identifier as fallback
|
|
350
|
+
// Try parsing issue identifier as fallback for team routing
|
|
341
351
|
if (issueIdentifier?.includes("-")) {
|
|
342
352
|
const prefix = issueIdentifier.split("-")[0];
|
|
343
353
|
if (prefix) {
|
|
344
354
|
const repo = workspaceRepos.find((r) => r.teamKeys?.includes(prefix));
|
|
345
|
-
if (repo)
|
|
355
|
+
if (repo) {
|
|
356
|
+
console.log(`[EdgeWorker] Repository selected: ${repo.name} (team prefix routing)`);
|
|
346
357
|
return repo;
|
|
358
|
+
}
|
|
347
359
|
}
|
|
348
360
|
}
|
|
349
|
-
//
|
|
350
|
-
|
|
351
|
-
(!repo.routingLabels || repo.routingLabels.length === 0)
|
|
352
|
-
|
|
353
|
-
|
|
361
|
+
// Workspace fallback - find first repo without routing configuration
|
|
362
|
+
const catchAllRepo = workspaceRepos.find((repo) => (!repo.teamKeys || repo.teamKeys.length === 0) &&
|
|
363
|
+
(!repo.routingLabels || repo.routingLabels.length === 0) &&
|
|
364
|
+
(!repo.projectKeys || repo.projectKeys.length === 0));
|
|
365
|
+
if (catchAllRepo) {
|
|
366
|
+
console.log(`[EdgeWorker] Repository selected: ${catchAllRepo.name} (workspace catch-all)`);
|
|
367
|
+
return catchAllRepo;
|
|
368
|
+
}
|
|
369
|
+
// Final fallback to first workspace repo
|
|
370
|
+
const fallbackRepo = workspaceRepos[0] || null;
|
|
371
|
+
if (fallbackRepo) {
|
|
372
|
+
console.log(`[EdgeWorker] Repository selected: ${fallbackRepo.name} (workspace fallback)`);
|
|
373
|
+
}
|
|
374
|
+
return fallbackRepo;
|
|
354
375
|
}
|
|
355
376
|
/**
|
|
356
|
-
*
|
|
357
|
-
* . Can happen due to being 'delegated' or @ mentioned in a new thread
|
|
358
|
-
* @param webhook
|
|
359
|
-
* @param repository Repository configuration
|
|
377
|
+
* Helper method to find repository by project name
|
|
360
378
|
*/
|
|
361
|
-
async
|
|
362
|
-
|
|
363
|
-
const
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
379
|
+
async findRepositoryByProject(issueId, repos) {
|
|
380
|
+
// Try each repository that has projectKeys configured
|
|
381
|
+
for (const repo of repos) {
|
|
382
|
+
if (!repo.projectKeys || repo.projectKeys.length === 0)
|
|
383
|
+
continue;
|
|
384
|
+
try {
|
|
385
|
+
const fullIssue = await this.fetchFullIssueDetails(issueId, repo.id);
|
|
386
|
+
const project = await fullIssue?.project;
|
|
387
|
+
if (!project || !project.name) {
|
|
388
|
+
console.warn(`[EdgeWorker] No project name found for issue ${issueId} in repository ${repo.name}`);
|
|
389
|
+
continue;
|
|
390
|
+
}
|
|
391
|
+
const projectName = project.name;
|
|
392
|
+
if (repo.projectKeys.includes(projectName)) {
|
|
393
|
+
console.log(`[EdgeWorker] Matched issue ${issueId} to repository ${repo.name} via project: ${projectName}`);
|
|
394
|
+
return repo;
|
|
395
|
+
}
|
|
396
|
+
}
|
|
397
|
+
catch (error) {
|
|
398
|
+
// Continue to next repository if this one fails
|
|
399
|
+
console.debug(`[EdgeWorker] Failed to fetch project for issue ${issueId} from repository ${repo.name}:`, error);
|
|
400
|
+
}
|
|
375
401
|
}
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
402
|
+
return null;
|
|
403
|
+
}
|
|
404
|
+
/**
|
|
405
|
+
* Create a new Linear agent session with all necessary setup
|
|
406
|
+
* @param linearAgentActivitySessionId The Linear agent activity session ID
|
|
407
|
+
* @param issue Linear issue object
|
|
408
|
+
* @param repository Repository configuration
|
|
409
|
+
* @param agentSessionManager Agent session manager instance
|
|
410
|
+
* @returns Object containing session details and setup information
|
|
411
|
+
*/
|
|
412
|
+
async createLinearAgentSession(linearAgentActivitySessionId, issue, repository, agentSessionManager) {
|
|
413
|
+
// Fetch full Linear issue details
|
|
379
414
|
const fullIssue = await this.fetchFullIssueDetails(issue.id, repository.id);
|
|
380
415
|
if (!fullIssue) {
|
|
381
416
|
throw new Error(`Failed to fetch full issue details for ${issue.id}`);
|
|
@@ -392,6 +427,11 @@ export class EdgeWorker extends EventEmitter {
|
|
|
392
427
|
console.log(`[EdgeWorker] Workspace created at: ${workspace.path}`);
|
|
393
428
|
const issueMinimal = this.convertLinearIssueToCore(fullIssue);
|
|
394
429
|
agentSessionManager.createLinearAgentSession(linearAgentActivitySessionId, issue.id, issueMinimal, workspace);
|
|
430
|
+
// Get the newly created session
|
|
431
|
+
const session = agentSessionManager.getSession(linearAgentActivitySessionId);
|
|
432
|
+
if (!session) {
|
|
433
|
+
throw new Error(`Failed to create session for agent activity session ${linearAgentActivitySessionId}`);
|
|
434
|
+
}
|
|
395
435
|
// Download attachments before creating Claude runner
|
|
396
436
|
const attachmentResult = await this.downloadIssueAttachments(fullIssue, repository, workspace.path);
|
|
397
437
|
// Pre-create attachments directory even if no attachments exist yet
|
|
@@ -403,15 +443,54 @@ export class EdgeWorker extends EventEmitter {
|
|
|
403
443
|
console.log(`[EdgeWorker] Configured allowed directories for ${fullIssue.identifier}:`, allowedDirectories);
|
|
404
444
|
// Build allowed tools list with Linear MCP tools
|
|
405
445
|
const allowedTools = this.buildAllowedTools(repository);
|
|
446
|
+
return {
|
|
447
|
+
session,
|
|
448
|
+
fullIssue,
|
|
449
|
+
workspace,
|
|
450
|
+
attachmentResult,
|
|
451
|
+
attachmentsDir,
|
|
452
|
+
allowedDirectories,
|
|
453
|
+
allowedTools,
|
|
454
|
+
};
|
|
455
|
+
}
|
|
456
|
+
/**
|
|
457
|
+
* Handle agent session created webhook
|
|
458
|
+
* . Can happen due to being 'delegated' or @ mentioned in a new thread
|
|
459
|
+
* @param webhook
|
|
460
|
+
* @param repository Repository configuration
|
|
461
|
+
*/
|
|
462
|
+
async handleAgentSessionCreatedWebhook(webhook, repository) {
|
|
463
|
+
console.log(`[EdgeWorker] Handling agent session created: ${webhook.agentSession.issue.identifier}`);
|
|
464
|
+
const { agentSession } = webhook;
|
|
465
|
+
const linearAgentActivitySessionId = agentSession.id;
|
|
466
|
+
const { issue } = agentSession;
|
|
467
|
+
const commentBody = agentSession.comment?.body;
|
|
468
|
+
// HACK: This is required since the comment body is always populated, thus there is no other way to differentiate between the two trigger events
|
|
469
|
+
const AGENT_SESSION_MARKER = "This thread is for an agent session";
|
|
470
|
+
const isMentionTriggered = commentBody && !commentBody.includes(AGENT_SESSION_MARKER);
|
|
471
|
+
// Initialize the agent session in AgentSessionManager
|
|
472
|
+
const agentSessionManager = this.agentSessionManagers.get(repository.id);
|
|
473
|
+
if (!agentSessionManager) {
|
|
474
|
+
console.error("There was no agentSessionManage for the repository with id", repository.id);
|
|
475
|
+
return;
|
|
476
|
+
}
|
|
477
|
+
// Post instant acknowledgment thought
|
|
478
|
+
await this.postInstantAcknowledgment(linearAgentActivitySessionId, repository.id);
|
|
479
|
+
// Create the session using the shared method
|
|
480
|
+
const sessionData = await this.createLinearAgentSession(linearAgentActivitySessionId, issue, repository, agentSessionManager);
|
|
481
|
+
// Destructure the session data (excluding allowedTools which we'll build with promptType)
|
|
482
|
+
const { session, fullIssue, workspace: _workspace, attachmentResult, attachmentsDir: _attachmentsDir, allowedDirectories, } = sessionData;
|
|
406
483
|
// Only fetch labels and determine system prompt for delegation (not mentions)
|
|
407
484
|
let systemPrompt;
|
|
408
485
|
let systemPromptVersion;
|
|
486
|
+
let promptType;
|
|
409
487
|
if (!isMentionTriggered) {
|
|
410
488
|
// Fetch issue labels and determine system prompt (delegation case)
|
|
411
489
|
const labels = await this.fetchIssueLabels(fullIssue);
|
|
412
490
|
const systemPromptResult = await this.determineSystemPromptFromLabels(labels, repository);
|
|
413
491
|
systemPrompt = systemPromptResult?.prompt;
|
|
414
492
|
systemPromptVersion = systemPromptResult?.version;
|
|
493
|
+
promptType = systemPromptResult?.type;
|
|
415
494
|
// Post thought about system prompt selection
|
|
416
495
|
if (systemPrompt) {
|
|
417
496
|
await this.postSystemPromptSelectionThought(linearAgentActivitySessionId, labels, repository.id);
|
|
@@ -420,21 +499,12 @@ export class EdgeWorker extends EventEmitter {
|
|
|
420
499
|
else {
|
|
421
500
|
console.log(`[EdgeWorker] Skipping system prompt for mention-triggered session ${linearAgentActivitySessionId}`);
|
|
422
501
|
}
|
|
502
|
+
// Build allowed tools list with Linear MCP tools (now with prompt type context)
|
|
503
|
+
const allowedTools = this.buildAllowedTools(repository, promptType);
|
|
504
|
+
console.log(`[EdgeWorker] Configured allowed tools for ${fullIssue.identifier}:`, allowedTools);
|
|
423
505
|
// Create Claude runner with attachment directory access and optional system prompt
|
|
424
|
-
|
|
425
|
-
const
|
|
426
|
-
const runner = new ClaudeRunner({
|
|
427
|
-
workingDirectory: workspace.path,
|
|
428
|
-
allowedTools,
|
|
429
|
-
allowedDirectories,
|
|
430
|
-
workspaceName: fullIssue.identifier,
|
|
431
|
-
mcpConfigPath: repository.mcpConfigPath,
|
|
432
|
-
mcpConfig: this.buildMcpConfig(repository),
|
|
433
|
-
appendSystemPrompt: (systemPrompt || "") + lastMessageMarker,
|
|
434
|
-
onMessage: (message) => this.handleClaudeMessage(linearAgentActivitySessionId, message, repository.id),
|
|
435
|
-
// onComplete: (messages) => this.handleClaudeComplete(initialComment.id, messages, repository.id),
|
|
436
|
-
onError: (error) => this.handleClaudeError(error),
|
|
437
|
-
});
|
|
506
|
+
const runnerConfig = this.buildClaudeRunnerConfig(session, repository, linearAgentActivitySessionId, systemPrompt, allowedTools, allowedDirectories);
|
|
507
|
+
const runner = new ClaudeRunner(runnerConfig);
|
|
438
508
|
// Store runner by comment ID
|
|
439
509
|
agentSessionManager.addClaudeRunner(linearAgentActivitySessionId, runner);
|
|
440
510
|
// Save state after mapping changes
|
|
@@ -494,20 +564,32 @@ export class EdgeWorker extends EventEmitter {
|
|
|
494
564
|
console.error("Unexpected: There was no agentSessionManage for the repository with id", repository.id);
|
|
495
565
|
return;
|
|
496
566
|
}
|
|
497
|
-
|
|
567
|
+
let session = agentSessionManager.getSession(linearAgentActivitySessionId);
|
|
568
|
+
let isNewSession = false;
|
|
498
569
|
if (!session) {
|
|
499
|
-
console.
|
|
500
|
-
|
|
570
|
+
console.log(`[EdgeWorker] No existing session found for agent activity session ${linearAgentActivitySessionId}, creating new session`);
|
|
571
|
+
isNewSession = true;
|
|
572
|
+
// Post instant acknowledgment for new session creation
|
|
573
|
+
await this.postInstantPromptedAcknowledgment(linearAgentActivitySessionId, repository.id, false);
|
|
574
|
+
// Create the session using the shared method
|
|
575
|
+
const sessionData = await this.createLinearAgentSession(linearAgentActivitySessionId, issue, repository, agentSessionManager);
|
|
576
|
+
// Destructure session data for new session
|
|
577
|
+
const { fullIssue: newFullIssue } = sessionData;
|
|
578
|
+
session = sessionData.session;
|
|
579
|
+
// Save state and emit events for new session
|
|
580
|
+
await this.savePersistedState();
|
|
581
|
+
this.emit("session:started", newFullIssue.id, newFullIssue, repository.id);
|
|
582
|
+
this.config.handlers?.onSessionStart?.(newFullIssue.id, newFullIssue, repository.id);
|
|
583
|
+
}
|
|
584
|
+
// Ensure session is not null after creation/retrieval
|
|
585
|
+
if (!session) {
|
|
586
|
+
throw new Error(`Failed to get or create session for agent activity session ${linearAgentActivitySessionId}`);
|
|
501
587
|
}
|
|
502
588
|
// Nothing before this should create latency or be async, so that these remain instant and low-latency for user experience
|
|
503
589
|
const existingRunner = session.claudeRunner;
|
|
504
|
-
if (
|
|
505
|
-
//
|
|
506
|
-
await this.postInstantPromptedAcknowledgment(linearAgentActivitySessionId, repository.id,
|
|
507
|
-
}
|
|
508
|
-
else {
|
|
509
|
-
// Post instant acknowledgment for non-streaming case
|
|
510
|
-
await this.postInstantPromptedAcknowledgment(linearAgentActivitySessionId, repository.id, false);
|
|
590
|
+
if (!isNewSession) {
|
|
591
|
+
// Only post acknowledgment for existing sessions (new sessions already handled it above)
|
|
592
|
+
await this.postInstantPromptedAcknowledgment(linearAgentActivitySessionId, repository.id, existingRunner?.isStreaming() || false);
|
|
511
593
|
}
|
|
512
594
|
// Get Linear client for this repository
|
|
513
595
|
const linearClient = this.linearClients.get(repository.id);
|
|
@@ -579,14 +661,10 @@ export class EdgeWorker extends EventEmitter {
|
|
|
579
661
|
if (existingRunner) {
|
|
580
662
|
existingRunner.stop();
|
|
581
663
|
}
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
return;
|
|
585
|
-
}
|
|
664
|
+
// For newly created sessions or sessions without claudeSessionId, create a fresh Claude session
|
|
665
|
+
const needsNewClaudeSession = isNewSession || !session.claudeSessionId;
|
|
586
666
|
try {
|
|
587
|
-
//
|
|
588
|
-
const allowedTools = this.buildAllowedTools(repository);
|
|
589
|
-
// Fetch full issue details to get labels
|
|
667
|
+
// Fetch full issue details to get labels (needed for both new and existing sessions)
|
|
590
668
|
const fullIssue = await this.fetchFullIssueDetails(issue.id, repository.id);
|
|
591
669
|
if (!fullIssue) {
|
|
592
670
|
throw new Error(`Failed to fetch full issue details for ${issue.id}`);
|
|
@@ -595,37 +673,27 @@ export class EdgeWorker extends EventEmitter {
|
|
|
595
673
|
const labels = await this.fetchIssueLabels(fullIssue);
|
|
596
674
|
const systemPromptResult = await this.determineSystemPromptFromLabels(labels, repository);
|
|
597
675
|
const systemPrompt = systemPromptResult?.prompt;
|
|
676
|
+
const promptType = systemPromptResult?.type;
|
|
677
|
+
// Build allowed tools list with Linear MCP tools (now with prompt type context)
|
|
678
|
+
const allowedTools = this.buildAllowedTools(repository, promptType);
|
|
679
|
+
console.log(`[EdgeWorker] Configured allowed tools for ${issue.identifier} (continued session):`, allowedTools);
|
|
598
680
|
const allowedDirectories = [attachmentsDir];
|
|
599
|
-
// Create
|
|
600
|
-
|
|
601
|
-
const
|
|
602
|
-
const runner = new ClaudeRunner({
|
|
603
|
-
workingDirectory: session.workspace.path,
|
|
604
|
-
allowedTools,
|
|
605
|
-
allowedDirectories,
|
|
606
|
-
resumeSessionId: session.claudeSessionId,
|
|
607
|
-
workspaceName: issue.identifier,
|
|
608
|
-
mcpConfigPath: repository.mcpConfigPath,
|
|
609
|
-
mcpConfig: this.buildMcpConfig(repository),
|
|
610
|
-
appendSystemPrompt: (systemPrompt || "") + lastMessageMarker,
|
|
611
|
-
onMessage: (message) => {
|
|
612
|
-
this.handleClaudeMessage(linearAgentActivitySessionId, message, repository.id);
|
|
613
|
-
},
|
|
614
|
-
// onComplete: (messages) => this.handleClaudeComplete(threadRootCommentId, messages, repository.id),
|
|
615
|
-
onError: (error) => this.handleClaudeError(error),
|
|
616
|
-
});
|
|
681
|
+
// Create runner - resume existing session or start new one
|
|
682
|
+
const runnerConfig = this.buildClaudeRunnerConfig(session, repository, linearAgentActivitySessionId, systemPrompt, allowedTools, allowedDirectories, needsNewClaudeSession ? undefined : session.claudeSessionId);
|
|
683
|
+
const runner = new ClaudeRunner(runnerConfig);
|
|
617
684
|
// Store new runner by comment thread root
|
|
618
685
|
// Store runner by comment ID
|
|
619
686
|
agentSessionManager.addClaudeRunner(linearAgentActivitySessionId, runner);
|
|
620
687
|
// Save state after mapping changes
|
|
621
688
|
await this.savePersistedState();
|
|
622
|
-
// Prepare the prompt
|
|
623
|
-
|
|
624
|
-
if (
|
|
625
|
-
|
|
626
|
-
}
|
|
627
|
-
// Start streaming session
|
|
628
|
-
|
|
689
|
+
// Prepare the prompt - different logic for new vs existing sessions
|
|
690
|
+
const fullPrompt = await this.buildSessionPrompt(isNewSession, fullIssue, repository, promptBody, attachmentManifest);
|
|
691
|
+
if (isNewSession) {
|
|
692
|
+
console.log(`[EdgeWorker] Building initial prompt for new session for issue ${fullIssue.identifier}`);
|
|
693
|
+
}
|
|
694
|
+
// Start streaming session
|
|
695
|
+
const sessionType = needsNewClaudeSession ? "new" : "resumed";
|
|
696
|
+
console.log(`[EdgeWorker] Starting ${sessionType} streaming session for issue ${issue.identifier}`);
|
|
629
697
|
await runner.startStreaming(fullPrompt);
|
|
630
698
|
}
|
|
631
699
|
catch (error) {
|
|
@@ -685,36 +753,6 @@ export class EdgeWorker extends EventEmitter {
|
|
|
685
753
|
async handleClaudeError(error) {
|
|
686
754
|
console.error("Unhandled claude error:", error);
|
|
687
755
|
}
|
|
688
|
-
/**
|
|
689
|
-
* Fetch complete issue details from Linear API
|
|
690
|
-
*/
|
|
691
|
-
async fetchFullIssueDetails(issueId, repositoryId) {
|
|
692
|
-
const linearClient = this.linearClients.get(repositoryId);
|
|
693
|
-
if (!linearClient) {
|
|
694
|
-
console.warn(`[EdgeWorker] No Linear client found for repository ${repositoryId}`);
|
|
695
|
-
return null;
|
|
696
|
-
}
|
|
697
|
-
try {
|
|
698
|
-
console.log(`[EdgeWorker] Fetching full issue details for ${issueId}`);
|
|
699
|
-
const fullIssue = await linearClient.issue(issueId);
|
|
700
|
-
console.log(`[EdgeWorker] Successfully fetched issue details for ${issueId}`);
|
|
701
|
-
// Check if issue has a parent
|
|
702
|
-
try {
|
|
703
|
-
const parent = await fullIssue.parent;
|
|
704
|
-
if (parent) {
|
|
705
|
-
console.log(`[EdgeWorker] Issue ${issueId} has parent: ${parent.identifier}`);
|
|
706
|
-
}
|
|
707
|
-
}
|
|
708
|
-
catch (_error) {
|
|
709
|
-
// Parent field might not exist, ignore error
|
|
710
|
-
}
|
|
711
|
-
return fullIssue;
|
|
712
|
-
}
|
|
713
|
-
catch (error) {
|
|
714
|
-
console.error(`[EdgeWorker] Failed to fetch full issue details for ${issueId}:`, error);
|
|
715
|
-
return null;
|
|
716
|
-
}
|
|
717
|
-
}
|
|
718
756
|
/**
|
|
719
757
|
* Fetch issue labels for a given issue
|
|
720
758
|
*/
|
|
@@ -738,7 +776,11 @@ export class EdgeWorker extends EventEmitter {
|
|
|
738
776
|
// Check each prompt type for matching labels
|
|
739
777
|
const promptTypes = ["debugger", "builder", "scoper"];
|
|
740
778
|
for (const promptType of promptTypes) {
|
|
741
|
-
const
|
|
779
|
+
const promptConfig = repository.labelPrompts[promptType];
|
|
780
|
+
// Handle both old array format and new object format for backward compatibility
|
|
781
|
+
const configuredLabels = Array.isArray(promptConfig)
|
|
782
|
+
? promptConfig
|
|
783
|
+
: promptConfig?.labels;
|
|
742
784
|
if (configuredLabels?.some((label) => labels.includes(label))) {
|
|
743
785
|
try {
|
|
744
786
|
// Load the prompt template from file
|
|
@@ -752,7 +794,11 @@ export class EdgeWorker extends EventEmitter {
|
|
|
752
794
|
if (promptVersion) {
|
|
753
795
|
console.log(`[EdgeWorker] ${promptType} system prompt version: ${promptVersion}`);
|
|
754
796
|
}
|
|
755
|
-
return {
|
|
797
|
+
return {
|
|
798
|
+
prompt: promptContent,
|
|
799
|
+
version: promptVersion,
|
|
800
|
+
type: promptType,
|
|
801
|
+
};
|
|
756
802
|
}
|
|
757
803
|
catch (error) {
|
|
758
804
|
console.error(`[EdgeWorker] Failed to load ${promptType} prompt template:`, error);
|
|
@@ -857,24 +903,6 @@ IMPORTANT: You were specifically mentioned in the comment above. Focus on addres
|
|
|
857
903
|
// Return undefined for empty strings
|
|
858
904
|
return version?.trim() ? version : undefined;
|
|
859
905
|
}
|
|
860
|
-
/**
|
|
861
|
-
* Convert full Linear SDK issue to CoreIssue interface for Session creation
|
|
862
|
-
*/
|
|
863
|
-
convertLinearIssueToCore(issue) {
|
|
864
|
-
return {
|
|
865
|
-
id: issue.id,
|
|
866
|
-
identifier: issue.identifier,
|
|
867
|
-
title: issue.title || "",
|
|
868
|
-
description: issue.description || undefined,
|
|
869
|
-
branchName: issue.branchName, // Use the real branchName property!
|
|
870
|
-
};
|
|
871
|
-
}
|
|
872
|
-
/**
|
|
873
|
-
* Sanitize branch name by removing backticks to prevent command injection
|
|
874
|
-
*/
|
|
875
|
-
sanitizeBranchName(name) {
|
|
876
|
-
return name ? name.replace(/`/g, "") : name;
|
|
877
|
-
}
|
|
878
906
|
/**
|
|
879
907
|
* Check if a branch exists locally or remotely
|
|
880
908
|
*/
|
|
@@ -898,6 +926,7 @@ IMPORTANT: You were specifically mentioned in the comment above. Focus on addres
|
|
|
898
926
|
return true;
|
|
899
927
|
}
|
|
900
928
|
catch {
|
|
929
|
+
// Branch doesn't exist remotely either
|
|
901
930
|
return false;
|
|
902
931
|
}
|
|
903
932
|
}
|
|
@@ -937,6 +966,24 @@ IMPORTANT: You were specifically mentioned in the comment above. Focus on addres
|
|
|
937
966
|
}
|
|
938
967
|
return baseBranch;
|
|
939
968
|
}
|
|
969
|
+
/**
|
|
970
|
+
* Convert full Linear SDK issue to CoreIssue interface for Session creation
|
|
971
|
+
*/
|
|
972
|
+
convertLinearIssueToCore(issue) {
|
|
973
|
+
return {
|
|
974
|
+
id: issue.id,
|
|
975
|
+
identifier: issue.identifier,
|
|
976
|
+
title: issue.title || "",
|
|
977
|
+
description: issue.description || undefined,
|
|
978
|
+
branchName: issue.branchName, // Use the real branchName property!
|
|
979
|
+
};
|
|
980
|
+
}
|
|
981
|
+
/**
|
|
982
|
+
* Sanitize branch name by removing backticks to prevent command injection
|
|
983
|
+
*/
|
|
984
|
+
sanitizeBranchName(name) {
|
|
985
|
+
return name ? name.replace(/`/g, "") : name;
|
|
986
|
+
}
|
|
940
987
|
/**
|
|
941
988
|
* Format Linear comments into a threaded structure that mirrors the Linear UI
|
|
942
989
|
* @param comments Array of Linear comments
|
|
@@ -979,13 +1026,13 @@ IMPORTANT: You were specifically mentioned in the comment above. Focus on addres
|
|
|
979
1026
|
const rootAuthor = rootUser?.displayName || rootUser?.name || rootUser?.email || "Unknown";
|
|
980
1027
|
const rootTime = new Date(rootComment.createdAt).toLocaleString();
|
|
981
1028
|
let threadText = `<comment_thread>
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
1029
|
+
<root_comment>
|
|
1030
|
+
<author>@${rootAuthor}</author>
|
|
1031
|
+
<timestamp>${rootTime}</timestamp>
|
|
1032
|
+
<content>
|
|
986
1033
|
${rootComment.body}
|
|
987
|
-
|
|
988
|
-
|
|
1034
|
+
</content>
|
|
1035
|
+
</root_comment>`;
|
|
989
1036
|
// Format replies if any
|
|
990
1037
|
if (thread.replies.length > 0) {
|
|
991
1038
|
threadText += "\n <replies>";
|
|
@@ -997,13 +1044,13 @@ ${rootComment.body}
|
|
|
997
1044
|
"Unknown";
|
|
998
1045
|
const replyTime = new Date(reply.createdAt).toLocaleString();
|
|
999
1046
|
threadText += `
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1047
|
+
<reply>
|
|
1048
|
+
<author>@${replyAuthor}</author>
|
|
1049
|
+
<timestamp>${replyTime}</timestamp>
|
|
1050
|
+
<content>
|
|
1004
1051
|
${reply.body}
|
|
1005
|
-
|
|
1006
|
-
|
|
1052
|
+
</content>
|
|
1053
|
+
</reply>`;
|
|
1007
1054
|
}
|
|
1008
1055
|
threadText += "\n </replies>";
|
|
1009
1056
|
}
|
|
@@ -1044,6 +1091,8 @@ ${reply.body}
|
|
|
1044
1091
|
// Get state name from Linear API
|
|
1045
1092
|
const state = await issue.state;
|
|
1046
1093
|
const stateName = state?.name || "Unknown";
|
|
1094
|
+
// Determine the base branch considering parent issues
|
|
1095
|
+
const baseBranch = await this.determineBaseBranch(issue, repository);
|
|
1047
1096
|
// Get formatted comment threads
|
|
1048
1097
|
const linearClient = this.linearClients.get(repository.id);
|
|
1049
1098
|
let commentThreads = "No comments yet.";
|
|
@@ -1063,8 +1112,6 @@ ${reply.body}
|
|
|
1063
1112
|
console.error("Failed to fetch comments:", error);
|
|
1064
1113
|
}
|
|
1065
1114
|
}
|
|
1066
|
-
// Determine the base branch considering parent issues
|
|
1067
|
-
const baseBranch = await this.determineBaseBranch(issue, repository);
|
|
1068
1115
|
// Build the prompt with all variables
|
|
1069
1116
|
let prompt = template
|
|
1070
1117
|
.replace(/{{repository_name}}/g, repository.name)
|
|
@@ -1085,11 +1132,11 @@ ${reply.body}
|
|
|
1085
1132
|
if (newComment) {
|
|
1086
1133
|
// Replace the conditional block
|
|
1087
1134
|
const newCommentSection = `<new_comment_to_address>
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
|
|
1135
|
+
<author>{{new_comment_author}}</author>
|
|
1136
|
+
<timestamp>{{new_comment_timestamp}}</timestamp>
|
|
1137
|
+
<content>
|
|
1091
1138
|
{{new_comment_content}}
|
|
1092
|
-
|
|
1139
|
+
</content>
|
|
1093
1140
|
</new_comment_to_address>
|
|
1094
1141
|
|
|
1095
1142
|
IMPORTANT: Focus specifically on addressing the new comment above. This is a new request that requires your attention.`;
|
|
@@ -1674,21 +1721,105 @@ ${newComment ? `New comment to address:\n${newComment.body}\n\n` : ""}Please ana
|
|
|
1674
1721
|
};
|
|
1675
1722
|
return mcpConfig;
|
|
1676
1723
|
}
|
|
1724
|
+
/**
|
|
1725
|
+
* Resolve tool preset names to actual tool lists
|
|
1726
|
+
*/
|
|
1727
|
+
resolveToolPreset(preset) {
|
|
1728
|
+
if (Array.isArray(preset)) {
|
|
1729
|
+
return preset;
|
|
1730
|
+
}
|
|
1731
|
+
switch (preset) {
|
|
1732
|
+
case "readOnly":
|
|
1733
|
+
return getReadOnlyTools();
|
|
1734
|
+
case "safe":
|
|
1735
|
+
return getSafeTools();
|
|
1736
|
+
case "all":
|
|
1737
|
+
return getAllTools();
|
|
1738
|
+
default:
|
|
1739
|
+
// If it's a string but not a preset, treat it as a single tool
|
|
1740
|
+
return [preset];
|
|
1741
|
+
}
|
|
1742
|
+
}
|
|
1743
|
+
/**
|
|
1744
|
+
* Build prompt for a session - handles both new and existing sessions
|
|
1745
|
+
*/
|
|
1746
|
+
async buildSessionPrompt(isNewSession, fullIssue, repository, promptBody, attachmentManifest) {
|
|
1747
|
+
if (isNewSession) {
|
|
1748
|
+
// For completely new sessions, create a complete initial prompt
|
|
1749
|
+
const promptResult = await this.buildPromptV2(fullIssue, repository, undefined, attachmentManifest);
|
|
1750
|
+
// Add the user's comment to the initial prompt
|
|
1751
|
+
return `${promptResult.prompt}\n\nUser comment: ${promptBody}`;
|
|
1752
|
+
}
|
|
1753
|
+
else {
|
|
1754
|
+
// For existing sessions, just use the comment with attachment manifest
|
|
1755
|
+
if (attachmentManifest) {
|
|
1756
|
+
return `${promptBody}\n\n${attachmentManifest}`;
|
|
1757
|
+
}
|
|
1758
|
+
return promptBody;
|
|
1759
|
+
}
|
|
1760
|
+
}
|
|
1761
|
+
/**
|
|
1762
|
+
* Build Claude runner configuration with common settings
|
|
1763
|
+
*/
|
|
1764
|
+
buildClaudeRunnerConfig(session, repository, linearAgentActivitySessionId, systemPrompt, allowedTools, allowedDirectories, resumeSessionId) {
|
|
1765
|
+
const lastMessageMarker = "\n\n___LAST_MESSAGE_MARKER___\nIMPORTANT: When providing your final summary response, include the special marker ___LAST_MESSAGE_MARKER___ at the very beginning of your message. This marker will be automatically removed before posting.";
|
|
1766
|
+
const config = {
|
|
1767
|
+
workingDirectory: session.workspace.path,
|
|
1768
|
+
allowedTools,
|
|
1769
|
+
allowedDirectories,
|
|
1770
|
+
workspaceName: session.issue?.identifier || session.issueId,
|
|
1771
|
+
mcpConfigPath: repository.mcpConfigPath,
|
|
1772
|
+
mcpConfig: this.buildMcpConfig(repository),
|
|
1773
|
+
appendSystemPrompt: (systemPrompt || "") + lastMessageMarker,
|
|
1774
|
+
onMessage: (message) => {
|
|
1775
|
+
this.handleClaudeMessage(linearAgentActivitySessionId, message, repository.id);
|
|
1776
|
+
},
|
|
1777
|
+
onError: (error) => this.handleClaudeError(error),
|
|
1778
|
+
};
|
|
1779
|
+
if (resumeSessionId) {
|
|
1780
|
+
config.resumeSessionId = resumeSessionId;
|
|
1781
|
+
}
|
|
1782
|
+
return config;
|
|
1783
|
+
}
|
|
1677
1784
|
/**
|
|
1678
1785
|
* Build allowed tools list with Linear MCP tools automatically included
|
|
1679
1786
|
*/
|
|
1680
|
-
buildAllowedTools(repository) {
|
|
1681
|
-
|
|
1682
|
-
|
|
1683
|
-
|
|
1684
|
-
|
|
1685
|
-
|
|
1686
|
-
|
|
1787
|
+
buildAllowedTools(repository, promptType) {
|
|
1788
|
+
let baseTools = [];
|
|
1789
|
+
let toolSource = "";
|
|
1790
|
+
// Priority order:
|
|
1791
|
+
// 1. Repository-specific prompt type configuration
|
|
1792
|
+
if (promptType && repository.labelPrompts?.[promptType]?.allowedTools) {
|
|
1793
|
+
baseTools = this.resolveToolPreset(repository.labelPrompts[promptType].allowedTools);
|
|
1794
|
+
toolSource = `repository label prompt (${promptType})`;
|
|
1795
|
+
}
|
|
1796
|
+
// 2. Global prompt type defaults
|
|
1797
|
+
else if (promptType &&
|
|
1798
|
+
this.config.promptDefaults?.[promptType]?.allowedTools) {
|
|
1799
|
+
baseTools = this.resolveToolPreset(this.config.promptDefaults[promptType].allowedTools);
|
|
1800
|
+
toolSource = `global prompt defaults (${promptType})`;
|
|
1801
|
+
}
|
|
1802
|
+
// 3. Repository-level allowed tools
|
|
1803
|
+
else if (repository.allowedTools) {
|
|
1804
|
+
baseTools = repository.allowedTools;
|
|
1805
|
+
toolSource = "repository configuration";
|
|
1806
|
+
}
|
|
1807
|
+
// 4. Global default allowed tools
|
|
1808
|
+
else if (this.config.defaultAllowedTools) {
|
|
1809
|
+
baseTools = this.config.defaultAllowedTools;
|
|
1810
|
+
toolSource = "global defaults";
|
|
1811
|
+
}
|
|
1812
|
+
// 5. Fall back to safe tools
|
|
1813
|
+
else {
|
|
1814
|
+
baseTools = getSafeTools();
|
|
1815
|
+
toolSource = "safe tools fallback";
|
|
1816
|
+
}
|
|
1687
1817
|
// Linear MCP tools that should always be available
|
|
1688
1818
|
// See: https://docs.anthropic.com/en/docs/claude-code/iam#tool-specific-permission-rules
|
|
1689
1819
|
const linearMcpTools = ["mcp__linear"];
|
|
1690
1820
|
// Combine and deduplicate
|
|
1691
|
-
const allTools = [...new Set([...
|
|
1821
|
+
const allTools = [...new Set([...baseTools, ...linearMcpTools])];
|
|
1822
|
+
console.log(`[EdgeWorker] Tool selection for ${repository.name}: ${allTools.length} tools from ${toolSource}`);
|
|
1692
1823
|
return allTools;
|
|
1693
1824
|
}
|
|
1694
1825
|
/**
|
|
@@ -1808,21 +1939,33 @@ ${newComment ? `New comment to address:\n${newComment.body}\n\n` : ""}Please ana
|
|
|
1808
1939
|
const repository = Array.from(this.repositories.values()).find((r) => r.id === repositoryId);
|
|
1809
1940
|
if (repository?.labelPrompts) {
|
|
1810
1941
|
// Check debugger labels
|
|
1811
|
-
const
|
|
1942
|
+
const debuggerConfig = repository.labelPrompts.debugger;
|
|
1943
|
+
const debuggerLabels = Array.isArray(debuggerConfig)
|
|
1944
|
+
? debuggerConfig
|
|
1945
|
+
: debuggerConfig?.labels;
|
|
1946
|
+
const debuggerLabel = debuggerLabels?.find((label) => labels.includes(label));
|
|
1812
1947
|
if (debuggerLabel) {
|
|
1813
1948
|
selectedPromptType = "debugger";
|
|
1814
1949
|
triggerLabel = debuggerLabel;
|
|
1815
1950
|
}
|
|
1816
1951
|
else {
|
|
1817
1952
|
// Check builder labels
|
|
1818
|
-
const
|
|
1953
|
+
const builderConfig = repository.labelPrompts.builder;
|
|
1954
|
+
const builderLabels = Array.isArray(builderConfig)
|
|
1955
|
+
? builderConfig
|
|
1956
|
+
: builderConfig?.labels;
|
|
1957
|
+
const builderLabel = builderLabels?.find((label) => labels.includes(label));
|
|
1819
1958
|
if (builderLabel) {
|
|
1820
1959
|
selectedPromptType = "builder";
|
|
1821
1960
|
triggerLabel = builderLabel;
|
|
1822
1961
|
}
|
|
1823
1962
|
else {
|
|
1824
1963
|
// Check scoper labels
|
|
1825
|
-
const
|
|
1964
|
+
const scoperConfig = repository.labelPrompts.scoper;
|
|
1965
|
+
const scoperLabels = Array.isArray(scoperConfig)
|
|
1966
|
+
? scoperConfig
|
|
1967
|
+
: scoperConfig?.labels;
|
|
1968
|
+
const scoperLabel = scoperLabels?.find((label) => labels.includes(label));
|
|
1826
1969
|
if (scoperLabel) {
|
|
1827
1970
|
selectedPromptType = "scoper";
|
|
1828
1971
|
triggerLabel = scoperLabel;
|
|
@@ -1885,5 +2028,35 @@ ${newComment ? `New comment to address:\n${newComment.body}\n\n` : ""}Please ana
|
|
|
1885
2028
|
console.error(`[EdgeWorker] Error posting instant prompted acknowledgment:`, error);
|
|
1886
2029
|
}
|
|
1887
2030
|
}
|
|
2031
|
+
/**
|
|
2032
|
+
* Fetch complete issue details from Linear API
|
|
2033
|
+
*/
|
|
2034
|
+
async fetchFullIssueDetails(issueId, repositoryId) {
|
|
2035
|
+
const linearClient = this.linearClients.get(repositoryId);
|
|
2036
|
+
if (!linearClient) {
|
|
2037
|
+
console.warn(`[EdgeWorker] No Linear client found for repository ${repositoryId}`);
|
|
2038
|
+
return null;
|
|
2039
|
+
}
|
|
2040
|
+
try {
|
|
2041
|
+
console.log(`[EdgeWorker] Fetching full issue details for ${issueId}`);
|
|
2042
|
+
const fullIssue = await linearClient.issue(issueId);
|
|
2043
|
+
console.log(`[EdgeWorker] Successfully fetched issue details for ${issueId}`);
|
|
2044
|
+
// Check if issue has a parent
|
|
2045
|
+
try {
|
|
2046
|
+
const parent = await fullIssue.parent;
|
|
2047
|
+
if (parent) {
|
|
2048
|
+
console.log(`[EdgeWorker] Issue ${issueId} has parent: ${parent.identifier}`);
|
|
2049
|
+
}
|
|
2050
|
+
}
|
|
2051
|
+
catch (_error) {
|
|
2052
|
+
// Parent field might not exist, ignore error
|
|
2053
|
+
}
|
|
2054
|
+
return fullIssue;
|
|
2055
|
+
}
|
|
2056
|
+
catch (error) {
|
|
2057
|
+
console.error(`[EdgeWorker] Failed to fetch issue details for ${issueId}:`, error);
|
|
2058
|
+
return null;
|
|
2059
|
+
}
|
|
2060
|
+
}
|
|
1888
2061
|
}
|
|
1889
2062
|
//# sourceMappingURL=EdgeWorker.js.map
|
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/types.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Issue as LinearIssue } from "@linear/sdk";
|
|
2
2
|
import type { SDKMessage } from "cyrus-claude-runner";
|
|
3
|
-
import type { Workspace } from "cyrus-core";
|
|
3
|
+
import type { CyrusAgentSession, Workspace } from "cyrus-core";
|
|
4
4
|
import type { OAuthCallbackHandler } from "./SharedApplicationServer.js";
|
|
5
5
|
/**
|
|
6
6
|
* Configuration for a single repository/workspace pair
|
|
@@ -15,6 +15,7 @@ export interface RepositoryConfig {
|
|
|
15
15
|
linearToken: string;
|
|
16
16
|
teamKeys?: string[];
|
|
17
17
|
routingLabels?: string[];
|
|
18
|
+
projectKeys?: string[];
|
|
18
19
|
workspaceBaseDir: string;
|
|
19
20
|
isActive?: boolean;
|
|
20
21
|
promptTemplatePath?: string;
|
|
@@ -22,9 +23,18 @@ export interface RepositoryConfig {
|
|
|
22
23
|
mcpConfigPath?: string | string[];
|
|
23
24
|
appendInstruction?: string;
|
|
24
25
|
labelPrompts?: {
|
|
25
|
-
debugger?:
|
|
26
|
-
|
|
27
|
-
|
|
26
|
+
debugger?: {
|
|
27
|
+
labels: string[];
|
|
28
|
+
allowedTools?: string[] | "readOnly" | "safe" | "all";
|
|
29
|
+
};
|
|
30
|
+
builder?: {
|
|
31
|
+
labels: string[];
|
|
32
|
+
allowedTools?: string[] | "readOnly" | "safe" | "all";
|
|
33
|
+
};
|
|
34
|
+
scoper?: {
|
|
35
|
+
labels: string[];
|
|
36
|
+
allowedTools?: string[] | "readOnly" | "safe" | "all";
|
|
37
|
+
};
|
|
28
38
|
};
|
|
29
39
|
}
|
|
30
40
|
/**
|
|
@@ -39,6 +49,17 @@ export interface EdgeWorkerConfig {
|
|
|
39
49
|
serverHost?: string;
|
|
40
50
|
ngrokAuthToken?: string;
|
|
41
51
|
defaultAllowedTools?: string[];
|
|
52
|
+
promptDefaults?: {
|
|
53
|
+
debugger?: {
|
|
54
|
+
allowedTools?: string[] | "readOnly" | "safe" | "all";
|
|
55
|
+
};
|
|
56
|
+
builder?: {
|
|
57
|
+
allowedTools?: string[] | "readOnly" | "safe" | "all";
|
|
58
|
+
};
|
|
59
|
+
scoper?: {
|
|
60
|
+
allowedTools?: string[] | "readOnly" | "safe" | "all";
|
|
61
|
+
};
|
|
62
|
+
};
|
|
42
63
|
repositories: RepositoryConfig[];
|
|
43
64
|
handlers?: {
|
|
44
65
|
createWorkspace?: (issue: LinearIssue, repository: RepositoryConfig) => Promise<Workspace>;
|
|
@@ -68,4 +89,19 @@ export interface EdgeWorkerEvents {
|
|
|
68
89
|
"claude:tool-use": (issueId: string, tool: string, input: any, repositoryId: string) => void;
|
|
69
90
|
error: (error: Error, context?: any) => void;
|
|
70
91
|
}
|
|
92
|
+
/**
|
|
93
|
+
* Data returned from createLinearAgentSession
|
|
94
|
+
*/
|
|
95
|
+
export interface LinearAgentSessionData {
|
|
96
|
+
session: CyrusAgentSession;
|
|
97
|
+
fullIssue: LinearIssue;
|
|
98
|
+
workspace: Workspace;
|
|
99
|
+
attachmentResult: {
|
|
100
|
+
manifest: string;
|
|
101
|
+
attachmentsDir: string | null;
|
|
102
|
+
};
|
|
103
|
+
attachmentsDir: string;
|
|
104
|
+
allowedDirectories: string[];
|
|
105
|
+
allowedTools: string[];
|
|
106
|
+
}
|
|
71
107
|
//# sourceMappingURL=types.d.ts.map
|
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,IAAI,WAAW,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;
|
|
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.24",
|
|
4
4
|
"description": "Unified edge worker for processing Linear issues with Claude",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -16,16 +16,17 @@
|
|
|
16
16
|
"@linear/sdk": "^55.1.0",
|
|
17
17
|
"@ngrok/ngrok": "^1.5.1",
|
|
18
18
|
"file-type": "^18.7.0",
|
|
19
|
-
"cyrus-claude-runner": "0.0.
|
|
20
|
-
"cyrus-
|
|
21
|
-
"cyrus-
|
|
19
|
+
"cyrus-claude-runner": "0.0.19",
|
|
20
|
+
"cyrus-core": "0.0.10",
|
|
21
|
+
"cyrus-ndjson-client": "0.0.16"
|
|
22
22
|
},
|
|
23
23
|
"devDependencies": {
|
|
24
24
|
"@types/node": "^20.0.0",
|
|
25
25
|
"@vitest/coverage-v8": "^1.6.1",
|
|
26
26
|
"axios": "^1.6.0",
|
|
27
27
|
"typescript": "^5.3.3",
|
|
28
|
-
"vitest": "^1.1.0"
|
|
28
|
+
"vitest": "^1.1.0",
|
|
29
|
+
"vitest-mock-extended": "^3.1.0"
|
|
29
30
|
},
|
|
30
31
|
"publishConfig": {
|
|
31
32
|
"access": "public"
|