crewly 1.4.31 → 1.4.33

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 (79) hide show
  1. package/config/templates/content-generation-team/norms/brand-guidelines.md +11 -0
  2. package/config/templates/content-generation-team/norms/content-review.md +8 -0
  3. package/config/templates/content-generation-team/norms/publish-checklist.md +6 -0
  4. package/config/templates/dev-fullstack/norms/code-commit-sop.md +98 -24
  5. package/config/templates/dev-fullstack/norms/quality-gates.md +44 -17
  6. package/config/templates/research-analysis/norms/research-methodology.md +62 -21
  7. package/config/templates/research-analysis/norms/source-citation.md +69 -17
  8. package/dist/backend/backend/src/constants.d.ts +3 -3
  9. package/dist/backend/backend/src/constants.d.ts.map +1 -1
  10. package/dist/backend/backend/src/constants.js +4 -4
  11. package/dist/backend/backend/src/constants.js.map +1 -1
  12. package/dist/backend/backend/src/controllers/cloud/cloud-google-auth.controller.js +6 -6
  13. package/dist/backend/backend/src/controllers/cloud/cloud-google-auth.controller.js.map +1 -1
  14. package/dist/backend/backend/src/controllers/monitoring/extension-logs.controller.d.ts +23 -0
  15. package/dist/backend/backend/src/controllers/monitoring/extension-logs.controller.d.ts.map +1 -0
  16. package/dist/backend/backend/src/controllers/monitoring/extension-logs.controller.js +48 -0
  17. package/dist/backend/backend/src/controllers/monitoring/extension-logs.controller.js.map +1 -0
  18. package/dist/backend/backend/src/controllers/monitoring/monitoring.routes.d.ts.map +1 -1
  19. package/dist/backend/backend/src/controllers/monitoring/monitoring.routes.js +6 -0
  20. package/dist/backend/backend/src/controllers/monitoring/monitoring.routes.js.map +1 -1
  21. package/dist/backend/backend/src/controllers/monitoring/pty-status.controller.d.ts +45 -0
  22. package/dist/backend/backend/src/controllers/monitoring/pty-status.controller.d.ts.map +1 -0
  23. package/dist/backend/backend/src/controllers/monitoring/pty-status.controller.js +72 -0
  24. package/dist/backend/backend/src/controllers/monitoring/pty-status.controller.js.map +1 -0
  25. package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
  26. package/dist/backend/backend/src/services/agent/agent-registration.service.js +23 -1
  27. package/dist/backend/backend/src/services/agent/agent-registration.service.js.map +1 -1
  28. package/dist/backend/backend/src/services/agent/crewly-agent/agent-runner.service.d.ts +129 -3
  29. package/dist/backend/backend/src/services/agent/crewly-agent/agent-runner.service.d.ts.map +1 -1
  30. package/dist/backend/backend/src/services/agent/crewly-agent/agent-runner.service.js +456 -14
  31. package/dist/backend/backend/src/services/agent/crewly-agent/agent-runner.service.js.map +1 -1
  32. package/dist/backend/backend/src/services/agent/crewly-agent/agent-worker.d.ts +86 -0
  33. package/dist/backend/backend/src/services/agent/crewly-agent/agent-worker.d.ts.map +1 -0
  34. package/dist/backend/backend/src/services/agent/crewly-agent/agent-worker.js +147 -0
  35. package/dist/backend/backend/src/services/agent/crewly-agent/agent-worker.js.map +1 -0
  36. package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-runtime.service.d.ts +122 -17
  37. package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-runtime.service.d.ts.map +1 -1
  38. package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-runtime.service.js +580 -46
  39. package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-runtime.service.js.map +1 -1
  40. package/dist/backend/backend/src/services/agent/crewly-agent/in-process-log-buffer.d.ts +41 -3
  41. package/dist/backend/backend/src/services/agent/crewly-agent/in-process-log-buffer.d.ts.map +1 -1
  42. package/dist/backend/backend/src/services/agent/crewly-agent/in-process-log-buffer.js +116 -3
  43. package/dist/backend/backend/src/services/agent/crewly-agent/in-process-log-buffer.js.map +1 -1
  44. package/dist/backend/backend/src/services/agent/crewly-agent/rate-limiter.d.ts +17 -0
  45. package/dist/backend/backend/src/services/agent/crewly-agent/rate-limiter.d.ts.map +1 -1
  46. package/dist/backend/backend/src/services/agent/crewly-agent/rate-limiter.js +44 -3
  47. package/dist/backend/backend/src/services/agent/crewly-agent/rate-limiter.js.map +1 -1
  48. package/dist/backend/backend/src/services/agent/crewly-agent/tool-registry.d.ts.map +1 -1
  49. package/dist/backend/backend/src/services/agent/crewly-agent/tool-registry.js +134 -39
  50. package/dist/backend/backend/src/services/agent/crewly-agent/tool-registry.js.map +1 -1
  51. package/dist/backend/backend/src/services/agent/crewly-agent/types.d.ts +30 -2
  52. package/dist/backend/backend/src/services/agent/crewly-agent/types.d.ts.map +1 -1
  53. package/dist/backend/backend/src/services/agent/crewly-agent/types.js +16 -2
  54. package/dist/backend/backend/src/services/agent/crewly-agent/types.js.map +1 -1
  55. package/dist/backend/backend/src/services/cloud/cloud-client.service.d.ts +2 -2
  56. package/dist/backend/backend/src/services/cloud/cloud-client.service.d.ts.map +1 -1
  57. package/dist/backend/backend/src/services/cloud/cloud-client.service.js +6 -3
  58. package/dist/backend/backend/src/services/cloud/cloud-client.service.js.map +1 -1
  59. package/dist/backend/backend/src/services/core/env.config.js +1 -1
  60. package/dist/backend/backend/src/services/session/session-backend.interface.d.ts +9 -0
  61. package/dist/backend/backend/src/services/session/session-backend.interface.d.ts.map +1 -1
  62. package/dist/backend/backend/src/services/session/session-backend.interface.js.map +1 -1
  63. package/dist/backend/backend/src/websocket/terminal.gateway.d.ts.map +1 -1
  64. package/dist/backend/backend/src/websocket/terminal.gateway.js +17 -5
  65. package/dist/backend/backend/src/websocket/terminal.gateway.js.map +1 -1
  66. package/dist/cli/backend/src/constants.d.ts +3 -3
  67. package/dist/cli/backend/src/constants.d.ts.map +1 -1
  68. package/dist/cli/backend/src/constants.js +4 -4
  69. package/dist/cli/backend/src/constants.js.map +1 -1
  70. package/dist/cli/cli/src/commands/service.d.ts +4 -0
  71. package/dist/cli/cli/src/commands/service.d.ts.map +1 -1
  72. package/dist/cli/cli/src/commands/service.js +248 -2
  73. package/dist/cli/cli/src/commands/service.js.map +1 -1
  74. package/dist/cli/cli/src/index.js +5 -1
  75. package/dist/cli/cli/src/index.js.map +1 -1
  76. package/frontend/dist/assets/{index-c10b16b7.js → index-64b0eb22.js} +338 -337
  77. package/frontend/dist/assets/{index-2b76b01d.css → index-8772d402.css} +1 -1
  78. package/frontend/dist/index.html +2 -2
  79. package/package.json +1 -1
