jazz-ai 0.2.2 → 0.4.3
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/README.md +8 -6
- package/dist/cli/commands/chat-agent.d.ts +3 -1
- package/dist/cli/commands/chat-agent.d.ts.map +1 -1
- package/dist/cli/commands/chat-agent.js +180 -102
- package/dist/cli/commands/chat-agent.js.map +1 -1
- package/dist/cli/commands/edit-agent.d.ts +2 -2
- package/dist/cli/commands/edit-agent.d.ts.map +1 -1
- package/dist/cli/commands/edit-agent.js +20 -10
- package/dist/cli/commands/edit-agent.js.map +1 -1
- package/dist/cli/commands/task-agent.d.ts +1 -1
- package/dist/cli/commands/task-agent.d.ts.map +1 -1
- package/dist/cli/commands/task-agent.js +6 -6
- package/dist/cli/commands/task-agent.js.map +1 -1
- package/dist/constants/agent.d.ts +2 -0
- package/dist/constants/agent.d.ts.map +1 -0
- package/dist/constants/agent.js +5 -0
- package/dist/constants/agent.js.map +1 -0
- package/dist/core/agent/agent-prompt.d.ts +0 -1
- package/dist/core/agent/agent-prompt.d.ts.map +1 -1
- package/dist/core/agent/agent-prompt.js +7 -15
- package/dist/core/agent/agent-prompt.js.map +1 -1
- package/dist/core/agent/agent-runner.d.ts +15 -0
- package/dist/core/agent/agent-runner.d.ts.map +1 -1
- package/dist/core/agent/agent-runner.js +570 -270
- package/dist/core/agent/agent-runner.js.map +1 -1
- package/dist/core/agent/agent-service.d.ts +20 -5
- package/dist/core/agent/agent-service.d.ts.map +1 -1
- package/dist/core/agent/agent-service.js +54 -6
- package/dist/core/agent/agent-service.js.map +1 -1
- package/dist/core/agent/gmail-agent.js +7 -7
- package/dist/core/agent/gmail-agent.js.map +1 -1
- package/dist/core/agent/prompts/coder/v1.d.ts +2 -0
- package/dist/core/agent/prompts/coder/v1.d.ts.map +1 -0
- package/dist/core/agent/prompts/coder/v1.js +370 -0
- package/dist/core/agent/prompts/coder/v1.js.map +1 -0
- package/dist/core/agent/prompts/default/v2.d.ts +1 -1
- package/dist/core/agent/prompts/default/v2.d.ts.map +1 -1
- package/dist/core/agent/prompts/default/v2.js +1 -2
- package/dist/core/agent/prompts/default/v2.js.map +1 -1
- package/dist/core/agent/prompts/gmail/v1.d.ts +1 -1
- package/dist/core/agent/prompts/gmail/v1.d.ts.map +1 -1
- package/dist/core/agent/prompts/gmail/v1.js +5 -5
- package/dist/core/agent/prompts/gmail/v2.d.ts +1 -1
- package/dist/core/agent/prompts/gmail/v2.d.ts.map +1 -1
- package/dist/core/agent/prompts/gmail/v2.js +7 -7
- package/dist/core/agent/tools/base-tool.d.ts +3 -4
- package/dist/core/agent/tools/base-tool.d.ts.map +1 -1
- package/dist/core/agent/tools/base-tool.js +11 -51
- package/dist/core/agent/tools/base-tool.js.map +1 -1
- package/dist/core/agent/tools/context-utils.d.ts +6 -0
- package/dist/core/agent/tools/context-utils.d.ts.map +1 -0
- package/dist/core/agent/tools/context-utils.js +9 -0
- package/dist/core/agent/tools/context-utils.js.map +1 -0
- package/dist/core/agent/tools/env-utils.d.ts +7 -0
- package/dist/core/agent/tools/env-utils.d.ts.map +1 -0
- package/dist/core/agent/tools/env-utils.js +39 -0
- package/dist/core/agent/tools/env-utils.js.map +1 -0
- package/dist/core/agent/tools/fs-tools.d.ts.map +1 -1
- package/dist/core/agent/tools/fs-tools.js +48 -53
- package/dist/core/agent/tools/fs-tools.js.map +1 -1
- package/dist/core/agent/tools/git-tools.d.ts +5 -0
- package/dist/core/agent/tools/git-tools.d.ts.map +1 -1
- package/dist/core/agent/tools/git-tools.js +716 -154
- package/dist/core/agent/tools/git-tools.js.map +1 -1
- package/dist/core/agent/tools/gmail-tools.js +35 -35
- package/dist/core/agent/tools/gmail-tools.js.map +1 -1
- package/dist/core/agent/tools/http-tools.js +2 -2
- package/dist/core/agent/tools/http-tools.js.map +1 -1
- package/dist/core/agent/tools/register-tools.d.ts +18 -1
- package/dist/core/agent/tools/register-tools.d.ts.map +1 -1
- package/dist/core/agent/tools/register-tools.js +52 -6
- package/dist/core/agent/tools/register-tools.js.map +1 -1
- package/dist/core/agent/tools/shell-tools.d.ts.map +1 -1
- package/dist/core/agent/tools/shell-tools.js +10 -20
- package/dist/core/agent/tools/shell-tools.js.map +1 -1
- package/dist/core/agent/tools/tool-registry.d.ts +11 -7
- package/dist/core/agent/tools/tool-registry.d.ts.map +1 -1
- package/dist/core/agent/tools/tool-registry.js +45 -19
- package/dist/core/agent/tools/tool-registry.js.map +1 -1
- package/dist/core/agent/tools/web-search-tools.js +1 -1
- package/dist/core/agent/tools/web-search-tools.js.map +1 -1
- package/dist/core/agent/tracking/agent-run-tracker.d.ts +2 -0
- package/dist/core/agent/tracking/agent-run-tracker.d.ts.map +1 -1
- package/dist/core/agent/tracking/agent-run-tracker.js +40 -2
- package/dist/core/agent/tracking/agent-run-tracker.js.map +1 -1
- package/dist/core/types/index.d.ts +82 -15
- package/dist/core/types/index.d.ts.map +1 -1
- package/dist/core/types/index.js.map +1 -1
- package/dist/core/utils/markdown-renderer.d.ts +25 -0
- package/dist/core/utils/markdown-renderer.d.ts.map +1 -1
- package/dist/core/utils/markdown-renderer.js +100 -1
- package/dist/core/utils/markdown-renderer.js.map +1 -1
- package/dist/core/utils/output-renderer.d.ts +81 -0
- package/dist/core/utils/output-renderer.d.ts.map +1 -0
- package/dist/core/utils/output-renderer.js +291 -0
- package/dist/core/utils/output-renderer.js.map +1 -0
- package/dist/core/utils/output-theme.d.ts +64 -0
- package/dist/core/utils/output-theme.d.ts.map +1 -0
- package/dist/core/utils/output-theme.js +154 -0
- package/dist/core/utils/output-theme.js.map +1 -0
- package/dist/core/utils/output-writer.d.ts +79 -0
- package/dist/core/utils/output-writer.d.ts.map +1 -0
- package/dist/core/utils/output-writer.js +133 -0
- package/dist/core/utils/output-writer.js.map +1 -0
- package/dist/core/utils/runtime-detection.d.ts +28 -0
- package/dist/core/utils/runtime-detection.d.ts.map +1 -0
- package/dist/core/utils/runtime-detection.js +62 -0
- package/dist/core/utils/runtime-detection.js.map +1 -0
- package/dist/core/utils/string.d.ts +8 -0
- package/dist/core/utils/string.d.ts.map +1 -0
- package/dist/core/utils/string.js +19 -0
- package/dist/core/utils/string.js.map +1 -0
- package/dist/core/utils/thinking-renderer.d.ts +56 -0
- package/dist/core/utils/thinking-renderer.d.ts.map +1 -0
- package/dist/core/utils/thinking-renderer.js +174 -0
- package/dist/core/utils/thinking-renderer.js.map +1 -0
- package/dist/core/utils/tool-formatter.d.ts +21 -0
- package/dist/core/utils/tool-formatter.d.ts.map +1 -0
- package/dist/core/utils/tool-formatter.js +343 -0
- package/dist/core/utils/tool-formatter.js.map +1 -0
- package/dist/main.js +11 -4
- package/dist/main.js.map +1 -1
- package/dist/services/config.d.ts.map +1 -1
- package/dist/services/config.js +20 -20
- package/dist/services/config.js.map +1 -1
- package/dist/services/llm/ai-sdk-service.d.ts.map +1 -1
- package/dist/services/llm/ai-sdk-service.js +128 -37
- package/dist/services/llm/ai-sdk-service.js.map +1 -1
- package/dist/services/llm/stream-detector.d.ts +44 -0
- package/dist/services/llm/stream-detector.d.ts.map +1 -0
- package/dist/services/llm/stream-detector.js +81 -0
- package/dist/services/llm/stream-detector.js.map +1 -0
- package/dist/services/llm/stream-processor.d.ts +93 -0
- package/dist/services/llm/stream-processor.d.ts.map +1 -0
- package/dist/services/llm/stream-processor.js +330 -0
- package/dist/services/llm/stream-processor.js.map +1 -0
- package/dist/services/llm/streaming-types.d.ts +131 -0
- package/dist/services/llm/streaming-types.d.ts.map +1 -0
- package/dist/services/llm/streaming-types.js +12 -0
- package/dist/services/llm/streaming-types.js.map +1 -0
- package/dist/services/llm/types.d.ts +8 -0
- package/dist/services/llm/types.d.ts.map +1 -1
- package/dist/services/llm/types.js.map +1 -1
- package/dist/services/logger.d.ts +4 -4
- package/dist/services/logger.d.ts.map +1 -1
- package/dist/services/logger.js +23 -45
- package/dist/services/logger.js.map +1 -1
- package/dist/services/shell.d.ts.map +1 -1
- package/dist/services/shell.js +52 -18
- package/dist/services/shell.js.map +1 -1
- package/package.json +1 -1
|
@@ -7,13 +7,16 @@ exports.beginIteration = beginIteration;
|
|
|
7
7
|
exports.completeIteration = completeIteration;
|
|
8
8
|
exports.recordToolInvocation = recordToolInvocation;
|
|
9
9
|
exports.recordToolError = recordToolError;
|
|
10
|
+
exports.recordFirstTokenLatency = recordFirstTokenLatency;
|
|
10
11
|
exports.recordLastError = recordLastError;
|
|
11
12
|
exports.finalizeAgentRun = finalizeAgentRun;
|
|
12
13
|
const tslib_1 = require("tslib");
|
|
13
14
|
const effect_1 = require("effect");
|
|
14
15
|
const node_crypto_1 = require("node:crypto");
|
|
15
16
|
const promises_1 = require("node:fs/promises");
|
|
17
|
+
const node_os_1 = tslib_1.__importDefault(require("node:os"));
|
|
16
18
|
const node_path_1 = tslib_1.__importDefault(require("node:path"));
|
|
19
|
+
const runtime_detection_1 = require("../../utils/runtime-detection");
|
|
17
20
|
function createAgentRunTracker(context) {
|
|
18
21
|
const { agent, conversationId, userId, provider, model, reasoningEffort, maxIterations } = context;
|
|
19
22
|
return {
|
|
@@ -40,6 +43,7 @@ function createAgentRunTracker(context) {
|
|
|
40
43
|
errors: [],
|
|
41
44
|
iterationSummaries: [],
|
|
42
45
|
currentIteration: undefined,
|
|
46
|
+
firstTokenLatencyMs: undefined,
|
|
43
47
|
};
|
|
44
48
|
}
|
|
45
49
|
function recordLLMUsage(tracker, usage) {
|
|
@@ -82,6 +86,11 @@ function recordToolError(tracker, toolName, error) {
|
|
|
82
86
|
tracker.toolErrors += 1;
|
|
83
87
|
tracker.lastError = pushError(tracker, error, `tool:${toolName}`);
|
|
84
88
|
}
|
|
89
|
+
function recordFirstTokenLatency(tracker, latencyMs) {
|
|
90
|
+
if (tracker.firstTokenLatencyMs === undefined) {
|
|
91
|
+
tracker.firstTokenLatencyMs = latencyMs;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
85
94
|
function recordLastError(tracker, error) {
|
|
86
95
|
tracker.lastError = pushError(tracker, error);
|
|
87
96
|
}
|
|
@@ -129,12 +138,15 @@ function finalizeAgentRun(tracker, details) {
|
|
|
129
138
|
toolInvocationSequence: tracker.toolInvocationSequence,
|
|
130
139
|
errors: tracker.errors,
|
|
131
140
|
iterationSummaries,
|
|
141
|
+
...(tracker.firstTokenLatencyMs !== undefined
|
|
142
|
+
? { firstTokenLatencyMs: tracker.firstTokenLatencyMs }
|
|
143
|
+
: {}),
|
|
132
144
|
});
|
|
133
145
|
}
|
|
134
146
|
function writeTokenUsageLog(payload) {
|
|
135
147
|
return effect_1.Effect.tryPromise({
|
|
136
148
|
try: async () => {
|
|
137
|
-
const logsDir =
|
|
149
|
+
const logsDir = getLogsDirectory();
|
|
138
150
|
await (0, promises_1.mkdir)(logsDir, { recursive: true });
|
|
139
151
|
const logFilePath = node_path_1.default.join(logsDir, "agent-token-usage.log");
|
|
140
152
|
const timestamp = new Date().toISOString();
|
|
@@ -145,7 +157,8 @@ function writeTokenUsageLog(payload) {
|
|
|
145
157
|
const safeToolInvocationSequence = JSON.stringify(payload.toolInvocationSequence);
|
|
146
158
|
const safeErrors = JSON.stringify(payload.errors);
|
|
147
159
|
const safeIterationSummaries = JSON.stringify(payload.iterationSummaries);
|
|
148
|
-
const
|
|
160
|
+
const firstTokenLatency = payload.firstTokenLatencyMs !== undefined ? ` firstTokenLatencyMs=${payload.firstTokenLatencyMs}` : "";
|
|
161
|
+
const line = `${timestamp} runId=${payload.runId} agentId=${payload.agentId} agentName="${safeAgentName}" agentType=${payload.agentType} agentUpdatedAt=${payload.agentUpdatedAt.toISOString()} conversationId=${payload.conversationId} userId=${payload.userId ?? "anonymous"} provider=${payload.provider ?? "unknown"} model=${payload.model ?? "unknown"} reasoningEffort=${payload.reasoningEffort ?? "disable"} iterations=${payload.iterations} maxIterations=${payload.maxIterations} finished=${payload.finished} retryCount=${payload.retryCount} lastError="${safeLastError}" promptTokens=${payload.promptTokens} completionTokens=${payload.completionTokens} totalTokens=${payload.totalTokens}${firstTokenLatency} toolCalls=${payload.toolCalls} toolErrors=${payload.toolErrors} toolsUsed=${safeToolsUsed} toolCallCounts=${safeToolCallCounts} toolInvocationSequence=${safeToolInvocationSequence} errors=${safeErrors} iterationSummaries=${safeIterationSummaries} startedAt=${payload.startedAt.toISOString()} endedAt=${payload.endedAt.toISOString()} durationMs=${payload.durationMs}\n`;
|
|
149
162
|
await (0, promises_1.appendFile)(logFilePath, line, { encoding: "utf8" });
|
|
150
163
|
},
|
|
151
164
|
catch: (error) => new Error(`Failed to write token usage log: ${error instanceof Error ? error.message : String(error)}`),
|
|
@@ -164,4 +177,29 @@ function pushError(tracker, error, context) {
|
|
|
164
177
|
}
|
|
165
178
|
return contextualized;
|
|
166
179
|
}
|
|
180
|
+
let logsDirectoryCache;
|
|
181
|
+
function getLogsDirectory() {
|
|
182
|
+
if (!logsDirectoryCache) {
|
|
183
|
+
logsDirectoryCache = resolveLogsDirectory();
|
|
184
|
+
}
|
|
185
|
+
return logsDirectoryCache;
|
|
186
|
+
}
|
|
187
|
+
function resolveLogsDirectory() {
|
|
188
|
+
// 1. Allow manual override via environment variable
|
|
189
|
+
const override = process.env["JAZZ_LOG_DIR"];
|
|
190
|
+
if (override && override.trim().length > 0) {
|
|
191
|
+
return node_path_1.default.resolve(override);
|
|
192
|
+
}
|
|
193
|
+
// 2. Check if we're in a globally installed package
|
|
194
|
+
// Global npm/pnpm/bun/yarn packages are installed in specific directories
|
|
195
|
+
if ((0, runtime_detection_1.isInstalledGlobally)()) {
|
|
196
|
+
// Global install: use ~/.jazz/logs
|
|
197
|
+
const homeDir = node_os_1.default.homedir();
|
|
198
|
+
if (homeDir && homeDir.trim().length > 0) {
|
|
199
|
+
return node_path_1.default.join(homeDir, ".jazz", "logs");
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
// 3. Local development or local install: use cwd/logs
|
|
203
|
+
return node_path_1.default.resolve(process.cwd(), "logs");
|
|
204
|
+
}
|
|
167
205
|
//# sourceMappingURL=agent-run-tracker.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-run-tracker.js","sourceRoot":"","sources":["../../../../src/core/agent/tracking/agent-run-tracker.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"agent-run-tracker.js","sourceRoot":"","sources":["../../../../src/core/agent/tracking/agent-run-tracker.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ export type { ChatMessage } from "../../services/llm/types";
|
|
|
6
6
|
export interface Agent {
|
|
7
7
|
readonly id: string;
|
|
8
8
|
readonly name: string;
|
|
9
|
-
readonly description
|
|
9
|
+
readonly description?: string;
|
|
10
10
|
readonly config: AgentConfig;
|
|
11
11
|
readonly status: AgentStatus;
|
|
12
12
|
readonly createdAt: Date;
|
|
@@ -36,7 +36,7 @@ export interface Task {
|
|
|
36
36
|
readonly maxRetries?: number;
|
|
37
37
|
}
|
|
38
38
|
export type TaskType = "command" | "script" | "api" | "file" | "webhook" | "custom" | "gmail";
|
|
39
|
-
export type GmailOperation = "
|
|
39
|
+
export type GmailOperation = "list_emails" | "get_email" | "send_email" | "search_emails";
|
|
40
40
|
export interface TaskConfig {
|
|
41
41
|
readonly command?: string;
|
|
42
42
|
readonly script?: string;
|
|
@@ -118,11 +118,10 @@ export interface AgentResult {
|
|
|
118
118
|
export interface AppConfig {
|
|
119
119
|
readonly storage: StorageConfig;
|
|
120
120
|
readonly logging: LoggingConfig;
|
|
121
|
-
readonly security: SecurityConfig;
|
|
122
|
-
readonly performance: PerformanceConfig;
|
|
123
121
|
readonly google?: GoogleConfig;
|
|
124
122
|
readonly llm?: LLMConfig;
|
|
125
123
|
readonly linkup?: LinkupConfig;
|
|
124
|
+
readonly output?: OutputConfig;
|
|
126
125
|
}
|
|
127
126
|
export type StorageConfig = {
|
|
128
127
|
readonly type: "file";
|
|
@@ -136,22 +135,17 @@ export interface LoggingConfig {
|
|
|
136
135
|
readonly format: "json" | "pretty";
|
|
137
136
|
readonly output: "console" | "file" | "both";
|
|
138
137
|
readonly filePath?: string;
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
138
|
+
/**
|
|
139
|
+
* Show performance metrics (first token latency, tokens/sec, duration)
|
|
140
|
+
* Useful for debugging and monitoring performance
|
|
141
|
+
* Default: false (enable with "debug" level or explicitly)
|
|
142
|
+
*/
|
|
143
|
+
readonly showMetrics?: boolean;
|
|
144
144
|
}
|
|
145
145
|
export interface RateLimitConfig {
|
|
146
146
|
readonly requests: number;
|
|
147
147
|
readonly window: number;
|
|
148
148
|
}
|
|
149
|
-
export interface PerformanceConfig {
|
|
150
|
-
readonly maxConcurrentAgents: number;
|
|
151
|
-
readonly maxConcurrentTasks: number;
|
|
152
|
-
readonly timeout: number;
|
|
153
|
-
readonly memoryLimit?: number;
|
|
154
|
-
}
|
|
155
149
|
export interface GoogleConfig {
|
|
156
150
|
readonly clientId: string;
|
|
157
151
|
readonly clientSecret: string;
|
|
@@ -188,6 +182,79 @@ export interface LinkupConfig {
|
|
|
188
182
|
readonly baseUrl?: string;
|
|
189
183
|
readonly timeout?: number;
|
|
190
184
|
}
|
|
185
|
+
/**
|
|
186
|
+
* Output mode controls what content is displayed and how
|
|
187
|
+
*/
|
|
188
|
+
export type OutputMode = "normal" | "quiet" | "verbose" | "json" | "accessible";
|
|
189
|
+
/**
|
|
190
|
+
* Color profile for terminal output
|
|
191
|
+
*/
|
|
192
|
+
export type ColorProfile = "full" | "basic" | "none";
|
|
193
|
+
/**
|
|
194
|
+
* Output/display configuration for CLI and terminal rendering
|
|
195
|
+
* These settings apply to both streaming and non-streaming modes
|
|
196
|
+
*/
|
|
197
|
+
export interface OutputConfig {
|
|
198
|
+
/**
|
|
199
|
+
* Show reasoning/thinking process for models that support it
|
|
200
|
+
* (e.g., OpenAI o1, Claude extended thinking, DeepSeek R1)
|
|
201
|
+
* Default: true
|
|
202
|
+
*/
|
|
203
|
+
readonly showThinking?: boolean;
|
|
204
|
+
/**
|
|
205
|
+
* Show visual indicators for tool execution
|
|
206
|
+
* Default: true
|
|
207
|
+
*/
|
|
208
|
+
readonly showToolExecution?: boolean;
|
|
209
|
+
/**
|
|
210
|
+
* Output mode
|
|
211
|
+
* - "normal": Standard output with colors and formatting (default)
|
|
212
|
+
* - "quiet": Suppress all output except errors
|
|
213
|
+
* - "verbose": Show detailed information including token usage
|
|
214
|
+
* - "json": Output structured JSON for programmatic consumption
|
|
215
|
+
* - "accessible": Plain text without colors or emojis
|
|
216
|
+
* Default: "normal"
|
|
217
|
+
*/
|
|
218
|
+
readonly mode?: OutputMode;
|
|
219
|
+
/**
|
|
220
|
+
* Color profile for terminal output
|
|
221
|
+
* - "full": Full color support with emojis
|
|
222
|
+
* - "basic": 16 colors without emojis
|
|
223
|
+
* - "none": No colors (plain text)
|
|
224
|
+
* Default: auto-detect based on terminal capabilities
|
|
225
|
+
*/
|
|
226
|
+
readonly colorProfile?: ColorProfile;
|
|
227
|
+
/**
|
|
228
|
+
* Streaming-specific configuration
|
|
229
|
+
*/
|
|
230
|
+
readonly streaming?: StreamingConfig;
|
|
231
|
+
}
|
|
232
|
+
/**
|
|
233
|
+
* Streaming configuration - controls HOW content is streamed
|
|
234
|
+
* All fields optional with sensible defaults
|
|
235
|
+
*/
|
|
236
|
+
export interface StreamingConfig {
|
|
237
|
+
/**
|
|
238
|
+
* Enable streaming mode
|
|
239
|
+
* - true: Always stream
|
|
240
|
+
* - false: Never stream
|
|
241
|
+
* - "auto": Auto-detect based on TTY (default)
|
|
242
|
+
*/
|
|
243
|
+
readonly enabled?: boolean | "auto";
|
|
244
|
+
/**
|
|
245
|
+
* Enable progressive markdown rendering with formatting
|
|
246
|
+
* Only applies when streaming is enabled
|
|
247
|
+
* Default: true
|
|
248
|
+
*/
|
|
249
|
+
readonly progressiveMarkdown?: boolean;
|
|
250
|
+
/**
|
|
251
|
+
* Text buffer delay in milliseconds
|
|
252
|
+
* Batches small chunks for smoother rendering
|
|
253
|
+
* Only applies when streaming is enabled
|
|
254
|
+
* Default: 50
|
|
255
|
+
*/
|
|
256
|
+
readonly textBufferMs?: number;
|
|
257
|
+
}
|
|
191
258
|
export declare const TaskSchema: Schema.Struct<{
|
|
192
259
|
id: typeof Schema.String;
|
|
193
260
|
name: typeof Schema.String;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC;;GAEG;AAEH,YAAY,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAG5D,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/types/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/types/index.ts"],"names":[],"mappings":";;;AAAA,mCAAgC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/types/index.ts"],"names":[],"mappings":";;;AAAA,mCAAgC;AAyTnB,QAAA,UAAU,GAAG,eAAM,CAAC,MAAM,CAAC;IACtC,EAAE,EAAE,eAAM,CAAC,MAAM;IACjB,IAAI,EAAE,eAAM,CAAC,MAAM;IACnB,WAAW,EAAE,eAAM,CAAC,MAAM;IAC1B,IAAI,EAAE,eAAM,CAAC,OAAO,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC;IACtF,MAAM,EAAE,eAAM,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,eAAM,CAAC,MAAM,EAAE,KAAK,EAAE,eAAM,CAAC,OAAO,EAAE,CAAC;IACpE,YAAY,EAAE,eAAM,CAAC,QAAQ,CAAC,eAAM,CAAC,KAAK,CAAC,eAAM,CAAC,MAAM,CAAC,CAAC;IAC1D,UAAU,EAAE,eAAM,CAAC,QAAQ,CAAC,eAAM,CAAC,MAAM,CAAC;IAC1C,UAAU,EAAE,eAAM,CAAC,QAAQ,CAAC,eAAM,CAAC,MAAM,CAAC;CAC3C,CAAC,CAAC;AAEU,QAAA,gBAAgB,GAAG,eAAM,CAAC,MAAM,CAAC;IAC5C,EAAE,EAAE,eAAM,CAAC,MAAM;IACjB,IAAI,EAAE,eAAM,CAAC,MAAM;IACnB,WAAW,EAAE,eAAM,CAAC,MAAM;IAC1B,MAAM,EAAE,eAAM,CAAC,KAAK,CAAC,eAAM,CAAC,MAAM,CAAC;IACnC,QAAQ,EAAE,eAAM,CAAC,KAAK,CACpB,eAAM,CAAC,MAAM,CAAC;QACZ,EAAE,EAAE,eAAM,CAAC,MAAM;QACjB,IAAI,EAAE,eAAM,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC;QACtE,MAAM,EAAE,eAAM,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,eAAM,CAAC,MAAM,EAAE,KAAK,EAAE,eAAM,CAAC,OAAO,EAAE,CAAC;QACpE,OAAO,EAAE,eAAM,CAAC,OAAO;KACxB,CAAC,CACH;IACD,MAAM,EAAE,eAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,CAAC;IAC/D,SAAS,EAAE,eAAM,CAAC,IAAI;IACtB,SAAS,EAAE,eAAM,CAAC,IAAI;CACvB,CAAC,CAAC"}
|
|
@@ -4,6 +4,8 @@ import { Effect } from "effect";
|
|
|
4
4
|
*/
|
|
5
5
|
export declare class MarkdownRenderer {
|
|
6
6
|
private static renderer;
|
|
7
|
+
private static streamingBuffer;
|
|
8
|
+
private static lastFlushTime;
|
|
7
9
|
/**
|
|
8
10
|
* Initialize the markdown renderer with terminal-friendly options
|
|
9
11
|
*/
|
|
@@ -48,5 +50,28 @@ export declare class MarkdownRenderer {
|
|
|
48
50
|
* Format success message with styling
|
|
49
51
|
*/
|
|
50
52
|
static formatSuccess(message: string): string;
|
|
53
|
+
/**
|
|
54
|
+
* Render markdown chunk progressively for streaming
|
|
55
|
+
* Buffers incomplete syntax constructs and flushes on word boundaries
|
|
56
|
+
*
|
|
57
|
+
* @param delta - New text chunk to add
|
|
58
|
+
* @param bufferMs - Buffer delay in milliseconds (default: 50ms)
|
|
59
|
+
* @returns Rendered markdown string, or empty string if buffering
|
|
60
|
+
*/
|
|
61
|
+
static renderChunk(delta: string, bufferMs?: number): string;
|
|
62
|
+
/**
|
|
63
|
+
* Flush any remaining buffered content
|
|
64
|
+
* Call this when streaming is complete
|
|
65
|
+
*/
|
|
66
|
+
static flushBuffer(): string;
|
|
67
|
+
/**
|
|
68
|
+
* Apply progressive markdown formatting
|
|
69
|
+
* Handles common markdown constructs that can be rendered incrementally
|
|
70
|
+
*/
|
|
71
|
+
private static applyProgressiveFormatting;
|
|
72
|
+
/**
|
|
73
|
+
* Reset streaming buffer (useful for new streams)
|
|
74
|
+
*/
|
|
75
|
+
static resetStreamingBuffer(): void;
|
|
51
76
|
}
|
|
52
77
|
//# sourceMappingURL=markdown-renderer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdown-renderer.d.ts","sourceRoot":"","sources":["../../../src/core/utils/markdown-renderer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAQhC;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAiC;
|
|
1
|
+
{"version":3,"file":"markdown-renderer.d.ts","sourceRoot":"","sources":["../../../src/core/utils/markdown-renderer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAQhC;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAiC;IACxD,OAAO,CAAC,MAAM,CAAC,eAAe,CAAc;IAC5C,OAAO,CAAC,MAAM,CAAC,aAAa,CAAa;IAEzC;;OAEG;IACH,MAAM,CAAC,UAAU,IAAI,IAAI;IAyCzB;;OAEG;IACH,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAevC;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;IAIjE;;OAEG;IACH,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM;IAMtE;;OAEG;IACH,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM;IAK1E;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,gBAAgB,GAAE,OAAe,GAAG,MAAM;IAKnF;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAIlD;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM;IAIhE;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAI3C;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAI1C;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAI7C;;;;;;;OAOG;IACH,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAW,GAAG,MAAM;IA2BhE;;;OAGG;IACH,MAAM,CAAC,WAAW,IAAI,MAAM;IAY5B;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,0BAA0B;IAoDzC;;OAEG;IACH,MAAM,CAAC,oBAAoB,IAAI,IAAI;CAIpC"}
|
|
@@ -14,14 +14,17 @@ const marked_terminal_1 = tslib_1.__importDefault(require("marked-terminal"));
|
|
|
14
14
|
*/
|
|
15
15
|
class MarkdownRenderer {
|
|
16
16
|
static renderer = null;
|
|
17
|
+
static streamingBuffer = "";
|
|
18
|
+
static lastFlushTime = 0;
|
|
17
19
|
/**
|
|
18
20
|
* Initialize the markdown renderer with terminal-friendly options
|
|
19
21
|
*/
|
|
20
22
|
static initialize() {
|
|
21
23
|
try {
|
|
22
24
|
// Configure marked with our terminal renderer using setOptions
|
|
25
|
+
// @ts-expect-error marked-terminal types are incompatible with marked v16
|
|
26
|
+
// TerminalRenderer works at runtime but types don't match _Renderer interface
|
|
23
27
|
marked_1.marked.setOptions({
|
|
24
|
-
// @ts-expect-error marked-terminal types lag behind marked v16
|
|
25
28
|
renderer: new marked_terminal_1.default({
|
|
26
29
|
// Color scheme for better readability
|
|
27
30
|
code: chalk_1.default.cyan,
|
|
@@ -129,6 +132,102 @@ class MarkdownRenderer {
|
|
|
129
132
|
static formatSuccess(message) {
|
|
130
133
|
return chalk_1.default.green(`✅ ${message}`);
|
|
131
134
|
}
|
|
135
|
+
/**
|
|
136
|
+
* Render markdown chunk progressively for streaming
|
|
137
|
+
* Buffers incomplete syntax constructs and flushes on word boundaries
|
|
138
|
+
*
|
|
139
|
+
* @param delta - New text chunk to add
|
|
140
|
+
* @param bufferMs - Buffer delay in milliseconds (default: 50ms)
|
|
141
|
+
* @returns Rendered markdown string, or empty string if buffering
|
|
142
|
+
*/
|
|
143
|
+
static renderChunk(delta, bufferMs = 50) {
|
|
144
|
+
this.streamingBuffer += delta;
|
|
145
|
+
const now = Date.now();
|
|
146
|
+
// Check if we should flush based on word boundaries or time
|
|
147
|
+
const shouldFlush =
|
|
148
|
+
// Complete word (ends with space or newline)
|
|
149
|
+
this.streamingBuffer.endsWith(" ") ||
|
|
150
|
+
this.streamingBuffer.endsWith("\n") ||
|
|
151
|
+
// Complete markdown construct (ends with closing markers)
|
|
152
|
+
/[`*_~#]\s*$/.test(this.streamingBuffer) ||
|
|
153
|
+
// Time-based flush (prevent long delays)
|
|
154
|
+
(now - this.lastFlushTime > bufferMs && this.streamingBuffer.length > 0);
|
|
155
|
+
if (shouldFlush) {
|
|
156
|
+
const toRender = this.streamingBuffer;
|
|
157
|
+
this.streamingBuffer = "";
|
|
158
|
+
this.lastFlushTime = now;
|
|
159
|
+
// Apply basic markdown formatting for streaming
|
|
160
|
+
return this.applyProgressiveFormatting(toRender);
|
|
161
|
+
}
|
|
162
|
+
// Hold incomplete words/constructs
|
|
163
|
+
return "";
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Flush any remaining buffered content
|
|
167
|
+
* Call this when streaming is complete
|
|
168
|
+
*/
|
|
169
|
+
static flushBuffer() {
|
|
170
|
+
if (this.streamingBuffer.length === 0) {
|
|
171
|
+
return "";
|
|
172
|
+
}
|
|
173
|
+
const toRender = this.streamingBuffer;
|
|
174
|
+
this.streamingBuffer = "";
|
|
175
|
+
this.lastFlushTime = Date.now();
|
|
176
|
+
return this.applyProgressiveFormatting(toRender);
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Apply progressive markdown formatting
|
|
180
|
+
* Handles common markdown constructs that can be rendered incrementally
|
|
181
|
+
*/
|
|
182
|
+
static applyProgressiveFormatting(text) {
|
|
183
|
+
if (!text || text.trim().length === 0) {
|
|
184
|
+
return text;
|
|
185
|
+
}
|
|
186
|
+
// For streaming, we use a simpler approach than full markdown parsing
|
|
187
|
+
// Full parsing would require complete markdown blocks which defeats streaming
|
|
188
|
+
// Instead, we apply basic formatting for common patterns
|
|
189
|
+
let formatted = text;
|
|
190
|
+
// Handle inline code (backticks)
|
|
191
|
+
formatted = formatted.replace(/`([^`]+)`/g, (_match, code) => {
|
|
192
|
+
return chalk_1.default.cyan(code);
|
|
193
|
+
});
|
|
194
|
+
// Handle bold (**text**)
|
|
195
|
+
formatted = formatted.replace(/\*\*([^*]+)\*\*/g, (_match, bold) => {
|
|
196
|
+
return chalk_1.default.bold(bold);
|
|
197
|
+
});
|
|
198
|
+
// Handle italic (*text* or _text_)
|
|
199
|
+
formatted = formatted.replace(/(?<!\*)\*([^*]+)\*(?!\*)/g, (_match, italic) => {
|
|
200
|
+
return chalk_1.default.italic(italic);
|
|
201
|
+
});
|
|
202
|
+
formatted = formatted.replace(/(?<!_)_([^_]+)_(?!_)/g, (_match, italic) => {
|
|
203
|
+
return chalk_1.default.italic(italic);
|
|
204
|
+
});
|
|
205
|
+
// Handle headers (# Header)
|
|
206
|
+
formatted = formatted.replace(/^###\s+(.+)$/gm, (_match, header) => {
|
|
207
|
+
return chalk_1.default.bold.blue(header);
|
|
208
|
+
});
|
|
209
|
+
formatted = formatted.replace(/^##\s+(.+)$/gm, (_match, header) => {
|
|
210
|
+
return chalk_1.default.bold.blue.underline(header);
|
|
211
|
+
});
|
|
212
|
+
formatted = formatted.replace(/^#\s+(.+)$/gm, (_match, header) => {
|
|
213
|
+
return chalk_1.default.bold.blue.underline(header);
|
|
214
|
+
});
|
|
215
|
+
// Handle links [text](url) - simplified for streaming
|
|
216
|
+
formatted = formatted.replace(/\[([^\]]+)\]\([^)]+\)/g, (_match, text) => {
|
|
217
|
+
return chalk_1.default.blue.underline(text);
|
|
218
|
+
});
|
|
219
|
+
// Note: For more complex markdown (lists, blockquotes, code blocks),
|
|
220
|
+
// we'd need to buffer more content. For now, this handles the most common
|
|
221
|
+
// streaming-friendly constructs.
|
|
222
|
+
return formatted;
|
|
223
|
+
}
|
|
224
|
+
/**
|
|
225
|
+
* Reset streaming buffer (useful for new streams)
|
|
226
|
+
*/
|
|
227
|
+
static resetStreamingBuffer() {
|
|
228
|
+
this.streamingBuffer = "";
|
|
229
|
+
this.lastFlushTime = 0;
|
|
230
|
+
}
|
|
132
231
|
}
|
|
133
232
|
exports.MarkdownRenderer = MarkdownRenderer;
|
|
134
233
|
//# sourceMappingURL=markdown-renderer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdown-renderer.js","sourceRoot":"","sources":["../../../src/core/utils/markdown-renderer.ts"],"names":[],"mappings":";;;;AAAA,0DAA0B;AAC1B,mCAAgC;AAChC,mCAAgC;AAChC,8EAA+C;AAE/C,oEAAoE;AACpE,qCAAqC;AACrC,8EAA8E;AAE9E;;GAEG;AACH,MAAa,gBAAgB;IACnB,MAAM,CAAC,QAAQ,GAA4B,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"markdown-renderer.js","sourceRoot":"","sources":["../../../src/core/utils/markdown-renderer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { Effect } from "effect";
|
|
2
|
+
import type { StreamEvent } from "../../services/llm/streaming-types";
|
|
3
|
+
import type { StreamingConfig } from "../types";
|
|
4
|
+
import type { ColorProfile, OutputMode } from "./output-theme";
|
|
5
|
+
import type { OutputWriter } from "./output-writer";
|
|
6
|
+
/**
|
|
7
|
+
* Display configuration for rendering
|
|
8
|
+
* Simplified - removed format field since LLMs always output markdown
|
|
9
|
+
*/
|
|
10
|
+
export interface DisplayConfig {
|
|
11
|
+
readonly showThinking: boolean;
|
|
12
|
+
readonly showToolExecution: boolean;
|
|
13
|
+
readonly mode: OutputMode;
|
|
14
|
+
readonly colorProfile?: ColorProfile | undefined;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Output renderer configuration
|
|
18
|
+
*/
|
|
19
|
+
export interface OutputRendererConfig {
|
|
20
|
+
readonly displayConfig: DisplayConfig;
|
|
21
|
+
readonly streamingConfig: StreamingConfig;
|
|
22
|
+
readonly showMetrics: boolean;
|
|
23
|
+
readonly agentName: string;
|
|
24
|
+
readonly reasoningEffort?: "disable" | "low" | "medium" | "high" | undefined;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Output renderer for terminal display
|
|
28
|
+
* Handles progressive rendering of streaming LLM responses
|
|
29
|
+
* Supports multiple output modes: normal, quiet, verbose, json, accessible
|
|
30
|
+
*/
|
|
31
|
+
export declare class OutputRenderer {
|
|
32
|
+
private config;
|
|
33
|
+
private readonly writer;
|
|
34
|
+
private readonly theme;
|
|
35
|
+
private readonly thinkingRenderer;
|
|
36
|
+
private readonly toolNameMap;
|
|
37
|
+
private readonly mode;
|
|
38
|
+
constructor(config: OutputRendererConfig);
|
|
39
|
+
/**
|
|
40
|
+
* Create writer based on output mode
|
|
41
|
+
*/
|
|
42
|
+
private createWriter;
|
|
43
|
+
/**
|
|
44
|
+
* Handle a streaming event and update output
|
|
45
|
+
*/
|
|
46
|
+
handleEvent(event: StreamEvent): Effect.Effect<void, never>;
|
|
47
|
+
/**
|
|
48
|
+
* Render an event to a string (pure function for easier testing)
|
|
49
|
+
*/
|
|
50
|
+
private renderEvent;
|
|
51
|
+
private renderStreamStart;
|
|
52
|
+
private renderTextChunk;
|
|
53
|
+
private renderToolCallVerbose;
|
|
54
|
+
private renderToolsDetected;
|
|
55
|
+
private renderToolExecutionStart;
|
|
56
|
+
private renderToolExecutionComplete;
|
|
57
|
+
private renderUsageUpdate;
|
|
58
|
+
private renderError;
|
|
59
|
+
private renderComplete;
|
|
60
|
+
/**
|
|
61
|
+
* Format tool arguments for display (used in both streaming and non-streaming modes)
|
|
62
|
+
*/
|
|
63
|
+
static formatToolArguments(toolName: string, args?: Record<string, unknown>): string;
|
|
64
|
+
/**
|
|
65
|
+
* Format tool result for display (used in both streaming and non-streaming modes)
|
|
66
|
+
*/
|
|
67
|
+
static formatToolResult(toolName: string, result: string): string;
|
|
68
|
+
/**
|
|
69
|
+
* Reset renderer state (call between conversations)
|
|
70
|
+
*/
|
|
71
|
+
reset(): Effect.Effect<void, never>;
|
|
72
|
+
/**
|
|
73
|
+
* Flush any pending output
|
|
74
|
+
*/
|
|
75
|
+
flush(): Effect.Effect<void, never>;
|
|
76
|
+
/**
|
|
77
|
+
* Get the underlying writer (useful for testing)
|
|
78
|
+
*/
|
|
79
|
+
getWriter(): OutputWriter;
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=output-renderer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"output-renderer.d.ts","sourceRoot":"","sources":["../../../src/core/utils/output-renderer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AAEtE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAEhD,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAe,MAAM,gBAAgB,CAAC;AAE5E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAQpD;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAC;IACpC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,YAAY,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;CAClD;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IACtC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAC1C,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,eAAe,CAAC,EAAE,SAAS,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,CAAC;CAC9E;AAED;;;;GAIG;AACH,qBAAa,cAAc;IAOb,OAAO,CAAC,MAAM;IAN1B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAc;IACpC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAmB;IACpD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAkC;IAC9D,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAa;gBAEd,MAAM,EAAE,oBAAoB;IAmBhD;;OAEG;IACH,OAAO,CAAC,YAAY;IAapB;;OAEG;IACH,WAAW,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC;IAS3D;;OAEG;IACH,OAAO,CAAC,WAAW;IAoFnB,OAAO,CAAC,iBAAiB;IAiBzB,OAAO,CAAC,eAAe;IA0BvB,OAAO,CAAC,qBAAqB;IAU7B,OAAO,CAAC,mBAAmB;IAc3B,OAAO,CAAC,wBAAwB;IAoBhC,OAAO,CAAC,2BAA2B;IAsBnC,OAAO,CAAC,iBAAiB;IAWzB,OAAO,CAAC,WAAW;IAKnB,OAAO,CAAC,cAAc;IA2DtB;;OAEG;IACH,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM;IAIpF;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM;IAIjE;;OAEG;IACH,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC;IAQnC;;OAEG;IACH,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC;IAInC;;OAEG;IACH,SAAS,IAAI,YAAY;CAG1B"}
|