crewly 1.4.31 → 1.4.32

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 (70) hide show
  1. package/dist/backend/backend/src/constants.d.ts +1 -1
  2. package/dist/backend/backend/src/constants.d.ts.map +1 -1
  3. package/dist/backend/backend/src/constants.js +2 -2
  4. package/dist/backend/backend/src/constants.js.map +1 -1
  5. package/dist/backend/backend/src/controllers/cloud/cloud-google-auth.controller.js +6 -6
  6. package/dist/backend/backend/src/controllers/cloud/cloud-google-auth.controller.js.map +1 -1
  7. package/dist/backend/backend/src/controllers/monitoring/extension-logs.controller.d.ts +23 -0
  8. package/dist/backend/backend/src/controllers/monitoring/extension-logs.controller.d.ts.map +1 -0
  9. package/dist/backend/backend/src/controllers/monitoring/extension-logs.controller.js +48 -0
  10. package/dist/backend/backend/src/controllers/monitoring/extension-logs.controller.js.map +1 -0
  11. package/dist/backend/backend/src/controllers/monitoring/monitoring.routes.d.ts.map +1 -1
  12. package/dist/backend/backend/src/controllers/monitoring/monitoring.routes.js +6 -0
  13. package/dist/backend/backend/src/controllers/monitoring/monitoring.routes.js.map +1 -1
  14. package/dist/backend/backend/src/controllers/monitoring/pty-status.controller.d.ts +45 -0
  15. package/dist/backend/backend/src/controllers/monitoring/pty-status.controller.d.ts.map +1 -0
  16. package/dist/backend/backend/src/controllers/monitoring/pty-status.controller.js +72 -0
  17. package/dist/backend/backend/src/controllers/monitoring/pty-status.controller.js.map +1 -0
  18. package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
  19. package/dist/backend/backend/src/services/agent/agent-registration.service.js +23 -1
  20. package/dist/backend/backend/src/services/agent/agent-registration.service.js.map +1 -1
  21. package/dist/backend/backend/src/services/agent/crewly-agent/agent-runner.service.d.ts +85 -3
  22. package/dist/backend/backend/src/services/agent/crewly-agent/agent-runner.service.d.ts.map +1 -1
  23. package/dist/backend/backend/src/services/agent/crewly-agent/agent-runner.service.js +309 -8
  24. package/dist/backend/backend/src/services/agent/crewly-agent/agent-runner.service.js.map +1 -1
  25. package/dist/backend/backend/src/services/agent/crewly-agent/agent-worker.d.ts +86 -0
  26. package/dist/backend/backend/src/services/agent/crewly-agent/agent-worker.d.ts.map +1 -0
  27. package/dist/backend/backend/src/services/agent/crewly-agent/agent-worker.js +147 -0
  28. package/dist/backend/backend/src/services/agent/crewly-agent/agent-worker.js.map +1 -0
  29. package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-runtime.service.d.ts +122 -17
  30. package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-runtime.service.d.ts.map +1 -1
  31. package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-runtime.service.js +580 -46
  32. package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-runtime.service.js.map +1 -1
  33. package/dist/backend/backend/src/services/agent/crewly-agent/in-process-log-buffer.d.ts +41 -3
  34. package/dist/backend/backend/src/services/agent/crewly-agent/in-process-log-buffer.d.ts.map +1 -1
  35. package/dist/backend/backend/src/services/agent/crewly-agent/in-process-log-buffer.js +116 -3
  36. package/dist/backend/backend/src/services/agent/crewly-agent/in-process-log-buffer.js.map +1 -1
  37. package/dist/backend/backend/src/services/agent/crewly-agent/rate-limiter.d.ts +17 -0
  38. package/dist/backend/backend/src/services/agent/crewly-agent/rate-limiter.d.ts.map +1 -1
  39. package/dist/backend/backend/src/services/agent/crewly-agent/rate-limiter.js +44 -3
  40. package/dist/backend/backend/src/services/agent/crewly-agent/rate-limiter.js.map +1 -1
  41. package/dist/backend/backend/src/services/agent/crewly-agent/tool-registry.d.ts.map +1 -1
  42. package/dist/backend/backend/src/services/agent/crewly-agent/tool-registry.js +134 -39
  43. package/dist/backend/backend/src/services/agent/crewly-agent/tool-registry.js.map +1 -1
  44. package/dist/backend/backend/src/services/agent/crewly-agent/types.d.ts +26 -2
  45. package/dist/backend/backend/src/services/agent/crewly-agent/types.d.ts.map +1 -1
  46. package/dist/backend/backend/src/services/agent/crewly-agent/types.js +12 -2
  47. package/dist/backend/backend/src/services/agent/crewly-agent/types.js.map +1 -1
  48. package/dist/backend/backend/src/services/cloud/cloud-client.service.d.ts +2 -2
  49. package/dist/backend/backend/src/services/cloud/cloud-client.service.js +2 -2
  50. package/dist/backend/backend/src/services/core/env.config.js +1 -1
  51. package/dist/backend/backend/src/services/session/session-backend.interface.d.ts +9 -0
  52. package/dist/backend/backend/src/services/session/session-backend.interface.d.ts.map +1 -1
  53. package/dist/backend/backend/src/services/session/session-backend.interface.js.map +1 -1
  54. package/dist/backend/backend/src/websocket/terminal.gateway.d.ts.map +1 -1
  55. package/dist/backend/backend/src/websocket/terminal.gateway.js +17 -5
  56. package/dist/backend/backend/src/websocket/terminal.gateway.js.map +1 -1
  57. package/dist/cli/backend/src/constants.d.ts +1 -1
  58. package/dist/cli/backend/src/constants.d.ts.map +1 -1
  59. package/dist/cli/backend/src/constants.js +2 -2
  60. package/dist/cli/backend/src/constants.js.map +1 -1
  61. package/dist/cli/cli/src/commands/service.d.ts +4 -0
  62. package/dist/cli/cli/src/commands/service.d.ts.map +1 -1
  63. package/dist/cli/cli/src/commands/service.js +248 -2
  64. package/dist/cli/cli/src/commands/service.js.map +1 -1
  65. package/dist/cli/cli/src/index.js +5 -1
  66. package/dist/cli/cli/src/index.js.map +1 -1
  67. package/frontend/dist/assets/{index-c10b16b7.js → index-411a5785.js} +338 -337
  68. package/frontend/dist/assets/{index-2b76b01d.css → index-63a5cc28.css} +1 -1
  69. package/frontend/dist/index.html +2 -2
  70. package/package.json +1 -1
