cyrus-edge-worker 0.2.21 → 0.2.23

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.
Files changed (106) hide show
  1. package/dist/ActivityPoster.d.ts +15 -0
  2. package/dist/ActivityPoster.d.ts.map +1 -0
  3. package/dist/ActivityPoster.js +194 -0
  4. package/dist/ActivityPoster.js.map +1 -0
  5. package/dist/AgentSessionManager.d.ts +63 -21
  6. package/dist/AgentSessionManager.d.ts.map +1 -1
  7. package/dist/AgentSessionManager.js +413 -404
  8. package/dist/AgentSessionManager.js.map +1 -1
  9. package/dist/AskUserQuestionHandler.d.ts +3 -2
  10. package/dist/AskUserQuestionHandler.d.ts.map +1 -1
  11. package/dist/AskUserQuestionHandler.js +15 -12
  12. package/dist/AskUserQuestionHandler.js.map +1 -1
  13. package/dist/AttachmentService.d.ts +69 -0
  14. package/dist/AttachmentService.d.ts.map +1 -0
  15. package/dist/AttachmentService.js +369 -0
  16. package/dist/AttachmentService.js.map +1 -0
  17. package/dist/ChatSessionHandler.d.ts +87 -0
  18. package/dist/ChatSessionHandler.d.ts.map +1 -0
  19. package/dist/ChatSessionHandler.js +227 -0
  20. package/dist/ChatSessionHandler.js.map +1 -0
  21. package/dist/ConfigManager.d.ts +91 -0
  22. package/dist/ConfigManager.d.ts.map +1 -0
  23. package/dist/ConfigManager.js +229 -0
  24. package/dist/ConfigManager.js.map +1 -0
  25. package/dist/EdgeWorker.d.ts +152 -120
  26. package/dist/EdgeWorker.d.ts.map +1 -1
  27. package/dist/EdgeWorker.js +1335 -2125
  28. package/dist/EdgeWorker.js.map +1 -1
  29. package/dist/GitService.d.ts +14 -10
  30. package/dist/GitService.d.ts.map +1 -1
  31. package/dist/GitService.js +91 -12
  32. package/dist/GitService.js.map +1 -1
  33. package/dist/GlobalSessionRegistry.d.ts +142 -0
  34. package/dist/GlobalSessionRegistry.d.ts.map +1 -0
  35. package/dist/GlobalSessionRegistry.js +254 -0
  36. package/dist/GlobalSessionRegistry.js.map +1 -0
  37. package/dist/PromptBuilder.d.ts +182 -0
  38. package/dist/PromptBuilder.d.ts.map +1 -0
  39. package/dist/PromptBuilder.js +963 -0
  40. package/dist/PromptBuilder.js.map +1 -0
  41. package/dist/RepositoryRouter.d.ts +3 -2
  42. package/dist/RepositoryRouter.d.ts.map +1 -1
  43. package/dist/RepositoryRouter.js +39 -37
  44. package/dist/RepositoryRouter.js.map +1 -1
  45. package/dist/RunnerSelectionService.d.ts +71 -0
  46. package/dist/RunnerSelectionService.d.ts.map +1 -0
  47. package/dist/RunnerSelectionService.js +392 -0
  48. package/dist/RunnerSelectionService.js.map +1 -0
  49. package/dist/SharedApplicationServer.d.ts +3 -1
  50. package/dist/SharedApplicationServer.d.ts.map +1 -1
  51. package/dist/SharedApplicationServer.js +21 -17
  52. package/dist/SharedApplicationServer.js.map +1 -1
  53. package/dist/SharedWebhookServer.d.ts +3 -1
  54. package/dist/SharedWebhookServer.d.ts.map +1 -1
  55. package/dist/SharedWebhookServer.js +19 -16
  56. package/dist/SharedWebhookServer.js.map +1 -1
  57. package/dist/SlackChatAdapter.d.ts +25 -0
  58. package/dist/SlackChatAdapter.d.ts.map +1 -0
  59. package/dist/SlackChatAdapter.js +163 -0
  60. package/dist/SlackChatAdapter.js.map +1 -0
  61. package/dist/WorktreeIncludeService.d.ts +2 -9
  62. package/dist/WorktreeIncludeService.d.ts.map +1 -1
  63. package/dist/WorktreeIncludeService.js +3 -9
  64. package/dist/WorktreeIncludeService.js.map +1 -1
  65. package/dist/index.d.ts +7 -2
  66. package/dist/index.d.ts.map +1 -1
  67. package/dist/index.js +4 -0
  68. package/dist/index.js.map +1 -1
  69. package/dist/label-prompt-template.md +6 -2
  70. package/dist/procedures/ProcedureAnalyzer.d.ts +6 -4
  71. package/dist/procedures/ProcedureAnalyzer.d.ts.map +1 -1
  72. package/dist/procedures/ProcedureAnalyzer.js +32 -12
  73. package/dist/procedures/ProcedureAnalyzer.js.map +1 -1
  74. package/dist/procedures/registry.d.ts +19 -19
  75. package/dist/procedures/registry.d.ts.map +1 -1
  76. package/dist/procedures/registry.js +19 -19
  77. package/dist/procedures/registry.js.map +1 -1
  78. package/dist/procedures/types.d.ts +1 -0
  79. package/dist/procedures/types.d.ts.map +1 -1
  80. package/dist/prompt-assembly/types.d.ts +2 -0
  81. package/dist/prompt-assembly/types.d.ts.map +1 -1
  82. package/dist/prompts/graphite-orchestrator.md +4 -2
  83. package/dist/prompts/orchestrator.md +5 -3
  84. package/dist/prompts/standard-issue-assigned-user-prompt.md +7 -0
  85. package/dist/prompts/subroutines/gh-pr.md +12 -0
  86. package/dist/sinks/IActivitySink.d.ts +60 -0
  87. package/dist/sinks/IActivitySink.d.ts.map +1 -0
  88. package/dist/sinks/IActivitySink.js +2 -0
  89. package/dist/sinks/IActivitySink.js.map +1 -0
  90. package/dist/sinks/LinearActivitySink.d.ts +69 -0
  91. package/dist/sinks/LinearActivitySink.d.ts.map +1 -0
  92. package/dist/sinks/LinearActivitySink.js +111 -0
  93. package/dist/sinks/LinearActivitySink.js.map +1 -0
  94. package/dist/sinks/NoopActivitySink.d.ts +13 -0
  95. package/dist/sinks/NoopActivitySink.d.ts.map +1 -0
  96. package/dist/sinks/NoopActivitySink.js +17 -0
  97. package/dist/sinks/NoopActivitySink.js.map +1 -0
  98. package/dist/sinks/index.d.ts +9 -0
  99. package/dist/sinks/index.d.ts.map +1 -0
  100. package/dist/sinks/index.js +8 -0
  101. package/dist/sinks/index.js.map +1 -0
  102. package/label-prompt-template.md +6 -2
  103. package/package.json +17 -11
  104. package/prompts/graphite-orchestrator.md +4 -2
  105. package/prompts/orchestrator.md +5 -3
  106. package/prompts/standard-issue-assigned-user-prompt.md +7 -0
