qafai 0.5.2 → 0.6.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/agent.d.ts +21 -1
- package/dist/agent.js +62 -10
- package/dist/agent.js.map +1 -1
- package/dist/client.js +1 -1
- package/dist/context.d.ts +44 -0
- package/dist/context.js +435 -0
- package/dist/context.js.map +1 -0
- package/dist/index.js +177 -11
- package/dist/index.js.map +1 -1
- package/dist/session.d.ts +45 -0
- package/dist/session.js +159 -0
- package/dist/session.js.map +1 -0
- package/dist/tools/codeSearch.d.ts +7 -0
- package/dist/tools/codeSearch.js +156 -0
- package/dist/tools/codeSearch.js.map +1 -0
- package/dist/tools/index.d.ts +3 -0
- package/dist/tools/index.js +3 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/taskMemory.d.ts +8 -0
- package/dist/tools/taskMemory.js +57 -0
- package/dist/tools/taskMemory.js.map +1 -0
- package/dist/tools/testRunner.d.ts +8 -0
- package/dist/tools/testRunner.js +271 -0
- package/dist/tools/testRunner.js.map +1 -0
- package/dist/ui.d.ts +15 -1
- package/dist/ui.js +101 -1
- package/dist/ui.js.map +1 -1
- package/package.json +1 -1
package/dist/agent.d.ts
CHANGED
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Client-side agent loop for QafAI CLI.
|
|
3
3
|
* Mirrors backend/agent_v2.py: ReAct thinking, parallel tool execution,
|
|
4
|
-
* cancellation, context compression.
|
|
4
|
+
* cancellation, context compression, sessions, project memory.
|
|
5
5
|
* All tool execution happens locally on the user's machine.
|
|
6
6
|
*
|
|
7
7
|
* v0.2.0: Autonomous mode, safety classification, project context, change tracking.
|
|
8
8
|
* v0.5.0: ReAct thinking, parallel tools, cancellation, enhanced system prompt.
|
|
9
|
+
* v0.6.0: Deep project context, session auto-save, project memory injection.
|
|
9
10
|
*/
|
|
10
11
|
import { QafClient } from './client.js';
|
|
12
|
+
import { type Session } from './session.js';
|
|
11
13
|
export interface ChangeRecord {
|
|
12
14
|
filesCreated: string[];
|
|
13
15
|
filesModified: string[];
|
|
@@ -27,7 +29,25 @@ export declare class AgentLoop {
|
|
|
27
29
|
private parallelTools;
|
|
28
30
|
private abortController;
|
|
29
31
|
private cancelled;
|
|
32
|
+
private session;
|
|
33
|
+
private autoSaveInterval;
|
|
30
34
|
constructor(client: QafClient, model?: string, temperature?: number, contextLimit?: number);
|
|
35
|
+
/**
|
|
36
|
+
* Attach a session for auto-save. Messages will sync to session.
|
|
37
|
+
*/
|
|
38
|
+
attachSession(session: Session): void;
|
|
39
|
+
/**
|
|
40
|
+
* Get the attached session (if any).
|
|
41
|
+
*/
|
|
42
|
+
getSession(): Session | null;
|
|
43
|
+
/**
|
|
44
|
+
* Load messages from a saved session (for resume).
|
|
45
|
+
*/
|
|
46
|
+
loadFromSession(session: Session): void;
|
|
47
|
+
/**
|
|
48
|
+
* Sync current conversation to session and save.
|
|
49
|
+
*/
|
|
50
|
+
private syncToSession;
|
|
31
51
|
setModel(model: string): void;
|
|
32
52
|
clearHistory(): void;
|
|
33
53
|
addAssistantMessage(content: string): void;
|
package/dist/agent.js
CHANGED
|
@@ -1,17 +1,19 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Client-side agent loop for QafAI CLI.
|
|
3
3
|
* Mirrors backend/agent_v2.py: ReAct thinking, parallel tool execution,
|
|
4
|
-
* cancellation, context compression.
|
|
4
|
+
* cancellation, context compression, sessions, project memory.
|
|
5
5
|
* All tool execution happens locally on the user's machine.
|
|
6
6
|
*
|
|
7
7
|
* v0.2.0: Autonomous mode, safety classification, project context, change tracking.
|
|
8
8
|
* v0.5.0: ReAct thinking, parallel tools, cancellation, enhanced system prompt.
|
|
9
|
+
* v0.6.0: Deep project context, session auto-save, project memory injection.
|
|
9
10
|
*/
|
|
10
11
|
import { readFileSync, existsSync } from 'node:fs';
|
|
11
12
|
import { resolve } from 'node:path';
|
|
12
13
|
import { loadConfig } from './config.js';
|
|
13
14
|
import { executeTool, getToolsPrompt, toolRequiresConfirmation, getToolSafetyLevel } from './tools/index.js';
|
|
14
|
-
import {
|
|
15
|
+
import { analyzeProject, buildRichContext } from './context.js';
|
|
16
|
+
import { memoryGetAll, saveSession } from './session.js';
|
|
15
17
|
import * as ui from './ui.js';
|
|
16
18
|
// Same regex as backend/agent.py
|
|
17
19
|
const TOOL_CALL_PATTERN = /<tool_call>\s*([\s\S]*?)\s*<\/tool_call>/g;
|
|
@@ -83,17 +85,21 @@ function hasFileConflicts(calls) {
|
|
|
83
85
|
function buildSystemPrompt() {
|
|
84
86
|
const config = loadConfig();
|
|
85
87
|
let projectSection = '';
|
|
88
|
+
let memorySection = '';
|
|
86
89
|
if (config.project_awareness) {
|
|
87
|
-
const
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
90
|
+
const analysis = analyzeProject();
|
|
91
|
+
projectSection = '\n' + buildRichContext(analysis) + '\n';
|
|
92
|
+
}
|
|
93
|
+
// Inject project memory if available
|
|
94
|
+
const memoryNotes = memoryGetAll();
|
|
95
|
+
if (memoryNotes) {
|
|
96
|
+
memorySection = '\n## Project Memory (from previous sessions)\n\n' + memoryNotes + '\n';
|
|
91
97
|
}
|
|
92
98
|
return `You are QafAI Agent, an AI coding assistant running on the user's local machine.
|
|
93
|
-
You can read, write, and edit files, search
|
|
99
|
+
You can read, write, and edit files, search code with regex, run shell commands, manage git, run tests, search the web, make HTTP requests, analyze text, and save project notes.
|
|
94
100
|
|
|
95
101
|
Working directory: ${process.cwd()}
|
|
96
|
-
${projectSection}
|
|
102
|
+
${projectSection}${memorySection}
|
|
97
103
|
## Approach (ReAct Pattern)
|
|
98
104
|
|
|
99
105
|
Before taking any action, THINK about what you need to do:
|
|
@@ -114,12 +120,15 @@ ${getToolsPrompt()}
|
|
|
114
120
|
3. You can use multiple tools in one response — they run in parallel
|
|
115
121
|
4. Wait for tool results before giving your final answer
|
|
116
122
|
5. After getting tool results, provide a helpful summary — don't repeat raw tool output
|
|
117
|
-
6. If a tool fails, try another approach immediately (e.g. file_read fails → use file_search to find
|
|
123
|
+
6. If a tool fails, try another approach immediately (e.g. file_read fails → use file_search or code_search to find it)
|
|
118
124
|
7. For file edits, provide enough context in old_string to ensure uniqueness
|
|
119
125
|
8. Always use absolute paths or paths relative to the working directory
|
|
120
126
|
9. Prefer reading files before editing them to understand context
|
|
121
127
|
10. When searching for files, use bare names like "package.json" — file_search auto-recurses into subdirectories
|
|
122
|
-
11. The project may have multiple subdirectories (e.g. cli/, backend/, frontend/). Search before assuming a file's location
|
|
128
|
+
11. The project may have multiple subdirectories (e.g. cli/, backend/, frontend/). Search before assuming a file's location
|
|
129
|
+
12. Use code_search for finding function definitions, imports, variable usages, and patterns across the codebase — it's faster than reading multiple files
|
|
130
|
+
13. Use test_runner to run tests after making code changes — auto-detects the project's test framework
|
|
131
|
+
14. Use task_memory to save important notes about this project (patterns, conventions, decisions) that should persist across sessions`;
|
|
123
132
|
}
|
|
124
133
|
export class AgentLoop {
|
|
125
134
|
client;
|
|
@@ -134,6 +143,8 @@ export class AgentLoop {
|
|
|
134
143
|
parallelTools;
|
|
135
144
|
abortController = null;
|
|
136
145
|
cancelled = false;
|
|
146
|
+
session = null;
|
|
147
|
+
autoSaveInterval = 0; // messages between auto-saves
|
|
137
148
|
constructor(client, model, temperature = 0.7, contextLimit = 131072) {
|
|
138
149
|
this.client = client;
|
|
139
150
|
this.model = model;
|
|
@@ -144,6 +155,39 @@ export class AgentLoop {
|
|
|
144
155
|
this.parallelTools = config.parallel_tools;
|
|
145
156
|
this.messages = [{ role: 'system', content: buildSystemPrompt() }];
|
|
146
157
|
}
|
|
158
|
+
/**
|
|
159
|
+
* Attach a session for auto-save. Messages will sync to session.
|
|
160
|
+
*/
|
|
161
|
+
attachSession(session) {
|
|
162
|
+
this.session = session;
|
|
163
|
+
this.autoSaveInterval = 0;
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Get the attached session (if any).
|
|
167
|
+
*/
|
|
168
|
+
getSession() {
|
|
169
|
+
return this.session;
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Load messages from a saved session (for resume).
|
|
173
|
+
*/
|
|
174
|
+
loadFromSession(session) {
|
|
175
|
+
this.session = session;
|
|
176
|
+
// Rebuild: system prompt + session messages (excluding system)
|
|
177
|
+
const system = this.messages[0];
|
|
178
|
+
const sessionMsgs = session.messages.filter(m => m.role !== 'system');
|
|
179
|
+
this.messages = [system, ...sessionMsgs];
|
|
180
|
+
this.autoSaveInterval = 0;
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* Sync current conversation to session and save.
|
|
184
|
+
*/
|
|
185
|
+
syncToSession() {
|
|
186
|
+
if (!this.session)
|
|
187
|
+
return;
|
|
188
|
+
this.session.messages = this.messages.filter(m => m.role !== 'system');
|
|
189
|
+
saveSession(this.session);
|
|
190
|
+
}
|
|
147
191
|
setModel(model) {
|
|
148
192
|
this.model = model;
|
|
149
193
|
}
|
|
@@ -390,6 +434,12 @@ export class AgentLoop {
|
|
|
390
434
|
}
|
|
391
435
|
if (this.totalToolCalls >= limits.maxToolCalls)
|
|
392
436
|
break;
|
|
437
|
+
// Auto-save to session every 2 message exchanges
|
|
438
|
+
this.autoSaveInterval++;
|
|
439
|
+
if (this.autoSaveInterval >= 2) {
|
|
440
|
+
this.syncToSession();
|
|
441
|
+
this.autoSaveInterval = 0;
|
|
442
|
+
}
|
|
393
443
|
}
|
|
394
444
|
const duration = (Date.now() - startTime) / 1000;
|
|
395
445
|
if (this.totalToolCalls > 0) {
|
|
@@ -400,6 +450,8 @@ export class AgentLoop {
|
|
|
400
450
|
if (autonomous && hasChanges(changes)) {
|
|
401
451
|
ui.showChangeSummary(changes);
|
|
402
452
|
}
|
|
453
|
+
// Final sync to session
|
|
454
|
+
this.syncToSession();
|
|
403
455
|
this.abortController = null;
|
|
404
456
|
}
|
|
405
457
|
/**
|
package/dist/agent.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC7G,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,YAAY,EAAgB,WAAW,EAAE,MAAM,cAAc,CAAC;AACvE,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAE9B,iCAAiC;AACjC,MAAM,iBAAiB,GAAG,2CAA2C,CAAC;AACtE,MAAM,aAAa,GAAG,6BAA6B,CAAC;AAEpD,6BAA6B;AAC7B,MAAM,aAAa,GAAG;IACpB,aAAa,EAAE,EAAE;IACjB,YAAY,EAAE,EAAE;IAChB,OAAO,EAAE,GAAG;CACJ,CAAC;AAEX,iCAAiC;AACjC,MAAM,WAAW,GAAG;IAClB,aAAa,EAAE,EAAE;IACjB,YAAY,EAAE,EAAE;IAChB,OAAO,EAAE,GAAG;CACJ,CAAC;AAEX,kDAAkD;AAClD,MAAM,qBAAqB,GAAG,EAAE,CAAC;AACjC,wCAAwC;AACxC,MAAM,qBAAqB,GAAG,MAAM,CAAC;AACrC,2DAA2D;AAC3D,MAAM,wBAAwB,GAAG,CAAC,CAAC;AAenC,SAAS,cAAc,CAAC,IAAY;IAClC,MAAM,KAAK,GAAe,EAAE,CAAC;IAC7B,iBAAiB,CAAC,SAAS,GAAG,CAAC,CAAC;IAChC,IAAI,KAAK,CAAC;IACV,OAAO,CAAC,KAAK,GAAG,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACvD,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAE,CAA2D,CAAC;YAC7F,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACd,KAAK,CAAC,IAAI,CAAC;oBACT,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,EAAE;oBAC/B,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;iBACd,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAY;IACtC,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,aAAa,CAAC,SAAS,GAAG,CAAC,CAAC;IAC5B,IAAI,KAAK,CAAC;IACV,OAAO,CAAC,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACnD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAC,CAAC;IAClC,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACvD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;AAC/B,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CAAC,KAAiB;IACzC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IACpC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,YAAY,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACjE,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;YAC5C,IAAI,CAAC,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;gBAAE,OAAO,IAAI,CAAC;YACvC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,iBAAiB;IACxB,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,IAAI,cAAc,GAAG,EAAE,CAAC;IACxB,IAAI,aAAa,GAAG,EAAE,CAAC;IAEvB,IAAI,MAAM,CAAC,iBAAiB,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,cAAc,EAAE,CAAC;QAClC,cAAc,GAAG,IAAI,GAAG,gBAAgB,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;IAC5D,CAAC;IAED,qCAAqC;IACrC,MAAM,WAAW,GAAG,YAAY,EAAE,CAAC;IACnC,IAAI,WAAW,EAAE,CAAC;QAChB,aAAa,GAAG,kDAAkD,GAAG,WAAW,GAAG,IAAI,CAAC;IAC1F,CAAC;IAED,OAAO;;;qBAGY,OAAO,CAAC,GAAG,EAAE;EAChC,cAAc,GAAG,aAAa;;;;;;;;;;;;;EAa9B,cAAc,EAAE;;;;;;;;;;;;;;;;sIAgBoH,CAAC;AACvI,CAAC;AAED,MAAM,OAAO,SAAS;IACZ,MAAM,CAAY;IAClB,KAAK,CAAqB;IAC1B,WAAW,CAAS;IACpB,YAAY,CAAS;IACrB,QAAQ,CAA2C;IACnD,SAAS,GAAG,CAAC,CAAC;IACd,cAAc,GAAG,CAAC,CAAC;IACnB,SAAS,GAAa,EAAE,CAAC;IACzB,WAAW,CAAU;IACrB,aAAa,CAAU;IACvB,eAAe,GAA2B,IAAI,CAAC;IAC/C,SAAS,GAAG,KAAK,CAAC;IAClB,OAAO,GAAmB,IAAI,CAAC;IAC/B,gBAAgB,GAAG,CAAC,CAAC,CAAC,8BAA8B;IAE5D,YAAY,MAAiB,EAAE,KAAc,EAAE,WAAW,GAAG,GAAG,EAAE,YAAY,GAAG,MAAM;QACrF,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;QAC5B,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,YAAY,CAAC;QACvC,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,cAAc,CAAC;QAC3C,IAAI,CAAC,QAAQ,GAAG,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,iBAAiB,EAAE,EAAE,CAAC,CAAC;IACrE,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,OAAgB;QAC5B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,UAAU;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,OAAgB;QAC9B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,+DAA+D;QAC/D,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAE,CAAC;QACjC,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;QACtE,IAAI,CAAC,QAAQ,GAAG,CAAC,MAAM,EAAE,GAAG,WAAW,CAAC,CAAC;QACzC,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED;;OAEG;IACK,aAAa;QACnB,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAC1B,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;QACvE,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;IAED,QAAQ,CAAC,KAAa;QACpB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,YAAY;QACV,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAChC,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,iBAAiB,EAAE,EAAE,CAAC,CAAC;QACvF,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;QACnB,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;QACxB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IACzB,CAAC;IAED,mBAAmB,CAAC,OAAe;QACjC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,uBAAuB;QACrB,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACnD,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAE,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBAC3C,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAE,CAAC,OAAO,CAAC;YACnC,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,kBAAkB;QAChB,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACnD,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAE,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAE,CAAC,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;gBAC/F,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAE,CAAC,OAAO,CAAC;YACnC,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,eAAe;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;IACxD,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QAC/B,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,GAAG,CAAC,WAAmB;QAC3B,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;IAC5D,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,aAAa,CAAC,WAAmB;QACrC,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;IACzD,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,WAAW,CACvB,WAAmB,EACnB,MAAwE,EACxE,UAAmB;QAEnB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;QAC3D,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;QACnB,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;QACxB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QAEvB,MAAM,OAAO,GAAiB;YAC5B,YAAY,EAAE,EAAE;YAChB,aAAa,EAAE,EAAE;YACjB,aAAa,EAAE,EAAE;YACjB,gBAAgB,EAAE,CAAC;SACpB,CAAC;QAEF,oDAAoD;QACpD,MAAM,oBAAoB,GAAa,EAAE,CAAC;QAE1C,OAAO,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC;YAC7C,qBAAqB;YACrB,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACnB,EAAE,CAAC,aAAa,EAAE,CAAC;gBACnB,MAAM;YACR,CAAC;YAED,UAAU;YACV,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,GAAG,IAAI,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACtD,EAAE,CAAC,SAAS,CAAC,wBAAwB,CAAC,CAAC;gBACvC,MAAM;YACR,CAAC;YAED,6BAA6B;YAC7B,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAExB,IAAI,CAAC,SAAS,EAAE,CAAC;YAEjB,6CAA6C;YAC7C,IAAI,CAAC,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;YAE7C,iCAAiC;YACjC,EAAE,CAAC,aAAa,EAAE,CAAC;YACnB,IAAI,YAAY,GAAG,EAAE,CAAC;YACtB,IAAI,QAAQ,GAAG,KAAK,CAAC;YAErB,IAAI,CAAC;gBACH,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,CACnD,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,IAAI,CAAC,eAAe,CAAC,MAAM,CACpF,EAAE,CAAC;oBACF,IAAI,IAAI,CAAC,SAAS;wBAAE,MAAM;oBAC1B,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;wBAChB,YAAY,IAAI,KAAK,CAAC,KAAK,CAAC;wBAC5B,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBAC7B,CAAC;yBAAM,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;wBACvB,EAAE,CAAC,cAAc,EAAE,CAAC;wBACpB,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;wBAC1B,QAAQ,GAAG,IAAI,CAAC;wBAChB,MAAM;oBACR,CAAC;yBAAM,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;wBACtB,MAAM;oBACR,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,GAAY,EAAE,CAAC;gBACtB,EAAE,CAAC,cAAc,EAAE,CAAC;gBACpB,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,GAAG,YAAY,KAAK,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,CAAC,EAAE,CAAC;oBAC1E,EAAE,CAAC,aAAa,EAAE,CAAC;oBACnB,MAAM;gBACR,CAAC;gBACD,EAAE,CAAC,SAAS,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC/D,MAAM;YACR,CAAC;YAED,EAAE,CAAC,cAAc,EAAE,CAAC;YAEpB,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACnB,EAAE,CAAC,aAAa,EAAE,CAAC;gBACnB,MAAM;YACR,CAAC;YACD,IAAI,QAAQ;gBAAE,MAAM;YAEpB,wCAAwC;YACxC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAC;YAC/D,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC/B,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YAC3B,CAAC;YAED,qDAAqD;YACrD,MAAM,SAAS,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;YAE1C,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC3B,0BAA0B;gBAC1B,MAAM;YACR,CAAC;YAED,uEAAuE;YACvE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;YAE5D,0CAA0C;YAC1C,MAAM,aAAa,GAAe,EAAE,CAAC;YACrC,MAAM,eAAe,GAAa,EAAE,CAAC;YAErC,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;gBAC7B,IAAI,IAAI,CAAC,SAAS;oBAAE,MAAM;gBAE1B,IAAI,IAAI,CAAC,cAAc,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;oBAC/C,EAAE,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC;oBACxC,MAAM;gBACR,CAAC;gBAED,iBAAiB;gBACjB,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC7D,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC/B,MAAM,SAAS,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC;gBACrE,IAAI,SAAS,IAAI,wBAAwB,EAAE,CAAC;oBAC1C,EAAE,CAAC,SAAS,CAAC,kBAAkB,IAAI,CAAC,IAAI,WAAW,SAAS,kCAAkC,CAAC,CAAC;oBAChG,eAAe,CAAC,IAAI,CAAC,sBAAsB,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,oDAAoD,EAAE,CAAC,kBAAkB,CAAC,CAAC;oBAC9K,IAAI,CAAC,cAAc,EAAE,CAAC;oBACtB,MAAM;gBACR,CAAC;gBAED,8CAA8C;gBAC9C,IAAI,UAAU,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACxG,IAAI,OAAO,CAAC,YAAY,CAAC,MAAM,IAAI,qBAAqB,EAAE,CAAC;wBACzD,EAAE,CAAC,SAAS,CAAC,eAAe,qBAAqB,oDAAoD,CAAC,CAAC;wBACvG,eAAe,CAAC,IAAI,CAAC,sBAAsB,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,wDAAwD,EAAE,CAAC,kBAAkB,CAAC,CAAC;wBAClL,IAAI,CAAC,cAAc,EAAE,CAAC;wBACtB,SAAS;oBACX,CAAC;gBACH,CAAC;gBAED,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;gBAE3C,sCAAsC;gBACtC,MAAM,iBAAiB,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;gBAEpF,IAAI,iBAAiB,EAAE,CAAC;oBACtB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;oBACnE,IAAI,CAAC,QAAQ,EAAE,CAAC;wBACd,MAAM,MAAM,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,4BAA4B,EAAE,CAAC;wBACvE,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;wBACrC,eAAe,CAAC,IAAI,CAAC,sBAAsB,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;wBACrG,IAAI,CAAC,cAAc,EAAE,CAAC;wBACtB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBAC/B,SAAS;oBACX,CAAC;gBACH,CAAC;gBAED,8CAA8C;gBAC9C,IAAI,UAAU,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;oBAC7C,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;oBACrD,IAAI,OAAO,CAAC,MAAM,GAAG,qBAAqB,EAAE,CAAC;wBAC3C,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;wBACtE,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,uBAAuB,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;wBAChH,IAAI,CAAC,QAAQ,EAAE,CAAC;4BACd,MAAM,MAAM,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,4BAA4B,EAAE,CAAC;4BACvE,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;4BACrC,eAAe,CAAC,IAAI,CAAC,sBAAsB,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;4BACrG,IAAI,CAAC,cAAc,EAAE,CAAC;4BACtB,SAAS;wBACX,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3B,CAAC;YAED,0BAA0B;YAC1B,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;gBAChD,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa;uBACjC,aAAa,CAAC,MAAM,GAAG,CAAC;uBACxB,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;gBAEtC,IAAI,WAAW,EAAE,CAAC;oBAChB,EAAE,CAAC,iBAAiB,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;oBAErD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;wBAC/B,IAAI,CAAC,cAAc,EAAE,CAAC;wBACtB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBAC/B,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;wBACtB,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;wBAC5D,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC;oBAC/C,CAAC,CAAC,CACH,CAAC;oBAEF,KAAK,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,OAAO,EAAE,CAAC;wBAC3C,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;wBACzC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;wBAC7D,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;oBACjE,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,uBAAuB;oBACvB,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;wBACjC,IAAI,IAAI,CAAC,SAAS;4BAAE,MAAM;wBAE1B,IAAI,CAAC,cAAc,EAAE,CAAC;wBACtB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBAC/B,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;wBACtB,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;wBAC5D,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;wBACtD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;wBAC7D,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;oBACjE,CAAC;gBACH,CAAC;YACH,CAAC;YAED,oBAAoB;YACpB,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;oBACjB,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC;0BACjC,iGAAiG;iBACtG,CAAC,CAAC;YACL,CAAC;YAED,IAAI,IAAI,CAAC,cAAc,IAAI,MAAM,CAAC,YAAY;gBAAE,MAAM;YAEtD,iDAAiD;YACjD,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACxB,IAAI,IAAI,CAAC,gBAAgB,IAAI,CAAC,EAAE,CAAC;gBAC/B,IAAI,CAAC,aAAa,EAAE,CAAC;gBACrB,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;QAED,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC;QACjD,IAAI,IAAI,CAAC,cAAc,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,WAAW,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;YACjD,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;QAC/E,CAAC;QAED,0CAA0C;QAC1C,IAAI,UAAU,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACtC,EAAE,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAChC,CAAC;QAED,wBAAwB;QACxB,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;IAC9B,CAAC;IAED;;OAEG;IACK,gBAAgB,CAAC,IAAY,EAAE,MAA+B;QACpE,MAAM,KAAK,GAA4B,EAAE,CAAC;QAC1C,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5C,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC;gBAAE,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACvC,CAAC;QACD,IAAI,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,UAAU,CAAC,MAAM,GAAG,IAAI;YAAE,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC;QAC7E,OAAO,sBAAsB,IAAI,OAAO,UAAU,kBAAkB,CAAC;IACvE,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,IAAY,EAAE,IAA6B,EAAE,UAAmB;QACpF,4CAA4C;QAC5C,IAAI,IAAI,CAAC,WAAW;YAAE,OAAO,KAAK,CAAC;QAEnC,MAAM,MAAM,GAAG,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAE9C,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,mDAAmD;YACnD,OAAO,wBAAwB,CAAC,IAAI,CAAC,CAAC;QACxC,CAAC;QAED,qDAAqD;QACrD,2BAA2B;QAC3B,IAAI,MAAM,KAAK,MAAM;YAAE,OAAO,KAAK,CAAC;QACpC,4BAA4B;QAC5B,IAAI,MAAM,KAAK,OAAO;YAAE,OAAO,KAAK,CAAC;QACrC,4BAA4B;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,WAAW,CAAC,IAAY,EAAE,IAA6B,EAAE,MAA+B,EAAE,OAAqB;QACrH,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,OAAO;QAE5B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QACrC,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,YAAY;gBACf,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;oBAChC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAClC,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACnC,CAAC;gBACD,MAAM;YACR,KAAK,WAAW;gBACd,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC1C,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACnC,CAAC;gBACD,MAAM;YACR,KAAK,YAAY;gBACf,OAAO,CAAC,gBAAgB,EAAE,CAAC;gBAC3B,MAAM;YACR,KAAK,YAAY,CAAC,CAAC,CAAC;gBAClB,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;gBACvC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;gBAC3C,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,IAAI,OAAO,MAAM,EAAE,CAAC,CAAC;gBAC1D,MAAM;YACR,CAAC;YACD,KAAK,YAAY,CAAC,CAAC,CAAC;gBAClB,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;gBAC3C,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;gBAC3C,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;oBAClD,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,MAAM,IAAI,MAAM,EAAE,CAAC,CAAC;gBACpD,CAAC;gBACD,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,IAAY,EAAE,IAA6B;QACnE,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;YAC1B,OAAO,EAAE,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC;QAC3D,CAAC;QAED,IAAI,IAAI,KAAK,YAAY,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;YAClD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;YACrC,IAAI,CAAC,IAAI;gBAAE,OAAO,EAAE,CAAC,OAAO,CAAC,SAAS,IAAI,GAAG,CAAC,CAAC;YAE/C,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;YAC9B,IAAI,UAAU,GAAkB,IAAI,CAAC;YACrC,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBACxB,IAAI,CAAC;oBAAC,UAAU,GAAG,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC;YACtE,CAAC;YAED,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;gBAC1B,OAAO,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC;YAC1E,CAAC;YAED,IAAI,IAAI,KAAK,WAAW,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;gBAChD,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;gBAC7C,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;gBAC7C,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;oBAChC,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;oBACnD,OAAO,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;gBACvD,CAAC;YACH,CAAC;YAED,OAAO,EAAE,CAAC,OAAO,CAAC,SAAS,IAAI,OAAO,IAAI,GAAG,CAAC,CAAC;QACjD,CAAC;QAED,IAAI,IAAI,KAAK,cAAc,EAAE,CAAC;YAC5B,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;YACnC,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;YAC1D,OAAO,EAAE,CAAC,OAAO,CAAC,WAAW,MAAM,eAAe,GAAG,GAAG,CAAC,CAAC;QAC5D,CAAC;QAED,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;YAC1B,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YACrD,OAAO,EAAE,CAAC,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;QAC3C,CAAC;QAED,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;YAC1B,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC;YAC7C,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;YAC3C,OAAO,EAAE,CAAC,OAAO,CAAC,gBAAgB,MAAM,KAAK,UAAU,GAAG,CAAC,CAAC;QAC9D,CAAC;QAED,OAAO,EAAE,CAAC,OAAO,CAAC,SAAS,IAAI,GAAG,CAAC,CAAC;IACtC,CAAC;IAEO,cAAc,CAAC,IAAY;QACjC,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YACrB,IAAI,CAAC,IAAI,QAAQ,IAAI,CAAC,IAAI,QAAQ;gBAAE,MAAM,EAAE,CAAC;QAC/C,CAAC;QACD,OAAO,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IACzD,CAAC;IAEO,gBAAgB;QACtB,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,CAAC;QACtD,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC9B,KAAK,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAC1C,CAAC;QAED,IAAI,KAAK,IAAI,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC;YAAE,OAAO;QAE5D,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAE,CAAC;QACjC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAEvC,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QAC1F,MAAM,OAAO,GAAG,kCAAkC,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE7E,IAAI,CAAC,QAAQ,GAAG;YACd,MAAM;YACN,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE;YAClC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,qCAAqC,EAAE;YACrE,GAAG,MAAM;SACV,CAAC;IACJ,CAAC;CACF;AAED,SAAS,UAAU,CAAC,OAAqB;IACvC,OAAO,OAAO,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC;QACpC,OAAO,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC;QAChC,OAAO,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC;QAChC,OAAO,CAAC,gBAAgB,GAAG,CAAC,CAAC;AACjC,CAAC"}
|
package/dist/client.js
CHANGED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Deep project context analysis for QafAI CLI Agent.
|
|
3
|
+
* Scans codebase structure, identifies key files, tech stack,
|
|
4
|
+
* build/test/lint commands, and git status for rich AI context.
|
|
5
|
+
*
|
|
6
|
+
* v0.6.0: Replaces basic project.ts context injection with comprehensive analysis.
|
|
7
|
+
*/
|
|
8
|
+
import { type ProjectInfo } from './project.js';
|
|
9
|
+
export interface ProjectAnalysis {
|
|
10
|
+
project: ProjectInfo | null;
|
|
11
|
+
fileStats: Record<string, number>;
|
|
12
|
+
totalFiles: number;
|
|
13
|
+
totalLines: number;
|
|
14
|
+
keyFiles: KeyFile[];
|
|
15
|
+
buildCommands: string[];
|
|
16
|
+
testCommands: string[];
|
|
17
|
+
lintCommands: string[];
|
|
18
|
+
git: GitContext | null;
|
|
19
|
+
techStack: string[];
|
|
20
|
+
entryPoints: string[];
|
|
21
|
+
configFiles: string[];
|
|
22
|
+
testFiles: string[];
|
|
23
|
+
ciConfig: string | null;
|
|
24
|
+
}
|
|
25
|
+
export interface KeyFile {
|
|
26
|
+
path: string;
|
|
27
|
+
type: 'entry' | 'config' | 'test' | 'ci' | 'docs' | 'build';
|
|
28
|
+
description: string;
|
|
29
|
+
}
|
|
30
|
+
export interface GitContext {
|
|
31
|
+
branch: string;
|
|
32
|
+
remote: string;
|
|
33
|
+
recentCommits: string[];
|
|
34
|
+
dirtyFiles: string[];
|
|
35
|
+
ahead: number;
|
|
36
|
+
behind: number;
|
|
37
|
+
}
|
|
38
|
+
export declare function analyzeProject(dir?: string): ProjectAnalysis;
|
|
39
|
+
export declare function formatAnalysis(analysis: ProjectAnalysis): string;
|
|
40
|
+
/**
|
|
41
|
+
* Build rich context string for system prompt injection.
|
|
42
|
+
*/
|
|
43
|
+
export declare function buildRichContext(analysis: ProjectAnalysis): string;
|
|
44
|
+
export declare function clearAnalysisCache(): void;
|