@@ -10,7 +10,7 @@
10
10
  import { ModelManager } from './model-manager.js';
11
11
  import { CrewlyApiClient } from './api-client.js';
12
12
  import { ApprovalQueueService } from './approval-queue.service.js';
13
- import { type CrewlyAgentConfig, type ConversationState, type AgentRunResult, type CompactionResult, type ContextBudgetStatus, type AuditEntry, type SecurityPolicy } from './types.js';
13
+ import { type CrewlyAgentConfig, type ConversationState, type AgentRunResult, type CompactionResult, type ContextBudgetStatus, type AuditEntry, type SecurityPolicy, type StreamingEventCallbacks } from './types.js';
14
14
  /**
15
15
  * Core agent runner that manages the AI SDK generateText loop.
16
16
  *
@@ -55,6 +55,10 @@ export declare class AgentRunnerService {
55
55
  private tracing;
56
56
  /** Guards against concurrent compaction — only one compaction at a time */
57
57
  private compacting;
58
+ /** AbortController for the current run — allows external cancellation */
59
+ private currentRunAbort;
60
+ /** Streaming event callbacks — set per run by the runtime service */
61
+ private streamingCallbacks;
58
62
  /** @internal Override for testing — replaces the AI SDK generateText call */
59
63
  _generateTextFn: GenerateTextFn | null;
60
64
  /**
@@ -79,9 +83,28 @@ export declare class AgentRunnerService {
79
83
  * generateText calls which would corrupt conversation state.
80
84
  *
81
85
  * @param message - User/system message to process
86
+ * @param conversationId - Optional conversation ID for routing
87
+ * @param metadata - Optional metadata (Slack context, etc.)
88
+ * @param options - Optional abort signal and streaming callbacks
82
89
  * @returns Result of the agent run including text, tool calls, and usage
83
90
  */