@@ -0,0 +1,15 @@
1
+ import type { AgentActivityCreateInput, IIssueTrackerService, ILogger, RepositoryConfig } from "cyrus-core";
2
+ export declare class ActivityPoster {
3
+ private issueTrackers;
4
+ private repositories;
5
+ private logger;
6
+ constructor(issueTrackers: Map<string, IIssueTrackerService>, repositories: Map<string, RepositoryConfig>, logger: ILogger);
7
+ postActivityDirect(issueTracker: IIssueTrackerService, input: AgentActivityCreateInput, label: string): Promise<string | null>;
8
+ postInstantAcknowledgment(sessionId: string, repositoryId: string): Promise<void>;
9
+ postParentResumeAcknowledgment(sessionId: string, repositoryId: string): Promise<void>;
10
+ postRepositorySelectionActivity(sessionId: string, repositoryId: string, repositoryName: string, selectionMethod: "description-tag" | "label-based" | "project-based" | "team-based" | "team-prefix" | "catch-all" | "workspace-fallback" | "user-selected"): Promise<void>;
11
+ postSystemPromptSelectionThought(sessionId: string, labels: string[], repositoryId: string): Promise<void>;
12
+ postInstantPromptedAcknowledgment(sessionId: string, repositoryId: string, isStreaming: boolean): Promise<void>;
13
+ postComment(issueId: string, body: string, repositoryId: string, parentId?: string): Promise<void>;
14
+ }
15
+ //# sourceMappingURL=ActivityPoster.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ActivityPoster.d.ts","sourceRoot":"","sources":["../src/ActivityPoster.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,wBAAwB,EACxB,oBAAoB,EACpB,OAAO,EACP,gBAAgB,EAChB,MAAM,YAAY,CAAC;AAEpB,qBAAa,cAAc;IAC1B,OAAO,CAAC,aAAa,CAAoC;IACzD,OAAO,CAAC,YAAY,CAAgC;IACpD,OAAO,CAAC,MAAM,CAAU;gBAGvB,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,oBAAoB,CAAC,EAChD,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,EAC3C,MAAM,EAAE,OAAO;IAOV,kBAAkB,CACvB,YAAY,EAAE,oBAAoB,EAClC,KAAK,EAAE,wBAAwB,EAC/B,KAAK,EAAE,MAAM,GACX,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAoBnB,yBAAyB,CAC9B,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC;IAoBV,8BAA8B,CACnC,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC;IAiBV,+BAA+B,CACpC,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,cAAc,EAAE,MAAM,EACtB,eAAe,EACZ,iBAAiB,GACjB,aAAa,GACb,eAAe,GACf,YAAY,GACZ,aAAa,GACb,WAAW,GACX,oBAAoB,GACpB,eAAe,GAChB,OAAO,CAAC,IAAI,CAAC;IAuCV,gCAAgC,CACrC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EAAE,EAChB,YAAY,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC;IAsFV,iCAAiC,CACtC,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,OAAO,GAClB,OAAO,CAAC,IAAI,CAAC;IAqBV,WAAW,CAChB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,EACpB,QAAQ,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC;CAehB"}
@@ -0,0 +1,194 @@
1
+ export class ActivityPoster {
2
+ issueTrackers;
3
+ repositories;
4
+ logger;
5
+ constructor(issueTrackers, repositories, logger) {
6
+ this.issueTrackers = issueTrackers;
7
+ this.repositories = repositories;
8
+ this.logger = logger;
9
+ }
10
+ async postActivityDirect(issueTracker, input, label) {
11
+ try {
12
+ const result = await issueTracker.createAgentActivity(input);
13
+ if (result.success) {
14
+ if (result.agentActivity) {
15
+ const activity = await result.agentActivity;
16
+ this.logger.debug(`Created ${label} activity ${activity.id}`);
17
+ return activity.id;
18
+ }
19
+ this.logger.debug(`Created ${label}`);
20
+ return null;
21
+ }
22
+ this.logger.error(`Failed to create ${label}:`, result);
23
+ return null;
24
+ }
25
+ catch (error) {
26
+ this.logger.error(`Error creating ${label}:`, error);
27
+ return null;
28
+ }
29
+ }
30
+ async postInstantAcknowledgment(sessionId, repositoryId) {
31
+ const issueTracker = this.issueTrackers.get(repositoryId);
32
+ if (!issueTracker) {
33
+ this.logger.warn(`No issue tracker found for repository ${repositoryId}`);
34
+ return;
35
+ }
36
+ await this.postActivityDirect(issueTracker, {
37
+ agentSessionId: sessionId,
38
+ content: {
39
+ type: "thought",
40
+ body: "I've received your request and I'm starting to work on it. Let me analyze the issue and prepare my approach.",
41
+ },
42
+ }, "instant acknowledgment");
43
+ }
44
+ async postParentResumeAcknowledgment(sessionId, repositoryId) {
45
+ const issueTracker = this.issueTrackers.get(repositoryId);
46
+ if (!issueTracker) {
47
+ this.logger.warn(`No issue tracker found for repository ${repositoryId}`);
48
+ return;
49
+ }
50
+ await this.postActivityDirect(issueTracker, {
51
+ agentSessionId: sessionId,
52
+ content: { type: "thought", body: "Resuming from child session" },
53
+ }, "parent resume acknowledgment");
54
+ }
55
+ async postRepositorySelectionActivity(sessionId, repositoryId, repositoryName, selectionMethod) {
56
+ const issueTracker = this.issueTrackers.get(repositoryId);
57
+ if (!issueTracker) {
58
+ this.logger.warn(`No issue tracker found for repository ${repositoryId}`);
59
+ return;
60
+ }
61
+ let methodDisplay;
62
+ if (selectionMethod === "user-selected") {
63
+ methodDisplay = "selected by user";
64
+ }
65
+ else if (selectionMethod === "description-tag") {
66
+ methodDisplay = "matched via [repo=...] tag in issue description";
67
+ }
68
+ else if (selectionMethod === "label-based") {
69
+ methodDisplay = "matched via label-based routing";
70
+ }
71
+ else if (selectionMethod === "project-based") {
72
+ methodDisplay = "matched via project-based routing";
73
+ }
74
+ else if (selectionMethod === "team-based") {
75
+ methodDisplay = "matched via team-based routing";
76
+ }
77
+ else if (selectionMethod === "team-prefix") {
78
+ methodDisplay = "matched via team prefix routing";
79
+ }
80
+ else if (selectionMethod === "catch-all") {
81
+ methodDisplay = "matched via catch-all routing";
82
+ }
83
+ else {
84
+ methodDisplay = "matched via workspace fallback";
85
+ }
86
+ await this.postActivityDirect(issueTracker, {
87
+ agentSessionId: sessionId,
88
+ content: {
89
+ type: "thought",
90
+ body: `Repository "${repositoryName}" has been ${methodDisplay}.`,
91
+ },
92
+ }, "repository selection");
93
+ }
94
+ async postSystemPromptSelectionThought(sessionId, labels, repositoryId) {
95
+ const issueTracker = this.issueTrackers.get(repositoryId);
96
+ if (!issueTracker) {
97
+ this.logger.warn(`No issue tracker found for repository ${repositoryId}`);
98
+ return;
99
+ }
100
+ // Determine which prompt type was selected and which label triggered it
101
+ let selectedPromptType = null;
102
+ let triggerLabel = null;
103
+ const repository = Array.from(this.repositories.values()).find((r) => r.id === repositoryId);
104
+ if (repository?.labelPrompts) {
105
+ // Check debugger labels
106
+ const debuggerConfig = repository.labelPrompts.debugger;
107
+ const debuggerLabels = Array.isArray(debuggerConfig)
108
+ ? debuggerConfig
109
+ : debuggerConfig?.labels;
110
+ const debuggerLabel = debuggerLabels?.find((label) => labels.includes(label));
111
+ if (debuggerLabel) {
112
+ selectedPromptType = "debugger";
113
+ triggerLabel = debuggerLabel;
114
+ }
115
+ else {
116
+ // Check builder labels
117
+ const builderConfig = repository.labelPrompts.builder;
118
+ const builderLabels = Array.isArray(builderConfig)
119
+ ? builderConfig
120
+ : builderConfig?.labels;
121
+ const builderLabel = builderLabels?.find((label) => labels.includes(label));
122
+ if (builderLabel) {
123
+ selectedPromptType = "builder";
124
+ triggerLabel = builderLabel;
125
+ }
126
+ else {
127
+ // Check scoper labels
128
+ const scoperConfig = repository.labelPrompts.scoper;
129
+ const scoperLabels = Array.isArray(scoperConfig)
130
+ ? scoperConfig
131
+ : scoperConfig?.labels;
132
+ const scoperLabel = scoperLabels?.find((label) => labels.includes(label));
133
+ if (scoperLabel) {
134
+ selectedPromptType = "scoper";
135
+ triggerLabel = scoperLabel;
136
+ }
137
+ else {
138
+ // Check orchestrator labels
139
+ const orchestratorConfig = repository.labelPrompts.orchestrator;
140
+ const orchestratorLabels = Array.isArray(orchestratorConfig)
141
+ ? orchestratorConfig
142
+ : (orchestratorConfig?.labels ?? ["orchestrator"]);
143
+ const orchestratorLabel = orchestratorLabels?.find((label) => labels.includes(label));
144
+ if (orchestratorLabel) {
145
+ selectedPromptType = "orchestrator";
146
+ triggerLabel = orchestratorLabel;
147
+ }
148
+ }
149
+ }
150
+ }
151
+ }
152
+ // Only post if a role was actually triggered
153
+ if (!selectedPromptType || !triggerLabel) {
154
+ return;
155
+ }
156
+ await this.postActivityDirect(issueTracker, {
157
+ agentSessionId: sessionId,
158
+ content: {
159
+ type: "thought",
160
+ body: `Entering '${selectedPromptType}' mode because of the '${triggerLabel}' label. I'll follow the ${selectedPromptType} process...`,
161
+ },
162
+ }, "system prompt selection");
163
+ }
164
+ async postInstantPromptedAcknowledgment(sessionId, repositoryId, isStreaming) {
165
+ const issueTracker = this.issueTrackers.get(repositoryId);
166
+ if (!issueTracker) {
167
+ this.logger.warn(`No issue tracker found for repository ${repositoryId}`);
168
+ return;
169
+ }
170
+ const message = isStreaming
171
+ ? "I've queued up your message as guidance"
172
+ : "Getting started on that...";
173
+ await this.postActivityDirect(issueTracker, {
174
+ agentSessionId: sessionId,
175
+ content: { type: "thought", body: message },
176
+ }, "prompted acknowledgment");
177
+ }
178
+ async postComment(issueId, body, repositoryId, parentId) {
179
+ // Get the issue tracker for this repository
180
+ const issueTracker = this.issueTrackers.get(repositoryId);
181
+ if (!issueTracker) {
182
+ throw new Error(`No issue tracker found for repository ${repositoryId}`);
183
+ }
184
+ const commentInput = {
185
+ body,
186
+ };
187
+ // Add parent ID if provided (for reply)
188
+ if (parentId) {
189
+ commentInput.parentId = parentId;
190
+ }
191
+ await issueTracker.createComment(issueId, commentInput);
192
+ }
193
+ }
194
+ //# sourceMappingURL=ActivityPoster.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ActivityPoster.js","sourceRoot":"","sources":["../src/ActivityPoster.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,15 @@
1
1
  import { EventEmitter } from "node:events";
