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.
@@ -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
@@ -1 +1 @@
1
- {"version":3,"file":"EdgeWorker.d.ts","sourceRoot":"","sources":["../src/EdgeWorker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EdgeWorker.d.ts","sourceRoot":"","sources":["../src/EdgeWorker.ts"],"names":[],"mappings":"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"}
@@ -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 ID to fetch labels if needed
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
- // Check if any repos have routingLabels configured
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] Matched repository ${repo.name} by label routing`);
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
- // Fall back to team-based routing
330
+ // Continue to project-based routing
331
331
  }
332
332
  }
333
333
  }
334
- // Fall back to team-based routing
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
- // Original workspace fallback - find first repo without teamKeys or routing labels
350
- return (workspaceRepos.find((repo) => (!repo.teamKeys || repo.teamKeys.length === 0) &&
351
- (!repo.routingLabels || repo.routingLabels.length === 0)) ||
352
- workspaceRepos[0] ||
353
- null);
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
- * Handle agent session created webhook
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 handleAgentSessionCreatedWebhook(webhook, repository) {
362
- console.log(`[EdgeWorker] Handling agent session created: ${webhook.agentSession.issue.identifier}`);
363
- const { agentSession } = webhook;
364
- const linearAgentActivitySessionId = agentSession.id;
365
- const { issue } = agentSession;
366
- const commentBody = agentSession.comment?.body;
367
- // HACK: This is required since the comment body is always populated, thus there is no other way to differentiate between the two trigger events
368
- const AGENT_SESSION_MARKER = "This thread is for an agent session";
369
- const isMentionTriggered = commentBody && !commentBody.includes(AGENT_SESSION_MARKER);
370
- // Initialize the agent session in AgentSessionManager
371
- const agentSessionManager = this.agentSessionManagers.get(repository.id);
372
- if (!agentSessionManager) {
373
- console.error("There was no agentSessionManage for the repository with id", repository.id);
374
- return;
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
- // Post instant acknowledgment thought
377
- await this.postInstantAcknowledgment(linearAgentActivitySessionId, repository.id);
378
- // Fetch full Linear issue details immediately
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
- // Always append the last message marker to prevent duplication
425
- 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.";
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
- const session = agentSessionManager.getSession(linearAgentActivitySessionId);
567
+ let session = agentSessionManager.getSession(linearAgentActivitySessionId);
568
+ let isNewSession = false;
498
569
  if (!session) {
499
- console.error(`Unexpected: could not find Cyrus Agent Session for agent activity session: ${linearAgentActivitySessionId}`);
500
- return;
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 (existingRunner?.isStreaming()) {
505
- // Post instant acknowledgment for streaming case
506
- await this.postInstantPromptedAcknowledgment(linearAgentActivitySessionId, repository.id, true);
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
- if (!session.claudeSessionId) {
583
- console.error(`Unexpected: Handling a ("prompted") webhook but did not find an existing claudeSessionId for the linearAgentActivitySessionId ${linearAgentActivitySessionId}. Not continuing.`);
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
- // Build allowed tools list with Linear MCP tools
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 new runner with resume mode if we have a Claude session ID
600
- // Always append the last message marker to prevent duplication
601
- 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.";
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 with attachment manifest
623
- let fullPrompt = promptBody;
624
- if (attachmentManifest) {
625
- fullPrompt = `${promptBody}\n\n${attachmentManifest}`;
626
- }
627
- // Start streaming session with the comment as initial prompt
628
- console.log(`[EdgeWorker] Starting new streaming session for issue ${issue.identifier}`);
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 configuredLabels = repository.labelPrompts[promptType];
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 { prompt: promptContent, version: promptVersion };
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
- <root_comment>
983
- <author>@${rootAuthor}</author>
984
- <timestamp>${rootTime}</timestamp>
985
- <content>
1029
+ <root_comment>
1030
+ <author>@${rootAuthor}</author>
1031
+ <timestamp>${rootTime}</timestamp>
1032
+ <content>
986
1033
  ${rootComment.body}
987
- </content>
988
- </root_comment>`;
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
- <reply>
1001
- <author>@${replyAuthor}</author>
1002
- <timestamp>${replyTime}</timestamp>
1003
- <content>
1047
+ <reply>
1048
+ <author>@${replyAuthor}</author>
1049
+ <timestamp>${replyTime}</timestamp>
1050
+ <content>
1004
1051
  ${reply.body}