@@ -10,7 +10,41 @@
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
+ /**
15
+ * Detects looping behavior in tool calls: consecutive identical calls or
16
+ * consecutive error responses from the same tool.
17
+ *
18
+ * Usage: create per-run, call `recordToolCall()` in onStepFinish, check `loopDetected`.
19
+ */
20
+ export declare class ToolCallLoopDetector {
21
+ private readonly identicalThreshold;
22
+ private readonly errorThreshold;
23
+ /** Consecutive identical tool call fingerprints */
24
+ private consecutiveIdentical;
25
+ private lastFingerprint;
26
+ /** Consecutive error results from the same tool */
27
+ private consecutiveErrors;
28
+ private lastErrorTool;
29
+ /** Whether a loop was detected */
30
+ loopDetected: boolean;
31
+ /** Human-readable reason when loop is detected */
32
+ loopReason: string;
33
+ constructor(identicalThreshold?: number, errorThreshold?: number);
34
+ /**
35
+ * Record a tool call and check for loop patterns.
36
+ *
37
+ * @param toolName - Name of the tool called
38
+ * @param args - Arguments passed to the tool
39
+ * @param result - Result returned by the tool
40
+ * @returns True if a loop was just detected on this call
41
+ */
42
+ recordToolCall(toolName: string, args: Record<string, unknown>, result: unknown): boolean;
43
+ /**
44
+ * Check if a tool result looks like an error (404, HTTP error codes, error strings).
45
+ */
46
+ private isErrorResult;
47
+ }
14
48
  /**
15
49
  * Core agent runner that manages the AI SDK generateText loop.
16
50
  *
@@ -55,6 +89,10 @@ export declare class AgentRunnerService {
55
89
  private tracing;
56
90
  /** Guards against concurrent compaction — only one compaction at a time */
57
91
  private compacting;
92
+ /** AbortController for the current run — allows external cancellation */
93
+ private currentRunAbort;
94
+ /** Streaming event callbacks — set per run by the runtime service */
95
+ private streamingCallbacks;
58
96
  /** @internal Override for testing — replaces the AI SDK generateText call */
