micro-models-agent 0.2.63 → 0.2.64
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 +354 -354
- package/dist/agent/loop.d.ts.map +1 -1
- package/dist/agent/loop.js +119 -3
- package/dist/agent/loop.js.map +1 -1
- package/dist/agent/tool-executor.d.ts +2 -10
- package/dist/agent/tool-executor.d.ts.map +1 -1
- package/dist/agent/tool-executor.js +92 -1
- package/dist/agent/tool-executor.js.map +1 -1
- package/dist/async-map.d.ts +6 -0
- package/dist/async-map.d.ts.map +1 -0
- package/dist/async-map.js +16 -0
- package/dist/async-map.js.map +1 -0
- package/dist/blog-api/types/index.d.ts +2 -0
- package/dist/blog-api/types/index.d.ts.map +1 -0
- package/dist/blog-api/types/index.js +2 -0
- package/dist/blog-api/types/index.js.map +1 -0
- package/dist/cli/config.js +1 -1
- package/dist/cli/config.js.map +1 -1
- package/dist/config/config.d.ts +10 -0
- package/dist/config/config.d.ts.map +1 -1
- package/dist/config/config.js +29 -2
- package/dist/config/config.js.map +1 -1
- package/dist/config/types.d.ts +16 -1
- package/dist/config/types.d.ts.map +1 -1
- package/dist/examples.d.ts +22 -0
- package/dist/examples.d.ts.map +1 -0
- package/dist/examples.js +45 -0
- package/dist/examples.js.map +1 -0
- package/dist/fibonacci.d.ts +19 -0
- package/dist/fibonacci.d.ts.map +1 -0
- package/dist/fibonacci.js +61 -0
- package/dist/fibonacci.js.map +1 -0
- package/dist/plugins/builtin/lint-on-write/index.ts +96 -96
- package/dist/plugins/builtin/notify/index.js +6 -6
- package/dist/plugins/builtin/notify/index.ts +104 -104
- package/dist/repl.d.ts +5 -0
- package/dist/repl.d.ts.map +1 -0
- package/dist/repl.js +472 -0
- package/dist/repl.js.map +1 -0
- package/dist/skills/builtin/agent-test/SKILL.md +68 -68
- package/dist/skills/builtin/grill-me/SKILL.md +46 -46
- package/dist/sort.d.ts +8 -0
- package/dist/sort.d.ts.map +1 -0
- package/dist/sort.js +36 -0
- package/dist/sort.js.map +1 -0
- package/dist/stack.d.ts +9 -0
- package/dist/stack.d.ts.map +1 -0
- package/dist/stack.js +22 -0
- package/dist/stack.js.map +1 -0
- package/dist/test-run.d.ts +2 -0
- package/dist/test-run.d.ts.map +1 -0
- package/dist/test-run.js +13 -0
- package/dist/test-run.js.map +1 -0
- package/dist/tools/subagent.d.ts +16 -1
- package/dist/tools/subagent.d.ts.map +1 -1
- package/dist/tools/subagent.js +84 -9
- package/dist/tools/subagent.js.map +1 -1
- package/dist/ui/components/diff-view.d.ts +8 -0
- package/dist/ui/components/diff-view.d.ts.map +1 -0
- package/dist/ui/components/diff-view.js +25 -0
- package/dist/ui/components/diff-view.js.map +1 -0
- package/dist/ui/double-press.d.ts +9 -0
- package/dist/ui/double-press.d.ts.map +1 -0
- package/dist/ui/double-press.js +18 -0
- package/dist/ui/double-press.js.map +1 -0
- package/dist/ui/opentui-renderer.d.ts +53 -0
- package/dist/ui/opentui-renderer.d.ts.map +1 -0
- package/dist/ui/opentui-renderer.js +463 -0
- package/dist/ui/opentui-renderer.js.map +1 -0
- package/dist/utils/memoize.d.ts +14 -0
- package/dist/utils/memoize.d.ts.map +1 -0
- package/dist/utils/memoize.js +51 -0
- package/dist/utils/memoize.js.map +1 -0
- package/dist/utils/types.d.ts +6 -0
- package/dist/utils/types.d.ts.map +1 -0
- package/dist/utils/types.js +2 -0
- package/dist/utils/types.js.map +1 -0
- package/dist/utils.d.ts +22 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +81 -0
- package/dist/utils.js.map +1 -0
- package/package.json +2 -2
|
@@ -1,46 +1,46 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: grill-me
|
|
3
|
-
description: A relentless interview to sharpen a plan or design.
|
|
4
|
-
disable-model-invocation: true
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
You are a requirements interviewer. Before implementing ANY task, you MUST ask the user 3-5 targeted questions to clarify requirements. Do NOT start coding until you have clear answers.
|
|
8
|
-
|
|
9
|
-
## Rules
|
|
10
|
-
|
|
11
|
-
1. **Ask first, code later.** Never begin implementation without user confirmation.
|
|
12
|
-
2. **Be specific.** Each question should resolve one ambiguity.
|
|
13
|
-
3. **Challenge assumptions.** If the user says "just make a todo app", ask what features, what storage, what UI.
|
|
14
|
-
4. **Offer concrete options.** Don't ask open-ended questions — give 2-3 choices.
|
|
15
|
-
5. **Confirm before proceeding.** After getting answers, summarize what you'll build and wait for "go" or "да".
|
|
16
|
-
|
|
17
|
-
## How to ask questions
|
|
18
|
-
|
|
19
|
-
Use the `question` tool for each question. This gives the user an interactive selector with arrow keys.
|
|
20
|
-
|
|
21
|
-
Call the question tool like this:
|
|
22
|
-
<tool_call>{"name":"question","arguments":{"question":"What interface?","choices":["CLI terminal","Web browser","Library API"]}}</tool_call>
|
|
23
|
-
|
|
24
|
-
Ask questions ONE AT A TIME. After getting an answer, ask the next question. Do NOT ask all questions at once.
|
|
25
|
-
|
|
26
|
-
## Question categories (pick 3-5 relevant ones)
|
|
27
|
-
|
|
28
|
-
- **Scope**: What exactly should this do? What's out of scope?
|
|
29
|
-
- **Storage**: Where does data live? File, database, in-memory?
|
|
30
|
-
- **Interface**: CLI, web, library, API?
|
|
31
|
-
- **Edge cases**: What happens on error, empty input, concurrent access?
|
|
32
|
-
- **Dependencies**: Any constraints on libraries or frameworks?
|
|
33
|
-
- **Performance**: Scale expectations? Latency requirements?
|
|
34
|
-
|
|
35
|
-
## After all questions are answered
|
|
36
|
-
|
|
37
|
-
Summarize what you'll build and wait for confirmation:
|
|
38
|
-
```
|
|
39
|
-
Got it! Here's what I'll build:
|
|
40
|
-
- [Summary of approach]
|
|
41
|
-
- [Key decisions made]
|
|
42
|
-
|
|
43
|
-
Ready to start? (да/go)
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
Only proceed after user confirms.
|
|
1
|
+
---
|
|
2
|
+
name: grill-me
|
|
3
|
+
description: A relentless interview to sharpen a plan or design.
|
|
4
|
+
disable-model-invocation: true
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
You are a requirements interviewer. Before implementing ANY task, you MUST ask the user 3-5 targeted questions to clarify requirements. Do NOT start coding until you have clear answers.
|
|
8
|
+
|
|
9
|
+
## Rules
|
|
10
|
+
|
|
11
|
+
1. **Ask first, code later.** Never begin implementation without user confirmation.
|
|
12
|
+
2. **Be specific.** Each question should resolve one ambiguity.
|
|
13
|
+
3. **Challenge assumptions.** If the user says "just make a todo app", ask what features, what storage, what UI.
|
|
14
|
+
4. **Offer concrete options.** Don't ask open-ended questions — give 2-3 choices.
|
|
15
|
+
5. **Confirm before proceeding.** After getting answers, summarize what you'll build and wait for "go" or "да".
|
|
16
|
+
|
|
17
|
+
## How to ask questions
|
|
18
|
+
|
|
19
|
+
Use the `question` tool for each question. This gives the user an interactive selector with arrow keys.
|
|
20
|
+
|
|
21
|
+
Call the question tool like this:
|
|
22
|
+
<tool_call>{"name":"question","arguments":{"question":"What interface?","choices":["CLI terminal","Web browser","Library API"]}}</tool_call>
|
|
23
|
+
|
|
24
|
+
Ask questions ONE AT A TIME. After getting an answer, ask the next question. Do NOT ask all questions at once.
|
|
25
|
+
|
|
26
|
+
## Question categories (pick 3-5 relevant ones)
|
|
27
|
+
|
|
28
|
+
- **Scope**: What exactly should this do? What's out of scope?
|
|
29
|
+
- **Storage**: Where does data live? File, database, in-memory?
|
|
30
|
+
- **Interface**: CLI, web, library, API?
|
|
31
|
+
- **Edge cases**: What happens on error, empty input, concurrent access?
|
|
32
|
+
- **Dependencies**: Any constraints on libraries or frameworks?
|
|
33
|
+
- **Performance**: Scale expectations? Latency requirements?
|
|
34
|
+
|
|
35
|
+
## After all questions are answered
|
|
36
|
+
|
|
37
|
+
Summarize what you'll build and wait for confirmation:
|
|
38
|
+
```
|
|
39
|
+
Got it! Here's what I'll build:
|
|
40
|
+
- [Summary of approach]
|
|
41
|
+
- [Key decisions made]
|
|
42
|
+
|
|
43
|
+
Ready to start? (да/go)
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
Only proceed after user confirms.
|
package/dist/sort.d.ts
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { NumberResult } from "./utils/types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Сортировка методом слияния (Merge Sort)
|
|
4
|
+
* @param array - Массив чисел для сортировки
|
|
5
|
+
* @returns Результат сортировки
|
|
6
|
+
*/
|
|
7
|
+
export declare function mergeSort(array: number[]): NumberResult;
|
|
8
|
+
//# sourceMappingURL=sort.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sort.d.ts","sourceRoot":"","sources":["../src/sort.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,YAAY,CAiBvD"}
|
package/dist/sort.js
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Сортировка методом слияния (Merge Sort)
|
|
3
|
+
* @param array - Массив чисел для сортировки
|
|
4
|
+
* @returns Результат сортировки
|
|
5
|
+
*/
|
|
6
|
+
export function mergeSort(array) {
|
|
7
|
+
if (array.length <= 1) {
|
|
8
|
+
return { success: true, data: array };
|
|
9
|
+
}
|
|
10
|
+
const mid = Math.floor(array.length / 2);
|
|
11
|
+
const left = array.slice(0, mid);
|
|
12
|
+
const right = array.slice(mid);
|
|
13
|
+
const sortedLeft = mergeSort(left);
|
|
14
|
+
const sortedRight = mergeSort(right);
|
|
15
|
+
if (sortedLeft.success && sortedRight.success) {
|
|
16
|
+
return { success: true, data: merge(sortedLeft.data, sortedRight.data) };
|
|
17
|
+
}
|
|
18
|
+
return { success: false };
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Слияние двух отсортированных массивов
|
|
22
|
+
*/
|
|
23
|
+
function merge(left, right) {
|
|
24
|
+
const result = [];
|
|
25
|
+
let i = 0, j = 0;
|
|
26
|
+
while (i < left.length && j < right.length) {
|
|
27
|
+
if (left[i] <= right[j]) {
|
|
28
|
+
result.push(left[i++]);
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
result.push(right[j++]);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
return result.concat(left.slice(i)).concat(right.slice(j));
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=sort.js.map
|
package/dist/sort.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sort.js","sourceRoot":"","sources":["../src/sort.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAAC,KAAe;IACvC,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QACtB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACxC,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACzC,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACjC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAE/B,MAAM,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,WAAW,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;IAErC,IAAI,UAAU,CAAC,OAAO,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;QAC9C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,IAAK,EAAE,WAAW,CAAC,IAAK,CAAC,EAAE,CAAC;IAC7E,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AAC5B,CAAC;AAED;;GAEG;AACH,SAAS,KAAK,CAAC,IAAc,EAAE,KAAe;IAC5C,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IAEjB,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QAC3C,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YACxB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACzB,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7D,CAAC"}
|
package/dist/stack.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stack.d.ts","sourceRoot":"","sources":["../src/stack.ts"],"names":[],"mappings":"AAAA,qBAAa,KAAK,CAAC,CAAC;IAClB,OAAO,CAAC,KAAK,CAAW;IAExB,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI;IAInB,GAAG,IAAI,CAAC,GAAG,SAAS;IAIpB,IAAI,IAAI,CAAC,GAAG,SAAS;IAOrB,IAAI,IAAI,MAAM;IAId,OAAO,IAAI,OAAO;CAGnB"}
|
package/dist/stack.js
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export class Stack {
|
|
2
|
+
items = [];
|
|
3
|
+
push(item) {
|
|
4
|
+
this.items.push(item);
|
|
5
|
+
}
|
|
6
|
+
pop() {
|
|
7
|
+
return this.items.pop();
|
|
8
|
+
}
|
|
9
|
+
peek() {
|
|
10
|
+
if (this.isEmpty()) {
|
|
11
|
+
return undefined;
|
|
12
|
+
}
|
|
13
|
+
return this.items[this.items.length - 1];
|
|
14
|
+
}
|
|
15
|
+
size() {
|
|
16
|
+
return this.items.length;
|
|
17
|
+
}
|
|
18
|
+
isEmpty() {
|
|
19
|
+
return this.items.length === 0;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=stack.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stack.js","sourceRoot":"","sources":["../src/stack.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,KAAK;IACR,KAAK,GAAQ,EAAE,CAAC;IAExB,IAAI,CAAC,IAAO;QACV,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAED,GAAG;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;IAC1B,CAAC;IAED,IAAI;QACF,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;YACnB,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC3C,CAAC;IAED,IAAI;QACF,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IAC3B,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;IACjC,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-run.d.ts","sourceRoot":"","sources":["../src/test-run.ts"],"names":[],"mappings":"AAAA,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAQ3C"}
|
package/dist/test-run.js
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export function factorial(n) {
|
|
2
|
+
if (n < 0)
|
|
3
|
+
throw new Error('Факториал определяется только для неотрицательных чисел');
|
|
4
|
+
if (n === 0 || n === 1)
|
|
5
|
+
return 1;
|
|
6
|
+
let result = 1;
|
|
7
|
+
for (let i = 2; i <= n; i++) {
|
|
8
|
+
result *= i;
|
|
9
|
+
}
|
|
10
|
+
return result;
|
|
11
|
+
}
|
|
12
|
+
console.log(factorial(5));
|
|
13
|
+
//# sourceMappingURL=test-run.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-run.js","sourceRoot":"","sources":["../src/test-run.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,SAAS,CAAC,CAAS;IACjC,IAAI,CAAC,GAAG,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;IACtF,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IACjC,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,MAAM,IAAI,CAAC,CAAC;IACd,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC"}
|
package/dist/tools/subagent.d.ts
CHANGED
|
@@ -31,6 +31,21 @@ export interface IsolatedLoopResult {
|
|
|
31
31
|
* @returns Текстовый контекст для system prompt субагента
|
|
32
32
|
*/
|
|
33
33
|
export declare function buildSubagentContext(cwd: string): string;
|
|
34
|
+
/**
|
|
35
|
+
* Контекст для specialist'а — фокусированное описание ошибки.
|
|
36
|
+
*
|
|
37
|
+
* @param toolName - имя упавшего инструмента
|
|
38
|
+
* @param toolArgs - аргументы которые были переданы
|
|
39
|
+
* @param errorOutput - текст ошибки
|
|
40
|
+
* @param userTask - исходный запрос пользователя (краткое описание)
|
|
41
|
+
* @param attemptCount - сколько раз ошибка повторилась
|
|
42
|
+
* @returns Текст задачи для specialist'а
|
|
43
|
+
*/
|
|
44
|
+
export declare function buildSpecialistTask(toolName: string, toolArgs: Record<string, unknown>, errorOutput: string, userTask: string, attemptCount: number): string;
|
|
45
|
+
/**
|
|
46
|
+
* Проверяет является ли ошибка тривиальной (не требует specialist).
|
|
47
|
+
*/
|
|
48
|
+
export declare function isTrivialError(toolName: string, errorOutput: string): boolean;
|
|
34
49
|
/**
|
|
35
50
|
* Извлекает все JSON-блоки из тегов <tool_call>...</tool_call>.
|
|
36
51
|
* Дублируется из loop.ts для изоляции субагентов.
|
|
@@ -79,7 +94,7 @@ export declare function doChat(provider: LLMProvider, messages: ChatMessage[], r
|
|
|
79
94
|
*
|
|
80
95
|
* @returns Результат: созданные файлы, ошибки, краткое описание, количество ходов
|
|
81
96
|
*/
|
|
82
|
-
export declare function runIsolatedLoop(provider: LLMProvider, registry: ToolRegistry, task: string, existingFiles: string, cwd: string, quiet: boolean, renderer: OutputRenderer, toolExecutor?: ToolExecutor, mode?: string): Promise<IsolatedLoopResult>;
|
|
97
|
+
export declare function runIsolatedLoop(provider: LLMProvider, registry: ToolRegistry, task: string, existingFiles: string, cwd: string, quiet: boolean, renderer: OutputRenderer, toolExecutor?: ToolExecutor, mode?: string, toolModel?: string, maxStepsParam?: number): Promise<IsolatedLoopResult>;
|
|
83
98
|
import type { ToolDefinition } from './registry.js';
|
|
84
99
|
export declare const subagentDefinition: ToolDefinition;
|
|
85
100
|
//# sourceMappingURL=subagent.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subagent.d.ts","sourceRoot":"","sources":["../../src/tools/subagent.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"subagent.d.ts","sourceRoot":"","sources":["../../src/tools/subagent.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEnE,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAI9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAIxD;;;;;;;;;;;;;GAaG;AAIH,0DAA0D;AAC1D,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf;AAID;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAwDxD;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,GACnB,MAAM,CAmBR;AAWD;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAW7E;AAID;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CA+C9D;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,GAAG,GAAG;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAmD7G;AAID;;;;;;;;;;;GAWG;AACH,wBAAsB,MAAM,CAC1B,QAAQ,EAAE,WAAW,EACrB,QAAQ,EAAE,WAAW,EAAE,EACvB,QAAQ,EAAE,cAAc,EACxB,MAAM,CAAC,EAAE,WAAW,EACpB,OAAO,SAAI,EACX,YAAY,UAAQ,EACpB,MAAM,GAAE,MAAM,GAAG,UAAmB,EACpC,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,CA+KlD;AAyFD;;;;;;;;;;;GAWG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,WAAW,EACrB,QAAQ,EAAE,YAAY,EACtB,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM,EACrB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,cAAc,EACxB,YAAY,CAAC,EAAE,YAAY,EAC3B,IAAI,CAAC,EAAE,MAAM,EACb,SAAS,CAAC,EAAE,MAAM,EAClB,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,kBAAkB,CAAC,CA8L7B;AAID,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEpD,eAAO,MAAM,kBAAkB,EAAE,cAchC,CAAC"}
|
package/dist/tools/subagent.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { jsonrepair } from 'jsonrepair';
|
|
2
|
+
import { OpenAICompat } from '../llm/openai-compat.js';
|
|
2
3
|
import { ContextManager } from '../agent/context.js';
|
|
3
4
|
import { buildSystemPrompt } from '../agent/system-prompt.js';
|
|
4
5
|
import { checkFileSyntax } from './syntax-check.js';
|
|
@@ -72,6 +73,59 @@ export function buildSubagentContext(cwd) {
|
|
|
72
73
|
catch { /* no tsconfig */ }
|
|
73
74
|
return lines.join('\n');
|
|
74
75
|
}
|
|
76
|
+
/**
|
|
77
|
+
* Контекст для specialist'а — фокусированное описание ошибки.
|
|
78
|
+
*
|
|
79
|
+
* @param toolName - имя упавшего инструмента
|
|
80
|
+
* @param toolArgs - аргументы которые были переданы
|
|
81
|
+
* @param errorOutput - текст ошибки
|
|
82
|
+
* @param userTask - исходный запрос пользователя (краткое описание)
|
|
83
|
+
* @param attemptCount - сколько раз ошибка повторилась
|
|
84
|
+
* @returns Текст задачи для specialist'а
|
|
85
|
+
*/
|
|
86
|
+
export function buildSpecialistTask(toolName, toolArgs, errorOutput, userTask, attemptCount) {
|
|
87
|
+
const argsStr = JSON.stringify(toolArgs, null, 2);
|
|
88
|
+
return [
|
|
89
|
+
`The tool "${toolName}" has failed ${attemptCount} times with the same error while working on: "${userTask.slice(0, 200)}"`,
|
|
90
|
+
'',
|
|
91
|
+
`Failed tool call:`,
|
|
92
|
+
` Tool: ${toolName}`,
|
|
93
|
+
` Arguments: ${argsStr}`,
|
|
94
|
+
'',
|
|
95
|
+
`Error output:`,
|
|
96
|
+
` ${errorOutput.slice(0, 500)}`,
|
|
97
|
+
'',
|
|
98
|
+
`Your task: Diagnose WHY this tool call fails and FIX the underlying problem.`,
|
|
99
|
+
` - Read the relevant files to understand the actual state`,
|
|
100
|
+
` - Fix the root cause (wrong path, missing file, syntax error, etc.)`,
|
|
101
|
+
` - If the tool call arguments are wrong, correct them`,
|
|
102
|
+
` - If the file doesn't exist, create it`,
|
|
103
|
+
` - Return a clear summary of what you found and what you fixed`,
|
|
104
|
+
].join('\n');
|
|
105
|
+
}
|
|
106
|
+
/** Паттерны ошибок которые НЕ триггерят specialist (trivial) */
|
|
107
|
+
const TRIVIAL_ERROR_PATTERNS = [
|
|
108
|
+
/no results? found/i,
|
|
109
|
+
/pattern .* matched 0 results/i,
|
|
110
|
+
/0 files? matched/i,
|
|
111
|
+
/command not found.*grep/i,
|
|
112
|
+
/not a directory/i,
|
|
113
|
+
];
|
|
114
|
+
/**
|
|
115
|
+
* Проверяет является ли ошибка тривиальной (не требует specialist).
|
|
116
|
+
*/
|
|
117
|
+
export function isTrivialError(toolName, errorOutput) {
|
|
118
|
+
// grep_search/glob_search с 0 результатами — нормальное поведение
|
|
119
|
+
if (toolName === 'grep_search' || toolName === 'glob_search') {
|
|
120
|
+
if (/0 results|0 files|no match/i.test(errorOutput) && errorOutput.length < 200) {
|
|
121
|
+
return true;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
// Любая ошибка < 10 символов — скорее всего trivia
|
|
125
|
+
if (errorOutput.length < 10)
|
|
126
|
+
return true;
|
|
127
|
+
return TRIVIAL_ERROR_PATTERNS.some(p => p.test(errorOutput));
|
|
128
|
+
}
|
|
75
129
|
// ─── Tool call parsing ───────────────────────────────────
|
|
76
130
|
/**
|
|
77
131
|
* Извлекает все JSON-блоки из тегов <tool_call>...</tool_call>.
|
|
@@ -331,6 +385,21 @@ export async function doChat(provider, messages, renderer, signal, retries = 1,
|
|
|
331
385
|
return retryResult;
|
|
332
386
|
}
|
|
333
387
|
}
|
|
388
|
+
// Phase 2.5: Emergency — принудительно генерируем content с низкой температурой
|
|
389
|
+
// Когда reasoning есть, но content пустой — модель "застряла" в thinking loop
|
|
390
|
+
if (lastReasoningText.trim()) {
|
|
391
|
+
logInfo('DOCHAT', `emergency: forcing content with low temperature`);
|
|
392
|
+
renderer.writeDim(`[emergency: forcing content with temperature=0.1]`);
|
|
393
|
+
const emergencyMessages = [
|
|
394
|
+
...messages,
|
|
395
|
+
{ role: 'user', content: '[System] You MUST produce a response now. Do NOT use thinking tags. Reply with a tool call or a direct answer. Any response is better than empty.' },
|
|
396
|
+
];
|
|
397
|
+
const emergencyResult = await doChatOnce(provider, emergencyMessages, renderer, signal, false, showThinking, caller, maxTokens, 0.1);
|
|
398
|
+
if (emergencyResult.response.trim()) {
|
|
399
|
+
logInfo('DOCHAT', `emergency succeeded: ${emergencyResult.response.length} chars`);
|
|
400
|
+
return emergencyResult;
|
|
401
|
+
}
|
|
402
|
+
}
|
|
334
403
|
// Phase 3: Fallback — используем reasoning как content
|
|
335
404
|
if (llmCfg.fallbackToReasoning && lastReasoningText.trim()) {
|
|
336
405
|
logInfo('DOCHAT', `fallback: using reasoning as content (${lastReasoningText.length} chars)`);
|
|
@@ -343,7 +412,7 @@ export async function doChat(provider, messages, renderer, signal, retries = 1,
|
|
|
343
412
|
* Одиночный вызов LLM без retry логики.
|
|
344
413
|
* Используется для retry с другими параметрами (например, enableThinking: false).
|
|
345
414
|
*/
|
|
346
|
-
async function doChatOnce(provider, messages, renderer, signal, enableThinking = true, showThinking = false, caller = 'main', maxTokens) {
|
|
415
|
+
async function doChatOnce(provider, messages, renderer, signal, enableThinking = true, showThinking = false, caller = 'main', maxTokens, temperature = 0.7) {
|
|
347
416
|
const startTime = performance.now();
|
|
348
417
|
const fullText = [];
|
|
349
418
|
let started = false;
|
|
@@ -352,7 +421,7 @@ async function doChatOnce(provider, messages, renderer, signal, enableThinking =
|
|
|
352
421
|
renderer.writeSpinner();
|
|
353
422
|
try {
|
|
354
423
|
let buf = '';
|
|
355
|
-
for await (const chunk of provider.chat(messages, { temperature
|
|
424
|
+
for await (const chunk of provider.chat(messages, { temperature, signal, showThinking, enableThinking, max_tokens: maxTokens })) {
|
|
356
425
|
if (!chunk.content && !chunk.finish_reason)
|
|
357
426
|
continue;
|
|
358
427
|
if (chunk.content) {
|
|
@@ -418,11 +487,17 @@ async function doChatOnce(provider, messages, renderer, signal, enableThinking =
|
|
|
418
487
|
*
|
|
419
488
|
* @returns Результат: созданные файлы, ошибки, краткое описание, количество ходов
|
|
420
489
|
*/
|
|
421
|
-
export async function runIsolatedLoop(provider, registry, task, existingFiles, cwd, quiet, renderer, toolExecutor, mode) {
|
|
490
|
+
export async function runIsolatedLoop(provider, registry, task, existingFiles, cwd, quiet, renderer, toolExecutor, mode, toolModel, maxStepsParam) {
|
|
422
491
|
const createdFiles = [];
|
|
423
492
|
const errors = [];
|
|
424
493
|
const startTime = performance.now();
|
|
425
|
-
|
|
494
|
+
// Two-model pipeline: если toolModel задана, создаём отдельный провайдер
|
|
495
|
+
let effectiveProvider = provider;
|
|
496
|
+
if (toolModel && provider instanceof OpenAICompat) {
|
|
497
|
+
effectiveProvider = new OpenAICompat(provider.baseUrl, toolModel, provider.contextWindow, provider.apiKey);
|
|
498
|
+
logInfo('SUBAGENT', `using tool model: ${toolModel} (main: ${provider.model})`);
|
|
499
|
+
}
|
|
500
|
+
logInfo('SUBAGENT', `START | task: "${task.slice(0, 200)}" | context window: ${effectiveProvider.contextWindow}`);
|
|
426
501
|
// Always build auto-context from project, even if model didn't pass existingFiles
|
|
427
502
|
const autoContext = buildSubagentContext(cwd);
|
|
428
503
|
const mergedContext = existingFiles
|
|
@@ -439,8 +514,8 @@ export async function runIsolatedLoop(provider, registry, task, existingFiles, c
|
|
|
439
514
|
{ role: 'system', content: systemPrompt },
|
|
440
515
|
{ role: 'user', content: task + contextInfo },
|
|
441
516
|
];
|
|
442
|
-
const ctx = new ContextManager(
|
|
443
|
-
const maxSteps = 20;
|
|
517
|
+
const ctx = new ContextManager(effectiveProvider.contextWindow);
|
|
518
|
+
const maxSteps = maxStepsParam ?? 20;
|
|
444
519
|
let toolCallCount = 0;
|
|
445
520
|
for (let step = 0; step < maxSteps; step++) {
|
|
446
521
|
await ctx.updateTokens(messages);
|
|
@@ -457,7 +532,7 @@ export async function runIsolatedLoop(provider, registry, task, existingFiles, c
|
|
|
457
532
|
const hasToolResult = messages.some(m => m.role === 'tool');
|
|
458
533
|
const llmCfg = getLLMConfig();
|
|
459
534
|
const maxTokens = hasToolResult ? llmCfg.maxTokensAfterTool : undefined;
|
|
460
|
-
const { response } = await doChat(
|
|
535
|
+
const { response } = await doChat(effectiveProvider, messages, renderer, renderer?.abortSignal, 1, false, 'subagent', maxTokens);
|
|
461
536
|
if (!response.trim()) {
|
|
462
537
|
logDebug('SUBAGENT', `empty response at step ${step}, stopping`);
|
|
463
538
|
break;
|
|
@@ -575,11 +650,11 @@ export const subagentDefinition = {
|
|
|
575
650
|
type: 'function',
|
|
576
651
|
function: {
|
|
577
652
|
name: 'subagent',
|
|
578
|
-
description: 'Delegate a task to an isolated agent
|
|
653
|
+
description: 'Delegate a task to an isolated agent with a FRESH context (no history of prior errors). Use for: (1) each file when creating 3+ new files, (2) any task where you are stuck or making repeated errors, (3) simple single-step operations (bash, file read/write). The subagent has all tools and starts clean — ideal when accumulated context is causing confusion.',
|
|
579
654
|
parameters: {
|
|
580
655
|
type: 'object',
|
|
581
656
|
properties: {
|
|
582
|
-
task: { type: 'string', description: 'What the subagent should
|
|
657
|
+
task: { type: 'string', description: 'What the subagent should do — be specific and include file paths' },
|
|
583
658
|
existingFiles: { type: 'string', description: 'Comma-separated files the subagent can read for context (optional)' },
|
|
584
659
|
},
|
|
585
660
|
required: ['task'],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subagent.js","sourceRoot":"","sources":["../../src/tools/subagent.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"subagent.js","sourceRoot":"","sources":["../../src/tools/subagent.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export interface DiffLine {
|
|
2
|
+
type: 'add' | 'del' | 'ctx';
|
|
3
|
+
content: string;
|
|
4
|
+
lineNumber: number;
|
|
5
|
+
}
|
|
6
|
+
export declare function parseDiff(diffText: string): DiffLine[];
|
|
7
|
+
export declare function formatDiff(diffText: string): string;
|
|
8
|
+
//# sourceMappingURL=diff-view.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diff-view.d.ts","sourceRoot":"","sources":["../../../src/ui/components/diff-view.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,CAAA;IAC3B,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,EAAE,CActD;AAED,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAMnD"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export function parseDiff(diffText) {
|
|
2
|
+
const lines = [];
|
|
3
|
+
let lineNum = 0;
|
|
4
|
+
for (const raw of diffText.split('\n')) {
|
|
5
|
+
lineNum++;
|
|
6
|
+
if (raw.startsWith('+') && !raw.startsWith('+++')) {
|
|
7
|
+
lines.push({ type: 'add', content: raw.slice(1), lineNumber: lineNum });
|
|
8
|
+
}
|
|
9
|
+
else if (raw.startsWith('-') && !raw.startsWith('---')) {
|
|
10
|
+
lines.push({ type: 'del', content: raw.slice(1), lineNumber: lineNum });
|
|
11
|
+
}
|
|
12
|
+
else {
|
|
13
|
+
lines.push({ type: 'ctx', content: raw, lineNumber: lineNum });
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
return lines;
|
|
17
|
+
}
|
|
18
|
+
export function formatDiff(diffText) {
|
|
19
|
+
const lines = parseDiff(diffText);
|
|
20
|
+
return lines.map(l => {
|
|
21
|
+
const prefix = l.type === 'add' ? '+' : l.type === 'del' ? '-' : ' ';
|
|
22
|
+
return `${prefix} ${l.content}`;
|
|
23
|
+
}).join('\n');
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=diff-view.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diff-view.js","sourceRoot":"","sources":["../../../src/ui/components/diff-view.ts"],"names":[],"mappings":"AAMA,MAAM,UAAU,SAAS,CAAC,QAAgB;IACxC,MAAM,KAAK,GAAe,EAAE,CAAA;IAC5B,IAAI,OAAO,GAAG,CAAC,CAAA;IACf,KAAK,MAAM,GAAG,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACvC,OAAO,EAAE,CAAA;QACT,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YAClD,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAA;QACzE,CAAC;aAAM,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YACzD,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAA;QACzE,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAA;QAChE,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,QAAgB;IACzC,MAAM,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAA;IACjC,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;QACnB,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAA;QACpE,OAAO,GAAG,MAAM,IAAI,CAAC,CAAC,OAAO,EAAE,CAAA;IACjC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACf,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare class DoublePressDetector {
|
|
2
|
+
private readonly thresholdMs;
|
|
3
|
+
private lastTime;
|
|
4
|
+
constructor(thresholdMs?: number);
|
|
5
|
+
/** Returns true if called twice within thresholdMs. */
|
|
6
|
+
consume(): boolean;
|
|
7
|
+
reset(): void;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=double-press.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"double-press.d.ts","sourceRoot":"","sources":["../../src/ui/double-press.ts"],"names":[],"mappings":"AAAA,qBAAa,mBAAmB;IAElB,OAAO,CAAC,QAAQ,CAAC,WAAW;IADxC,OAAO,CAAC,QAAQ,CAAI;gBACS,WAAW,SAAM;IAE9C,uDAAuD;IACvD,OAAO,IAAI,OAAO;IAOlB,KAAK,IAAI,IAAI;CAGd"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export class DoublePressDetector {
|
|
2
|
+
thresholdMs;
|
|
3
|
+
lastTime = 0;
|
|
4
|
+
constructor(thresholdMs = 400) {
|
|
5
|
+
this.thresholdMs = thresholdMs;
|
|
6
|
+
}
|
|
7
|
+
/** Returns true if called twice within thresholdMs. */
|
|
8
|
+
consume() {
|
|
9
|
+
const now = Date.now();
|
|
10
|
+
const isDouble = now - this.lastTime < this.thresholdMs;
|
|
11
|
+
this.lastTime = now;
|
|
12
|
+
return isDouble;
|
|
13
|
+
}
|
|
14
|
+
reset() {
|
|
15
|
+
this.lastTime = 0;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=double-press.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"double-press.js","sourceRoot":"","sources":["../../src/ui/double-press.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,mBAAmB;IAED;IADrB,QAAQ,GAAG,CAAC,CAAA;IACpB,YAA6B,cAAc,GAAG;QAAjB,gBAAW,GAAX,WAAW,CAAM;IAAG,CAAC;IAElD,uDAAuD;IACvD,OAAO;QACL,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QACtB,MAAM,QAAQ,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAA;QACvD,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAA;QACnB,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAA;IACnB,CAAC;CACF"}
|