84
- run(message: string, conversationId?: string, metadata?: Record<string, string>): Promise<AgentRunResult>;
91
+ run(message: string, conversationId?: string, metadata?: Record<string, string>, options?: {
92
+ abortSignal?: AbortSignal;
93
+ streaming?: StreamingEventCallbacks;
94
+ }): Promise<AgentRunResult>;
95
+ /**
96
+ * Abort the current in-progress run.
97
+ * Signals the active streamText/generateText call to cancel.
98
+ *
99
+ * @returns True if an active run was aborted, false if no run was in progress
100
+ */
101
+ abortCurrentRun(): boolean;
102
+ /**
103
+ * Check if the agent is currently processing a message.
104
+ *
105
+ * @returns True if processing is in progress
106
+ */
107
+ isProcessing(): boolean;
85
108
  /**
86
109
  * Get current conversation state (for inspection/debugging).
87
110
  *
@@ -143,12 +166,71 @@ export declare class AgentRunnerService {
143
166
  */
144
167
  private processQueue;
145
168
  /**
146
- * Execute a single generateText run with the current conversation context.
169
+ * Execute a single streamText run with the current conversation context.
170
+ *
171
+ * Uses streamText for real-time token emission and tool call feedback.
172
+ * Falls back to generateText when _generateTextFn is set (testing).
147
173
  *
148
174
  * @param message - New message to add to the conversation
175
+ * @param externalAbortSignal - Optional external abort signal for cancellation
149
176
  * @returns Agent run result
150
177
  */
151
178
  private executeRun;
