cyrus-edge-worker 0.2.5 → 0.2.7

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 (59) hide show
  1. package/dist/AgentSessionManager.d.ts +42 -5
  2. package/dist/AgentSessionManager.d.ts.map +1 -1
  3. package/dist/AgentSessionManager.js +143 -16
  4. package/dist/AgentSessionManager.js.map +1 -1
  5. package/dist/AskUserQuestionHandler.d.ts +96 -0
  6. package/dist/AskUserQuestionHandler.d.ts.map +1 -0
  7. package/dist/AskUserQuestionHandler.js +203 -0
  8. package/dist/AskUserQuestionHandler.js.map +1 -0
  9. package/dist/EdgeWorker.d.ts +72 -11
  10. package/dist/EdgeWorker.d.ts.map +1 -1
  11. package/dist/EdgeWorker.js +469 -124
  12. package/dist/EdgeWorker.js.map +1 -1
  13. package/dist/GitService.d.ts +34 -0
  14. package/dist/GitService.d.ts.map +1 -0
  15. package/dist/GitService.js +347 -0
  16. package/dist/GitService.js.map +1 -0
  17. package/dist/SharedApplicationServer.d.ts +2 -1
  18. package/dist/SharedApplicationServer.d.ts.map +1 -1
  19. package/dist/SharedApplicationServer.js +5 -3
  20. package/dist/SharedApplicationServer.js.map +1 -1
  21. package/dist/index.d.ts +5 -0
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +4 -0
  24. package/dist/index.js.map +1 -1
  25. package/dist/procedures/{ProcedureRouter.d.ts → ProcedureAnalyzer.d.ts} +11 -11
  26. package/dist/procedures/ProcedureAnalyzer.d.ts.map +1 -0
  27. package/dist/procedures/{ProcedureRouter.js → ProcedureAnalyzer.js} +21 -14
  28. package/dist/procedures/ProcedureAnalyzer.js.map +1 -0
  29. package/dist/procedures/index.d.ts +2 -2
  30. package/dist/procedures/index.d.ts.map +1 -1
  31. package/dist/procedures/index.js +2 -2
  32. package/dist/procedures/index.js.map +1 -1
  33. package/dist/procedures/registry.d.ts +20 -1
  34. package/dist/procedures/registry.d.ts.map +1 -1
  35. package/dist/procedures/registry.js +26 -1
  36. package/dist/procedures/registry.js.map +1 -1
  37. package/dist/procedures/types.d.ts +29 -5
  38. package/dist/procedures/types.d.ts.map +1 -1
  39. package/dist/procedures/types.js +1 -1
  40. package/dist/prompts/subroutines/user-testing-summary.md +87 -0
  41. package/dist/prompts/subroutines/user-testing.md +48 -0
  42. package/dist/prompts/subroutines/validation-fixer.md +56 -0
  43. package/dist/prompts/subroutines/verifications.md +51 -24
  44. package/dist/validation/ValidationLoopController.d.ts +54 -0
  45. package/dist/validation/ValidationLoopController.d.ts.map +1 -0
  46. package/dist/validation/ValidationLoopController.js +242 -0
  47. package/dist/validation/ValidationLoopController.js.map +1 -0
  48. package/dist/validation/index.d.ts +7 -0
  49. package/dist/validation/index.d.ts.map +1 -0
  50. package/dist/validation/index.js +7 -0
  51. package/dist/validation/index.js.map +1 -0
  52. package/dist/validation/types.d.ts +90 -0
  53. package/dist/validation/types.d.ts.map +1 -0
  54. package/dist/validation/types.js +33 -0
  55. package/dist/validation/types.js.map +1 -0
  56. package/package.json +10 -8
  57. package/prompts/graphite-orchestrator.md +360 -0
  58. package/dist/procedures/ProcedureRouter.d.ts.map +0 -1
  59. package/dist/procedures/ProcedureRouter.js.map +0 -1
@@ -1,7 +1,7 @@
1
1
  import { EventEmitter } from "node:events";
2
2
  import type { SDKMessage, SDKResultMessage, SDKSystemMessage } from "cyrus-claude-runner";
