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.
- package/config/templates/content-generation-team/norms/brand-guidelines.md +11 -0
- package/config/templates/content-generation-team/norms/content-review.md +8 -0
- package/config/templates/content-generation-team/norms/publish-checklist.md +6 -0
- package/config/templates/dev-fullstack/norms/code-commit-sop.md +98 -24
- package/config/templates/dev-fullstack/norms/quality-gates.md +44 -17
- package/config/templates/research-analysis/norms/research-methodology.md +62 -21
- package/config/templates/research-analysis/norms/source-citation.md +69 -17
- package/dist/backend/backend/src/constants.d.ts +3 -3
- package/dist/backend/backend/src/constants.d.ts.map +1 -1
- package/dist/backend/backend/src/constants.js +4 -4
- package/dist/backend/backend/src/constants.js.map +1 -1
- package/dist/backend/backend/src/controllers/cloud/cloud-google-auth.controller.js +6 -6
- package/dist/backend/backend/src/controllers/cloud/cloud-google-auth.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/monitoring/extension-logs.controller.d.ts +23 -0
- package/dist/backend/backend/src/controllers/monitoring/extension-logs.controller.d.ts.map +1 -0
- package/dist/backend/backend/src/controllers/monitoring/extension-logs.controller.js +48 -0
- package/dist/backend/backend/src/controllers/monitoring/extension-logs.controller.js.map +1 -0
- package/dist/backend/backend/src/controllers/monitoring/monitoring.routes.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/monitoring/monitoring.routes.js +6 -0
- package/dist/backend/backend/src/controllers/monitoring/monitoring.routes.js.map +1 -1
- package/dist/backend/backend/src/controllers/monitoring/pty-status.controller.d.ts +45 -0
- package/dist/backend/backend/src/controllers/monitoring/pty-status.controller.d.ts.map +1 -0
- package/dist/backend/backend/src/controllers/monitoring/pty-status.controller.js +72 -0
- package/dist/backend/backend/src/controllers/monitoring/pty-status.controller.js.map +1 -0
- package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/agent-registration.service.js +23 -1
- package/dist/backend/backend/src/services/agent/agent-registration.service.js.map +1 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/agent-runner.service.d.ts +129 -3
- package/dist/backend/backend/src/services/agent/crewly-agent/agent-runner.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/agent-runner.service.js +456 -14
- package/dist/backend/backend/src/services/agent/crewly-agent/agent-runner.service.js.map +1 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/agent-worker.d.ts +86 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/agent-worker.d.ts.map +1 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/agent-worker.js +147 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/agent-worker.js.map +1 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-runtime.service.d.ts +122 -17
- package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-runtime.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-runtime.service.js +580 -46
- package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-runtime.service.js.map +1 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/in-process-log-buffer.d.ts +41 -3
- package/dist/backend/backend/src/services/agent/crewly-agent/in-process-log-buffer.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/in-process-log-buffer.js +116 -3
- package/dist/backend/backend/src/services/agent/crewly-agent/in-process-log-buffer.js.map +1 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/rate-limiter.d.ts +17 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/rate-limiter.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/rate-limiter.js +44 -3
- package/dist/backend/backend/src/services/agent/crewly-agent/rate-limiter.js.map +1 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/tool-registry.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/tool-registry.js +134 -39
- package/dist/backend/backend/src/services/agent/crewly-agent/tool-registry.js.map +1 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/types.d.ts +30 -2
- package/dist/backend/backend/src/services/agent/crewly-agent/types.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/types.js +16 -2
- package/dist/backend/backend/src/services/agent/crewly-agent/types.js.map +1 -1
- package/dist/backend/backend/src/services/cloud/cloud-client.service.d.ts +2 -2
- package/dist/backend/backend/src/services/cloud/cloud-client.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/cloud/cloud-client.service.js +6 -3
- package/dist/backend/backend/src/services/cloud/cloud-client.service.js.map +1 -1
- package/dist/backend/backend/src/services/core/env.config.js +1 -1
- package/dist/backend/backend/src/services/session/session-backend.interface.d.ts +9 -0
- package/dist/backend/backend/src/services/session/session-backend.interface.d.ts.map +1 -1
- package/dist/backend/backend/src/services/session/session-backend.interface.js.map +1 -1
- package/dist/backend/backend/src/websocket/terminal.gateway.d.ts.map +1 -1
- package/dist/backend/backend/src/websocket/terminal.gateway.js +17 -5
- package/dist/backend/backend/src/websocket/terminal.gateway.js.map +1 -1
- package/dist/cli/backend/src/constants.d.ts +3 -3
- package/dist/cli/backend/src/constants.d.ts.map +1 -1
- package/dist/cli/backend/src/constants.js +4 -4
- package/dist/cli/backend/src/constants.js.map +1 -1
- package/dist/cli/cli/src/commands/service.d.ts +4 -0
- package/dist/cli/cli/src/commands/service.d.ts.map +1 -1
- package/dist/cli/cli/src/commands/service.js +248 -2
- package/dist/cli/cli/src/commands/service.js.map +1 -1
- package/dist/cli/cli/src/index.js +5 -1
- package/dist/cli/cli/src/index.js.map +1 -1
- package/frontend/dist/assets/{index-c10b16b7.js → index-64b0eb22.js} +338 -337
- package/frontend/dist/assets/{index-2b76b01d.css → index-8772d402.css} +1 -1
- package/frontend/dist/index.html +2 -2
- 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
|
|
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
|
|
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":"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,
|
|
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,EAKnB,KAAK,uBAAuB,EAI7B,MAAM,YAAY,CAAC;AASpB;;;;;GAKG;AACH,qBAAa,oBAAoB;IAa7B,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,cAAc;IAbjC,mDAAmD;IACnD,OAAO,CAAC,oBAAoB,CAAK;IACjC,OAAO,CAAC,eAAe,CAAuB;IAC9C,mDAAmD;IACnD,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,aAAa,CAAuB;IAC5C,kCAAkC;IAClC,YAAY,UAAS;IACrB,kDAAkD;IAClD,UAAU,SAAM;gBAGG,kBAAkB,GAAE,MAAuD,EAC3E,cAAc,GAAE,MAAmD;IAGtF;;;;;;;OAOG;IACH,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO;IAuCzF;;OAEG;IACH,OAAO,CAAC,aAAa;CAOtB;AAED;;;;;;;;;;;;;;;;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,CAAuP;IAC3Q,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,yEAAyE;IACzE,OAAO,CAAC,eAAe,CAAgC;IACvD,qEAAqE;IACrE,OAAO,CAAC,kBAAkB,CAA+B;IACzD,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;;;;;;;;;;;OAWG;IACG,GAAG,CACP,OAAO,EAAE,MAAM,EACf,cAAc,CAAC,EAAE,MAAM,EACvB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACjC,OAAO,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,WAAW,CAAC;QAAC,SAAS,CAAC,EAAE,uBAAuB,CAAA;KAAE,GAC3E,OAAO,CAAC,cAAc,CAAC;IAS1B;;;;;OAKG;IACH,eAAe,IAAI,OAAO;IAQ1B;;;;OAIG;IACH,YAAY,IAAI,OAAO;IAIvB;;;;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;IAkD1B;;;;;;;;;OASG;YACW,UAAU;IAuDxB;;;;;;;;;;OAUG;IACH,OAAO,CAAC,kBAAkB;IAY1B;;;;;OAKG;IACH,OAAO,CAAC,oBAAoB;IAQ5B;;;;;OAKG;IACH,OAAO,CAAC,KAAK;IAIb;;;;;;OAMG;YACW,wBAAwB;IA8CtC;;OAEG;YACW,wBAAwB;IAwHtC;;;;;;OAMG;YACW,0BAA0B;IAyCxC;;OAEG;YACW,0BAA0B;IA2ExC;;;OAGG;IACH,OAAO,CAAC,2BAA2B;IAYnC;;;;;;;;OAQG;IACH,OAAO,CAAC,kBAAkB;IA0B1B;;;;;;;;;;;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"}
|