cyrus-edge-worker 0.0.18-alpha.2 → 0.0.19

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.
@@ -12,6 +12,7 @@ export declare class AgentSessionManager {
12
12
  private linearClient;
13
13
  private sessions;
14
14
  private entries;
15
+ private activeTasksBySession;
15
16
  constructor(linearClient: LinearClient);
16
17
  /**
17
18
  * Initialize a Linear agent session from webhook
@@ -54,6 +55,10 @@ export declare class AgentSessionManager {
54
55
  * Extract tool information from Claude assistant message
55
56
  */
56
57
  private extractToolInfo;
58
+ /**
59
+ * Extract tool_use_id from Claude user message containing tool_result
60
+ */
61
+ private extractToolResultId;
57
62
  /**
58
63
  * Sync Agent Session Entry to Linear (create AgentActivity)
59
64
  */
@@ -129,5 +134,9 @@ export declare class AgentSessionManager {
129
134
  * Restore Agent Session state from serialized data
130
135
  */
131
136
  restoreState(serializedSessions: Record<string, SerializedCyrusAgentSession>, serializedEntries: Record<string, SerializedCyrusAgentSessionEntry[]>): void;
137
+ /**
138
+ * Post a thought about the model being used
139
+ */
140
+ private postModelNotificationThought;
132
141
  }
133
142
  //# sourceMappingURL=AgentSessionManager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AgentSessionManager.d.ts","sourceRoot":"","sources":["../src/AgentSessionManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AgentSessionManager.d.ts","sourceRoot":"","sources":["../src/AgentSessionManager.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@ export class AgentSessionManager {
10
10
  linearClient;
11
11
  sessions = new Map();
12
12
  entries = new Map(); // Stores a list of session entries per each session by its linearAgentActivitySessionId
13
+ activeTasksBySession = new Map(); // Maps session ID to active Task tool use ID
13
14
  constructor(linearClient) {
14
15
  this.linearClient = linearClient;
15
16
  }
@@ -59,6 +60,8 @@ export class AgentSessionManager {
59
60
  async createSessionEntry(_linearAgentActivitySessionId, sdkMessage) {
60
61
  // Extract tool info if this is an assistant message
61
62
  const toolInfo = sdkMessage.type === 'assistant' ? this.extractToolInfo(sdkMessage) : null;
63
+ // Extract tool_use_id if this is a user message with tool_result
64
+ const toolResultId = sdkMessage.type === 'user' ? this.extractToolResultId(sdkMessage) : null;
62
65
  const sessionEntry = {
63
66
  claudeSessionId: sdkMessage.session_id,
64
67
  type: sdkMessage.type,
@@ -70,6 +73,9 @@ export class AgentSessionManager {
70
73
  toolUseId: toolInfo.id,
71
74
  toolName: toolInfo.name,
72
75
  toolInput: toolInfo.input
76
+ }),
77
+ ...(toolResultId && {
78
+ toolUseId: toolResultId
73
79
  })
74
80
  }
75
81
  };
@@ -120,6 +126,8 @@ export class AgentSessionManager {
120
126
  console.error(`[AgentSessionManager] No session found for linearAgentActivitySessionId: ${linearAgentActivitySessionId}`);
121
127
  return;
122
128
  }
129
+ // Clear any active Task when session completes
130
+ this.activeTasksBySession.delete(linearAgentActivitySessionId);
123
131
  const status = resultMessage.subtype === 'success'
124
132
  ? LinearDocument.AgentSessionStatus.Complete
125
133
  : LinearDocument.AgentSessionStatus.Error;
@@ -142,6 +150,11 @@ export class AgentSessionManager {
142
150
  case 'system':
143
151
  if (message.subtype === 'init') {
144
152
  this.updateAgentSessionWithClaudeSessionId(linearAgentActivitySessionId, message);
153
+ // Post model notification thought
154
+ const systemMessage = message;
155
+ if (systemMessage.model) {
156
+ await this.postModelNotificationThought(linearAgentActivitySessionId, systemMessage.model);
157
+ }
145
158
  }
146
159
  break;
147
160
  case 'user':
@@ -217,6 +230,16 @@ export class AgentSessionManager {
217
230
  // For tool use blocks, return the input as JSON string
218
231
  return JSON.stringify(block.input, null, 2);
219
232
  }
233
+ else if (block.type === 'tool_result') {
234
+ // For tool_result blocks, extract just the text content
235
+ if (Array.isArray(block.content)) {
236
+ return block.content
237
+ .filter((contentBlock) => contentBlock.type === 'text')
238
+ .map((contentBlock) => contentBlock.text)
239
+ .join('\n');
240
+ }
241
+ return '';
242
+ }
220
243
  return '';
221
244
  })