3
3
  import { type CyrusAgentSession, type CyrusAgentSessionEntry, type IAgentRunner, type IIssueTrackerService, type IssueMinimal, type SerializedCyrusAgentSession, type SerializedCyrusAgentSessionEntry, type Workspace } from "cyrus-core";
4
- import type { ProcedureRouter } from "./procedures/ProcedureRouter.js";
4
+ import type { ProcedureAnalyzer } from "./procedures/ProcedureAnalyzer.js";
5
5
  import type { SharedApplicationServer } from "./SharedApplicationServer.js";
6
6
  /**
7
7
  * Events emitted by AgentSessionManager
@@ -11,6 +11,29 @@ export interface AgentSessionManagerEvents {
11
11
  linearAgentActivitySessionId: string;
12
12
  session: CyrusAgentSession;
13
13
  }) => void;
14
+ /**
15
+ * Emitted when validation fails and we need to run the validation-fixer
16
+ * The EdgeWorker should respond by running the fixer prompt and then re-running verifications
17
+ */
18
+ validationLoopIteration: (data: {
19
+ linearAgentActivitySessionId: string;
20
+ session: CyrusAgentSession;
21
+ /** The fixer prompt to run (already rendered with failure context) */
22
+ fixerPrompt: string;
23
+ /** Current iteration (1-based) */
24
+ iteration: number;
25
+ /** Maximum iterations allowed */
26
+ maxIterations: number;
27
+ }) => void;
28
+ /**
29
+ * Emitted when we need to re-run the verifications subroutine
30
+ */
31
+ validationLoopRerun: (data: {
32
+ linearAgentActivitySessionId: string;
33
+ session: CyrusAgentSession;
34
+ /** Current iteration (1-based) */
35
+ iteration: number;
36
+ }) => void;
14
37
  }
15
38
  /**
16
39
  * Type-safe event emitter interface for AgentSessionManager
@@ -33,11 +56,11 @@ export declare class AgentSessionManager extends EventEmitter {
33
56
  private activeTasksBySession;
34
57
  private toolCallsByToolUseId;
35
58
  private activeStatusActivitiesBySession;
36
- private procedureRouter?;
59
+ private procedureAnalyzer?;
37
60
  private sharedApplicationServer?;
38
61
  private getParentSessionId?;
39
62
  private resumeParentSession?;
40
- constructor(issueTracker: IIssueTrackerService, getParentSessionId?: (childSessionId: string) => string | undefined, resumeParentSession?: (parentSessionId: string, prompt: string, childSessionId: string) => Promise<void>, procedureRouter?: ProcedureRouter, sharedApplicationServer?: SharedApplicationServer);
63
+ constructor(issueTracker: IIssueTrackerService, getParentSessionId?: (childSessionId: string) => string | undefined, resumeParentSession?: (parentSessionId: string, prompt: string, childSessionId: string) => Promise<void>, procedureAnalyzer?: ProcedureAnalyzer, sharedApplicationServer?: SharedApplicationServer);
41
64
  /**
42
65
  * Initialize a Linear agent session from webhook
43
66
  * The session is already created by Linear, we just need to track it
@@ -60,6 +83,20 @@ export declare class AgentSessionManager extends EventEmitter {
60
83
  * Handle completion using procedure routing system
61
84
  */
62
85
  private handleProcedureCompletion;
86
+ /**
87
+ * Handle validation loop completion for subroutines that use usesValidationLoop
88
+ * Returns true if the validation loop took over control flow (needs fixer or retry)
89
+ * Returns false if validation passed or max retries reached (continue with normal advancement)
90
+ */
91
+ private handleValidationLoopCompletion;
92
+ /**
93
+ * Update validation loop state in session metadata
94
+ */
95
+ private updateValidationLoopState;
96
+ /**
97
+ * Clear validation loop state from session metadata
98
+ */
99
+ private clearValidationLoopState;
63
100
  /**
64
101
  * Handle child session completion and resume parent
65
102
  */
