@syntero/orca-cli 1.0.0 → 1.1.0
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/dist/assistant.d.ts +17 -3
- package/dist/assistant.d.ts.map +1 -1
- package/dist/assistant.js +217 -22
- package/dist/assistant.js.map +1 -1
- package/dist/auth.d.ts +97 -0
- package/dist/auth.d.ts.map +1 -0
- package/dist/auth.js +438 -0
- package/dist/auth.js.map +1 -0
- package/dist/autocomplete.d.ts +24 -0
- package/dist/autocomplete.d.ts.map +1 -0
- package/dist/autocomplete.js +43 -0
- package/dist/autocomplete.js.map +1 -0
- package/dist/components/ChatApp.d.ts +32 -0
- package/dist/components/ChatApp.d.ts.map +1 -0
- package/dist/components/ChatApp.js +470 -0
- package/dist/components/ChatApp.js.map +1 -0
- package/dist/components/CommandPalette.d.ts +15 -0
- package/dist/components/CommandPalette.d.ts.map +1 -0
- package/dist/components/CommandPalette.js +22 -0
- package/dist/components/CommandPalette.js.map +1 -0
- package/dist/components/ConfigWizard.d.ts +25 -0
- package/dist/components/ConfigWizard.d.ts.map +1 -0
- package/dist/components/ConfigWizard.js +401 -0
- package/dist/components/ConfigWizard.js.map +1 -0
- package/dist/components/InputFooter.d.ts +33 -0
- package/dist/components/InputFooter.d.ts.map +1 -0
- package/dist/components/InputFooter.js +618 -0
- package/dist/components/InputFooter.js.map +1 -0
- package/dist/components/InputModal.d.ts +25 -0
- package/dist/components/InputModal.d.ts.map +1 -0
- package/dist/components/InputModal.js +529 -0
- package/dist/components/InputModal.js.map +1 -0
- package/dist/components/ModelMenu.d.ts +24 -0
- package/dist/components/ModelMenu.d.ts.map +1 -0
- package/dist/components/ModelMenu.js +175 -0
- package/dist/components/ModelMenu.js.map +1 -0
- package/dist/components/ProviderMenu.d.ts +20 -0
- package/dist/components/ProviderMenu.d.ts.map +1 -0
- package/dist/components/ProviderMenu.js +31 -0
- package/dist/components/ProviderMenu.js.map +1 -0
- package/dist/components/SyncMenu.d.ts +23 -0
- package/dist/components/SyncMenu.d.ts.map +1 -0
- package/dist/components/SyncMenu.js +135 -0
- package/dist/components/SyncMenu.js.map +1 -0
- package/dist/components/TokenInput.d.ts +15 -0
- package/dist/components/TokenInput.d.ts.map +1 -0
- package/dist/components/TokenInput.js +103 -0
- package/dist/components/TokenInput.js.map +1 -0
- package/dist/index.js +323 -173
- package/dist/index.js.map +1 -1
- package/dist/ink-input.d.ts +14 -0
- package/dist/ink-input.d.ts.map +1 -0
- package/dist/ink-input.js +92 -0
- package/dist/ink-input.js.map +1 -0
- package/dist/models.d.ts +115 -0
- package/dist/models.d.ts.map +1 -0
- package/dist/models.js +221 -0
- package/dist/models.js.map +1 -0
- package/dist/providers.d.ts +19 -4
- package/dist/providers.d.ts.map +1 -1
- package/dist/providers.js +80 -112
- package/dist/providers.js.map +1 -1
- package/dist/settings.d.ts +15 -0
- package/dist/settings.d.ts.map +1 -1
- package/dist/settings.js +56 -21
- package/dist/settings.js.map +1 -1
- package/dist/sync/docker.d.ts +68 -0
- package/dist/sync/docker.d.ts.map +1 -0
- package/dist/sync/docker.js +234 -0
- package/dist/sync/docker.js.map +1 -0
- package/dist/sync/download.d.ts +87 -0
- package/dist/sync/download.d.ts.map +1 -0
- package/dist/sync/download.js +291 -0
- package/dist/sync/download.js.map +1 -0
- package/dist/sync/hash.d.ts +60 -0
- package/dist/sync/hash.d.ts.map +1 -0
- package/dist/sync/hash.js +92 -0
- package/dist/sync/hash.js.map +1 -0
- package/dist/sync/index.d.ts +15 -0
- package/dist/sync/index.d.ts.map +1 -0
- package/dist/sync/index.js +21 -0
- package/dist/sync/index.js.map +1 -0
- package/dist/sync/manifest.d.ts +132 -0
- package/dist/sync/manifest.d.ts.map +1 -0
- package/dist/sync/manifest.js +260 -0
- package/dist/sync/manifest.js.map +1 -0
- package/dist/sync/progress.d.ts +164 -0
- package/dist/sync/progress.d.ts.map +1 -0
- package/dist/sync/progress.js +233 -0
- package/dist/sync/progress.js.map +1 -0
- package/dist/sync/services.d.ts +70 -0
- package/dist/sync/services.d.ts.map +1 -0
- package/dist/sync/services.js +134 -0
- package/dist/sync/services.js.map +1 -0
- package/dist/sync/sync-engine.d.ts +69 -0
- package/dist/sync/sync-engine.d.ts.map +1 -0
- package/dist/sync/sync-engine.js +533 -0
- package/dist/sync/sync-engine.js.map +1 -0
- package/dist/tokens.d.ts +70 -0
- package/dist/tokens.d.ts.map +1 -0
- package/dist/tokens.js +198 -0
- package/dist/tokens.js.map +1 -0
- package/dist/tools.d.ts +60 -0
- package/dist/tools.d.ts.map +1 -1
- package/dist/tools.js +34 -0
- package/dist/tools.js.map +1 -1
- package/dist/types/sync.d.ts +284 -0
- package/dist/types/sync.d.ts.map +1 -0
- package/dist/types/sync.js +5 -0
- package/dist/types/sync.js.map +1 -0
- package/package.json +10 -2
package/dist/tokens.d.ts
ADDED
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import type { AnthropicMessage } from './assistant.js';
|
|
2
|
+
/**
|
|
3
|
+
* Model context window sizes (in tokens).
|
|
4
|
+
* @deprecated Use ModelRegistry.getContextWindow(modelId) instead.
|
|
5
|
+
* This is kept for backward compatibility but delegates to ModelRegistry.
|
|
6
|
+
*/
|
|
7
|
+
export declare const MODEL_CONTEXT_LIMITS: Record<string, number>;
|
|
8
|
+
/**
|
|
9
|
+
* Auto-compaction threshold in tokens.
|
|
10
|
+
* When conversation reaches this size, trigger automatic compaction.
|
|
11
|
+
* Set to 150K tokens as requested.
|
|
12
|
+
*/
|
|
13
|
+
export declare const AUTO_COMPACT_THRESHOLD = 150000;
|
|
14
|
+
/**
|
|
15
|
+
* Estimate the number of tokens in a string.
|
|
16
|
+
* Uses a simple character-based heuristic.
|
|
17
|
+
*
|
|
18
|
+
* @param text - The text to estimate tokens for
|
|
19
|
+
* @returns Estimated token count
|
|
20
|
+
*/
|
|
21
|
+
export declare function estimateTokens(text: string): number;
|
|
22
|
+
/**
|
|
23
|
+
* Estimate the total token count for a conversation history.
|
|
24
|
+
*
|
|
25
|
+
* @param messages - Array of AnthropicMessage objects
|
|
26
|
+
* @returns Total estimated token count
|
|
27
|
+
*/
|
|
28
|
+
export declare function estimateConversationTokens(messages: AnthropicMessage[]): number;
|
|
29
|
+
/**
|
|
30
|
+
* Check if the conversation should be auto-compacted.
|
|
31
|
+
*
|
|
32
|
+
* @param messages - Array of AnthropicMessage objects
|
|
33
|
+
* @returns True if conversation exceeds threshold
|
|
34
|
+
*/
|
|
35
|
+
export declare function shouldAutoCompact(messages: AnthropicMessage[]): boolean;
|
|
36
|
+
/**
|
|
37
|
+
* Format token count for display.
|
|
38
|
+
*
|
|
39
|
+
* @param tokens - Number of tokens
|
|
40
|
+
* @returns Formatted string (e.g., "15K", "150K")
|
|
41
|
+
*/
|
|
42
|
+
export declare function formatTokenCount(tokens: number): string;
|
|
43
|
+
/**
|
|
44
|
+
* Get the context window size for a model.
|
|
45
|
+
* Uses ModelRegistry as the source of truth.
|
|
46
|
+
*/
|
|
47
|
+
export declare function getModelContextLimit(model: string): number;
|
|
48
|
+
/**
|
|
49
|
+
* Context breakdown for display.
|
|
50
|
+
*/
|
|
51
|
+
export interface ContextBreakdown {
|
|
52
|
+
model: string;
|
|
53
|
+
contextLimit: number;
|
|
54
|
+
messagesTokens: number;
|
|
55
|
+
systemPromptTokens: number;
|
|
56
|
+
freeSpace: number;
|
|
57
|
+
autoCompactBuffer: number;
|
|
58
|
+
totalUsed: number;
|
|
59
|
+
usagePercent: number;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Calculate context breakdown for display.
|
|
63
|
+
*/
|
|
64
|
+
export declare function calculateContextBreakdown(model: string, messages: AnthropicMessage[], systemPromptTokens?: number): ContextBreakdown;
|
|
65
|
+
/**
|
|
66
|
+
* Generate visual context display with grid and breakdown.
|
|
67
|
+
* Uses Unicode symbols: ⛁ (filled), ⛀ (half), ⛶ (empty), ⛝ (buffer)
|
|
68
|
+
*/
|
|
69
|
+
export declare function generateContextDisplay(breakdown: ContextBreakdown): string;
|
|
70
|
+
//# sourceMappingURL=tokens.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAevD;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CASpD,CAAC;AAEL;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,SAAS,CAAC;AAE7C;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGnD;AAgCD;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,gBAAgB,EAAE,GAAG,MAAM,CAW/E;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAEvE;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAKvD;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,gBAAgB,EAAE,EAC5B,kBAAkB,GAAE,MAAU,GAC7B,gBAAgB,CAkBlB;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,gBAAgB,GAAG,MAAM,CA2D1E"}
|
package/dist/tokens.js
ADDED
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
import { ModelRegistry } from './models.js';
|
|
2
|
+
/**
|
|
3
|
+
* Token estimation constants.
|
|
4
|
+
* Using a conservative estimate of ~4 characters per token for English text.
|
|
5
|
+
* This is a rough heuristic - actual tokenization varies by model.
|
|
6
|
+
*/
|
|
7
|
+
const CHARS_PER_TOKEN = 4;
|
|
8
|
+
/**
|
|
9
|
+
* Default context window for unknown models.
|
|
10
|
+
*/
|
|
11
|
+
const DEFAULT_CONTEXT_LIMIT = 128000;
|
|
12
|
+
/**
|
|
13
|
+
* Model context window sizes (in tokens).
|
|
14
|
+
* @deprecated Use ModelRegistry.getContextWindow(modelId) instead.
|
|
15
|
+
* This is kept for backward compatibility but delegates to ModelRegistry.
|
|
16
|
+
*/
|
|
17
|
+
export const MODEL_CONTEXT_LIMITS = (() => {
|
|
18
|
+
const limits = {};
|
|
19
|
+
// Populate from ModelRegistry
|
|
20
|
+
for (const model of ModelRegistry.getAllModels()) {
|
|
21
|
+
limits[model.id] = model.contextWindow;
|
|
22
|
+
}
|
|
23
|
+
// Add default fallback
|
|
24
|
+
limits['default'] = DEFAULT_CONTEXT_LIMIT;
|
|
25
|
+
return limits;
|
|
26
|
+
})();
|
|
27
|
+
/**
|
|
28
|
+
* Auto-compaction threshold in tokens.
|
|
29
|
+
* When conversation reaches this size, trigger automatic compaction.
|
|
30
|
+
* Set to 150K tokens as requested.
|
|
31
|
+
*/
|
|
32
|
+
export const AUTO_COMPACT_THRESHOLD = 150000;
|
|
33
|
+
/**
|
|
34
|
+
* Estimate the number of tokens in a string.
|
|
35
|
+
* Uses a simple character-based heuristic.
|
|
36
|
+
*
|
|
37
|
+
* @param text - The text to estimate tokens for
|
|
38
|
+
* @returns Estimated token count
|
|
39
|
+
*/
|
|
40
|
+
export function estimateTokens(text) {
|
|
41
|
+
if (!text)
|
|
42
|
+
return 0;
|
|
43
|
+
return Math.ceil(text.length / CHARS_PER_TOKEN);
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Extract text content from an AnthropicMessage content block.
|
|
47
|
+
* Handles both string content and array of content blocks.
|
|
48
|
+
*/
|
|
49
|
+
function extractTextFromContent(content) {
|
|
50
|
+
if (typeof content === 'string') {
|
|
51
|
+
return content;
|
|
52
|
+
}
|
|
53
|
+
if (Array.isArray(content)) {
|
|
54
|
+
return content
|
|
55
|
+
.map(block => {
|
|
56
|
+
if (block.type === 'text' && block.text) {
|
|
57
|
+
return block.text;
|
|
58
|
+
}
|
|
59
|
+
if (block.type === 'tool_use' && block.name && block.input) {
|
|
60
|
+
// Include tool calls in token count
|
|
61
|
+
return `[Tool: ${block.name}] ${JSON.stringify(block.input)}`;
|
|
62
|
+
}
|
|
63
|
+
if (block.type === 'tool_result' && block.content) {
|
|
64
|
+
return block.content;
|
|
65
|
+
}
|
|
66
|
+
return '';
|
|
67
|
+
})
|
|
68
|
+
.join('\n');
|
|
69
|
+
}
|
|
70
|
+
return '';
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Estimate the total token count for a conversation history.
|
|
74
|
+
*
|
|
75
|
+
* @param messages - Array of AnthropicMessage objects
|
|
76
|
+
* @returns Total estimated token count
|
|
77
|
+
*/
|
|
78
|
+
export function estimateConversationTokens(messages) {
|
|
79
|
+
let totalTokens = 0;
|
|
80
|
+
for (const message of messages) {
|
|
81
|
+
const text = extractTextFromContent(message.content);
|
|
82
|
+
totalTokens += estimateTokens(text);
|
|
83
|
+
// Add small overhead for role markers
|
|
84
|
+
totalTokens += 5;
|
|
85
|
+
}
|
|
86
|
+
return totalTokens;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Check if the conversation should be auto-compacted.
|
|
90
|
+
*
|
|
91
|
+
* @param messages - Array of AnthropicMessage objects
|
|
92
|
+
* @returns True if conversation exceeds threshold
|
|
93
|
+
*/
|
|
94
|
+
export function shouldAutoCompact(messages) {
|
|
95
|
+
return estimateConversationTokens(messages) >= AUTO_COMPACT_THRESHOLD;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Format token count for display.
|
|
99
|
+
*
|
|
100
|
+
* @param tokens - Number of tokens
|
|
101
|
+
* @returns Formatted string (e.g., "15K", "150K")
|
|
102
|
+
*/
|
|
103
|
+
export function formatTokenCount(tokens) {
|
|
104
|
+
if (tokens >= 1000) {
|
|
105
|
+
return `${Math.round(tokens / 1000)}K`;
|
|
106
|
+
}
|
|
107
|
+
return String(tokens);
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Get the context window size for a model.
|
|
111
|
+
* Uses ModelRegistry as the source of truth.
|
|
112
|
+
*/
|
|
113
|
+
export function getModelContextLimit(model) {
|
|
114
|
+
return ModelRegistry.getContextWindow(model) || DEFAULT_CONTEXT_LIMIT;
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Calculate context breakdown for display.
|
|
118
|
+
*/
|
|
119
|
+
export function calculateContextBreakdown(model, messages, systemPromptTokens = 0) {
|
|
120
|
+
const contextLimit = getModelContextLimit(model);
|
|
121
|
+
const messagesTokens = estimateConversationTokens(messages);
|
|
122
|
+
const totalUsed = messagesTokens + systemPromptTokens;
|
|
123
|
+
const autoCompactBuffer = Math.max(0, contextLimit - AUTO_COMPACT_THRESHOLD);
|
|
124
|
+
const freeSpace = Math.max(0, AUTO_COMPACT_THRESHOLD - totalUsed);
|
|
125
|
+
const usagePercent = Math.round((totalUsed / contextLimit) * 100);
|
|
126
|
+
return {
|
|
127
|
+
model,
|
|
128
|
+
contextLimit,
|
|
129
|
+
messagesTokens,
|
|
130
|
+
systemPromptTokens,
|
|
131
|
+
freeSpace,
|
|
132
|
+
autoCompactBuffer,
|
|
133
|
+
totalUsed,
|
|
134
|
+
usagePercent,
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Generate visual context display with grid and breakdown.
|
|
139
|
+
* Uses Unicode symbols: ⛁ (filled), ⛀ (half), ⛶ (empty), ⛝ (buffer)
|
|
140
|
+
*/
|
|
141
|
+
export function generateContextDisplay(breakdown) {
|
|
142
|
+
const { model, contextLimit, messagesTokens, systemPromptTokens, freeSpace, autoCompactBuffer, totalUsed, usagePercent } = breakdown;
|
|
143
|
+
// Grid dimensions
|
|
144
|
+
const GRID_WIDTH = 10;
|
|
145
|
+
const GRID_HEIGHT = 10;
|
|
146
|
+
const TOTAL_CELLS = GRID_WIDTH * GRID_HEIGHT;
|
|
147
|
+
// Calculate cells for each category
|
|
148
|
+
const messagesPercent = messagesTokens / contextLimit;
|
|
149
|
+
const systemPercent = systemPromptTokens / contextLimit;
|
|
150
|
+
const freePercent = freeSpace / contextLimit;
|
|
151
|
+
const bufferPercent = autoCompactBuffer / contextLimit;
|
|
152
|
+
const messagesCells = Math.round(messagesPercent * TOTAL_CELLS);
|
|
153
|
+
const systemCells = Math.round(systemPercent * TOTAL_CELLS);
|
|
154
|
+
const freeCells = Math.round(freePercent * TOTAL_CELLS);
|
|
155
|
+
const bufferCells = TOTAL_CELLS - messagesCells - systemCells - freeCells;
|
|
156
|
+
// Build grid
|
|
157
|
+
const grid = [];
|
|
158
|
+
let cellIndex = 0;
|
|
159
|
+
for (let row = 0; row < GRID_HEIGHT; row++) {
|
|
160
|
+
const rowCells = [];
|
|
161
|
+
for (let col = 0; col < GRID_WIDTH; col++) {
|
|
162
|
+
if (cellIndex < messagesCells) {
|
|
163
|
+
rowCells.push('⛁'); // Messages (filled)
|
|
164
|
+
}
|
|
165
|
+
else if (cellIndex < messagesCells + systemCells) {
|
|
166
|
+
rowCells.push('⛀'); // System prompt (half-filled)
|
|
167
|
+
}
|
|
168
|
+
else if (cellIndex < messagesCells + systemCells + freeCells) {
|
|
169
|
+
rowCells.push('⛶'); // Free space (empty)
|
|
170
|
+
}
|
|
171
|
+
else {
|
|
172
|
+
rowCells.push('⛝'); // Auto-compact buffer (crossed)
|
|
173
|
+
}
|
|
174
|
+
cellIndex++;
|
|
175
|
+
}
|
|
176
|
+
grid.push(rowCells);
|
|
177
|
+
}
|
|
178
|
+
// Build output lines
|
|
179
|
+
const lines = [];
|
|
180
|
+
lines.push(' Context Usage');
|
|
181
|
+
lines.push(` ${grid[0].join(' ')} ${model} · ${formatTokenCount(totalUsed)}/${formatTokenCount(contextLimit)} tokens (${usagePercent}%)`);
|
|
182
|
+
lines.push(` ${grid[1].join(' ')}`);
|
|
183
|
+
lines.push(` ${grid[2].join(' ')} Estimated usage by category`);
|
|
184
|
+
lines.push(` ${grid[3].join(' ')} ⛁ Messages: ${formatTokenCount(messagesTokens)} tokens (${(messagesPercent * 100).toFixed(1)}%)`);
|
|
185
|
+
if (systemPromptTokens > 0) {
|
|
186
|
+
lines.push(` ${grid[4].join(' ')} ⛀ System prompt: ${formatTokenCount(systemPromptTokens)} tokens (${(systemPercent * 100).toFixed(1)}%)`);
|
|
187
|
+
}
|
|
188
|
+
else {
|
|
189
|
+
lines.push(` ${grid[4].join(' ')}`);
|
|
190
|
+
}
|
|
191
|
+
lines.push(` ${grid[5].join(' ')} ⛶ Free space: ${formatTokenCount(freeSpace)} (${(freePercent * 100).toFixed(1)}%)`);
|
|
192
|
+
lines.push(` ${grid[6].join(' ')} ⛝ Auto-compact buffer: ${formatTokenCount(autoCompactBuffer)} tokens (${(bufferPercent * 100).toFixed(1)}%)`);
|
|
193
|
+
lines.push(` ${grid[7].join(' ')}`);
|
|
194
|
+
lines.push(` ${grid[8].join(' ')}`);
|
|
195
|
+
lines.push(` ${grid[9].join(' ')}`);
|
|
196
|
+
return lines.join('\n');
|
|
197
|
+
}
|
|
198
|
+
//# sourceMappingURL=tokens.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokens.js","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":"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"}
|
package/dist/tools.d.ts
CHANGED
|
@@ -157,6 +157,36 @@ export declare const TOOLS_ANTHROPIC: ({
|
|
|
157
157
|
};
|
|
158
158
|
required?: undefined;
|
|
159
159
|
};
|
|
160
|
+
} | {
|
|
161
|
+
name: string;
|
|
162
|
+
description: string;
|
|
163
|
+
input_schema: {
|
|
164
|
+
type: string;
|
|
165
|
+
properties: {
|
|
166
|
+
pattern: {
|
|
167
|
+
type: string;
|
|
168
|
+
description: string;
|
|
169
|
+
};
|
|
170
|
+
path: {
|
|
171
|
+
type: string;
|
|
172
|
+
description: string;
|
|
173
|
+
};
|
|
174
|
+
case_insensitive: {
|
|
175
|
+
type: string;
|
|
176
|
+
description: string;
|
|
177
|
+
};
|
|
178
|
+
context_lines: {
|
|
179
|
+
type: string;
|
|
180
|
+
description: string;
|
|
181
|
+
};
|
|
182
|
+
command?: undefined;
|
|
183
|
+
tail?: undefined;
|
|
184
|
+
show_all?: undefined;
|
|
185
|
+
query?: undefined;
|
|
186
|
+
container?: undefined;
|
|
187
|
+
};
|
|
188
|
+
required: string[];
|
|
189
|
+
};
|
|
160
190
|
})[];
|
|
161
191
|
export declare const TOOLS_OPENAI: {
|
|
162
192
|
type: "function";
|
|
@@ -294,6 +324,32 @@ export declare const TOOLS_OPENAI: {
|
|
|
294
324
|
context_lines?: undefined;
|
|
295
325
|
};
|
|
296
326
|
required?: undefined;
|
|
327
|
+
} | {
|
|
328
|
+
type: string;
|
|
329
|
+
properties: {
|
|
330
|
+
pattern: {
|
|
331
|
+
type: string;
|
|
332
|
+
description: string;
|
|
333
|
+
};
|
|
334
|
+
path: {
|
|
335
|
+
type: string;
|
|
336
|
+
description: string;
|
|
337
|
+
};
|
|
338
|
+
case_insensitive: {
|
|
339
|
+
type: string;
|
|
340
|
+
description: string;
|
|
341
|
+
};
|
|
342
|
+
context_lines: {
|
|
343
|
+
type: string;
|
|
344
|
+
description: string;
|
|
345
|
+
};
|
|
346
|
+
command?: undefined;
|
|
347
|
+
tail?: undefined;
|
|
348
|
+
show_all?: undefined;
|
|
349
|
+
query?: undefined;
|
|
350
|
+
container?: undefined;
|
|
351
|
+
};
|
|
352
|
+
required: string[];
|
|
297
353
|
};
|
|
298
354
|
};
|
|
299
355
|
}[];
|
|
@@ -321,6 +377,10 @@ export declare function queryDatabase(query: string): string;
|
|
|
321
377
|
* Search container logs for a pattern.
|
|
322
378
|
*/
|
|
323
379
|
export declare function searchLogs(container: string, pattern: string, caseInsensitive?: boolean, contextLines?: number): string;
|
|
380
|
+
/**
|
|
381
|
+
* Search for a pattern in a file or directory using grep.
|
|
382
|
+
*/
|
|
383
|
+
export declare function grepFile(pattern: string, filePath: string, caseInsensitive?: boolean, contextLines?: number): string;
|
|
324
384
|
/**
|
|
325
385
|
* Check health of Orca containers.
|
|
326
386
|
*/
|
package/dist/tools.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,eAAe
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA8G3B,CAAC;AAGF,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAOtB,CAAC;AAUJ;;GAEG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,SAAQ,GAAG,MAAM,CA0CnE;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAyBhE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAQrD;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,OAAO,UAAQ,GAAG,MAAM,CAmClD;AAkCD;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAgDnD;AAED;;GAEG;AACH,wBAAgB,UAAU,CACxB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,eAAe,UAAO,EACtB,YAAY,SAAI,GACf,MAAM,CAMR;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,eAAe,UAAO,EAAE,YAAY,SAAI,GAAG,MAAM,CAS5G;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,SAAQ,GAAG,MAAM,CAkC9D;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CA4BvF"}
|
package/dist/tools.js
CHANGED
|
@@ -94,6 +94,27 @@ Do not read .env directly - use inspect_env instead.`,
|
|
|
94
94
|
},
|
|
95
95
|
},
|
|
96
96
|
},
|
|
97
|
+
{
|
|
98
|
+
name: 'grep_file',
|
|
99
|
+
description: `Search for a pattern in a file or directory using grep.
|
|
100
|
+
Use for searching through:
|
|
101
|
+
- Log files for errors or patterns
|
|
102
|
+
- Config files for specific settings
|
|
103
|
+
- Documentation like TROUBLESHOOTING.md for known issues
|
|
104
|
+
- Any text file
|
|
105
|
+
|
|
106
|
+
Returns matching lines with line numbers and optional context.`,
|
|
107
|
+
input_schema: {
|
|
108
|
+
type: 'object',
|
|
109
|
+
properties: {
|
|
110
|
+
pattern: { type: 'string', description: 'Regex pattern to search for' },
|
|
111
|
+
path: { type: 'string', description: 'File or directory path to search' },
|
|
112
|
+
case_insensitive: { type: 'boolean', description: 'Case insensitive search (default: true)' },
|
|
113
|
+
context_lines: { type: 'integer', description: 'Lines of context before and after each match' },
|
|
114
|
+
},
|
|
115
|
+
required: ['pattern', 'path'],
|
|
116
|
+
},
|
|
117
|
+
},
|
|
97
118
|
];
|
|
98
119
|
// Convert to OpenAI format
|
|
99
120
|
export const TOOLS_OPENAI = TOOLS_ANTHROPIC.map((tool) => ({
|
|
@@ -307,6 +328,18 @@ export function searchLogs(container, pattern, caseInsensitive = true, contextLi
|
|
|
307
328
|
}
|
|
308
329
|
return runCommand(`docker logs ${container} 2>&1 | grep ${grepFlags} "${pattern}" | tail -100`);
|
|
309
330
|
}
|
|
331
|
+
/**
|
|
332
|
+
* Search for a pattern in a file or directory using grep.
|
|
333
|
+
*/
|
|
334
|
+
export function grepFile(pattern, filePath, caseInsensitive = true, contextLines = 0) {
|
|
335
|
+
const resolved = resolvePath(filePath);
|
|
336
|
+
const flags = [
|
|
337
|
+
'-n', // line numbers
|
|
338
|
+
caseInsensitive ? '-i' : '',
|
|
339
|
+
contextLines > 0 ? `-C ${contextLines}` : '',
|
|
340
|
+
].filter(Boolean).join(' ');
|
|
341
|
+
return runCommand(`grep ${flags} -E "${pattern}" "${resolved}"`);
|
|
342
|
+
}
|
|
310
343
|
/**
|
|
311
344
|
* Check health of Orca containers.
|
|
312
345
|
*/
|
|
@@ -349,6 +382,7 @@ export function handleToolCall(name, inputData) {
|
|
|
349
382
|
query_database: () => queryDatabase(inputData.query),
|
|
350
383
|
search_logs: () => searchLogs(inputData.container, inputData.pattern, inputData.case_insensitive ?? true, inputData.context_lines ?? 2),
|
|
351
384
|
check_container_health: () => checkContainerHealth(inputData.container || 'all'),
|
|
385
|
+
grep_file: () => grepFile(inputData.pattern, inputData.path, inputData.case_insensitive ?? true, inputData.context_lines ?? 0),
|
|
352
386
|
};
|
|
353
387
|
const handler = handlers[name];
|
|
354
388
|
if (handler) {
|
package/dist/tools.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAExD,wCAAwC;AACxC,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B;QACE,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE;;;;;;;oFAOmE;QAChF,YAAY,EAAE;YACZ,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,8BAA8B,EAAE;aACzE;YACD,QAAQ,EAAE,CAAC,SAAS,CAAC;SACtB;KACF;IACD;QACE,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE;;qDAEoC;QACjD,YAAY,EAAE;YACZ,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kBAAkB,EAAE;gBACzD,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,8BAA8B,EAAE;aACvE;YACD,QAAQ,EAAE,CAAC,MAAM,CAAC;SACnB;KACF;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE,4CAA4C;QACzD,YAAY,EAAE;YACZ,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,gBAAgB,EAAE;aACxD;YACD,QAAQ,EAAE,CAAC,MAAM,CAAC;SACnB;KACF;IACD;QACE,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,0DAA0D;QACvE,YAAY,EAAE;YACZ,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,6CAA6C,EAAE;aAC1F;SACF;KACF;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE,iFAAiF;QAC9F,YAAY,EAAE;YACZ,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,6BAA6B,EAAE;aACtE;YACD,QAAQ,EAAE,CAAC,OAAO,CAAC;SACpB;KACF;IACD;QACE,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,2CAA2C;QACxD,YAAY,EAAE;YACZ,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,gBAAgB,EAAE;gBAC5D,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4BAA4B,EAAE;gBACtE,gBAAgB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,yBAAyB,EAAE;gBAC7E,aAAa,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,kCAAkC,EAAE;aACpF;YACD,QAAQ,EAAE,CAAC,WAAW,EAAE,SAAS,CAAC;SACnC;KACF;IACD;QACE,IAAI,EAAE,wBAAwB;QAC9B,WAAW,EAAE,wDAAwD;QACrE,YAAY,EAAE;YACZ,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,yBAAyB,EAAE;aACtE;SACF;KACF;IACD;QACE,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE;;;;;;;+DAO8C;QAC3D,YAAY,EAAE;YACZ,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,6BAA6B,EAAE;gBACvE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kCAAkC,EAAE;gBACzE,gBAAgB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,yCAAyC,EAAE;gBAC7F,aAAa,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,8CAA8C,EAAE;aAChG;YACD,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;SAC9B;KACF;CACF,CAAC;AAEF,2BAA2B;AAC3B,MAAM,CAAC,MAAM,YAAY,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACzD,IAAI,EAAE,UAAmB;IACzB,QAAQ,EAAE;QACR,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,UAAU,EAAE,IAAI,CAAC,YAAY;KAC9B;CACF,CAAC,CAAC,CAAC;AAEJ;;GAEG;AACH,SAAS,WAAW,CAAC,QAAgB;IACnC,MAAM,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,QAAQ,CAAC,CAAC;IACzF,OAAO,CAAC,CAAC;AACX,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,OAAe,EAAE,OAAO,GAAG,KAAK;IACzD,MAAM,SAAS,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,gBAAgB,CAAC,CAAC;IACnG,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;QAC1B,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;YACtC,OAAO,4DAA4D,CAAC,GAAG,CAAC;QAC1E,CAAC;IACH,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,EAAE;YAC/B,OAAO;YACP,QAAQ,EAAE,OAAO;YACjB,GAAG,EAAE,gBAAgB,EAAE;YACvB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;SAChC,CAAC,CAAC;QAEH,IAAI,MAAM,GAAG,MAAM,CAAC;QACpB,IAAI,MAAM,CAAC,MAAM,GAAG,KAAK,EAAE,CAAC;YAC1B,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,mBAAmB,CAAC;QACxD,CAAC;QACD,OAAO,aAAa,CAAC,MAAM,CAAC,IAAI,aAAa,CAAC;IAChD,CAAC;IAAC,OAAO,CAAU,EAAE,CAAC;QACpB,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,QAAQ,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;YAC5D,OAAO,kCAAkC,OAAO,GAAG,IAAI,UAAU,CAAC;QACpE,CAAC;QACD,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,QAAQ,IAAI,CAAC,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;YACjE,MAAM,SAAS,GAAG,CAA2D,CAAC;YAC9E,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM;gBAC7B,CAAC,CAAC,OAAO,SAAS,CAAC,MAAM,KAAK,QAAQ;oBACpC,CAAC,CAAC,SAAS,CAAC,MAAM;oBAClB,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE;gBAC/B,CAAC,CAAC,EAAE,CAAC;YACP,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM;gBAC7B,CAAC,CAAC,OAAO,SAAS,CAAC,MAAM,KAAK,QAAQ;oBACpC,CAAC,CAAC,SAAS,CAAC,MAAM;oBAClB,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE;gBAC/B,CAAC,CAAC,EAAE,CAAC;YACP,MAAM,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;YAC/B,OAAO,aAAa,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QACzF,CAAC;QACD,OAAO,UAAU,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAChE,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,QAAgB,EAAE,IAAa;IACtD,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;IAEvC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QAC1E,OAAO,mEAAmE,CAAC;IAC7E,CAAC;IAED,IAAI,CAAC;QACH,IAAI,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAEjD,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAClC,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1C,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC;YAC5B,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,mBAAmB,CAAC;QAC3D,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACrE,OAAO,0BAA0B,QAAQ,EAAE,CAAC;QAC9C,CAAC;QACD,OAAO,UAAU,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAChE,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,OAAe;IAC3C,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IACtC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QACzE,OAAO,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IACvC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,UAAU,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAChE,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,OAAO,GAAG,KAAK;IACxC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,MAAM,CAAC,CAAC;IAEtD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,OAAO,yBAAyB,OAAO,EAAE,CAAC;IAC5C,CAAC;IAED,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAElD,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACvC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACxC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACrB,SAAS;QACX,CAAC;QAED,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,CAAC,GAAG,EAAE,GAAG,UAAU,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAChD,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;YAC1C,MAAM,UAAU,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;YAE9B,IAAI,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC5B,IAAI,KAAK,EAAE,CAAC;oBACV,MAAM,CAAC,IAAI,CAAC,GAAG,UAAU,gBAAgB,KAAK,CAAC,MAAM,SAAS,CAAC,CAAC;gBAClE,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,IAAI,CAAC,GAAG,UAAU,YAAY,CAAC,CAAC;gBACzC,CAAC;YACH,CAAC;iBAAM,IAAI,OAAO,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC/C,MAAM,CAAC,IAAI,CAAC,GAAG,UAAU,IAAI,KAAK,EAAE,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3B,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB;IACvB,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAC;IACzC,MAAM,UAAU,GAAG;QACjB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,MAAM,EAAE,SAAS,CAAC;QAC3C,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,cAAc,EAAE,SAAS,CAAC;KACpD,CAAC;IAEF,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,QAAQ,CACrB,+DAA+D,EAC/D,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CACtE,CAAC,IAAI,EAAE,CAAC;QAET,IAAI,MAAM,EAAE,CAAC;YACX,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,gBAAgB;IAClB,CAAC;IAED,KAAK,MAAM,MAAM,IAAI,UAAU,EAAE,CAAC;QAChC,IAAI,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1B,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,KAAa;IACzC,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAE9C,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACrC,OAAO,yCAAyC,CAAC;IACnD,CAAC;IAED,MAAM,SAAS,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IACxF,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;QAC1B,IAAI,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3B,OAAO,0CAA0C,CAAC,EAAE,CAAC;QACvD,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;IAElC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,iBAAiB;QACjB,OAAO,UAAU,CAAC,+DAA+D,KAAK,GAAG,CAAC,CAAC;IAC7F,CAAC;IAED,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,IAAI,QAAQ,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QAEpD,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAA+B,CAAC;QAErD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,cAAc,CAAC;QACxB,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACrC,MAAM,MAAM,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QAEpD,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;YACrC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACjE,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;YACtB,MAAM,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,MAAM,GAAG,GAAG,aAAa,CAAC,CAAC;QACtD,CAAC;QAED,EAAE,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,UAAU,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAChE,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CACxB,SAAiB,EACjB,OAAe,EACf,eAAe,GAAG,IAAI,EACtB,YAAY,GAAG,CAAC;IAEhB,IAAI,SAAS,GAAG,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5C,IAAI,YAAY,EAAE,CAAC;QACjB,SAAS,IAAI,OAAO,YAAY,EAAE,CAAC;IACrC,CAAC;IACD,OAAO,UAAU,CAAC,eAAe,SAAS,gBAAgB,SAAS,KAAK,OAAO,eAAe,CAAC,CAAC;AAClG,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,OAAe,EAAE,QAAgB,EAAE,eAAe,GAAG,IAAI,EAAE,YAAY,GAAG,CAAC;IAClG,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;IACvC,MAAM,KAAK,GAAG;QACZ,IAAI,EAAG,eAAe;QACtB,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;QAC3B,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE;KAC7C,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAE5B,OAAO,UAAU,CAAC,QAAQ,KAAK,QAAQ,OAAO,MAAM,QAAQ,GAAG,CAAC,CAAC;AACnE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,SAAS,GAAG,KAAK;IACpD,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,UAAoB,CAAC;IAEzB,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;QACxB,UAAU,GAAG,CAAC,cAAc,EAAE,eAAe,EAAE,YAAY,CAAC,CAAC;QAC7D,MAAM,QAAQ,GAAG,UAAU,CAAC,0DAA0D,CAAC,CAAC;QACxF,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/C,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;IACH,CAAC;SAAM,CAAC;QACN,UAAU,GAAG,CAAC,SAAS,CAAC,CAAC;IAC3B,CAAC;IAED,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QAC3B,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,gBAAgB,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACvE,MAAM,CAAC,IAAI,CACT,UAAU,CACR,kBAAkB,CAAC,oEAAoE,CACxF,CACF,CAAC;QACF,MAAM,KAAK,GAAG,UAAU,CACtB,gBAAgB,CAAC,+DAA+D,CACjF,CAAC;QACF,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;QAC9C,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,IAAY,EAAE,SAAkC;IAC7E,MAAM,QAAQ,GAAiC;QAC7C,WAAW,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,OAAiB,CAAC;QAC1D,SAAS,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAc,EAAE,SAAS,CAAC,IAA0B,CAAC;QACzF,cAAc,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC,IAAc,CAAC;QAC7D,WAAW,EAAE,GAAG,EAAE,CAAC,UAAU,CAAE,SAAS,CAAC,QAAoB,IAAI,KAAK,CAAC;QACvE,cAAc,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC,KAAe,CAAC;QAC9D,WAAW,EAAE,GAAG,EAAE,CAChB,UAAU,CACR,SAAS,CAAC,SAAmB,EAC7B,SAAS,CAAC,OAAiB,EAC1B,SAAS,CAAC,gBAA4B,IAAI,IAAI,EAC9C,SAAS,CAAC,aAAwB,IAAI,CAAC,CACzC;QACH,sBAAsB,EAAE,GAAG,EAAE,CAAC,oBAAoB,CAAE,SAAS,CAAC,SAAoB,IAAI,KAAK,CAAC;QAC5F,SAAS,EAAE,GAAG,EAAE,CAAC,QAAQ,CACvB,SAAS,CAAC,OAAiB,EAC3B,SAAS,CAAC,IAAc,EACvB,SAAS,CAAC,gBAA4B,IAAI,IAAI,EAC9C,SAAS,CAAC,aAAwB,IAAI,CAAC,CACzC;KACF,CAAC;IAEF,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,OAAO,EAAE,CAAC;IACnB,CAAC;IACD,OAAO,iBAAiB,IAAI,EAAE,CAAC;AACjC,CAAC"}
|