222
245
  .filter(Boolean)
@@ -241,6 +264,19 @@ export class AgentSessionManager {
241
264
  }
242
265
  return null;
243
266
  }
267
+ /**
268
+ * Extract tool_use_id from Claude user message containing tool_result
269
+ */
270
+ extractToolResultId(sdkMessage) {
271
+ const message = sdkMessage.message;
272
+ if (Array.isArray(message.content)) {
273
+ const toolResult = message.content.find((block) => block.type === 'tool_result');
274
+ if (toolResult && 'tool_use_id' in toolResult) {
275
+ return toolResult.tool_use_id;
276
+ }
277
+ }
278
+ return null;
279
+ }
244
280
  /**
245
281
  * Sync Agent Session Entry to Linear (create AgentActivity)
246
282
  */
@@ -259,9 +295,20 @@ export class AgentSessionManager {
259
295
  let content;
260
296
  switch (entry.type) {
261
297
  case 'user':
262
- // User messages are prompts - but we don't create these, Linear does
263
- console.log(`[AgentSessionManager] Skipping user entry - prompts are created by Linear`);
264
- return;
298
+ const activeTaskId = this.activeTasksBySession.get(linearAgentActivitySessionId);
299
+ if (activeTaskId && activeTaskId === entry.metadata?.toolUseId) {
300
+ content = {
301
+ type: 'thought',
302
+ body: `✅ Task Completed\n\n\n\n${entry.content}\n\n---\n\n`
303
+ };
304
+ this.activeTasksBySession.delete(linearAgentActivitySessionId);
305
+ }
306
+ else {
307
+ // Task was already completed, skip this duplicate result
308
+ console.log(`[AgentSessionManager] Skipping duplicate Task result for already completed task ${entry.metadata?.parentToolUseId}`);
309
+ return;
310
+ }
311
+ break;
265
312
  case 'assistant':
266
313
  // Assistant messages can be thoughts or responses
267
314
  if (entry.metadata?.toolUseId) {
@@ -274,10 +321,31 @@ export class AgentSessionManager {
274
321
  body: formattedTodos
275
322
  };
276
323
  }
324
+ else if (toolName === 'Task') {
325
+ // Special handling for Task tool - add start marker and track active task
326
+ let parameter = entry.content;
327
+ let displayName = toolName;
328
+ // Track this as the active Task for this session
329
+ if (entry.metadata?.toolUseId) {
330
+ this.activeTasksBySession.set(linearAgentActivitySessionId, entry.metadata.toolUseId);
331
+ }
332
+ content = {
333
+ type: 'action',
334
+ action: displayName,
335
+ parameter: parameter,
336
+ // result will be added later when we get tool result
337
+ };
338
+ }
277
339
  else {
278
- // Other tools remain as actions
340
+ // Other tools - check if they're within an active Task
279
341
  let parameter = entry.content;
280
342
  let displayName = toolName;
343
+ if (entry.metadata?.parentToolUseId) {
344
+ const activeTaskId = this.activeTasksBySession.get(linearAgentActivitySessionId);
345
+ if (activeTaskId === entry.metadata?.parentToolUseId) {
346
+ displayName = `↪ ${toolName}`;
347
+ }
348
+ }
281
349
  content = {
282
350
  type: 'action',
283
351
  action: displayName,
@@ -288,6 +356,11 @@ export class AgentSessionManager {
288
356
  }
289
357
  else {
290
358
  // Regular assistant message - create a thought
359
+ // Check if this message contains the last message marker
360
+ if (entry.content.includes('___LAST_MESSAGE_MARKER___')) {
361
+ console.log(`[AgentSessionManager] Skipping assistant message with last message marker - will be posted as response later`);
362
+ return; // Skip posting this as a thought
363
+ }
291
364
  content = {
292
365
  type: 'thought',
293
366
  body: entry.content
@@ -310,9 +383,11 @@ export class AgentSessionManager {
310
383
  };
311
384
  }
312
385
  else {
386
+ // Strip the last message marker from the response
387
+ const cleanedContent = entry.content.replace(/___LAST_MESSAGE_MARKER___/g, '').trim();
313
388
  content = {
314
389
  type: 'response',
315
- body: entry.content
390
+ body: cleanedContent
316
391
  };
317
392
  }
318
393
  break;
@@ -609,5 +684,28 @@ export class AgentSessionManager {
609
684
  }
610
685
  console.log(`[AgentSessionManager] Restored ${this.sessions.size} sessions, ${Object.keys(serializedEntries).length} entry collections`);
611
686
  }
687
+ /**
688
+ * Post a thought about the model being used
689
+ */
690
+ async postModelNotificationThought(linearAgentActivitySessionId, model) {
691
+ try {
692
+ const result = await this.linearClient.createAgentActivity({
693
+ agentSessionId: linearAgentActivitySessionId,
694
+ content: {
695
+ type: 'thought',
696
+ body: `Using model: ${model}`
697
+ }
698
+ });
699
+ if (result.success) {
700
+ console.log(`[AgentSessionManager] Posted model notification for session ${linearAgentActivitySessionId} (model: ${model})`);
701
+ }
702
+ else {
703
+ console.error(`[AgentSessionManager] Failed to post model notification:`, result);
704
+ }
705
+ }
706
+ catch (error) {
707
+ console.error(`[AgentSessionManager] Error posting model notification:`, error);
708
+ }
709
+ }
612
710
  }
613
711
  //# sourceMappingURL=AgentSessionManager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AgentSessionManager.js","sourceRoot":"","sources":["../src/AgentSessionManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AgentSessionManager.js","sourceRoot":"","sources":["../src/AgentSessionManager.ts"],"names":[],"mappings":"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"}
@@ -100,6 +100,12 @@ export declare class EdgeWorker extends EventEmitter {
100
100
  * @returns Formatted prompt string
101
101
  */
102
102
  private buildLabelBasedPrompt;
103
+ /**
104
+ * Extract version tag from template content
105
+ * @param templateContent The template content to parse
106
+ * @returns The version value if found, undefined otherwise
107
+ */
108
+ private extractVersionTag;
103
109
  /**
104
110
  * Convert full Linear SDK issue to CoreIssue interface for Session creation
105
111
  */
@@ -219,5 +225,9 @@ export declare class EdgeWorker extends EventEmitter {
219
225
  * Post thought about system prompt selection based on labels
220
226
  */
221
227
  private postSystemPromptSelectionThought;
228
+ /**
229
+ * Post instant acknowledgment thought when receiving prompted webhook
230
+ */
231
+ private postInstantPromptedAcknowledgment;
222
232
  }
223
233
  //# 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":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AAMrC,OAAO,KAAK,EAAgB,2BAA2B,EAAiE,MAAM,YAAY,CAAA;AAsB1I,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAoB,MAAM,YAAY,CAAA;AAQtF,MAAM,CAAC,OAAO,WAAW,UAAU;IACjC,EAAE,CAAC,CAAC,SAAS,MAAM,gBAAgB,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;IACnF,IAAI,CAAC,CAAC,SAAS,MAAM,gBAAgB,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAA;CACpG;AAED;;;;;GAKG;AACH,qBAAa,UAAW,SAAQ,YAAY;IAC1C,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,YAAY,CAA2C;IAC/D,OAAO,CAAC,oBAAoB,CAA8C;IAC1E,OAAO,CAAC,aAAa,CAAuC;IAC5D,OAAO,CAAC,aAAa,CAAuC;IAC5D,OAAO,CAAC,kBAAkB,CAAoB;IAC9C,OAAO,CAAC,uBAAuB,CAAyB;gBAE5C,MAAM,EAAE,gBAAgB;IAgFpC;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAwD5B;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAkC3B;;OAEG;IACH,OAAO,CAAC,aAAa;IAOrB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAMxB;;OAEG;IACH,OAAO,CAAC,WAAW;IAKnB;;OAEG;YACW,aAAa;IAsD3B;;OAEG;YACW,4BAA4B;IAW1C;;OAEG;IACH,OAAO,CAAC,wBAAwB;IA8ChC;;;;;OAKG;YACW,gCAAgC;IAoH9C;;;;;OAKG;YACW,6BAA6B;IA0G3C;;;;OAIG;YACW,qBAAqB;IA+BnC;;OAEG;YACW,mBAAmB;IAQjC;;;OAGG;YACW,iBAAiB;IAI/B;;OAEG;YACW,qBAAqB;IA6BnC;;OAEG;YACW,gBAAgB;IAU9B;;OAEG;YACW,+BAA+B;IAoC7C;;;;;OAKG;YACW,qBAAqB;IA+CnC;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAQzB;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAYhC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAI1B;;;;OAIG;YACW,oBAAoB;IA8ElC;;;;;;;OAOG;YACW,aAAa;IAqJ3B;;OAEG;IACH,mBAAmB,IAAI,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAQ3C;;;OAGG;IACH,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG;IAUrC;;OAEG;IACG,cAAc,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,iBAAiB,EAAE,MAAM,CAAC;QAAC,mBAAmB,EAAE,MAAM,CAAA;KAAE,CAAC;IAKjI;;OAEG;IACH,aAAa,IAAI,MAAM;IAIvB;;OAEG;IACH,mBAAmB,IAAI,MAAM;IAI7B;;;;OAIG;YACW,uBAAuB;IAyDrC;;OAEG;IAeH;;OAEG;YACW,WAAW;IAiBzB;;OAEG;IASH;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAW7B;;;;;OAKG;YACW,wBAAwB;IAmHtC;;OAEG;YACW,kBAAkB;IAmDhC;;OAEG;IACH,OAAO,CAAC,0BAA0B;IA4HlC;;OAEG;IACH,OAAO,CAAC,cAAc;IAgBtB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAmBzB;;OAEG;IACI,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,GAAG,EAAE;IAS7E;;OAEG;YACW,kBAAkB;IAYhC;;OAEG;YACW,kBAAkB;IAUhC;;OAEG;IACI,iBAAiB,IAAI,2BAA2B;IAevD;;OAEG;IACI,eAAe,CAAC,KAAK,EAAE,2BAA2B,GAAG,IAAI;IAgBhE;;OAEG;YACW,yBAAyB;IA2BvC;;OAEG;YACW,gCAAgC;IA4D9C;;OAEG;YACW,iCAAiC;CA8BhD"}
@@ -371,12 +371,16 @@ export class EdgeWorker extends EventEmitter {
371
371
  const allowedTools = this.buildAllowedTools(repository);
372
372
  // Fetch issue labels and determine system prompt
373
373
  const labels = await this.fetchIssueLabels(fullIssue);
374
- const systemPrompt = await this.determineSystemPromptFromLabels(labels, repository);
374
+ const systemPromptResult = await this.determineSystemPromptFromLabels(labels, repository);
375
+ const systemPrompt = systemPromptResult?.prompt;
376
+ const systemPromptVersion = systemPromptResult?.version;
375
377
  // Post thought about system prompt selection
376
378
  if (systemPrompt) {
377
379
  await this.postSystemPromptSelectionThought(linearAgentActivitySessionId, labels, repository.id);
378
380
  }
379
381
  // Create Claude runner with attachment directory access and optional system prompt
382
+ // Always append the last message marker to prevent duplication
383
+ 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.';
380
384
  const runner = new ClaudeRunner({
381
385
  workingDirectory: workspace.path,
382
386
  allowedTools,
@@ -384,7 +388,7 @@ export class EdgeWorker extends EventEmitter {
384
388
  workspaceName: fullIssue.identifier,
385
389
  mcpConfigPath: repository.mcpConfigPath,
386
390
  mcpConfig: this.buildMcpConfig(repository),
387
- ...(systemPrompt && { appendSystemPrompt: systemPrompt }),
391
+ appendSystemPrompt: (systemPrompt || '') + lastMessageMarker,
388
392
  onMessage: (message) => this.handleClaudeMessage(linearAgentActivitySessionId, message, repository.id),
389
393
  // onComplete: (messages) => this.handleClaudeComplete(initialComment.id, messages, repository.id),
390
394
  onError: (error) => this.handleClaudeError(error)
@@ -400,9 +404,17 @@ export class EdgeWorker extends EventEmitter {
400
404
  console.log(`[EdgeWorker] Building initial prompt for issue ${fullIssue.identifier}`);
401
405
  try {
402
406
  // Choose the appropriate prompt builder based on system prompt availability
403
- const prompt = systemPrompt
407
+ const promptResult = systemPrompt
404
408
  ? await this.buildLabelBasedPrompt(fullIssue, repository, attachmentResult.manifest)
405
409
  : await this.buildPromptV2(fullIssue, repository, undefined, attachmentResult.manifest);
410
+ const { prompt, version: userPromptVersion } = promptResult;
411
+ // Update runner with version information
412
+ if (userPromptVersion || systemPromptVersion) {
413
+ runner.updatePromptVersions({
414
+ userPromptVersion,
415
+ systemPromptVersion
416
+ });
417
+ }
406
418
  console.log(`[EdgeWorker] Initial prompt built successfully using ${systemPrompt ? 'label-based' : 'fallback'} workflow, length: ${prompt.length} characters`);
407
419
  console.log(`[EdgeWorker] Starting Claude streaming session`);
408
420
  const sessionInfo = await runner.startStreaming(prompt);
@@ -441,20 +453,15 @@ export class EdgeWorker extends EventEmitter {
441
453
  // Check if there's an existing runner for this comment thread
442
454
  const existingRunner = session.claudeRunner;
443
455
  if (existingRunner && existingRunner.isStreaming()) {
444
- // Post immediate reply for streaming case
445
- // parentId ensures correct nesting: replies to parent if this is a reply, or to comment itself if root
446
- // TODO____ REACT
447
- // await this.postComment(
448
- // issue.id,
449
- // "I've queued up your message to address it right after I resolve my current focus.",
450
- // repository.id,
451
- // parentCommentId || comment.id // Same nesting level as the triggering comment
452
- // )
456
+ // Post instant acknowledgment for streaming case
457
+ await this.postInstantPromptedAcknowledgment(linearAgentActivitySessionId, repository.id, true);
453
458
  // Add comment to existing stream instead of restarting
454
459
  console.log(`[EdgeWorker] Adding comment to existing stream for agent activity session ${linearAgentActivitySessionId}`);
455
460
  existingRunner.addStreamMessage(promptBody);
456
461
  return; // Exit early - comment has been added to stream
457
462
  }
463
+ // Post instant acknowledgment for non-streaming case
464
+ await this.postInstantPromptedAcknowledgment(linearAgentActivitySessionId, repository.id, false);
458
465
  // Stop existing runner if it's not streaming or stream addition failed
459
466
  if (existingRunner) {
460
467
  existingRunner.stop();
@@ -466,7 +473,18 @@ export class EdgeWorker extends EventEmitter {
466
473
  try {
467
474
  // Build allowed tools list with Linear MCP tools
468
475
  const allowedTools = this.buildAllowedTools(repository);
476
+ // Fetch full issue details to get labels
477
+ const fullIssue = await this.fetchFullIssueDetails(issue.id, repository.id);
478
+ if (!fullIssue) {
479
+ throw new Error(`Failed to fetch full issue details for ${issue.id}`);
480
+ }
481
+ // Fetch issue labels and determine system prompt (same as in handleAgentSessionCreatedWebhook)
482
+ const labels = await this.fetchIssueLabels(fullIssue);
483
+ const systemPromptResult = await this.determineSystemPromptFromLabels(labels, repository);
484
+ const systemPrompt = systemPromptResult?.prompt;
469
485
  // Create new runner with resume mode if we have a Claude session ID
486
+ // Always append the last message marker to prevent duplication
487
+ 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.';
470
488
  const runner = new ClaudeRunner({
471
489
  workingDirectory: session.workspace.path,
472
490
  allowedTools,
@@ -474,6 +492,7 @@ export class EdgeWorker extends EventEmitter {
474
492
  workspaceName: issue.identifier,
475
493
  mcpConfigPath: repository.mcpConfigPath,
476
494
  mcpConfig: this.buildMcpConfig(repository),
495
+ appendSystemPrompt: (systemPrompt || '') + lastMessageMarker,
477
496
  onMessage: (message) => {
478
497
  this.handleClaudeMessage(linearAgentActivitySessionId, message, repository.id);
479
498
  },
@@ -561,6 +580,16 @@ export class EdgeWorker extends EventEmitter {
561
580
  console.log(`[EdgeWorker] Fetching full issue details for ${issueId}`);
562
581
  const fullIssue = await linearClient.issue(issueId);
563
582
  console.log(`[EdgeWorker] Successfully fetched issue details for ${issueId}`);
583
+ // Check if issue has a parent
584
+ try {
585
+ const parent = await fullIssue.parent;
586
+ if (parent) {
587
+ console.log(`[EdgeWorker] Issue ${issueId} has parent: ${parent.identifier}`);
588
+ }
589
+ }
590
+ catch (error) {
591
+ // Parent field might not exist, ignore error
592
+ }
564
593
  return fullIssue;
565
594
  }
566
595
  catch (error) {
@@ -600,7 +629,12 @@ export class EdgeWorker extends EventEmitter {
600
629
  const promptPath = join(__dirname, '..', 'prompts', `${promptType}.md`);
601
630
  const promptContent = await readFile(promptPath, 'utf-8');
602
631
  console.log(`[EdgeWorker] Using ${promptType} system prompt for labels: ${labels.join(', ')}`);
603
- return promptContent;
632
+ // Extract and log version tag if present
633
+ const promptVersion = this.extractVersionTag(promptContent);
634
+ if (promptVersion) {
635
+ console.log(`[EdgeWorker] ${promptType} system prompt version: ${promptVersion}`);
636
+ }
637
+ return { prompt: promptContent, version: promptVersion };
604
638
  }
605
639
  catch (error) {
606
640
  console.error(`[EdgeWorker] Failed to load ${promptType} prompt template:`, error);
@@ -626,6 +660,11 @@ export class EdgeWorker extends EventEmitter {
626
660
  console.log(`[EdgeWorker] Loading label prompt template from: ${templatePath}`);
627
661
  const template = await readFile(templatePath, 'utf-8');
628
662
  console.log(`[EdgeWorker] Template loaded, length: ${template.length} characters`);
663
+ // Extract and log version tag if present
664
+ const templateVersion = this.extractVersionTag(template);
665
+ if (templateVersion) {
666
+ console.log(`[EdgeWorker] Label prompt template version: ${templateVersion}`);
667
+ }
629
668
  // Build the simplified prompt with only essential variables
630
669
  let prompt = template
631
670
  .replace(/{{repository_name}}/g, repository.name)
@@ -640,13 +679,25 @@ export class EdgeWorker extends EventEmitter {
640
679
  prompt = prompt + '\n\n' + attachmentManifest;
641
680
  }
642
681
  console.log(`[EdgeWorker] Label-based prompt built successfully, length: ${prompt.length} characters`);
643
- return prompt;
682
+ return { prompt, version: templateVersion };
644
683
  }
645
684
  catch (error) {
646
685
  console.error(`[EdgeWorker] Error building label-based prompt:`, error);
647
686
  throw error;
648
687
  }
649
688
  }
689
+ /**
690
+ * Extract version tag from template content
691
+ * @param templateContent The template content to parse
692
+ * @returns The version value if found, undefined otherwise
693
+ */
694
+ extractVersionTag(templateContent) {
695
+ // Match the version tag pattern: <version-tag value="..." />
696
+ const versionTagMatch = templateContent.match(/<version-tag\s+value="([^"]*)"\s*\/>/i);
697
+ const version = versionTagMatch ? versionTagMatch[1] : undefined;
698
+ // Return undefined for empty strings
699
+ return version && version.trim() ? version : undefined;
700
+ }
650
701
  /**
651
702
  * Convert full Linear SDK issue to CoreIssue interface for Session creation
652
703
  */
@@ -760,6 +811,11 @@ ${reply.body}
760
811
  console.log(`[EdgeWorker] Loading prompt template from: ${templatePath}`);
761
812
  const template = await readFile(templatePath, 'utf-8');
762
813
  console.log(`[EdgeWorker] Template loaded, length: ${template.length} characters`);
814
+ // Extract and log version tag if present
815
+ const templateVersion = this.extractVersionTag(template);
816
+ if (templateVersion) {
817
+ console.log(`[EdgeWorker] Prompt template version: ${templateVersion}`);
818
+ }
763
819
  // Get state name from Linear API
764
820
  const state = await issue.state;
765
821
  const stateName = state?.name || 'Unknown';
@@ -843,14 +899,14 @@ IMPORTANT: Focus specifically on addressing the new comment above. This is a new
843
899
  prompt = prompt + '\n\n<repository-specific-instruction>\n' + repository.appendInstruction + '\n</repository-specific-instruction>';
844
900
  }
845
901
  console.log(`[EdgeWorker] Final prompt length: ${prompt.length} characters`);
846
- return prompt;
902
+ return { prompt, version: templateVersion };
847
903
  }
848
904
  catch (error) {
849
905
  console.error('[EdgeWorker] Failed to load prompt template:', error);
850
906
  // Fallback to simple prompt
851
907
  const state = await issue.state;
852
908
  const stateName = state?.name || 'Unknown';
853
- return `Please help me with the following Linear issue:
909
+ const fallbackPrompt = `Please help me with the following Linear issue:
854
910
 
855
911
  Repository: ${repository.name}
856
912
  Issue: ${issue.identifier}
@@ -864,6 +920,7 @@ Working directory: ${repository.repositoryPath}
864
920
  Base branch: ${repository.baseBranch}
865
921
 
866
922
  ${newComment ? `New comment to address:\n${newComment.body}\n\n` : ''}Please analyze this issue and help implement a solution.`;
923
+ return { prompt: fallbackPrompt, version: undefined };
867
924
  }
868
925
  }
869
926
  /**
@@ -1463,5 +1520,37 @@ ${newComment ? `New comment to address:\n${newComment.body}\n\n` : ''}Please ana
1463
1520
  console.error(`[EdgeWorker] Error posting system prompt selection thought:`, error);
1464
1521
  }
1465
1522
  }
1523
+ /**
1524
+ * Post instant acknowledgment thought when receiving prompted webhook
1525
+ */
1526
+ async postInstantPromptedAcknowledgment(linearAgentActivitySessionId, repositoryId, isStreaming) {
1527
+ try {
1528
+ const linearClient = this.linearClients.get(repositoryId);
1529
+ if (!linearClient) {
1530
+ console.warn(`[EdgeWorker] No Linear client found for repository ${repositoryId}`);
1531
+ return;
1532
+ }
1533
+ const message = isStreaming
1534
+ ? "I've queued up your message as guidance"
1535
+ : "Getting started on that...";
1536
+ const activityInput = {
1537
+ agentSessionId: linearAgentActivitySessionId,
1538
+ content: {
1539
+ type: 'thought',
1540
+ body: message
1541
+ }
1542
+ };
1543
+ const result = await linearClient.createAgentActivity(activityInput);
1544
+ if (result.success) {
1545
+ console.log(`[EdgeWorker] Posted instant prompted acknowledgment thought for session ${linearAgentActivitySessionId} (streaming: ${isStreaming})`);
1546
+ }
1547
+ else {
1548
+ console.error(`[EdgeWorker] Failed to post instant prompted acknowledgment:`, result);
1549
+ }
1550
+ }
1551
+ catch (error) {
1552
+ console.error(`[EdgeWorker] Error posting instant prompted acknowledgment:`, error);
1553
+ }
1554
+ }
1466
1555
  }
1467
1556
  //# sourceMappingURL=EdgeWorker.js.map