179
+ /**
180
+ * Check if an error is recoverable and eligible for automatic retry.
181
+ *
182
+ * Recoverable errors include:
183
+ * - HTTP 429 (rate limit)
184
+ * - HTTP 5xx (server errors)
185
+ * - Network timeouts and connection errors
186
+ *
187
+ * @param error - The error to classify
188
+ * @returns True if the error is recoverable
189
+ */
190
+ private isRecoverableError;
191
+ /**
192
+ * Check if an error indicates the context length was exceeded.
193
+ *
194
+ * @param error - The error to classify
195
+ * @returns True if the error is a context length exceeded error
196
+ */
197
+ private isContextLengthError;
198
+ /**
199
+ * Sleep for a specified duration.
200
+ *
201
+ * @param ms - Milliseconds to sleep
202
+ * @returns Promise that resolves after the delay
203
+ */
204
+ private sleep;
205
+ /**
206
+ * Execute run using streamText for real-time streaming output.
207
+ * This is the production path — emits events as tokens arrive.
208
+ *
209
+ * Includes automatic retry with exponential backoff for recoverable errors
210
+ * (429, 5xx, network) and progressive context trimming for context length errors.
211
+ */
212
+ private executeRunWithStreamText;
213
+ /**
214
+ * Single attempt of streamText execution (no retry logic).
215
+ */
216
+ private executeStreamTextAttempt;
217
+ /**
218
+ * Execute run using generateText (batch mode).
219
+ * Used when _generateTextFn is set for testing, or as fallback.
220
+ *
221
+ * Includes automatic retry with exponential backoff for recoverable errors
222
+ * and progressive context trimming for context length errors.
223
+ */
224
+ private executeRunWithGenerateText;
225
+ /**
226
+ * Single attempt of generateText execution (no retry logic).
227
+ */
228
+ private executeGenerateTextAttempt;
229
+ /**
230
+ * Remove the oldest non-system messages to reduce context size.
231
+ * Preserves the most recent messages and any system-role messages.
232
+ */
233
+ private trimOldestNonSystemMessages;
152
234
  /**
153
235
  * Public method for agent-initiated context compaction.
154
236
  * Called by the compact_memory tool to intelligently summarize conversation state.
@@ -1 +1 @@
1
- {"version":3,"file":"agent-runner.service.d.ts","sourceRoot":"","sources":["../../../../../../../backend/src/services/agent/crewly-agent/agent-runner.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAIlD,OAAO,EAAE,oBAAoB,EAAwB,MAAM,6BAA6B,CAAC;AAEzF,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EAEnB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,UAAU,EACf,KAAK,cAAc,EAQpB,MAAM,YAAY,CAAC;AAEpB;;;;;;;;;;;;;;;;GAgBG;AACH,8EAA8E;AAC9E,KAAK,cAAc,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAE1F,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,KAAK,CAA8B;IAC3C,OAAO,CAAC,KAAK,CAAoB;IACjC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,YAAY,CAAyK;IAC7L,OAAO,CAAC,QAAQ,CAAoB;IACpC,OAAO,CAAC,cAAc,CAAiB;IACvC,8DAA8D;IAC9D,OAAO,CAAC,qBAAqB,CAAC,CAAS;IACvC,iGAAiG;IACjG,OAAO,CAAC,uBAAuB,CAAC,CAAS;IACzC,gFAAgF;IAChF,OAAO,CAAC,mBAAmB,CAAC,CAA2C;IACvE,+CAA+C;IAC/C,OAAO,CAAC,SAAS,CAAiC;IAClD,+DAA+D;IAC/D,OAAO,CAAC,WAAW,CAAsC;IACzD,8EAA8E;IAC9E,OAAO,CAAC,aAAa,CAA4D;IACjF,OAAO,CAAC,OAAO,CAAgC;IAC/C,2EAA2E;IAC3E,OAAO,CAAC,UAAU,CAAS;IAC3B,6EAA6E;IAC7E,eAAe,EAAE,cAAc,GAAG,IAAI,CAAQ;IAE9C;;;;;;OAMG;gBAED,MAAM,EAAE,iBAAiB,EACzB,YAAY,CAAC,EAAE,YAAY,EAC3B,SAAS,CAAC,EAAE,eAAe;IAkB7B;;;;;OAKG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAsBjC;;;;;;;;OAQG;IACG,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC;IAS/G;;;;OAIG;IACH,QAAQ,IAAI,iBAAiB;IAI7B;;;;;OAKG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ/B;;;;OAIG;IACH,iBAAiB,IAAI,MAAM,EAAE;IAI7B;;;;OAIG;IACH,eAAe,IAAI,MAAM;IAIzB;;;;;OAKG;IACH,eAAe,IAAI;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS;IAIvE;;;;OAIG;IACH,gBAAgB,IAAI,MAAM;IAI1B;;;;OAIG;IACH,aAAa,IAAI,OAAO;IAIxB;;;;;;;OAOG;IACH,gBAAgB,IAAI,mBAAmB;IAuCvC;;OAEG;YACW,YAAY;IAgD1B;;;;;OAKG;YACW,UAAU;IAgGxB;;;;;;;;;;;OAWG;IACG,iBAAiB,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAcpD;;;;;OAKG;IACH,WAAW,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,UAAU,EAAE;IAKzC;;;;OAIG;IACH,iBAAiB,IAAI,cAAc;IAInC;;;;OAIG;IACH,oBAAoB,CAAC,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,IAAI;IAI5D;;;;;OAKG;IACH,gBAAgB,IAAI,oBAAoB;IAIxC;;;;OAIG;IACH,OAAO,CAAC,WAAW;IAWnB;;;;;;;;;;OAUG;IACH,OAAO,CAAC,aAAa;IA+BrB;;;;;OAKG;IACH,OAAO,CAAC,mBAAmB;IAa3B;;;;;;;;;;OAUG;YACW,cAAc;IAiE5B;;;;;;;;;;;OAWG;YACW,iBAAiB;IAiD/B;;;;;;;OAOG;IACH,OAAO,CAAC,uBAAuB;CAuBhC"}
1
+ {"version":3,"file":"agent-runner.service.d.ts","sourceRoot":"","sources":["../../../../../../../backend/src/services/agent/crewly-agent/agent-runner.service.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@
7
7
  *
8
8
  * @module services/agent/crewly-agent/agent-runner.service
9
9
  */
10
- import { generateText, stepCountIs } from 'ai';
10
+ import { streamText, generateText, stepCountIs } from 'ai';
11
11
  import { TracingService } from '../../core/tracing.service.js';
12
12
  import { ContextFlushService } from '../../memory/context-flush.service.js';
13
13
  import { TRACING_CONSTANTS } from '../../../constants.js';