59
97
  _generateTextFn: GenerateTextFn | null;
60
98
  /**
@@ -79,9 +117,28 @@ export declare class AgentRunnerService {
79
117
  * generateText calls which would corrupt conversation state.
80
118
  *
81
119
  * @param message - User/system message to process
120
+ * @param conversationId - Optional conversation ID for routing
121
+ * @param metadata - Optional metadata (Slack context, etc.)
122
+ * @param options - Optional abort signal and streaming callbacks
82
123
  * @returns Result of the agent run including text, tool calls, and usage
83
124
  */
84
- run(message: string, conversationId?: string, metadata?: Record<string, string>): Promise<AgentRunResult>;
125
+ run(message: string, conversationId?: string, metadata?: Record<string, string>, options?: {
126
+ abortSignal?: AbortSignal;
127
+ streaming?: StreamingEventCallbacks;
128
+ }): Promise<AgentRunResult>;
129
+ /**
130
+ * Abort the current in-progress run.
131
+ * Signals the active streamText/generateText call to cancel.
132
+ *
133
+ * @returns True if an active run was aborted, false if no run was in progress
134
+ */
135
+ abortCurrentRun(): boolean;
136
+ /**
137
+ * Check if the agent is currently processing a message.
138
+ *
139
+ * @returns True if processing is in progress
140
+ */
141
+ isProcessing(): boolean;
85
142
  /**
86
143
  * Get current conversation state (for inspection/debugging).
87
144
  *
@@ -143,12 +200,81 @@ export declare class AgentRunnerService {
143
200
  */
144
201
  private processQueue;
145
202
  /**
146
- * Execute a single generateText run with the current conversation context.
203
+ * Execute a single streamText run with the current conversation context.
204
+ *
205
+ * Uses streamText for real-time token emission and tool call feedback.
206
+ * Falls back to generateText when _generateTextFn is set (testing).
147
207
  *
148
208
  * @param message - New message to add to the conversation
209
+ * @param externalAbortSignal - Optional external abort signal for cancellation
149
210
  * @returns Agent run result
150
211
  */
151
212
  private executeRun;
213
+ /**
214
+ * Check if an error is recoverable and eligible for automatic retry.
215
+ *
216
+ * Recoverable errors include:
217
+ * - HTTP 429 (rate limit)
218
+ * - HTTP 5xx (server errors)
219
+ * - Network timeouts and connection errors
220
+ *
221
+ * @param error - The error to classify
222
+ * @returns True if the error is recoverable
223
+ */
224
+ private isRecoverableError;
225
+ /**
226
+ * Check if an error indicates the context length was exceeded.
227
+ *
228
+ * @param error - The error to classify
229
+ * @returns True if the error is a context length exceeded error
230
+ */
231
+ private isContextLengthError;
232
+ /**
233
+ * Sleep for a specified duration.
234
+ *
235
+ * @param ms - Milliseconds to sleep
236
+ * @returns Promise that resolves after the delay
237
+ */
238
+ private sleep;
239
+ /**
240
+ * Execute run using streamText for real-time streaming output.
241
+ * This is the production path — emits events as tokens arrive.
242
+ *
243
+ * Includes automatic retry with exponential backoff for recoverable errors
244
+ * (429, 5xx, network) and progressive context trimming for context length errors.
245
+ */
246
+ private executeRunWithStreamText;
247
+ /**
248
+ * Single attempt of streamText execution (no retry logic).
249
+ */
250
+ private executeStreamTextAttempt;
251
+ /**
252
+ * Execute run using generateText (batch mode).
253
+ * Used when _generateTextFn is set for testing, or as fallback.
254
+ *
255
+ * Includes automatic retry with exponential backoff for recoverable errors
256
+ * and progressive context trimming for context length errors.
257
+ */
258
+ private executeRunWithGenerateText;
259
+ /**
260
+ * Single attempt of generateText execution (no retry logic).
261
+ */
262
+ private executeGenerateTextAttempt;
263
+ /**
264
+ * Remove the oldest non-system messages to reduce context size.
265
+ * Preserves the most recent messages and any system-role messages.
266
+ */
267
+ private trimOldestNonSystemMessages;
268
+ /**
269
+ * Handle a detected tool call loop by injecting a corrective system message
270
+ * into conversation history and returning a structured result.
271
+ *
272
+ * @param detector - The loop detector with reason details
273
+ * @param toolCalls - Tool calls collected so far
274
+ * @param steps - Number of steps taken
275
+ * @returns AgentRunResult with the loop warning as text
276
+ */
277
+ private handleLoopDetected;
152
278
  /**
153
279
  * Public method for agent-initiated context compaction.
154
280
  * 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":"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"}
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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"}