cyrus-edge-worker 0.0.36 → 0.0.38

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 (45) hide show
  1. package/dist/AgentSessionManager.d.ts +26 -1
  2. package/dist/AgentSessionManager.d.ts.map +1 -1
  3. package/dist/AgentSessionManager.js +227 -30
  4. package/dist/AgentSessionManager.js.map +1 -1
  5. package/dist/EdgeWorker.d.ts +66 -3
  6. package/dist/EdgeWorker.d.ts.map +1 -1
  7. package/dist/EdgeWorker.js +660 -55
  8. package/dist/EdgeWorker.js.map +1 -1
  9. package/dist/SharedApplicationServer.d.ts +29 -4
  10. package/dist/SharedApplicationServer.d.ts.map +1 -1
  11. package/dist/SharedApplicationServer.js +262 -0
  12. package/dist/SharedApplicationServer.js.map +1 -1
  13. package/dist/index.d.ts +2 -3
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js.map +1 -1
  16. package/dist/procedures/ProcedureRouter.d.ts +60 -0
  17. package/dist/procedures/ProcedureRouter.d.ts.map +1 -0
  18. package/dist/procedures/ProcedureRouter.js +201 -0
  19. package/dist/procedures/ProcedureRouter.js.map +1 -0
  20. package/dist/procedures/index.d.ts +7 -0
  21. package/dist/procedures/index.d.ts.map +1 -0
  22. package/dist/procedures/index.js +7 -0
  23. package/dist/procedures/index.js.map +1 -0
  24. package/dist/procedures/registry.d.ts +76 -0
  25. package/dist/procedures/registry.d.ts.map +1 -0
  26. package/dist/procedures/registry.js +130 -0
  27. package/dist/procedures/registry.js.map +1 -0
  28. package/dist/procedures/types.d.ts +64 -0
  29. package/dist/procedures/types.d.ts.map +1 -0
  30. package/dist/procedures/types.js +5 -0
  31. package/dist/procedures/types.js.map +1 -0
  32. package/dist/prompts/subroutines/concise-summary.md +53 -0
  33. package/dist/prompts/subroutines/debugger-fix.md +108 -0
  34. package/dist/prompts/subroutines/debugger-reproduction.md +106 -0
  35. package/dist/prompts/subroutines/get-approval.md +175 -0
  36. package/dist/prompts/subroutines/git-gh.md +52 -0
  37. package/dist/prompts/subroutines/verbose-summary.md +46 -0
  38. package/dist/prompts/subroutines/verifications.md +46 -0
  39. package/dist/types.d.ts +0 -97
  40. package/dist/types.d.ts.map +1 -1
  41. package/package.json +8 -5
  42. package/prompt-template-v2.md +3 -19
  43. package/prompts/builder.md +1 -23
  44. package/prompts/debugger.md +11 -174
  45. package/prompts/orchestrator.md +41 -64
@@ -1,6 +1,8 @@
1
1
  import { type LinearClient } from "@linear/sdk";
2
2
  import type { ClaudeRunner, SDKMessage, SDKResultMessage, SDKSystemMessage } from "cyrus-claude-runner";
3
3
  import type { CyrusAgentSession, CyrusAgentSessionEntry, IssueMinimal, SerializedCyrusAgentSession, SerializedCyrusAgentSessionEntry, Workspace } from "cyrus-core";
4
+ import type { ProcedureRouter } from "./procedures/ProcedureRouter.js";
5
+ import type { SharedApplicationServer } from "./SharedApplicationServer.js";
4
6
  /**
5
7
  * Manages Linear Agent Sessions integration with Claude Code SDK
6
8
  * Transforms Claude streaming messages into Agent Session format
@@ -14,9 +16,12 @@ export declare class AgentSessionManager {
14
16
  private entries;
15
17
  private activeTasksBySession;
16
18
  private toolCallsByToolUseId;
19
+ private procedureRouter?;
20
+ private sharedApplicationServer?;
17
21
  private getParentSessionId?;
18
22
  private resumeParentSession?;
19
- constructor(linearClient: LinearClient, getParentSessionId?: (childSessionId: string) => string | undefined, resumeParentSession?: (parentSessionId: string, prompt: string, childSessionId: string) => Promise<void>);
23
+ private resumeNextSubroutine?;
24
+ constructor(linearClient: LinearClient, getParentSessionId?: (childSessionId: string) => string | undefined, resumeParentSession?: (parentSessionId: string, prompt: string, childSessionId: string) => Promise<void>, resumeNextSubroutine?: (linearAgentActivitySessionId: string) => Promise<void>, procedureRouter?: ProcedureRouter, sharedApplicationServer?: SharedApplicationServer);
20
25
  /**
21
26
  * Initialize a Linear agent session from webhook
22
27
  * The session is already created by Linear, we just need to track it
@@ -38,6 +43,14 @@ export declare class AgentSessionManager {
38
43
  * Complete a session from Claude result message
39
44
  */