@@ -184,9 +221,9 @@ export declare class AgentSessionManager extends EventEmitter {
184
221
  */
185
222
  private postModelNotificationThought;
186
223
  /**
187
- * Post an ephemeral "Routing your request..." thought and return the activity ID
224
+ * Post an ephemeral "Analyzing your request..." thought and return the activity ID
188
225
  */
189
- postRoutingThought(linearAgentActivitySessionId: string): Promise<string | null>;
226
+ postAnalyzingThought(linearAgentActivitySessionId: string): Promise<string | null>;
190
227
  /**
191
228
  * Post the procedure selection result as a non-ephemeral thought
192
229
  */
@@ -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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"}
@@ -1,5 +1,6 @@
1
1
  import { EventEmitter } from "node:events";
2
2
  import { AgentActivitySignal, AgentSessionStatus, AgentSessionType, } from "cyrus-core";
3
+ import { DEFAULT_VALIDATION_LOOP_CONFIG, parseValidationResult, renderValidationFixerPrompt, } from "./validation/index.js";
3
4
  /**
4
5
  * Manages Agent Sessions integration with Claude Code SDK
5
6
  * Transforms Claude streaming messages into Agent Session format
@@ -14,16 +15,16 @@ export class AgentSessionManager extends EventEmitter {
14
15
  activeTasksBySession = new Map(); // Maps session ID to active Task tool use ID
15
16
  toolCallsByToolUseId = new Map(); // Track tool calls by their tool_use_id
16
17
  activeStatusActivitiesBySession = new Map(); // Maps session ID to active compacting status activity ID
17
- procedureRouter;
18
+ procedureAnalyzer;
18
19
  sharedApplicationServer;
19
20
  getParentSessionId;
20
21
  resumeParentSession;
21
- constructor(issueTracker, getParentSessionId, resumeParentSession, procedureRouter, sharedApplicationServer) {
22
+ constructor(issueTracker, getParentSessionId, resumeParentSession, procedureAnalyzer, sharedApplicationServer) {
22
23
  super();
23
24
  this.issueTracker = issueTracker;
24
25
  this.getParentSessionId = getParentSessionId;
25
26
  this.resumeParentSession = resumeParentSession;
26
- this.procedureRouter = procedureRouter;
27
+ this.procedureAnalyzer = procedureAnalyzer;
27
28
  this.sharedApplicationServer = sharedApplicationServer;
28
29
  }
29
30
  /**
@@ -146,8 +147,8 @@ export class AgentSessionManager extends EventEmitter {
146
147
  * Handle completion using procedure routing system
147
148
  */
148
149
  async handleProcedureCompletion(session, linearAgentActivitySessionId, resultMessage) {
149
- if (!this.procedureRouter) {
150
- throw new Error("ProcedureRouter not available");
150
+ if (!this.procedureAnalyzer) {
151
+ throw new Error("ProcedureAnalyzer not available");
151
152
  }
152
153
  // Check if error occurred
153
154
  if (resultMessage.subtype !== "success") {
@@ -161,10 +162,10 @@ export class AgentSessionManager extends EventEmitter {
161
162
  return;
162
163
  }
163
164
  // Check if there's a next subroutine
164
- const nextSubroutine = this.procedureRouter.getNextSubroutine(session);
165
+ const nextSubroutine = this.procedureAnalyzer.getNextSubroutine(session);
165
166
  if (nextSubroutine) {
166
167
  // More subroutines to run - check if current subroutine requires approval
167
- const currentSubroutine = this.procedureRouter.getCurrentSubroutine(session);
168
+ const currentSubroutine = this.procedureAnalyzer.getCurrentSubroutine(session);
168
169
  if (currentSubroutine?.requiresApproval) {
169
170
  console.log(`[AgentSessionManager] Current subroutine "${currentSubroutine.name}" requires approval before proceeding`);
170
171
  // Check if SharedApplicationServer is available
@@ -216,9 +217,17 @@ export class AgentSessionManager extends EventEmitter {
216
217
  return; // Stop workflow
217
218
  }
218
219
  }
220
+ // Check if current subroutine uses validation loop
221
+ if (currentSubroutine?.usesValidationLoop) {
222
+ const handled = await this.handleValidationLoopCompletion(session, linearAgentActivitySessionId, resultMessage, sessionId, nextSubroutine);
223
+ if (handled) {
224
+ return; // Validation loop took over control flow
225
+ }
226
+ // If not handled (validation passed or max retries), continue with normal advancement
227
+ }
219
228
  // Advance procedure state
220
229
  console.log(`[AgentSessionManager] Subroutine completed, advancing to next: ${nextSubroutine.name}`);
221
- this.procedureRouter.advanceToNextSubroutine(session, sessionId);
230
+ this.procedureAnalyzer.advanceToNextSubroutine(session, sessionId);
222
231
  // Emit event for EdgeWorker to handle subroutine transition
223
232
  // This replaces the callback pattern and allows EdgeWorker to subscribe
224
233
  this.emit("subroutineComplete", {
@@ -237,6 +246,117 @@ export class AgentSessionManager extends EventEmitter {
237
246
  }
238
247
  }
239
248
  }
249
+ /**
250
+ * Handle validation loop completion for subroutines that use usesValidationLoop
251
+ * Returns true if the validation loop took over control flow (needs fixer or retry)
252
+ * Returns false if validation passed or max retries reached (continue with normal advancement)
253
+ */
254
+ async handleValidationLoopCompletion(session, linearAgentActivitySessionId, resultMessage, _sessionId, _nextSubroutine) {
255
+ const maxIterations = DEFAULT_VALIDATION_LOOP_CONFIG.maxIterations;
256
+ // Get or initialize validation loop state
257
+ let validationLoop = session.metadata?.procedure?.validationLoop;
258
+ if (!validationLoop) {
259
+ validationLoop = {
260
+ iteration: 0,
261
+ inFixerMode: false,
262
+ attempts: [],
263
+ };
264
+ }
265
+ // Check if we're coming back from the fixer
266
+ if (validationLoop.inFixerMode) {
267
+ // Fixer completed, now we need to re-run verifications
268
+ console.log(`[AgentSessionManager] Validation fixer completed for iteration ${validationLoop.iteration}, re-running verifications`);
269
+ // Clear fixer mode flag
270
+ validationLoop.inFixerMode = false;
271
+ this.updateValidationLoopState(session, validationLoop);
272
+ // Emit event to re-run verifications
273
+ this.emit("validationLoopRerun", {
274
+ linearAgentActivitySessionId,
275
+ session,
276
+ iteration: validationLoop.iteration,
277
+ });
278
+ return true;
279
+ }
280
+ // Parse the validation result from the response
281
+ const resultText = "result" in resultMessage ? resultMessage.result : undefined;
282
+ const structuredOutput = "structured_output" in resultMessage
283
+ ? resultMessage.structured_output
284
+ : undefined;
285
+ const validationResult = parseValidationResult(resultText, structuredOutput);
286
+ // Record this attempt
287
+ const newIteration = validationLoop.iteration + 1;
288
+ validationLoop.iteration = newIteration;
289
+ validationLoop.attempts.push({
290
+ iteration: newIteration,
291
+ pass: validationResult.pass,
292
+ reason: validationResult.reason,
293
+ timestamp: Date.now(),
294
+ });
295
+ console.log(`[AgentSessionManager] Validation result for iteration ${newIteration}/${maxIterations}: pass=${validationResult.pass}, reason="${validationResult.reason.substring(0, 100)}..."`);
296
+ // Update state in session
297
+ this.updateValidationLoopState(session, validationLoop);
298
+ // Check if validation passed
299
+ if (validationResult.pass) {
300
+ console.log(`[AgentSessionManager] Validation passed after ${newIteration} iteration(s)`);
301
+ // Clear validation loop state for next subroutine
302
+ this.clearValidationLoopState(session);
303
+ return false; // Continue with normal advancement
304
+ }
305
+ // Check if we've exceeded max retries
306
+ if (newIteration >= maxIterations) {
307
+ console.log(`[AgentSessionManager] Validation failed after ${newIteration} iterations, continuing anyway`);
308
+ // Post a thought about the failures
309
+ await this.createThoughtActivity(linearAgentActivitySessionId, `Validation loop exhausted after ${newIteration} attempts. Last failure: ${validationResult.reason}`);
310
+ // Clear validation loop state for next subroutine
311
+ this.clearValidationLoopState(session);
312
+ return false; // Continue with normal advancement
313
+ }
314
+ // Validation failed and we have retries left - run the fixer
315
+ console.log(`[AgentSessionManager] Validation failed, running fixer (iteration ${newIteration}/${maxIterations})`);
316
+ // Set fixer mode flag
317
+ validationLoop.inFixerMode = true;
318
+ this.updateValidationLoopState(session, validationLoop);
319
+ // Render the fixer prompt with context
320
+ const previousAttempts = validationLoop.attempts.slice(0, -1).map((a) => ({
321
+ iteration: a.iteration,
322
+ reason: a.reason,
323
+ }));
324
+ const fixerPrompt = renderValidationFixerPrompt({
325
+ failureReason: validationResult.reason,
326
+ iteration: newIteration,
327
+ maxIterations,
328
+ previousAttempts,
329
+ });
330
+ // Emit event for EdgeWorker to run the fixer
331
+ this.emit("validationLoopIteration", {
332
+ linearAgentActivitySessionId,
333
+ session,
334
+ fixerPrompt,
335
+ iteration: newIteration,
336
+ maxIterations,
337
+ });
338
+ return true; // Validation loop took over control flow
339
+ }
340
+ /**
341
+ * Update validation loop state in session metadata
342
+ */
343
+ updateValidationLoopState(session, validationLoop) {
344
+ if (!session.metadata) {
345
+ session.metadata = {};
346
+ }
347
+ if (!session.metadata.procedure) {
348
+ return; // No procedure metadata, can't update
349
+ }
350
+ session.metadata.procedure.validationLoop = validationLoop;
351
+ }
352
+ /**
353
+ * Clear validation loop state from session metadata
354
+ */
355
+ clearValidationLoopState(session) {
356
+ if (session.metadata?.procedure) {
357
+ delete session.metadata.procedure.validationLoop;
358
+ }
359
+ }
240
360
  /**
241
361
  * Handle child session completion and resume parent
242
362
  */
@@ -475,9 +595,12 @@ export class AgentSessionManager extends EventEmitter {
475
595
  this.toolCallsByToolUseId.delete(entry.metadata.toolUseId);
476
596
  }
477
597
  // Skip creating activity for TodoWrite/write_todos results since they already created a non-ephemeral thought
598
+ // Skip AskUserQuestion results since it's custom handled via Linear's select signal elicitation
478
599
  if (toolName === "TodoWrite" ||
479
600
  toolName === "↪ TodoWrite" ||
480
- toolName === "write_todos") {
601
+ toolName === "write_todos" ||
602
+ toolName === "AskUserQuestion" ||
603
+ toolName === "↪ AskUserQuestion") {
481
604
  return;
482
605
  }
483
606
  // Get formatter from runner
@@ -526,6 +649,10 @@ export class AgentSessionManager extends EventEmitter {
526
649
  input: entry.metadata.toolInput || entry.content,
527
650
  });
528
651
  }
652
+ // Skip AskUserQuestion tool - it's custom handled via Linear's select signal elicitation
653
+ if (toolName === "AskUserQuestion") {
654
+ return;
655
+ }
529
656
  // Special handling for TodoWrite tool (Claude) and write_todos (Gemini) - treat as thought instead of action
530
657
  if (toolName === "TodoWrite" || toolName === "write_todos") {
531
658
  // Get formatter from runner
@@ -633,7 +760,7 @@ export class AgentSessionManager extends EventEmitter {
633
760
  }
634
761
  // Check if current subroutine has suppressThoughtPosting enabled
635
762
  // If so, suppress thoughts and actions (but still post responses and results)
636
- const currentSubroutine = this.procedureRouter?.getCurrentSubroutine(session);
763
+ const currentSubroutine = this.procedureAnalyzer?.getCurrentSubroutine(session);
637
764
  if (currentSubroutine?.suppressThoughtPosting) {
638
765
  // Only suppress thoughts and actions, not responses or results
639
766
  if (content.type === "thought" || content.type === "action") {
@@ -999,30 +1126,30 @@ export class AgentSessionManager extends EventEmitter {
999
1126
  }
1000
1127
  }
1001
1128
  /**
1002
- * Post an ephemeral "Routing your request..." thought and return the activity ID
1129
+ * Post an ephemeral "Analyzing your request..." thought and return the activity ID
1003
1130
  */
1004
- async postRoutingThought(linearAgentActivitySessionId) {
1131
+ async postAnalyzingThought(linearAgentActivitySessionId) {
1005
1132
  try {
1006
1133
  const result = await this.issueTracker.createAgentActivity({
1007
1134
  agentSessionId: linearAgentActivitySessionId,
1008
1135
  content: {
1009
1136
  type: "thought",
1010
- body: "Routing your request…",
1137
+ body: "Analyzing your request…",
1011
1138
  },
1012
1139
  ephemeral: true,
1013
1140
  });
1014
1141
  if (result.success && result.agentActivity) {
1015
1142
  const activity = await result.agentActivity;
1016
- console.log(`[AgentSessionManager] Posted routing thought for session ${linearAgentActivitySessionId}`);
1143
+ console.log(`[AgentSessionManager] Posted analyzing thought for session ${linearAgentActivitySessionId}`);
1017
1144
  return activity.id;
1018
1145
  }
1019
1146
  else {
1020
- console.error(`[AgentSessionManager] Failed to post routing thought:`, result);
1147
+ console.error(`[AgentSessionManager] Failed to post analyzing thought:`, result);
1021
1148
  return null;
1022
1149
  }
1023
1150
  }
1024
1151
  catch (error) {
1025
- console.error(`[AgentSessionManager] Error posting routing thought:`, error);
1152
+ console.error(`[AgentSessionManager] Error posting analyzing thought:`, error);
1026
1153
  return null;
1027
1154
  }
1028
1155
  }
@@ -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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"}
@@ -0,0 +1,96 @@
1
+ /**
2
+ * Handler for AskUserQuestion tool invocations using Linear's select signal.
3
+ *
4
+ * This handler bridges the Claude SDK's AskUserQuestion tool with Linear's
5
+ * agent elicitation API. When Claude uses the AskUserQuestion tool, this handler:
6
+ * 1. Posts an elicitation activity to Linear with the question and options
7
+ * 2. Stores the pending question with a promise resolver
8
+ * 3. Waits for the "prompted" webhook event from Linear
9
+ * 4. Resolves the promise with the user's response
10
+ *
11
+ * The handler follows the same pattern as RepositoryRouter for pending selections,
12
+ * but is specifically designed for user questions during agent execution.
13
+ *
14
+ * @see {@link https://linear.app/developers/agent-signals#select}
15
+ */
16
+ import type { AskUserQuestionInput, AskUserQuestionResult, IIssueTrackerService } from "cyrus-core";
17
+ /**
18
+ * Dependencies required by AskUserQuestionHandler
19
+ */
20
+ export interface AskUserQuestionHandlerDeps {
21
+ /**
22
+ * Get issue tracker for a workspace
23
+ * @param organizationId - Linear organization/workspace ID
24
+ */
25
+ getIssueTracker: (organizationId: string) => IIssueTrackerService | null;
26
+ }
27
+ /**
28
+ * Configuration for AskUserQuestionHandler
29
+ */
30
+ export interface AskUserQuestionHandlerConfig {
31
+ /** Placeholder for future configuration. Set to undefined. */
32
+ _placeholder?: undefined;
33
+ }
34
+ /**
35
+ * Handler for presenting AskUserQuestion tool calls to users via Linear's select signal.
36
+ *
37
+ * Usage:
38
+ * 1. Create handler instance with dependencies
39
+ * 2. Call `handleAskUserQuestion()` when Claude uses the AskUserQuestion tool
40
+ * 3. The handler posts an elicitation to Linear and returns a promise
41
+ * 4. When the "prompted" webhook arrives, call `handleUserResponse()` to resolve the promise
42
+ */
43
+ export declare class AskUserQuestionHandler {
44
+ private deps;
45
+ /**
46
+ * Map of agent session ID to pending question data.
47
+ * Used to track questions awaiting user response.
48
+ */
49
+ private pendingQuestions;
50
+ constructor(deps: AskUserQuestionHandlerDeps);
51
+ /**
52
+ * Handle an AskUserQuestion tool call by presenting it to the user via Linear.
53
+ *
54
+ * This method:
55
+ * 1. Validates the input (only 1 question allowed)
56
+ * 2. Posts an elicitation activity to Linear with the select signal
57
+ * 3. Returns a promise that resolves when the user responds
58
+ *
59
+ * @param input - The AskUserQuestion tool input (must contain exactly 1 question)
60
+ * @param linearAgentSessionId - Linear agent session ID (for tracking and API calls)
61
+ * @param organizationId - Linear organization/workspace ID
62
+ * @param signal - AbortSignal for cancellation
63
+ * @returns Promise resolving to the user's answer or denial
64
+ */
65
+ handleAskUserQuestion(input: AskUserQuestionInput, linearAgentSessionId: string, organizationId: string, signal: AbortSignal): Promise<AskUserQuestionResult>;
66
+ /**
67
+ * Handle user response from the "prompted" webhook event.
68
+ *
69
+ * This method is called when Linear sends an AgentSessionPrompted webhook
70
+ * in response to a select signal elicitation.
71
+ *
72
+ * @param linearAgentSessionId - Linear agent session ID
73
+ * @param selectedValue - The value selected by the user (option label or free text)
74
+ * @returns true if a pending question was resolved, false if no pending question found
75
+ */
76
+ handleUserResponse(linearAgentSessionId: string, selectedValue: string): boolean;
77
+ /**
78
+ * Check if there's a pending question for this agent session.
79
+ *
80
+ * @param linearAgentSessionId - Linear agent session ID
81
+ * @returns true if there's a pending question
82
+ */
83
+ hasPendingQuestion(linearAgentSessionId: string): boolean;
84
+ /**
85
+ * Cancel a pending question.
86
+ *
87
+ * @param linearAgentSessionId - Linear agent session ID
88
+ * @param reason - Reason for cancellation
89
+ */
90
+ cancelPendingQuestion(linearAgentSessionId: string, reason: string): void;
91
+ /**
92
+ * Get the number of pending questions (for debugging/monitoring).
93
+ */
94
+ get pendingCount(): number;
95
+ }
96
+ //# sourceMappingURL=AskUserQuestionHandler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AskUserQuestionHandler.d.ts","sourceRoot":"","sources":["../src/AskUserQuestionHandler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAGX,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,MAAM,YAAY,CAAC;AAepB;;GAEG;AACH,MAAM,WAAW,0BAA0B;IAC1C;;;OAGG;IACH,eAAe,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,oBAAoB,GAAG,IAAI,CAAC;CACzE;AAED;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC5C,8DAA8D;IAC9D,YAAY,CAAC,EAAE,SAAS,CAAC;CACzB;AAED;;;;;;;;GAQG;AACH,qBAAa,sBAAsB;IAClC,OAAO,CAAC,IAAI,CAA6B;IAEzC;;;OAGG;IACH,OAAO,CAAC,gBAAgB,CAA2C;gBAEvD,IAAI,EAAE,0BAA0B;IAI5C;;;;;;;;;;;;;OAaG;IACG,qBAAqB,CAC1B,KAAK,EAAE,oBAAoB,EAC3B,oBAAoB,EAAE,MAAM,EAC5B,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,WAAW,GACjB,OAAO,CAAC,qBAAqB,CAAC;IAyHjC;;;;;;;;;OASG;IACH,kBAAkB,CACjB,oBAAoB,EAAE,MAAM,EAC5B,aAAa,EAAE,MAAM,GACnB,OAAO;IA4BV;;;;;OAKG;IACH,kBAAkB,CAAC,oBAAoB,EAAE,MAAM,GAAG,OAAO;IAIzD;;;;;OAKG;IACH,qBAAqB,CAAC,oBAAoB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAazE;;OAEG;IACH,IAAI,YAAY,IAAI,MAAM,CAEzB;CACD"}