2
2
  import type { SDKMessage, SDKResultMessage, SDKSystemMessage } from "cyrus-claude-runner";
3
- import { type CyrusAgentSession, type CyrusAgentSessionEntry, type IAgentRunner, type IIssueTrackerService, type IssueMinimal, type SerializedCyrusAgentSession, type SerializedCyrusAgentSessionEntry, type Workspace } from "cyrus-core";
3
+ import { type CyrusAgentSession, type CyrusAgentSessionEntry, type IAgentRunner, type ILogger, type IssueMinimal, type SerializedCyrusAgentSession, type SerializedCyrusAgentSessionEntry, type Workspace } from "cyrus-core";
4
4
  import type { ProcedureAnalyzer } from "./procedures/ProcedureAnalyzer.js";
5
5
  import type { SharedApplicationServer } from "./SharedApplicationServer.js";
6
+ import type { IActivitySink } from "./sinks/index.js";
6
7
  /**
7
8
  * Events emitted by AgentSessionManager
8
9
  */
9
10
  export interface AgentSessionManagerEvents {
10
11
  subroutineComplete: (data: {
11
- linearAgentActivitySessionId: string;
12
+ sessionId: string;
12
13
  session: CyrusAgentSession;
13
14
  }) => void;
14
15
  /**
@@ -16,7 +17,7 @@ export interface AgentSessionManagerEvents {
16
17
  * The EdgeWorker should respond by running the fixer prompt and then re-running verifications
17
18
  */
18
19
  validationLoopIteration: (data: {
19
- linearAgentActivitySessionId: string;
20
+ sessionId: string;
20
21
  session: CyrusAgentSession;
21
22
  /** The fixer prompt to run (already rendered with failure context) */
22
23
  fixerPrompt: string;
@@ -29,7 +30,7 @@ export interface AgentSessionManagerEvents {
29
30
  * Emitted when we need to re-run the verifications subroutine
30
31
  */
31
32
  validationLoopRerun: (data: {
32
- linearAgentActivitySessionId: string;
33
+ sessionId: string;
33
34
  session: CyrusAgentSession;
34
35
  /** Current iteration (1-based) */
35
36
  iteration: number;
@@ -50,7 +51,8 @@ export declare interface AgentSessionManager {
50
51
  * CURRENTLY BEING HANDLED 'per repository'
51
52
  */
52
53
  export declare class AgentSessionManager extends EventEmitter {
53
- private issueTracker;
54
+ private logger;
55
+ private activitySink;
54
56
  private sessions;
55
57
  private entries;
56
58
  private activeTasksBySession;
@@ -58,21 +60,42 @@ export declare class AgentSessionManager extends EventEmitter {
58
60
  private taskSubjectsByToolUseId;
59
61
  private taskSubjectsById;
60
62
  private activeStatusActivitiesBySession;
63
+ private stopRequestedSessions;
61
64
  private procedureAnalyzer?;
62
65
  private sharedApplicationServer?;
63
66
  private getParentSessionId?;
64
67
  private resumeParentSession?;
65
- constructor(issueTracker: IIssueTrackerService, getParentSessionId?: (childSessionId: string) => string | undefined, resumeParentSession?: (parentSessionId: string, prompt: string, childSessionId: string) => Promise<void>, procedureAnalyzer?: ProcedureAnalyzer, sharedApplicationServer?: SharedApplicationServer);
68
+ constructor(activitySink: IActivitySink, getParentSessionId?: (childSessionId: string) => string | undefined, resumeParentSession?: (parentSessionId: string, prompt: string, childSessionId: string) => Promise<void>, procedureAnalyzer?: ProcedureAnalyzer, sharedApplicationServer?: SharedApplicationServer, logger?: ILogger);
66
69
  /**
67
- * Initialize a Linear agent session from webhook
68
- * The session is already created by Linear, we just need to track it
70
+ * Get a session-scoped logger with context (sessionId, platform, issueIdentifier).
69
71
  */
70
- createLinearAgentSession(linearAgentActivitySessionId: string, issueId: string, issueMinimal: IssueMinimal, workspace: Workspace): CyrusAgentSession;
72
+ private sessionLog;
73
+ /**
74
+ * Initialize an agent session from webhook
75
+ * The session is already created by the platform, we just need to track it
76
+ *
77
+ * @param sessionId - Internal session ID
78
+ * @param issueId - Issue/PR identifier
79
+ * @param issueMinimal - Minimal issue data
80
+ * @param workspace - Workspace configuration
81
+ * @param platform - Source platform ("linear", "github", "slack"). Defaults to "linear".
82
+ * Only "linear" sessions will have activities streamed to Linear.
83
+ */
84
+ createLinearAgentSession(sessionId: string, issueId: string, issueMinimal: IssueMinimal, workspace: Workspace, platform?: "linear" | "github" | "slack"): CyrusAgentSession;
85
+ /**
86
+ * Create an agent session for chat-style platforms (Slack, etc.) that are
87
+ * not tied to a specific issue or repository.
88
+ *
89
+ * Unlike {@link createLinearAgentSession}, this does NOT require issue
90
+ * context — the session lives in a standalone workspace with no issue
91
+ * tracker linkage.
92
+ */
93
+ createChatSession(sessionId: string, workspace: Workspace, platform: string): CyrusAgentSession;
71
94
  /**
72
95
  * Update Agent Session with session ID from system initialization
73
96
  * Automatically detects whether it's Claude or Gemini based on the runner
74
97
  */
75
- updateAgentSessionWithClaudeSessionId(linearAgentActivitySessionId: string, claudeSystemMessage: SDKSystemMessage): void;
98
+ updateAgentSessionWithClaudeSessionId(sessionId: string, claudeSystemMessage: SDKSystemMessage): void;
76
99
  /**
77
100
  * Create a session entry from user/assistant message (without syncing to Linear)
78
101
  */
@@ -80,7 +103,10 @@ export declare class AgentSessionManager extends EventEmitter {
80
103
  /**
81
104
  * Complete a session from Claude result message
82
105
  */
83
- completeSession(linearAgentActivitySessionId: string, resultMessage: SDKResultMessage): Promise<void>;
106
+ completeSession(sessionId: string, resultMessage: SDKResultMessage): Promise<void>;
107
+ private shouldRecoverFromPreviousSubroutine;
108
+ private consumeStopRequest;
109
+ requestSessionStop(linearAgentActivitySessionId: string): void;
84
110
  /**
85
111
  * Handle completion using procedure routing system
86
112
  */
@@ -106,7 +132,7 @@ export declare class AgentSessionManager extends EventEmitter {
106
132
  /**
107
133
  * Handle streaming Claude messages and route to appropriate methods
108
134
  */
109
- handleClaudeMessage(linearAgentActivitySessionId: string, message: SDKMessage): Promise<void>;
135
+ handleClaudeMessage(sessionId: string, message: SDKMessage): Promise<void>;
110
136
  /**
111
137
  * Update session status and metadata
112
138
  */
@@ -132,17 +158,17 @@ export declare class AgentSessionManager extends EventEmitter {
132
158
  */
133
159
  private extractToolResult;
134
160
  /**
135
- * Sync Agent Session Entry to Linear (create AgentActivity)
161
+ * Sync session entry to external tracker (create AgentActivity)
136
162
  */
137
- private syncEntryToLinear;
163
+ private syncEntryToActivitySink;
138
164
  /**
139
165
  * Get session by ID
140
166
  */
141
- getSession(linearAgentActivitySessionId: string): CyrusAgentSession | undefined;
167
+ getSession(sessionId: string): CyrusAgentSession | undefined;
142
168
  /**
143
169
  * Get session entries by session ID
144
170
  */
145
- getSessionEntries(linearAgentActivitySessionId: string): CyrusAgentSessionEntry[];
171
+ getSessionEntries(sessionId: string): CyrusAgentSessionEntry[];
146
172
  /**
147
173
  * Get all active sessions
148
174
  */
@@ -150,11 +176,15 @@ export declare class AgentSessionManager extends EventEmitter {
150
176
  /**
151
177
  * Add or update agent runner for a session
152
178
  */
153
- addAgentRunner(linearAgentActivitySessionId: string, agentRunner: IAgentRunner): void;
179
+ addAgentRunner(sessionId: string, agentRunner: IAgentRunner): void;
154
180
  /**
155
181
  * Get all agent runners
156
182
  */
157
183
  getAllAgentRunners(): IAgentRunner[];
184
+ /**
185
+ * Resolve the issue ID from a session, checking issueContext first then deprecated issueId.
186
+ */
187
+ private getSessionIssueId;
158
188
  /**
159
189
  * Get all agent runners for a specific issue
160
190
  */
@@ -167,6 +197,11 @@ export declare class AgentSessionManager extends EventEmitter {
167
197
  * Get active sessions by issue ID
168
198
  */
169
199
  getActiveSessionsByIssueId(issueId: string): CyrusAgentSession[];
200
+ /**
201
+ * Get active sessions where the issue's branch name matches the given branch.
202
+ * Useful for detecting when multiple sessions share the same worktree.
203
+ */
204
+ getActiveSessionsByBranchName(branchName: string): CyrusAgentSession[];
170
205
  /**
171
206
  * Get all sessions
172
207
  */
@@ -174,11 +209,18 @@ export declare class AgentSessionManager extends EventEmitter {
174
209
  /**
175
210
  * Get agent runner for a specific session
176
211
  */
177
- getAgentRunner(linearAgentActivitySessionId: string): IAgentRunner | undefined;
212
+ getAgentRunner(sessionId: string): IAgentRunner | undefined;
178
213
  /**
179
214
  * Check if an agent runner exists for a session
180
215
  */
181
- hasAgentRunner(linearAgentActivitySessionId: string): boolean;
216
+ hasAgentRunner(sessionId: string): boolean;
217
+ /**
218
+ * Post an activity to the activity sink for a session.
219
+ * Consolidates session lookup, externalSessionId guard, try/catch, and logging.
220
+ *
221
+ * @returns The activity ID when resolved, `null` otherwise.
222
+ */
223
+ private postActivity;
182
224
  /**
183
225
  * Create a thought activity
184
226
  */
@@ -225,11 +267,11 @@ export declare class AgentSessionManager extends EventEmitter {
225
267
  /**
226
268
  * Post an ephemeral "Analyzing your request..." thought and return the activity ID
227
269
  */
228
- postAnalyzingThought(linearAgentActivitySessionId: string): Promise<string | null>;
270
+ postAnalyzingThought(sessionId: string): Promise<string | null>;
229
271
  /**
230
272
  * Post the procedure selection result as a non-ephemeral thought
231
273
  */
232
- postProcedureSelectionThought(linearAgentActivitySessionId: string, procedureName: string, classification: string): Promise<void>;
274
+ postProcedureSelectionThought(sessionId: string, procedureName: string, classification: string): Promise<void>;
233
275
  /**
234
276
  * Handle status messages (compacting, etc.)
235
277
  */
@@ -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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"}