40
45
  completeSession(linearAgentActivitySessionId: string, resultMessage: SDKResultMessage): Promise<void>;
46
+ /**
47
+ * Handle completion using procedure routing system
48
+ */
49
+ private handleProcedureCompletion;
50
+ /**
51
+ * Handle child session completion and resume parent
52
+ */
53
+ private handleChildSessionCompletion;
41
54
  /**
42
55
  * Handle streaming Claude messages and route to appropriate methods
43
56
  */
@@ -134,6 +147,10 @@ export declare class AgentSessionManager {
134
147
  * Create an elicitation activity
135
148
  */
136
149
  createElicitationActivity(sessionId: string, body: string): Promise<void>;
150
+ /**
151
+ * Create an approval elicitation activity with auth signal
152
+ */
153
+ createApprovalElicitation(sessionId: string, body: string, approvalUrl: string): Promise<void>;
137
154
  /**
138
155
  * Clear completed sessions older than specified time
139
156
  */
@@ -153,5 +170,13 @@ export declare class AgentSessionManager {
153
170
  * Post a thought about the model being used
154
171
  */
155
172
  private postModelNotificationThought;
173
+ /**
174
+ * Post an ephemeral "Routing your request..." thought and return the activity ID
175
+ */
176
+ postRoutingThought(linearAgentActivitySessionId: string): Promise<string | null>;
177
+ /**
178
+ * Post the procedure selection result as a non-ephemeral thought
179
+ */
180
+ postProcedureSelectionThought(linearAgentActivitySessionId: string, procedureName: string, classification: string): Promise<void>;
156
181
  }
157
182
  //# 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":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAkB,MAAM,aAAa,CAAC;AAChE,OAAO,KAAK,EAGX,YAAY,EAEZ,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EAEhB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EACX,iBAAiB,EACjB,sBAAsB,EACtB,YAAY,EACZ,2BAA2B,EAC3B,gCAAgC,EAChC,SAAS,EACT,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAE5E;;;;;;GAMG;AACH,qBAAa,mBAAmB;IAC/B,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,QAAQ,CAA6C;IAC7D,OAAO,CAAC,OAAO,CAAoD;IACnE,OAAO,CAAC,oBAAoB,CAAkC;IAC9D,OAAO,CAAC,oBAAoB,CACjB;IACX,OAAO,CAAC,eAAe,CAAC,CAAkB;IAC1C,OAAO,CAAC,uBAAuB,CAAC,CAA0B;IAC1D,OAAO,CAAC,kBAAkB,CAAC,CAAiD;IAC5E,OAAO,CAAC,mBAAmB,CAAC,CAIT;IACnB,OAAO,CAAC,oBAAoB,CAAC,CAEV;gBAGlB,YAAY,EAAE,YAAY,EAC1B,kBAAkB,CAAC,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,EACnE,mBAAmB,CAAC,EAAE,CACrB,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,KAClB,OAAO,CAAC,IAAI,CAAC,EAClB,oBAAoB,CAAC,EAAE,CACtB,4BAA4B,EAAE,MAAM,KAChC,OAAO,CAAC,IAAI,CAAC,EAClB,eAAe,CAAC,EAAE,eAAe,EACjC,uBAAuB,CAAC,EAAE,uBAAuB;IAUlD;;;OAGG;IACH,wBAAwB,CACvB,4BAA4B,EAAE,MAAM,EACpC,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,SAAS,GAClB,iBAAiB;IAwBpB;;OAEG;IACH,qCAAqC,CACpC,4BAA4B,EAAE,MAAM,EACpC,mBAAmB,EAAE,gBAAgB,GACnC,IAAI;IAmBP;;OAEG;YACW,kBAAkB;IAoChC;;OAEG;IACH,OAAO,CAAC,wBAAwB;IA2ChC;;OAEG;IACG,eAAe,CACpB,4BAA4B,EAAE,MAAM,EACpC,aAAa,EAAE,gBAAgB,GAC7B,OAAO,CAAC,IAAI,CAAC;IAqChB;;OAEG;YACW,yBAAyB;IA+KvC;;OAEG;YACW,4BAA4B;IA+C1C;;OAEG;IACG,mBAAmB,CACxB,4BAA4B,EAAE,MAAM,EACpC,OAAO,EAAE,UAAU,GACjB,OAAO,CAAC,IAAI,CAAC;IAgEhB;;OAEG;YACW,mBAAmB;IAkBjC;;OAEG;YACW,cAAc;IAoB5B;;OAEG;IACH,OAAO,CAAC,cAAc;IA8CtB;;OAEG;IACH,OAAO,CAAC,eAAe;IAyBvB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAmB7B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAYzB;;OAEG;YACW,iBAAiB;IAgP/B;;OAEG;IACH,UAAU,CACT,4BAA4B,EAAE,MAAM,GAClC,iBAAiB,GAAG,SAAS;IAIhC;;OAEG;IACH,iBAAiB,CAChB,4BAA4B,EAAE,MAAM,GAClC,sBAAsB,EAAE;IAI3B;;OAEG;IACH,iBAAiB,IAAI,iBAAiB,EAAE;IAMxC;;OAEG;IACH,eAAe,CACd,4BAA4B,EAAE,MAAM,EACpC,YAAY,EAAE,YAAY,GACxB,IAAI;IAgBP;;OAEG;IACH,mBAAmB,IAAI,YAAY,EAAE;IAMrC;;OAEG;IACH,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,EAAE;IAOzD;;OAEG;IACH,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,iBAAiB,EAAE;IAM1D;;OAEG;IACH,0BAA0B,CAAC,OAAO,EAAE,MAAM,GAAG,iBAAiB,EAAE;IAQhE;;OAEG;IACH,cAAc,IAAI,iBAAiB,EAAE;IAIrC;;OAEG;IACH,eAAe,CACd,4BAA4B,EAAE,MAAM,GAClC,YAAY,GAAG,SAAS;IAK3B;;OAEG;IACH,eAAe,CAAC,4BAA4B,EAAE,MAAM,GAAG,OAAO;IAK9D;;OAEG;IACG,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoC3E;;OAEG;IACG,oBAAoB,CACzB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC;IA2ChB;;OAEG;IACG,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoC5E;;OAEG;IACG,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoCzE;;OAEG;IACG,yBAAyB,CAC9B,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,GACV,OAAO,CAAC,IAAI,CAAC;IAoChB;;OAEG;IACG,yBAAyB,CAC9B,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC;IAwChB;;OAEG;IACH,OAAO,CAAC,WAAW,GAAE,MAA4B,GAAG,IAAI;IAexD;;OAEG;IACH,cAAc,IAAI;QACjB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,2BAA2B,CAAC,CAAC;QACtD,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,gCAAgC,EAAE,CAAC,CAAC;KAC5D;IAqBD;;OAEG;IACH,YAAY,CACX,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,2BAA2B,CAAC,EAC/D,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,gCAAgC,EAAE,CAAC,GACnE,IAAI;IA4BP;;OAEG;YACW,4BAA4B;IA+B1C;;OAEG;IACG,kBAAkB,CACvB,4BAA4B,EAAE,MAAM,GAClC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAiCzB;;OAEG;IACG,6BAA6B,CAClC,4BAA4B,EAAE,MAAM,EACpC,aAAa,EAAE,MAAM,EACrB,cAAc,EAAE,MAAM,GACpB,OAAO,CAAC,IAAI,CAAC;CA4BhB"}
@@ -12,12 +12,18 @@ export class AgentSessionManager {
12
12
  entries = new Map(); // Stores a list of session entries per each session by its linearAgentActivitySessionId
13
13
  activeTasksBySession = new Map(); // Maps session ID to active Task tool use ID
14
14
  toolCallsByToolUseId = new Map(); // Track tool calls by their tool_use_id
15
+ procedureRouter;
16
+ sharedApplicationServer;
15
17
  getParentSessionId;
16
18
  resumeParentSession;
17
- constructor(linearClient, getParentSessionId, resumeParentSession) {
19
+ resumeNextSubroutine;
20
+ constructor(linearClient, getParentSessionId, resumeParentSession, resumeNextSubroutine, procedureRouter, sharedApplicationServer) {
18
21
  this.linearClient = linearClient;
19
22
  this.getParentSessionId = getParentSessionId;
20
23
  this.resumeParentSession = resumeParentSession;
24
+ this.resumeNextSubroutine = resumeNextSubroutine;
25
+ this.procedureRouter = procedureRouter;
26
+ this.sharedApplicationServer = sharedApplicationServer;
21
27
  }
22
28
  /**
23
29
  * Initialize a Linear agent session from webhook
@@ -53,6 +59,7 @@ export class AgentSessionManager {
53
59
  linearSession.claudeSessionId = claudeSystemMessage.session_id;
54
60
  linearSession.updatedAt = Date.now();
55
61
  linearSession.metadata = {
62
+ ...linearSession.metadata, // Preserve existing metadata
56
63
  model: claudeSystemMessage.model,
57
64
  tools: claudeSystemMessage.tools,
58
65
  permissionMode: claudeSystemMessage.permissionMode,
@@ -147,28 +154,132 @@ export class AgentSessionManager {
147
154
  totalCostUsd: resultMessage.total_cost_usd,
148
155
  usage: resultMessage.usage,
149
156
  });
150
- // Add result entry if present
157
+ // Handle result using procedure routing system
151
158
  if ("result" in resultMessage && resultMessage.result) {
152
- await this.addResultEntry(linearAgentActivitySessionId, resultMessage);
153
- // Check if this is a child session and send result to parent
154
- if (this.getParentSessionId && this.resumeParentSession) {
155
- const parentAgentSessionId = this.getParentSessionId(linearAgentActivitySessionId);
156
- if (parentAgentSessionId) {
157
- console.log(`[AgentSessionManager] Session ${linearAgentActivitySessionId} is a child of ${parentAgentSessionId}, sending result to parent`);
158
- // Resume parent session with child result
159
- try {
160
- const childResult = resultMessage.result;
161
- const promptToParent = `Child agent session, with ID ${linearAgentActivitySessionId} completed with result:\n\n${childResult}`;
162
- // Use the resumeParentSession callback to handle the parent session
163
- await this.resumeParentSession(parentAgentSessionId, promptToParent, linearAgentActivitySessionId);
164
- console.log(`[AgentSessionManager] Successfully sent child result to parent session ${parentAgentSessionId}`);
159
+ await this.handleProcedureCompletion(session, linearAgentActivitySessionId, resultMessage);
160
+ }
161
+ }
162
+ /**
163
+ * Handle completion using procedure routing system
164
+ */
165
+ async handleProcedureCompletion(session, linearAgentActivitySessionId, resultMessage) {
166
+ if (!this.procedureRouter) {
167
+ throw new Error("ProcedureRouter not available");
168
+ }
169
+ // Check if error occurred
170
+ if (resultMessage.subtype !== "success") {
171
+ console.log(`[AgentSessionManager] Subroutine completed with error, not triggering next subroutine`);
172
+ return;
173
+ }
174
+ const claudeSessionId = session.claudeSessionId;
175
+ if (!claudeSessionId) {
176
+ console.error(`[AgentSessionManager] No Claude session ID found for procedure session`);
177
+ return;
178
+ }
179
+ // Check if there's a next subroutine
180
+ const nextSubroutine = this.procedureRouter.getNextSubroutine(session);
181
+ if (nextSubroutine) {
182
+ // More subroutines to run - check if current subroutine requires approval
183
+ const currentSubroutine = this.procedureRouter.getCurrentSubroutine(session);
184
+ if (currentSubroutine?.requiresApproval) {
185
+ console.log(`[AgentSessionManager] Current subroutine "${currentSubroutine.name}" requires approval before proceeding`);
186
+ // Check if SharedApplicationServer is available
187
+ if (!this.sharedApplicationServer) {
188
+ console.error(`[AgentSessionManager] SharedApplicationServer not available for approval workflow`);
189
+ await this.createErrorActivity(linearAgentActivitySessionId, "Approval workflow failed: Server not available");
190
+ return;
191
+ }
192
+ // Extract the final result from the completed subroutine
193
+ const subroutineResult = "result" in resultMessage && resultMessage.result
194
+ ? resultMessage.result
195
+ : "No result available";
196
+ try {
197
+ // Register approval request with server
198
+ const approvalRequest = this.sharedApplicationServer.registerApprovalRequest(linearAgentActivitySessionId);
199
+ // Post approval elicitation to Linear with auth signal URL
200
+ const approvalMessage = `The previous step has completed. Please review the result below and approve to continue:\n\n${subroutineResult}`;
201
+ await this.createApprovalElicitation(linearAgentActivitySessionId, approvalMessage, approvalRequest.url);
202
+ console.log(`[AgentSessionManager] Waiting for approval at URL: ${approvalRequest.url}`);
203
+ // Wait for approval with timeout (30 minutes)
204
+ const approvalTimeout = 30 * 60 * 1000;
205
+ const timeoutPromise = new Promise((_, reject) => setTimeout(() => reject(new Error("Approval timeout")), approvalTimeout));
206
+ const { approved, feedback } = await Promise.race([
207
+ approvalRequest.promise,
208
+ timeoutPromise,
209
+ ]);
210
+ if (!approved) {
211
+ console.log(`[AgentSessionManager] Approval rejected for session ${linearAgentActivitySessionId}`);
212
+ await this.createErrorActivity(linearAgentActivitySessionId, `Workflow stopped: User rejected approval.${feedback ? `\n\nFeedback: ${feedback}` : ""}`);
213
+ return; // Stop workflow
214
+ }
215
+ console.log(`[AgentSessionManager] Approval granted, continuing to next subroutine`);
216
+ // Optionally post feedback as a thought
217
+ if (feedback) {
218
+ await this.createThoughtActivity(linearAgentActivitySessionId, `User feedback: ${feedback}`);
165
219
  }
166
- catch (error) {
167
- console.error(`[AgentSessionManager] Failed to resume parent session with child result:`, error);
220
+ // Continue with advancement (fall through to existing code)
221
+ }
222
+ catch (error) {
223
+ const errorMessage = error.message;
224
+ if (errorMessage === "Approval timeout") {
225
+ console.log(`[AgentSessionManager] Approval timed out for session ${linearAgentActivitySessionId}`);
226
+ await this.createErrorActivity(linearAgentActivitySessionId, "Workflow stopped: Approval request timed out after 30 minutes.");
227
+ }
228
+ else {
229
+ console.error(`[AgentSessionManager] Approval request failed:`, error);
230
+ await this.createErrorActivity(linearAgentActivitySessionId, `Workflow stopped: Approval request failed - ${errorMessage}`);
168
231
  }
232
+ return; // Stop workflow
233
+ }
234
+ }
235
+ // Advance procedure state
236
+ console.log(`[AgentSessionManager] Subroutine completed, advancing to next: ${nextSubroutine.name}`);
237
+ this.procedureRouter.advanceToNextSubroutine(session, claudeSessionId);
238
+ // Trigger next subroutine
239
+ if (this.resumeNextSubroutine) {
240
+ try {
241
+ await this.resumeNextSubroutine(linearAgentActivitySessionId);
242
+ }
243
+ catch (error) {
244
+ console.error(`[AgentSessionManager] Failed to trigger next subroutine:`, error);
169
245
  }
170
246
  }
171
247
  }
248
+ else {
249
+ // Procedure complete - post final result
250
+ console.log(`[AgentSessionManager] All subroutines completed, posting final result to Linear`);
251
+ await this.addResultEntry(linearAgentActivitySessionId, resultMessage);
252
+ // Handle child session completion
253
+ const isChildSession = this.getParentSessionId?.(linearAgentActivitySessionId);
254
+ if (isChildSession && this.resumeParentSession) {
255
+ await this.handleChildSessionCompletion(linearAgentActivitySessionId, resultMessage);
256
+ }
257
+ }
258
+ }
259
+ /**
260
+ * Handle child session completion and resume parent
261
+ */
262
+ async handleChildSessionCompletion(linearAgentActivitySessionId, resultMessage) {
263
+ if (!this.getParentSessionId || !this.resumeParentSession) {
264
+ return;
265
+ }
266
+ const parentAgentSessionId = this.getParentSessionId(linearAgentActivitySessionId);
267
+ if (!parentAgentSessionId) {
268
+ console.error(`[AgentSessionManager] No parent session ID found for child ${linearAgentActivitySessionId}`);
269
+ return;
270
+ }
271
+ console.log(`[AgentSessionManager] Child session ${linearAgentActivitySessionId} completed, resuming parent ${parentAgentSessionId}`);
272
+ try {
273
+ const childResult = "result" in resultMessage
274
+ ? resultMessage.result
275
+ : "No result available";
276
+ const promptToParent = `Child agent session ${linearAgentActivitySessionId} completed with result:\n\n${childResult}`;
277
+ await this.resumeParentSession(parentAgentSessionId, promptToParent, linearAgentActivitySessionId);
278
+ console.log(`[AgentSessionManager] Successfully resumed parent session ${parentAgentSessionId}`);
279
+ }
280
+ catch (error) {
281
+ console.error(`[AgentSessionManager] Failed to resume parent session:`, error);
282
+ }
172
283
  }
173
284
  /**
174
285
  * Handle streaming Claude messages and route to appropriate methods
@@ -179,7 +290,7 @@ export class AgentSessionManager {
179
290
  case "system":
180
291
  if (message.subtype === "init") {
181
292
  this.updateAgentSessionWithClaudeSessionId(linearAgentActivitySessionId, message);
182
- // Post model notification thought
293
+ // Post model notification
183
294
  const systemMessage = message;
184
295
  if (systemMessage.model) {
185
296
  await this.postModelNotificationThought(linearAgentActivitySessionId, systemMessage.model);
@@ -342,7 +453,7 @@ export class AgentSessionManager {
342
453
  console.warn(`[AgentSessionManager] No Linear session for linearAgentActivitySessionId ${linearAgentActivitySessionId}`);
343
454
  return;
344
455
  }
345
- // Store entry locally now that we're posting it
456
+ // Store entry locally first
346
457
  const entries = this.entries.get(linearAgentActivitySessionId) || [];
347
458
  entries.push(entry);
348
459
  this.entries.set(linearAgentActivitySessionId, entries);
@@ -399,7 +510,7 @@ export class AgentSessionManager {
399
510
  }
400
511
  break;
401
512
  }
402
- case "assistant":
513
+ case "assistant": {
403
514
  // Assistant messages can be thoughts or responses
404
515
  if (entry.metadata?.toolUseId) {
405
516
  const toolName = entry.metadata.toolName || "Tool";
@@ -467,17 +578,13 @@ export class AgentSessionManager {
467
578
  }
468
579
  else {
469
580
  // Regular assistant message - create a thought
470
- // Check if this message contains the last message marker
471
- if (entry.content.includes("___LAST_MESSAGE_MARKER___")) {
472
- console.log(`[AgentSessionManager] Skipping assistant message with last message marker - will be posted as response later`);
473
- return; // Skip posting this as a thought
474
- }
475
581
  content = {
476
582
  type: "thought",
477
583
  body: entry.content,
478
584
  };
479
585
  }
480
586
  break;
587
+ }
481
588
  case "system":
482
589
  // System messages are thoughts
483
590
  content = {
@@ -494,13 +601,9 @@ export class AgentSessionManager {
494
601
  };
495
602
  }
496
603
  else {
497
- // Strip the last message marker from the response
498
- const cleanedContent = entry.content
499
- .replace(/___LAST_MESSAGE_MARKER___/g, "")
500
- .trim();
501
604
  content = {
502
605
  type: "response",
503
- body: cleanedContent,
606
+ body: entry.content,
504
607
  };
505
608
  }
506
609
  break;
@@ -511,6 +614,16 @@ export class AgentSessionManager {
511
614
  body: entry.content,
512
615
  };
513
616
  }
617
+ // Check if current subroutine has suppressThoughtPosting enabled
618
+ // If so, suppress thoughts and actions (but still post responses and results)
619
+ const currentSubroutine = this.procedureRouter?.getCurrentSubroutine(session);
620
+ if (currentSubroutine?.suppressThoughtPosting) {
621
+ // Only suppress thoughts and actions, not responses or results
622
+ if (content.type === "thought" || content.type === "action") {
623
+ console.log(`[AgentSessionManager] Suppressing ${content.type} posting for subroutine "${currentSubroutine.name}"`);
624
+ return; // Don't post to Linear
625
+ }
626
+ }
514
627
  const activityInput = {
515
628
  agentSessionId: session.linearAgentActivitySessionId, // Use the Linear session ID
516
629
  content,
@@ -756,6 +869,38 @@ export class AgentSessionManager {
756
869
  console.error(`[AgentSessionManager] Error creating elicitation activity:`, error);
757
870
  }
758
871
  }
872
+ /**
873
+ * Create an approval elicitation activity with auth signal
874
+ */
875
+ async createApprovalElicitation(sessionId, body, approvalUrl) {
876
+ const session = this.sessions.get(sessionId);
877
+ if (!session || !session.linearAgentActivitySessionId) {
878
+ console.warn(`[AgentSessionManager] No Linear session ID for session ${sessionId}`);
879
+ return;
880
+ }
881
+ try {
882
+ const result = await this.linearClient.createAgentActivity({
883
+ agentSessionId: session.linearAgentActivitySessionId,
884
+ content: {
885
+ type: "elicitation",
886
+ body,
887
+ },
888
+ signal: LinearDocument.AgentActivitySignal.Auth,
889
+ signalMetadata: {
890
+ url: approvalUrl,
891
+ },
892
+ });
893
+ if (result.success) {
894
+ console.log(`[AgentSessionManager] Created approval elicitation for session ${sessionId} with URL: ${approvalUrl}`);
895
+ }
896
+ else {
897
+ console.error(`[AgentSessionManager] Failed to create approval elicitation:`, result);
898
+ }
899
+ }
900
+ catch (error) {
901
+ console.error(`[AgentSessionManager] Error creating approval elicitation:`, error);
902
+ }
903
+ }
759
904
  /**
760
905
  * Clear completed sessions older than specified time
761
906
  */
@@ -836,5 +981,57 @@ export class AgentSessionManager {
836
981
  console.error(`[AgentSessionManager] Error posting model notification:`, error);
837
982
  }
838
983
  }
984
+ /**
985
+ * Post an ephemeral "Routing your request..." thought and return the activity ID
986
+ */
987
+ async postRoutingThought(linearAgentActivitySessionId) {
988
+ try {
989
+ const result = await this.linearClient.createAgentActivity({
990
+ agentSessionId: linearAgentActivitySessionId,
991
+ content: {
992
+ type: "thought",
993
+ body: "Routing your request…",
994
+ },
995
+ ephemeral: true,
996
+ });
997
+ if (result.success && result.agentActivity) {
998
+ const activity = await result.agentActivity;
999
+ console.log(`[AgentSessionManager] Posted routing thought for session ${linearAgentActivitySessionId}`);
1000
+ return activity.id;
1001
+ }
1002
+ else {
1003
+ console.error(`[AgentSessionManager] Failed to post routing thought:`, result);
1004
+ return null;
1005
+ }
1006
+ }
1007
+ catch (error) {
1008
+ console.error(`[AgentSessionManager] Error posting routing thought:`, error);
1009
+ return null;
1010
+ }
1011
+ }
1012
+ /**
1013
+ * Post the procedure selection result as a non-ephemeral thought
1014
+ */
1015
+ async postProcedureSelectionThought(linearAgentActivitySessionId, procedureName, classification) {
1016
+ try {
1017
+ const result = await this.linearClient.createAgentActivity({
1018
+ agentSessionId: linearAgentActivitySessionId,
1019
+ content: {
1020
+ type: "thought",
1021
+ body: `Selected procedure: **${procedureName}** (classified as: ${classification})`,
1022
+ },
1023
+ ephemeral: false,
1024
+ });
1025
+ if (result.success) {
1026
+ console.log(`[AgentSessionManager] Posted procedure selection for session ${linearAgentActivitySessionId}: ${procedureName}`);
1027
+ }
1028
+ else {
1029
+ console.error(`[AgentSessionManager] Failed to post procedure selection:`, result);
1030
+ }
1031
+ }
1032
+ catch (error) {
1033
+ console.error(`[AgentSessionManager] Error posting procedure selection:`, error);
1034
+ }
1035
+ }
839
1036
  }
840
1037
  //# 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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"}
@@ -1,8 +1,8 @@
1
1
  import { EventEmitter } from "node:events";
2
2
  import { type Issue as LinearIssue } from "@linear/sdk";
3
- import type { CyrusAgentSession, SerializableEdgeWorkerState } from "cyrus-core";
3
+ import type { CyrusAgentSession, EdgeWorkerConfig, RepositoryConfig, SerializableEdgeWorkerState } from "cyrus-core";
4
4
  import { AgentSessionManager } from "./AgentSessionManager.js";
5
- import type { EdgeWorkerConfig, EdgeWorkerEvents, RepositoryConfig } from "./types.js";
5
+ import type { EdgeWorkerEvents } from "./types.js";
6
6
  export declare interface EdgeWorker {
7
7
  on<K extends keyof EdgeWorkerEvents>(event: K, listener: EdgeWorkerEvents[K]): this;
8
8
  emit<K extends keyof EdgeWorkerEvents>(event: K, ...args: Parameters<EdgeWorkerEvents[K]>): boolean;
@@ -23,6 +23,10 @@ export declare class EdgeWorker extends EventEmitter {
23
23
  private sharedApplicationServer;
24
24
  private cyrusHome;
25
25
  private childToParentAgentSession;
26
+ private procedureRouter;
27
+ private configWatcher?;
28
+ private configPath?;
29
+ private tokenToRepoIds;
26
30
  constructor(config: EdgeWorkerConfig);
27
31
  /**
28
32
  * Start the edge worker
@@ -32,6 +36,65 @@ export declare class EdgeWorker extends EventEmitter {
32
36
  * Stop the edge worker
33
37
  */
34
38
  stop(): Promise<void>;
39
+ /**
40
+ * Set the config file path for dynamic reloading
41
+ */
42
+ setConfigPath(configPath: string): void;
43
+ /**
44
+ * Get fresh list of repositories for a given Linear token
45
+ * This ensures webhook handlers always work with current repository state
46
+ */
47
+ private getRepositoriesForToken;
48
+ /**
49
+ * Handle resuming a parent session when a child session completes
50
+ * This is the core logic used by the resume parent session callback
51
+ * Extracted to reduce duplication between constructor and addNewRepositories
52
+ */
53
+ private handleResumeParentSession;
54
+ /**
55
+ * Start watching config file for changes
56
+ */
57
+ private startConfigWatcher;
58
+ /**
59
+ * Handle configuration file changes
60
+ */
61
+ private handleConfigChange;
62
+ /**
63
+ * Safely load configuration from file with validation
64
+ */
65
+ private loadConfigSafely;
66
+ /**
67
+ * Detect changes between current and new repository configurations
68
+ */
69
+ private detectRepositoryChanges;
70
+ /**
71
+ * Deep equality check for repository configs
72
+ */
73
+ private deepEqual;
74
+ /**
75
+ * Add new repositories to the running EdgeWorker
76
+ */
77
+ private addNewRepositories;
78
+ /**
79
+ * Update existing repositories
80
+ */
81
+ private updateModifiedRepositories;
82
+ /**
83
+ * Remove deleted repositories
84
+ */
85
+ private removeDeletedRepositories;
86
+ /**
87
+ * Set up webhook listener for a repository
88
+ */
89
+ private setupWebhookListener;
90
+ /**
91
+ * Reconnect webhook when token changes
92
+ */
93
+ private reconnectWebhook;
94
+ /**
95
+ * Clean up webhook listener if no other repositories use the token
96
+ */
97
+ private cleanupWebhookIfUnused;
35
98
  /**
36
99
  * Handle connection established
37
100
  */
@@ -314,7 +377,7 @@ export declare class EdgeWorker extends EventEmitter {
314
377
  * @param attachmentManifest Optional attachment manifest
315
378
  * @param isNewSession Whether this is a new session
316
379
  */
317
- resumeClaudeSession(session: CyrusAgentSession, repository: RepositoryConfig, linearAgentActivitySessionId: string, agentSessionManager: AgentSessionManager, promptBody: string, attachmentManifest?: string, isNewSession?: boolean, additionalAllowedDirectories?: string[]): Promise<void>;
380
+ resumeClaudeSession(session: CyrusAgentSession, repository: RepositoryConfig, linearAgentActivitySessionId: string, agentSessionManager: AgentSessionManager, promptBody: string, attachmentManifest?: string, isNewSession?: boolean, additionalAllowedDirectories?: string[], maxTurns?: number): Promise<void>;
318
381
  /**
319
382
  * Post instant acknowledgment thought when receiving prompted webhook
320
383
  */