1005
- </content>
1006
- </reply>`;
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
- <author>{{new_comment_author}}</author>
1089
- <timestamp>{{new_comment_timestamp}}</timestamp>
1090
- <content>
1135
+ <author>{{new_comment_author}}</author>
1136
+ <timestamp>{{new_comment_timestamp}}</timestamp>
1137
+ <content>
1091
1138
  {{new_comment_content}}
1092
- </content>
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
- // Start with configured tools or defaults
1682
- const baseTools = repository.allowedTools ||
1683
- this.config.defaultAllowedTools ||
1684
- getSafeTools();
1685
- // Ensure baseTools is an array
1686
- const baseToolsArray = Array.isArray(baseTools) ? baseTools : [];
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([...baseToolsArray, ...linearMcpTools])];
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 debuggerLabel = repository.labelPrompts.debugger?.find((label) => labels.includes(label));
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 builderLabel = repository.labelPrompts.builder?.find((label) => labels.includes(label));
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 scoperLabel = repository.labelPrompts.scoper?.find((label) => labels.includes(label));
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
@@ -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?: string[];
26
- builder?: string[];
27
- scoper?: string[];
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
@@ -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;AAC5C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEzE;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAEhC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IAGb,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IAGnB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IAGzB,gBAAgB,EAAE,MAAM,CAAC;IAGzB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAClC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAG3B,YAAY,CAAC,EAAE;QACd,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QACnB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;KAClB,CAAC;CACF;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAEhC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IAGxB,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAG/B,YAAY,EAAE,gBAAgB,EAAE,CAAC;IAGjC,QAAQ,CAAC,EAAE;QAGV,eAAe,CAAC,EAAE,CACjB,KAAK,EAAE,WAAW,EAClB,UAAU,EAAE,gBAAgB,KACxB,OAAO,CAAC,SAAS,CAAC,CAAC;QAIxB,eAAe,CAAC,EAAE,CACjB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,UAAU,EACnB,YAAY,EAAE,MAAM,KAChB,IAAI,CAAC;QAIV,cAAc,CAAC,EAAE,CAChB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,WAAW,EAClB,YAAY,EAAE,MAAM,KAChB,IAAI,CAAC;QACV,YAAY,CAAC,EAAE,CACd,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GAAG,IAAI,EACvB,YAAY,EAAE,MAAM,KAChB,IAAI,CAAC;QAGV,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;QAGhD,eAAe,CAAC,EAAE,oBAAoB,CAAC;KACvC,CAAC;IAGF,QAAQ,CAAC,EAAE;QACV,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B,wBAAwB,CAAC,EAAE,OAAO,CAAC;QACnC,wBAAwB,CAAC,EAAE,OAAO,CAAC;QACnC,kBAAkB,CAAC,EAAE,MAAM,CAAC;KAC5B,CAAC;CACF;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAEhC,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAGvD,iBAAiB,EAAE,CAClB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,WAAW,EAClB,YAAY,EAAE,MAAM,KAChB,IAAI,CAAC;IACV,eAAe,EAAE,CAChB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GAAG,IAAI,EACvB,YAAY,EAAE,MAAM,KAChB,IAAI,CAAC;IAGV,gBAAgB,EAAE,CACjB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,UAAU,EACnB,YAAY,EAAE,MAAM,KAChB,IAAI,CAAC;IACV,iBAAiB,EAAE,CAClB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,KAChB,IAAI,CAAC;IACV,iBAAiB,EAAE,CAClB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,GAAG,EACV,YAAY,EAAE,MAAM,KAChB,IAAI,CAAC;IAGV,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;CAC7C"}
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.23",
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.18",
20
- "cyrus-ndjson-client": "0.0.15",
21
- "cyrus-core": "0.0.9"
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"