sylas-edge-worker 0.2.21

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 (163) hide show
  1. package/README.md +293 -0
  2. package/dist/ActivityPoster.d.ts +15 -0
  3. package/dist/ActivityPoster.d.ts.map +1 -0
  4. package/dist/ActivityPoster.js +194 -0
  5. package/dist/ActivityPoster.js.map +1 -0
  6. package/dist/AgentSessionManager.d.ts +280 -0
  7. package/dist/AgentSessionManager.d.ts.map +1 -0
  8. package/dist/AgentSessionManager.js +1412 -0
  9. package/dist/AgentSessionManager.js.map +1 -0
  10. package/dist/AskUserQuestionHandler.d.ts +97 -0
  11. package/dist/AskUserQuestionHandler.d.ts.map +1 -0
  12. package/dist/AskUserQuestionHandler.js +206 -0
  13. package/dist/AskUserQuestionHandler.js.map +1 -0
  14. package/dist/AttachmentService.d.ts +69 -0
  15. package/dist/AttachmentService.d.ts.map +1 -0
  16. package/dist/AttachmentService.js +369 -0
  17. package/dist/AttachmentService.js.map +1 -0
  18. package/dist/ChatSessionHandler.d.ts +87 -0
  19. package/dist/ChatSessionHandler.d.ts.map +1 -0
  20. package/dist/ChatSessionHandler.js +231 -0
  21. package/dist/ChatSessionHandler.js.map +1 -0
  22. package/dist/ConfigManager.d.ts +91 -0
  23. package/dist/ConfigManager.d.ts.map +1 -0
  24. package/dist/ConfigManager.js +227 -0
  25. package/dist/ConfigManager.js.map +1 -0
  26. package/dist/EdgeWorker.d.ts +670 -0
  27. package/dist/EdgeWorker.d.ts.map +1 -0
  28. package/dist/EdgeWorker.js +3801 -0
  29. package/dist/EdgeWorker.js.map +1 -0
  30. package/dist/GitService.d.ts +39 -0
  31. package/dist/GitService.d.ts.map +1 -0
  32. package/dist/GitService.js +432 -0
  33. package/dist/GitService.js.map +1 -0
  34. package/dist/GlobalSessionRegistry.d.ts +142 -0
  35. package/dist/GlobalSessionRegistry.d.ts.map +1 -0
  36. package/dist/GlobalSessionRegistry.js +254 -0
  37. package/dist/GlobalSessionRegistry.js.map +1 -0
  38. package/dist/PromptBuilder.d.ts +175 -0
  39. package/dist/PromptBuilder.d.ts.map +1 -0
  40. package/dist/PromptBuilder.js +884 -0
  41. package/dist/PromptBuilder.js.map +1 -0
  42. package/dist/RepositoryRouter.d.ts +152 -0
  43. package/dist/RepositoryRouter.d.ts.map +1 -0
  44. package/dist/RepositoryRouter.js +480 -0
  45. package/dist/RepositoryRouter.js.map +1 -0
  46. package/dist/RunnerSelectionService.d.ts +62 -0
  47. package/dist/RunnerSelectionService.d.ts.map +1 -0
  48. package/dist/RunnerSelectionService.js +379 -0
  49. package/dist/RunnerSelectionService.js.map +1 -0
  50. package/dist/SharedApplicationServer.d.ts +107 -0
  51. package/dist/SharedApplicationServer.d.ts.map +1 -0
  52. package/dist/SharedApplicationServer.js +247 -0
  53. package/dist/SharedApplicationServer.js.map +1 -0
  54. package/dist/SharedWebhookServer.d.ts +39 -0
  55. package/dist/SharedWebhookServer.d.ts.map +1 -0
  56. package/dist/SharedWebhookServer.js +150 -0
  57. package/dist/SharedWebhookServer.js.map +1 -0
  58. package/dist/SlackChatAdapter.d.ts +25 -0
  59. package/dist/SlackChatAdapter.d.ts.map +1 -0
  60. package/dist/SlackChatAdapter.js +143 -0
  61. package/dist/SlackChatAdapter.js.map +1 -0
  62. package/dist/UserAccessControl.d.ts +69 -0
  63. package/dist/UserAccessControl.d.ts.map +1 -0
  64. package/dist/UserAccessControl.js +171 -0
  65. package/dist/UserAccessControl.js.map +1 -0
  66. package/dist/WorktreeIncludeService.d.ts +32 -0
  67. package/dist/WorktreeIncludeService.d.ts.map +1 -0
  68. package/dist/WorktreeIncludeService.js +123 -0
  69. package/dist/WorktreeIncludeService.js.map +1 -0
  70. package/dist/index.d.ts +22 -0
  71. package/dist/index.d.ts.map +1 -0
  72. package/dist/index.js +17 -0
  73. package/dist/index.js.map +1 -0
  74. package/dist/label-prompt-template.md +27 -0
  75. package/dist/procedures/ProcedureAnalyzer.d.ts +69 -0
  76. package/dist/procedures/ProcedureAnalyzer.d.ts.map +1 -0
  77. package/dist/procedures/ProcedureAnalyzer.js +271 -0
  78. package/dist/procedures/ProcedureAnalyzer.js.map +1 -0
  79. package/dist/procedures/index.d.ts +7 -0
  80. package/dist/procedures/index.d.ts.map +1 -0
  81. package/dist/procedures/index.js +7 -0
  82. package/dist/procedures/index.js.map +1 -0
  83. package/dist/procedures/registry.d.ts +156 -0
  84. package/dist/procedures/registry.d.ts.map +1 -0
  85. package/dist/procedures/registry.js +240 -0
  86. package/dist/procedures/registry.js.map +1 -0
  87. package/dist/procedures/types.d.ts +103 -0
  88. package/dist/procedures/types.d.ts.map +1 -0
  89. package/dist/procedures/types.js +5 -0
  90. package/dist/procedures/types.js.map +1 -0
  91. package/dist/prompt-assembly/types.d.ts +80 -0
  92. package/dist/prompt-assembly/types.d.ts.map +1 -0
  93. package/dist/prompt-assembly/types.js +8 -0
  94. package/dist/prompt-assembly/types.js.map +1 -0
  95. package/dist/prompts/builder.md +191 -0
  96. package/dist/prompts/debugger.md +128 -0
  97. package/dist/prompts/graphite-orchestrator.md +362 -0
  98. package/dist/prompts/orchestrator.md +290 -0
  99. package/dist/prompts/scoper.md +95 -0
  100. package/dist/prompts/standard-issue-assigned-user-prompt.md +33 -0
  101. package/dist/prompts/subroutines/changelog-update.md +79 -0
  102. package/dist/prompts/subroutines/coding-activity.md +12 -0
  103. package/dist/prompts/subroutines/concise-summary.md +67 -0
  104. package/dist/prompts/subroutines/debugger-fix.md +92 -0
  105. package/dist/prompts/subroutines/debugger-reproduction.md +74 -0
  106. package/dist/prompts/subroutines/full-delegation.md +68 -0
  107. package/dist/prompts/subroutines/get-approval.md +175 -0
  108. package/dist/prompts/subroutines/gh-pr.md +80 -0
  109. package/dist/prompts/subroutines/git-commit.md +37 -0
  110. package/dist/prompts/subroutines/plan-summary.md +21 -0
  111. package/dist/prompts/subroutines/preparation.md +16 -0
  112. package/dist/prompts/subroutines/question-answer.md +8 -0
  113. package/dist/prompts/subroutines/question-investigation.md +8 -0
  114. package/dist/prompts/subroutines/release-execution.md +81 -0
  115. package/dist/prompts/subroutines/release-summary.md +60 -0
  116. package/dist/prompts/subroutines/user-testing-summary.md +87 -0
  117. package/dist/prompts/subroutines/user-testing.md +48 -0
  118. package/dist/prompts/subroutines/validation-fixer.md +56 -0
  119. package/dist/prompts/subroutines/verbose-summary.md +46 -0
  120. package/dist/prompts/subroutines/verifications.md +77 -0
  121. package/dist/prompts/todolist-system-prompt-extension.md +15 -0
  122. package/dist/sinks/IActivitySink.d.ts +60 -0
  123. package/dist/sinks/IActivitySink.d.ts.map +1 -0
  124. package/dist/sinks/IActivitySink.js +2 -0
  125. package/dist/sinks/IActivitySink.js.map +1 -0
  126. package/dist/sinks/LinearActivitySink.d.ts +69 -0
  127. package/dist/sinks/LinearActivitySink.d.ts.map +1 -0
  128. package/dist/sinks/LinearActivitySink.js +111 -0
  129. package/dist/sinks/LinearActivitySink.js.map +1 -0
  130. package/dist/sinks/NoopActivitySink.d.ts +13 -0
  131. package/dist/sinks/NoopActivitySink.d.ts.map +1 -0
  132. package/dist/sinks/NoopActivitySink.js +17 -0
  133. package/dist/sinks/NoopActivitySink.js.map +1 -0
  134. package/dist/sinks/index.d.ts +9 -0
  135. package/dist/sinks/index.d.ts.map +1 -0
  136. package/dist/sinks/index.js +8 -0
  137. package/dist/sinks/index.js.map +1 -0
  138. package/dist/types.d.ts +32 -0
  139. package/dist/types.d.ts.map +1 -0
  140. package/dist/types.js +2 -0
  141. package/dist/types.js.map +1 -0
  142. package/dist/validation/ValidationLoopController.d.ts +54 -0
  143. package/dist/validation/ValidationLoopController.d.ts.map +1 -0
  144. package/dist/validation/ValidationLoopController.js +242 -0
  145. package/dist/validation/ValidationLoopController.js.map +1 -0
  146. package/dist/validation/index.d.ts +7 -0
  147. package/dist/validation/index.d.ts.map +1 -0
  148. package/dist/validation/index.js +7 -0
  149. package/dist/validation/index.js.map +1 -0
  150. package/dist/validation/types.d.ts +82 -0
  151. package/dist/validation/types.d.ts.map +1 -0
  152. package/dist/validation/types.js +29 -0
  153. package/dist/validation/types.js.map +1 -0
  154. package/label-prompt-template.md +27 -0
  155. package/package.json +56 -0
  156. package/prompt-template.md +116 -0
  157. package/prompts/builder.md +191 -0
  158. package/prompts/debugger.md +128 -0
  159. package/prompts/graphite-orchestrator.md +362 -0
  160. package/prompts/orchestrator.md +290 -0
  161. package/prompts/scoper.md +95 -0
  162. package/prompts/standard-issue-assigned-user-prompt.md +33 -0
  163. package/prompts/todolist-system-prompt-extension.md +15 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgentSessionManager.js","sourceRoot":"","sources":["../src/AgentSessionManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,97 @@
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, ILogger } from "sylas-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
+ private logger;
46
+ /**
47
+ * Map of agent session ID to pending question data.
48
+ * Used to track questions awaiting user response.
49
+ */
50
+ private pendingQuestions;
51
+ constructor(deps: AskUserQuestionHandlerDeps, logger?: ILogger);
52
+ /**
53
+ * Handle an AskUserQuestion tool call by presenting it to the user via Linear.
54
+ *
55
+ * This method:
56
+ * 1. Validates the input (only 1 question allowed)
57
+ * 2. Posts an elicitation activity to Linear with the select signal
58
+ * 3. Returns a promise that resolves when the user responds
59
+ *
60
+ * @param input - The AskUserQuestion tool input (must contain exactly 1 question)
61
+ * @param linearAgentSessionId - Linear agent session ID (for tracking and API calls)
62
+ * @param organizationId - Linear organization/workspace ID
63
+ * @param signal - AbortSignal for cancellation
64
+ * @returns Promise resolving to the user's answer or denial
65
+ */
66
+ handleAskUserQuestion(input: AskUserQuestionInput, linearAgentSessionId: string, organizationId: string, signal: AbortSignal): Promise<AskUserQuestionResult>;
67
+ /**
68
+ * Handle user response from the "prompted" webhook event.
69
+ *
70
+ * This method is called when Linear sends an AgentSessionPrompted webhook
71
+ * in response to a select signal elicitation.
72
+ *
73
+ * @param linearAgentSessionId - Linear agent session ID
74
+ * @param selectedValue - The value selected by the user (option label or free text)
75
+ * @returns true if a pending question was resolved, false if no pending question found
76
+ */
77
+ handleUserResponse(linearAgentSessionId: string, selectedValue: string): boolean;
78
+ /**
79
+ * Check if there's a pending question for this agent session.
80
+ *
81
+ * @param linearAgentSessionId - Linear agent session ID
82
+ * @returns true if there's a pending question
83
+ */
84
+ hasPendingQuestion(linearAgentSessionId: string): boolean;
85
+ /**
86
+ * Cancel a pending question.
87
+ *
88
+ * @param linearAgentSessionId - Linear agent session ID
89
+ * @param reason - Reason for cancellation
90
+ */
91
+ cancelPendingQuestion(linearAgentSessionId: string, reason: string): void;
92
+ /**
93
+ * Get the number of pending questions (for debugging/monitoring).
94
+ */
95
+ get pendingCount(): number;
96
+ }
97
+ //# 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,OAAO,EACP,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;IACzC,OAAO,CAAC,MAAM,CAAU;IAExB;;;OAGG;IACH,OAAO,CAAC,gBAAgB,CAA2C;gBAEvD,IAAI,EAAE,0BAA0B,EAAE,MAAM,CAAC,EAAE,OAAO;IAM9D;;;;;;;;;;;;;OAaG;IACG,qBAAqB,CAC1B,KAAK,EAAE,oBAAoB,EAC3B,oBAAoB,EAAE,MAAM,EAC5B,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,WAAW,GACjB,OAAO,CAAC,qBAAqB,CAAC;IAuHjC;;;;;;;;;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"}
@@ -0,0 +1,206 @@
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 { AgentActivitySignal, createLogger } from "sylas-core";
17
+ /**
18
+ * Handler for presenting AskUserQuestion tool calls to users via Linear's select signal.
19
+ *
20
+ * Usage:
21
+ * 1. Create handler instance with dependencies
22
+ * 2. Call `handleAskUserQuestion()` when Claude uses the AskUserQuestion tool
23
+ * 3. The handler posts an elicitation to Linear and returns a promise
24
+ * 4. When the "prompted" webhook arrives, call `handleUserResponse()` to resolve the promise
25
+ */
26
+ export class AskUserQuestionHandler {
27
+ deps;
28
+ logger;
29
+ /**
30
+ * Map of agent session ID to pending question data.
31
+ * Used to track questions awaiting user response.
32
+ */
33
+ pendingQuestions = new Map();
34
+ constructor(deps, logger) {
35
+ this.deps = deps;
36
+ this.logger =
37
+ logger ?? createLogger({ component: "AskUserQuestionHandler" });
38
+ }
39
+ /**
40
+ * Handle an AskUserQuestion tool call by presenting it to the user via Linear.
41
+ *
42
+ * This method:
43
+ * 1. Validates the input (only 1 question allowed)
44
+ * 2. Posts an elicitation activity to Linear with the select signal
45
+ * 3. Returns a promise that resolves when the user responds
46
+ *
47
+ * @param input - The AskUserQuestion tool input (must contain exactly 1 question)
48
+ * @param linearAgentSessionId - Linear agent session ID (for tracking and API calls)
49
+ * @param organizationId - Linear organization/workspace ID
50
+ * @param signal - AbortSignal for cancellation
51
+ * @returns Promise resolving to the user's answer or denial
52
+ */
53
+ async handleAskUserQuestion(input, linearAgentSessionId, organizationId, signal) {
54
+ // Validate: only 1 question at a time
55
+ if (!input.questions || input.questions.length !== 1) {
56
+ this.logger.error(`Invalid input: expected exactly 1 question, got ${input.questions?.length ?? 0}`);
57
+ return {
58
+ answered: false,
59
+ message: "Only one question at a time is supported. Please ask each question separately.",
60
+ };
61
+ }
62
+ const question = input.questions[0];
63
+ this.logger.debug(`Handling question for session ${linearAgentSessionId}: ${question.header}`);
64
+ // Check if already cancelled
65
+ if (signal.aborted) {
66
+ return {
67
+ answered: false,
68
+ message: "Operation was cancelled",
69
+ };
70
+ }
71
+ // Get issue tracker
72
+ const issueTracker = this.deps.getIssueTracker(organizationId);
73
+ if (!issueTracker) {
74
+ this.logger.error(`No issue tracker found for organization ${organizationId}`);
75
+ return {
76
+ answered: false,
77
+ message: "Issue tracker not available",
78
+ };
79
+ }
80
+ // Check for existing pending question for this session
81
+ if (this.pendingQuestions.has(linearAgentSessionId)) {
82
+ this.logger.warn(`Replacing existing pending question for session ${linearAgentSessionId}`);
83
+ this.cancelPendingQuestion(linearAgentSessionId, "Replaced by new question");
84
+ }
85
+ // Create the options for Linear's select signal
86
+ // Include an "Other" option to allow free-form input
87
+ const options = question.options.map((opt) => ({
88
+ value: opt.label,
89
+ }));
90
+ // Add "Other" option for free-form input
91
+ options.push({ value: "Other" });
92
+ // Build the elicitation body
93
+ // Include the question text and option descriptions for context
94
+ const optionsText = question.options
95
+ .map((opt) => `• **${opt.label}**: ${opt.description}`)
96
+ .join("\n");
97
+ const elicitationBody = `${question.question}\n\n${optionsText}`;
98
+ // Post elicitation to Linear
99
+ try {
100
+ await issueTracker.createAgentActivity({
101
+ agentSessionId: linearAgentSessionId,
102
+ content: {
103
+ type: "elicitation",
104
+ body: elicitationBody,
105
+ },
106
+ signal: AgentActivitySignal.Select,
107
+ signalMetadata: { options },
108
+ });
109
+ this.logger.debug(`Posted elicitation with ${options.length} options for session ${linearAgentSessionId}`);
110
+ }
111
+ catch (error) {
112
+ const errorMessage = error.message || String(error);
113
+ this.logger.error(`Failed to post elicitation: ${errorMessage}`);
114
+ return {
115
+ answered: false,
116
+ message: `Failed to present question to user: ${errorMessage}`,
117
+ };
118
+ }
119
+ // Create promise to wait for user response
120
+ // Cleanup is handled via AbortSignal when the session ends
121
+ return new Promise((resolve) => {
122
+ // Setup abort handler for session cancellation
123
+ const abortHandler = () => {
124
+ this.logger.debug(`Question cancelled for session ${linearAgentSessionId}`);
125
+ this.pendingQuestions.delete(linearAgentSessionId);
126
+ resolve({
127
+ answered: false,
128
+ message: "Operation was cancelled",
129
+ });
130
+ };
131
+ signal.addEventListener("abort", abortHandler, { once: true });
132
+ // Store pending question
133
+ this.pendingQuestions.set(linearAgentSessionId, {
134
+ question,
135
+ resolve: (result) => {
136
+ // Clean up abort handler before resolving
137
+ signal.removeEventListener("abort", abortHandler);
138
+ this.pendingQuestions.delete(linearAgentSessionId);
139
+ resolve(result);
140
+ },
141
+ signal,
142
+ });
143
+ });
144
+ }
145
+ /**
146
+ * Handle user response from the "prompted" webhook event.
147
+ *
148
+ * This method is called when Linear sends an AgentSessionPrompted webhook
149
+ * in response to a select signal elicitation.
150
+ *
151
+ * @param linearAgentSessionId - Linear agent session ID
152
+ * @param selectedValue - The value selected by the user (option label or free text)
153
+ * @returns true if a pending question was resolved, false if no pending question found
154
+ */
155
+ handleUserResponse(linearAgentSessionId, selectedValue) {
156
+ const pendingQuestion = this.pendingQuestions.get(linearAgentSessionId);
157
+ if (!pendingQuestion) {
158
+ this.logger.debug(`No pending question found for session ${linearAgentSessionId}`);
159
+ return false;
160
+ }
161
+ this.logger.debug(`User responded to question for session ${linearAgentSessionId}: ${selectedValue}`);
162
+ // Build the answers map
163
+ // The key is the question text, the value is the selected option
164
+ const answers = {
165
+ [pendingQuestion.question.question]: selectedValue,
166
+ };
167
+ // Resolve the pending promise
168
+ pendingQuestion.resolve({
169
+ answered: true,
170
+ answers,
171
+ });
172
+ return true;
173
+ }
174
+ /**
175
+ * Check if there's a pending question for this agent session.
176
+ *
177
+ * @param linearAgentSessionId - Linear agent session ID
178
+ * @returns true if there's a pending question
179
+ */
180
+ hasPendingQuestion(linearAgentSessionId) {
181
+ return this.pendingQuestions.has(linearAgentSessionId);
182
+ }
183
+ /**
184
+ * Cancel a pending question.
185
+ *
186
+ * @param linearAgentSessionId - Linear agent session ID
187
+ * @param reason - Reason for cancellation
188
+ */
189
+ cancelPendingQuestion(linearAgentSessionId, reason) {
190
+ const pendingQuestion = this.pendingQuestions.get(linearAgentSessionId);
191
+ if (pendingQuestion) {
192
+ this.logger.debug(`Cancelling pending question for session ${linearAgentSessionId}: ${reason}`);
193
+ pendingQuestion.resolve({
194
+ answered: false,
195
+ message: reason,
196
+ });
197
+ }
198
+ }
199
+ /**
200
+ * Get the number of pending questions (for debugging/monitoring).
201
+ */
202
+ get pendingCount() {
203
+ return this.pendingQuestions.size;
204
+ }
205
+ }
206
+ //# sourceMappingURL=AskUserQuestionHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AskUserQuestionHandler.js","sourceRoot":"","sources":["../src/AskUserQuestionHandler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,69 @@
1
+ import type { IIssueTrackerService, ILogger, Issue, RepositoryConfig } from "sylas-core";
2
+ export declare class AttachmentService {
3
+ private logger;
4
+ private sylasHome;
5
+ constructor(logger: ILogger, sylasHome: string);
6
+ extractAttachmentUrls(text: string): string[];
7
+ /**
8
+ * Download attachments from Linear issue
9
+ * @param issue Linear issue object from webhook data
10
+ * @param repository Repository configuration
11
+ * @param workspacePath Path to workspace directory
12
+ * @param issueTracker Optional issue tracker service for fetching comments and native attachments
13
+ */
14
+ downloadIssueAttachments(issue: Issue, repository: RepositoryConfig, workspacePath: string, issueTracker?: IIssueTrackerService): Promise<{
15
+ manifest: string;
16
+ attachmentsDir: string | null;
17
+ }>;
18
+ /**
19
+ * Download a single attachment from Linear
20
+ */
21
+ downloadAttachment(attachmentUrl: string, destinationPath: string, linearToken: string): Promise<{
22
+ success: boolean;
23
+ fileType?: string;
24
+ isImage?: boolean;
25
+ }>;
26
+ /**
27
+ * Download attachments from a specific comment
28
+ * @param commentBody The body text of the comment
29
+ * @param attachmentsDir Directory where attachments should be saved
30
+ * @param linearToken Linear API token
31
+ * @param existingAttachmentCount Current number of attachments already downloaded
32
+ */
33
+ downloadCommentAttachments(commentBody: string, attachmentsDir: string, linearToken: string, existingAttachmentCount: number): Promise<{
34
+ newAttachmentMap: Record<string, string>;
35
+ newImageMap: Record<string, string>;
36
+ totalNewAttachments: number;
37
+ failedCount: number;
38
+ }>;
39
+ /**
40
+ * Count existing images in the attachments directory
41
+ */
42
+ countExistingImages(attachmentsDir: string): Promise<number>;
43
+ /**
44
+ * Generate attachment manifest for new comment attachments
45
+ */
46
+ generateNewAttachmentManifest(result: {
47
+ newAttachmentMap: Record<string, string>;
48
+ newImageMap: Record<string, string>;
49
+ totalNewAttachments: number;
50
+ failedCount: number;
51
+ }): string;
52
+ /**
53
+ * Generate a markdown section describing downloaded attachments
54
+ */
55
+ generateAttachmentManifest(downloadResult: {
56
+ attachmentMap: Record<string, string>;
57
+ imageMap: Record<string, string>;
58
+ totalFound: number;
59
+ downloaded: number;
60
+ imagesDownloaded: number;
61
+ skipped: number;
62
+ failed: number;
63
+ nativeAttachments?: Array<{
64
+ title: string;
65
+ url: string;
66
+ }>;
67
+ }): string;
68
+ }
69
+ //# sourceMappingURL=AttachmentService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AttachmentService.d.ts","sourceRoot":"","sources":["../src/AttachmentService.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACX,oBAAoB,EACpB,OAAO,EACP,KAAK,EACL,gBAAgB,EAChB,MAAM,YAAY,CAAC;AAEpB,qBAAa,iBAAiB;IAC7B,OAAO,CAAC,MAAM,CAAU;IACxB,OAAO,CAAC,SAAS,CAAS;gBAEd,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM;IAK9C,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE;IAY7C;;;;;;OAMG;IACG,wBAAwB,CAC7B,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,gBAAgB,EAC5B,aAAa,EAAE,MAAM,EACrB,YAAY,CAAC,EAAE,oBAAoB,GACjC,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAmJ/D;;OAEG;IACG,kBAAkB,CACvB,aAAa,EAAE,MAAM,EACrB,eAAe,EAAE,MAAM,EACvB,WAAW,EAAE,MAAM,GACjB,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAqDtE;;;;;;OAMG;IACG,0BAA0B,CAC/B,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,MAAM,EACtB,WAAW,EAAE,MAAM,EACnB,uBAAuB,EAAE,MAAM,GAC7B,OAAO,CAAC;QACV,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACzC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACpC,mBAAmB,EAAE,MAAM,CAAC;QAC5B,WAAW,EAAE,MAAM,CAAC;KACpB,CAAC;IA8EF;;OAEG;IACG,mBAAmB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IASlE;;OAEG;IACH,6BAA6B,CAAC,MAAM,EAAE;QACrC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACzC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACpC,mBAAmB,EAAE,MAAM,CAAC;QAC5B,WAAW,EAAE,MAAM,CAAC;KACpB,GAAG,MAAM;IAyCV;;OAEG;IACH,0BAA0B,CAAC,cAAc,EAAE;QAC1C,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACtC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjC,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,gBAAgB,EAAE,MAAM,CAAC;QACzB,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,iBAAiB,CAAC,EAAE,KAAK,CAAC;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,GAAG,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KAC1D,GAAG,MAAM;CA0EV"}