@@ -43,6 +43,10 @@ export class AgentRunnerService {
43
43
  tracing = TracingService.getInstance();
44
44
  /** Guards against concurrent compaction — only one compaction at a time */
45
45
  compacting = false;
46
+ /** AbortController for the current run — allows external cancellation */
47
+ currentRunAbort = null;
48
+ /** Streaming event callbacks — set per run by the runtime service */
49
+ streamingCallbacks = {};
46
50
  /** @internal Override for testing — replaces the AI SDK generateText call */
47
51
  _generateTextFn = null;
48
52
  /**
@@ -93,16 +97,40 @@ export class AgentRunnerService {
93
97
  * generateText calls which would corrupt conversation state.
94
98
  *
95
99
  * @param message - User/system message to process
100
+ * @param conversationId - Optional conversation ID for routing
101
+ * @param metadata - Optional metadata (Slack context, etc.)
102
+ * @param options - Optional abort signal and streaming callbacks
96
103
  * @returns Result of the agent run including text, tool calls, and usage
97
104
  */
98
- async run(message, conversationId, metadata) {
105
+ async run(message, conversationId, metadata, options) {
99
106
  return new Promise((resolve, reject) => {
100
- this.messageQueue.push({ message, conversationId, metadata, resolve, reject });
107
+ this.messageQueue.push({ message, conversationId, metadata, resolve, reject, options });
101
108
  if (!this.processing) {
102
109
  this.processQueue();
103
110
  }
104
111
  });
105
112
  }
113
+ /**
114
+ * Abort the current in-progress run.
115
+ * Signals the active streamText/generateText call to cancel.
116
+ *
117
+ * @returns True if an active run was aborted, false if no run was in progress
118
+ */
119
+ abortCurrentRun() {
120
+ if (this.currentRunAbort) {
121
+ this.currentRunAbort.abort();
122
+ return true;
123
+ }
124
+ return false;
125
+ }
126
+ /**
127
+ * Check if the agent is currently processing a message.
128
+ *
129
+ * @returns True if processing is in progress
130
+ */
131
+ isProcessing() {
132
+ return this.processing;
133
+ }
106
134
  /**
107
135
  * Get current conversation state (for inspection/debugging).
108
136
  *
@@ -238,13 +266,15 @@ export class AgentRunnerService {
238
266
  threadTs: item.metadata.threadTs,
239
267
  };
240
268
  }
269
+ // Set streaming callbacks for this run
270
+ this.streamingCallbacks = item.options?.streaming ?? {};
241
271
  const result = await this.tracing.withSpan(TRACING_CONSTANTS.SPANS.AGENT_RUN, {
242
272
  attributes: {
243
273
  'agent.session': this.config.sessionName,
244
274
  'agent.role': this.config.role,
245
275
  }
246
276
  }, async () => {
247
- return this.executeRun(item.message);
277
+ return this.executeRun(item.message, item.options?.abortSignal);
248
278
  });
249
279
  item.resolve(result);
250
280
  }
@@ -261,12 +291,16 @@ export class AgentRunnerService {
261
291
  }
262
292
  }
263
293
  /**
264
- * Execute a single generateText run with the current conversation context.
294
+ * Execute a single streamText run with the current conversation context.
295
+ *
296
+ * Uses streamText for real-time token emission and tool call feedback.
297
+ * Falls back to generateText when _generateTextFn is set (testing).
265
298
  *
266
299
  * @param message - New message to add to the conversation
300
+ * @param externalAbortSignal - Optional external abort signal for cancellation
267
301
  * @returns Agent run result
268
302
  */
269
- async executeRun(message) {
303
+ async executeRun(message, externalAbortSignal) {
270
304
  if (!this.model) {
271
305
  throw new Error('AgentRunner not initialized. Call initialize() first.');
272
306
  }
@@ -293,7 +327,256 @@ export class AgentRunnerService {
293
327
  };
294
328
  const mcpTools = Object.keys(this.mcpToolDefs).length > 0 ? this.mcpToolDefs : undefined;
295
329
  const tools = createTools(this.apiClient, this.config.sessionName, this.config.projectPath, callbacks, this.currentConversationId, this.currentSlackContext, mcpTools);
296
- // Execute generateText with agentic loop
330
+ // Create abort controller that merges external signal with internal control
331
+ const runAbort = new AbortController();
332
+ this.currentRunAbort = runAbort;
333
+ // If external signal is already aborted, abort immediately
334
+ if (externalAbortSignal?.aborted) {
335
+ runAbort.abort();
336
+ }
337
+ else if (externalAbortSignal) {
338
+ externalAbortSignal.addEventListener('abort', () => runAbort.abort(), { once: true });
339
+ }
340
+ try {
341
+ // If a test override is set, use generateText path (backward compatible)
342
+ if (this._generateTextFn) {
343
+ return await this.executeRunWithGenerateText(tools, runAbort.signal);
344
+ }
345
+ // Production path: streamText for real-time feedback
346
+ return await this.executeRunWithStreamText(tools, runAbort.signal);
347
+ }
348
+ finally {
349
+ this.currentRunAbort = null;
350
+ }
351
+ }
352
+ /**
353
+ * Check if an error is recoverable and eligible for automatic retry.
354
+ *
355
+ * Recoverable errors include:
356
+ * - HTTP 429 (rate limit)
357
+ * - HTTP 5xx (server errors)
358
+ * - Network timeouts and connection errors
359
+ *
360
+ * @param error - The error to classify
361
+ * @returns True if the error is recoverable
362
+ */
363
+ isRecoverableError(error) {
364
+ if (!(error instanceof Error))
365
+ return false;
366
+ const msg = error.message.toLowerCase();
367
+ const statusMatch = msg.match(/\b(429|5\d{2})\b/);
368
+ if (statusMatch)
369
+ return true;
370
+ if (msg.includes('rate limit') || msg.includes('too many requests'))
371
+ return true;
372
+ if (msg.includes('timeout') || msg.includes('econnreset') || msg.includes('econnrefused'))
373
+ return true;
374
+ if (msg.includes('network') || msg.includes('fetch failed') || msg.includes('socket hang up'))
375
+ return true;
376
+ if (msg.includes('service unavailable') || msg.includes('internal server error'))
377
+ return true;
378
+ return false;
379
+ }
380
+ /**
381
+ * Check if an error indicates the context length was exceeded.
382
+ *
383
+ * @param error - The error to classify
384
+ * @returns True if the error is a context length exceeded error
385
+ */
386
+ isContextLengthError(error) {
387
+ if (!(error instanceof Error))
388
+ return false;
389
+ const msg = error.message.toLowerCase();
390
+ return msg.includes('context length') || msg.includes('token limit')
391
+ || msg.includes('max_tokens') || msg.includes('context window')
392
+ || msg.includes('too long') || msg.includes('maximum context');
393
+ }
394
+ /**
395
+ * Sleep for a specified duration.
396
+ *
397
+ * @param ms - Milliseconds to sleep
398
+ * @returns Promise that resolves after the delay
399
+ */
400
+ sleep(ms) {
401
+ return new Promise(resolve => setTimeout(resolve, ms));
402
+ }
403
+ /**
404
+ * Execute run using streamText for real-time streaming output.
405
+ * This is the production path — emits events as tokens arrive.
406
+ *
407
+ * Includes automatic retry with exponential backoff for recoverable errors
408
+ * (429, 5xx, network) and progressive context trimming for context length errors.
409
+ */
410
+ async executeRunWithStreamText(tools, abortSignal) {
411
+ const maxRetries = CREWLY_AGENT_DEFAULTS.MAX_RETRIES;
412
+ const baseDelay = CREWLY_AGENT_DEFAULTS.RETRY_BASE_DELAY_MS;
413
+ for (let attempt = 0; attempt <= maxRetries; attempt++) {
414
+ try {
415
+ return await this.executeStreamTextAttempt(tools, abortSignal);
416
+ }
417
+ catch (error) {
418
+ // Context length exceeded — try compaction then retry once
419
+ if (this.isContextLengthError(error)) {
420
+ this.streamingCallbacks.onTextChunk?.('[retry] Context length exceeded, compacting history...\n');
421
+ const compactionResult = await this.requestCompaction();
422
+ if (compactionResult.compacted) {
423
+ try {
424
+ return await this.executeStreamTextAttempt(tools, abortSignal);
425
+ }
426
+ catch (retryError) {
427
+ // If still too long, remove earliest non-system messages and try once more
428
+ if (this.isContextLengthError(retryError) && this.state.messages.length > 2) {
429
+ this.streamingCallbacks.onTextChunk?.('[retry] Still too long, trimming oldest messages...\n');
430
+ this.trimOldestNonSystemMessages();
431
+ return await this.executeStreamTextAttempt(tools, abortSignal);
432
+ }
433
+ throw retryError;
434
+ }
435
+ }
436
+ }
437
+ // Recoverable error — retry with backoff
438
+ if (this.isRecoverableError(error) && attempt < maxRetries) {
439
+ const delay = baseDelay * Math.pow(2, attempt);
440
+ this.streamingCallbacks.onTextChunk?.(`[retry] Recoverable error (attempt ${attempt + 1}/${maxRetries}), retrying in ${delay}ms...\n`);
441
+ await this.sleep(delay);
442
+ continue;
443
+ }
444
+ throw error;
445
+ }
446
+ }
447
+ // Unreachable — the loop always returns or throws
448
+ throw new Error('Retry loop exhausted without result');
449
+ }
450
+ /**
451
+ * Single attempt of streamText execution (no retry logic).
452
+ */
453
+ async executeStreamTextAttempt(tools, abortSignal) {
454
+ const toolCalls = [];
455
+ let stepCount = 0;
456
+ const streamResult = streamText({
457
+ model: this.model,
458
+ system: this.state.systemPrompt,
459
+ messages: this.state.messages,
460
+ tools: tools,
461
+ stopWhen: stepCountIs(this.config.maxSteps),
462
+ temperature: this.config.model.temperature,
463
+ maxOutputTokens: this.config.model.maxTokens,
464
+ abortSignal,
465
+ onChunk: ({ chunk }) => {
466
+ // Emit text chunks in real-time
467
+ if (chunk.type === 'text-delta' && chunk.text) {
468
+ this.streamingCallbacks.onTextChunk?.(chunk.text);
469
+ }
470
+ },
471
+ experimental_onToolCallStart: (event) => {
472
+ const tc = event.toolCall;
473
+ const args = tc?.args ?? tc?.input ?? {};
474
+ this.streamingCallbacks.onToolCallStart?.(tc?.toolName ?? 'unknown', (typeof args === 'string' ? JSON.parse(args) : args));
475
+ },
476
+ experimental_onToolCallFinish: (event) => {
477
+ const tc = event.toolCall;
478
+ const args = tc?.args ?? tc?.input ?? {};
479
+ this.streamingCallbacks.onToolCallFinish?.(tc?.toolName ?? 'unknown', (typeof args === 'string' ? JSON.parse(args) : args), event.toolResult, event.durationMs ?? 0);
480
+ },
481
+ onStepFinish: ({ toolCalls: stepToolCalls, toolResults }) => {
482
+ stepCount++;
483
+ const hasTools = (stepToolCalls?.length ?? 0) > 0;
484
+ // Collect tool calls from this step
485
+ if (stepToolCalls) {
486
+ for (const tc of stepToolCalls) {
487
+ toolCalls.push({
488
+ toolName: tc.toolName,
489
+ args: tc.input ?? {},
490
+ result: toolResults?.find((tr) => tr.toolCallId === tc.toolCallId)?.output,
491
+ });
492
+ }
493
+ }
494
+ this.streamingCallbacks.onStepFinish?.(stepCount, hasTools);
495
+ },
496
+ });
497
+ // Await the full result (stream completes when all steps are done)
498
+ const result = await streamResult;
499
+ // Warn if tool call count is excessive (polling dead-loop protection)
500
+ const maxToolCalls = CREWLY_AGENT_DEFAULTS.MAX_TOOL_CALLS_PER_RESPONSE;
501
+ if (toolCalls.length > maxToolCalls) {
502
+ console.warn('[AgentRunner] Excessive tool calls in single response:', {
503
+ count: toolCalls.length,
504
+ limit: maxToolCalls,
505
+ topTools: toolCalls.slice(0, 5).map(tc => tc.toolName),
506
+ });
507
+ }
508
+ // Add assistant response to history
509
+ const text = await result.text;
510
+ if (text) {
511
+ this.state.messages.push({ role: 'assistant', content: text });
512
+ }
513
+ // Update token tracking
514
+ const resultUsage = await result.usage;
515
+ const usage = {
516
+ input: resultUsage?.inputTokens ?? 0,
517
+ output: resultUsage?.outputTokens ?? 0,
518
+ };
519
+ this.state.totalTokens.input += usage.input;
520
+ this.state.totalTokens.output += usage.output;
521
+ // Check budget after token update
522
+ const postBudget = this.getContextBudget();
523
+ const budgetWarning = postBudget.level !== 'normal' ? postBudget.summary : undefined;
524
+ const finishReason = await result.finishReason;
525
+ return {
526
+ text,
527
+ steps: stepCount,
528
+ usage,
529
+ toolCalls,
530
+ finishReason,
531
+ budgetWarning,
532
+ };
533
+ }
534
+ /**
535
+ * Execute run using generateText (batch mode).
536
+ * Used when _generateTextFn is set for testing, or as fallback.
537
+ *
538
+ * Includes automatic retry with exponential backoff for recoverable errors
539
+ * and progressive context trimming for context length errors.
540
+ */
541
+ async executeRunWithGenerateText(tools, abortSignal) {
542
+ const maxRetries = CREWLY_AGENT_DEFAULTS.MAX_RETRIES;
543
+ const baseDelay = CREWLY_AGENT_DEFAULTS.RETRY_BASE_DELAY_MS;
544
+ for (let attempt = 0; attempt <= maxRetries; attempt++) {
545
+ try {
546
+ return await this.executeGenerateTextAttempt(tools, abortSignal);
547
+ }
548
+ catch (error) {
549
+ // Context length exceeded — try compaction then retry once
550
+ if (this.isContextLengthError(error)) {
551
+ const compactionResult = await this.requestCompaction();
552
+ if (compactionResult.compacted) {
553
+ try {
554
+ return await this.executeGenerateTextAttempt(tools, abortSignal);
555
+ }
556
+ catch (retryError) {
557
+ if (this.isContextLengthError(retryError) && this.state.messages.length > 2) {
558
+ this.trimOldestNonSystemMessages();
559
+ return await this.executeGenerateTextAttempt(tools, abortSignal);
560
+ }
561
+ throw retryError;
562
+ }
563
+ }
564
+ }
565
+ // Recoverable error — retry with backoff
566
+ if (this.isRecoverableError(error) && attempt < maxRetries) {
567
+ const delay = baseDelay * Math.pow(2, attempt);
568
+ await this.sleep(delay);
569
+ continue;
570
+ }
571
+ throw error;
572
+ }
573
+ }
574
+ throw new Error('Retry loop exhausted without result');
575
+ }
576
+ /**
577
+ * Single attempt of generateText execution (no retry logic).
578
+ */
579
+ async executeGenerateTextAttempt(tools, abortSignal) {
297
580
  const generateFn = this._generateTextFn || generateText;
298
581
  const result = await generateFn({
299
582
  model: this.model,
@@ -303,6 +586,7 @@ export class AgentRunnerService {
303
586
  stopWhen: stepCountIs(this.config.maxSteps),
304
587
  temperature: this.config.model.temperature,
305
588
  maxOutputTokens: this.config.model.maxTokens,
589
+ abortSignal,
306
590
  });
307
591
  // Track tool calls across all steps
308
592
  const toolCalls = [];
@@ -317,7 +601,7 @@ export class AgentRunnerService {
317
601
  }
318
602
  }
319
603
  }
320
- // Warn if tool call count is excessive (polling dead-loop protection)
604
+ // Warn if tool call count is excessive
321
605
  const maxToolCalls = CREWLY_AGENT_DEFAULTS.MAX_TOOL_CALLS_PER_RESPONSE;
322
606
  if (toolCalls.length > maxToolCalls) {
323
607
  console.warn('[AgentRunner] Excessive tool calls in single response:', {
@@ -349,6 +633,23 @@ export class AgentRunnerService {
349
633
  budgetWarning,
350
634
  };
351
635
  }
636
+ /**
637
+ * Remove the oldest non-system messages to reduce context size.
638
+ * Preserves the most recent messages and any system-role messages.
639
+ */
640
+ trimOldestNonSystemMessages() {
641
+ // Remove up to 5 of the oldest non-system messages
642
+ let removed = 0;
643
+ const maxRemove = 5;
644
+ this.state.messages = this.state.messages.filter((msg) => {
645
+ if (removed >= maxRemove)
646
+ return true;
647
+ if (msg.role === 'system')
648
+ return true;
649
+ removed++;
650
+ return false;
651
+ });
652
+ }
352
653
  /**
353
654
  * Public method for agent-initiated context compaction.
354
655
  * Called by the compact_memory tool to intelligently summarize conversation state.
@@ -1 +1 @@
1
- {"version":3,"file":"agent-runner.service.js","sourceRoot":"","sources":["../../../../../../../backend/src/services/agent/crewly-agent/agent-runner.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-runner.service.js","sourceRoot":"","sources":["../../../../../../../backend/src/services/agent/crewly-agent/agent-runner.service.ts"],"names":[],"mappings":"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"}