@kenkaiiii/ggcoder 4.2.40 → 4.2.41
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/config.d.ts.map +1 -1
- package/dist/config.js +65 -0
- package/dist/config.js.map +1 -1
- package/dist/ui/hooks/useTerminalSize.d.ts +21 -9
- package/dist/ui/hooks/useTerminalSize.d.ts.map +1 -1
- package/dist/ui/hooks/useTerminalSize.js +29 -14
- package/dist/ui/hooks/useTerminalSize.js.map +1 -1
- package/dist/ui/render.d.ts.map +1 -1
- package/dist/ui/render.js +3 -2
- package/dist/ui/render.js.map +1 -1
- package/package.json +3 -3
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,QAAQ,YAAY,CAAC;AAClC,eAAO,MAAM,OAAO,UAAU,CAAC;AAE/B,MAAM,WAAW,QAAQ;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,WAAW,IAAI,QAAQ,CAatC;AAED,wBAAsB,aAAa,IAAI,OAAO,CAAC,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,QAAQ,YAAY,CAAC;AAClC,eAAO,MAAM,OAAO,UAAU,CAAC;AAE/B,MAAM,WAAW,QAAQ;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,WAAW,IAAI,QAAQ,CAatC;AAED,wBAAsB,aAAa,IAAI,OAAO,CAAC,QAAQ,CAAC,CASvD"}
|
package/dist/config.js
CHANGED
|
@@ -23,6 +23,71 @@ export async function ensureAppDirs() {
|
|
|
23
23
|
await fs.mkdir(paths.sessionsDir, { recursive: true });
|
|
24
24
|
await fs.mkdir(paths.skillsDir, { recursive: true });
|
|
25
25
|
await fs.mkdir(paths.extensionsDir, { recursive: true });
|
|
26
|
+
await fs.mkdir(paths.agentsDir, { recursive: true });
|
|
27
|
+
await seedDefaultAgents(paths.agentsDir);
|
|
26
28
|
return paths;
|
|
27
29
|
}
|
|
30
|
+
/** Seed built-in agent definitions on first run (won't overwrite user edits). */
|
|
31
|
+
async function seedDefaultAgents(agentsDir) {
|
|
32
|
+
const defaults = {
|
|
33
|
+
"owl.md": `---
|
|
34
|
+
name: owl
|
|
35
|
+
description: "Codebase explorer \u2014 reads, searches, and maps out code"
|
|
36
|
+
tools: read, grep, find, ls, bash
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
You are Owl, a sharp-eyed codebase explorer.
|
|
40
|
+
|
|
41
|
+
Your job is to explore code structure, trace call chains, find patterns, and return compressed structured findings. You are read-only \u2014 never edit or create files.
|
|
42
|
+
|
|
43
|
+
When given a task:
|
|
44
|
+
1. Start by understanding the scope of what you're looking for
|
|
45
|
+
2. Use find and ls to map directory structure
|
|
46
|
+
3. Use grep to locate relevant symbols, imports, and patterns
|
|
47
|
+
4. Use read to examine key files in detail
|
|
48
|
+
5. Trace connections between modules \u2014 exports, imports, call sites
|
|
49
|
+
|
|
50
|
+
Always return your findings in a structured, compressed format:
|
|
51
|
+
- Lead with the direct answer
|
|
52
|
+
- List relevant file paths with brief descriptions
|
|
53
|
+
- Note key relationships and dependencies
|
|
54
|
+
- Flag anything surprising or noteworthy
|
|
55
|
+
|
|
56
|
+
Be thorough but concise. Explore widely, report tightly.
|
|
57
|
+
`,
|
|
58
|
+
"bee.md": `---
|
|
59
|
+
name: bee
|
|
60
|
+
description: "Task worker \u2014 writes code, runs commands, fixes bugs, does anything"
|
|
61
|
+
tools: read, write, edit, bash, find, grep, ls
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
You are Bee, an industrious task worker.
|
|
65
|
+
|
|
66
|
+
Your job is to complete any assigned task end-to-end \u2014 writing code, running commands, fixing bugs, refactoring, creating files, whatever is needed. You work independently and deliver results.
|
|
67
|
+
|
|
68
|
+
When given a task:
|
|
69
|
+
1. Understand what needs to be done
|
|
70
|
+
2. Explore relevant code to understand context
|
|
71
|
+
3. Implement the solution directly
|
|
72
|
+
4. Verify your work compiles/runs correctly
|
|
73
|
+
5. Report concisely what was done
|
|
74
|
+
|
|
75
|
+
Rules:
|
|
76
|
+
- Do the work, don't just describe it
|
|
77
|
+
- Make minimal, focused changes \u2014 don't over-engineer
|
|
78
|
+
- If something fails, diagnose and fix it
|
|
79
|
+
- Report what you changed and why, keeping it brief
|
|
80
|
+
`,
|
|
81
|
+
};
|
|
82
|
+
for (const [filename, content] of Object.entries(defaults)) {
|
|
83
|
+
const filePath = path.join(agentsDir, filename);
|
|
84
|
+
try {
|
|
85
|
+
await fs.access(filePath);
|
|
86
|
+
// File exists — don't overwrite user edits
|
|
87
|
+
}
|
|
88
|
+
catch {
|
|
89
|
+
await fs.writeFile(filePath, content, "utf-8");
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
28
93
|
//# sourceMappingURL=config.js.map
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAElC,MAAM,CAAC,MAAM,QAAQ,GAAG,SAAS,CAAC;AAClC,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC;AAc/B,MAAM,UAAU,WAAW;IACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,CAAC;IAChD,OAAO;QACL,QAAQ;QACR,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC;QAC5C,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,eAAe,CAAC;QAClD,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC;QAC1C,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,eAAe,CAAC;QAClD,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC;QACzC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC;QACxC,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC;QAChD,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC;KACzC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,MAAM,KAAK,GAAG,WAAW,EAAE,CAAC;IAC5B,MAAM,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACpD,MAAM,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACvD,MAAM,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACrD,MAAM,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzD,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAElC,MAAM,CAAC,MAAM,QAAQ,GAAG,SAAS,CAAC;AAClC,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC;AAc/B,MAAM,UAAU,WAAW;IACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,CAAC;IAChD,OAAO;QACL,QAAQ;QACR,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC;QAC5C,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,eAAe,CAAC;QAClD,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC;QAC1C,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,eAAe,CAAC;QAClD,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC;QACzC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC;QACxC,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC;QAChD,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC;KACzC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,MAAM,KAAK,GAAG,WAAW,EAAE,CAAC;IAC5B,MAAM,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACpD,MAAM,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACvD,MAAM,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACrD,MAAM,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzD,MAAM,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACrD,MAAM,iBAAiB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACzC,OAAO,KAAK,CAAC;AACf,CAAC;AAED,iFAAiF;AACjF,KAAK,UAAU,iBAAiB,CAAC,SAAiB;IAChD,MAAM,QAAQ,GAA2B;QACvC,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;CAwBb;QACG,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;CAsBb;KACE,CAAC;IAEF,KAAK,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC3D,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAChD,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC1B,2CAA2C;QAC7C,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
@@ -1,6 +1,22 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
interface TerminalSizeValue {
|
|
3
|
+
columns: number;
|
|
4
|
+
rows: number;
|
|
5
|
+
resizeKey: number;
|
|
6
|
+
}
|
|
1
7
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
8
|
+
* Provider that attaches a single resize listener to stdout and shares
|
|
9
|
+
* { columns, rows, resizeKey } with all descendants via context.
|
|
10
|
+
*
|
|
11
|
+
* Mount this once near the root of the component tree (e.g. in render.ts
|
|
12
|
+
* or App.tsx) to avoid the MaxListenersExceededWarning that occurs when
|
|
13
|
+
* every component independently listens for resize events.
|
|
14
|
+
*/
|
|
15
|
+
export declare function TerminalSizeProvider({ children }: {
|
|
16
|
+
children: React.ReactNode;
|
|
17
|
+
}): React.FunctionComponentElement<React.ProviderProps<TerminalSizeValue | null>>;
|
|
18
|
+
/**
|
|
19
|
+
* Returns { columns, rows, resizeKey } from the nearest TerminalSizeProvider.
|
|
4
20
|
*
|
|
5
21
|
* `columns` and `rows` update immediately on every resize event so layout
|
|
6
22
|
* stays responsive while the user drags.
|
|
@@ -9,12 +25,8 @@
|
|
|
9
25
|
* Use it as a React `key` on the root content wrapper to force a full
|
|
10
26
|
* remount — this is the only reliable way to make Ink re-render <Static>
|
|
11
27
|
* content that was already printed to scrollback and got corrupted by
|
|
12
|
-
* terminal text reflow.
|
|
13
|
-
* and remounts.
|
|
28
|
+
* terminal text reflow.
|
|
14
29
|
*/
|
|
15
|
-
export declare function useTerminalSize():
|
|
16
|
-
|
|
17
|
-
columns: number;
|
|
18
|
-
rows: number;
|
|
19
|
-
};
|
|
30
|
+
export declare function useTerminalSize(): TerminalSizeValue;
|
|
31
|
+
export {};
|
|
20
32
|
//# sourceMappingURL=useTerminalSize.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTerminalSize.d.ts","sourceRoot":"","sources":["../../../src/ui/hooks/useTerminalSize.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useTerminalSize.d.ts","sourceRoot":"","sources":["../../../src/ui/hooks/useTerminalSize.ts"],"names":[],"mappings":"AAAA,OAAO,KAA8E,MAAM,OAAO,CAAC;AAGnG,UAAU,iBAAiB;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;AAID;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,iFA0C/E;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,sBAM9B"}
|
|
@@ -1,20 +1,15 @@
|
|
|
1
|
-
import { useState, useEffect, useRef, useCallback } from "react";
|
|
1
|
+
import React, { useState, useEffect, useRef, useCallback, useContext, createContext } from "react";
|
|
2
2
|
import { useStdout } from "ink";
|
|
3
|
+
const TerminalSizeContext = createContext(null);
|
|
3
4
|
/**
|
|
4
|
-
*
|
|
5
|
-
*
|
|
5
|
+
* Provider that attaches a single resize listener to stdout and shares
|
|
6
|
+
* { columns, rows, resizeKey } with all descendants via context.
|
|
6
7
|
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
* `resizeKey` increments once after resize events settle (300ms debounce).
|
|
11
|
-
* Use it as a React `key` on the root content wrapper to force a full
|
|
12
|
-
* remount — this is the only reliable way to make Ink re-render <Static>
|
|
13
|
-
* content that was already printed to scrollback and got corrupted by
|
|
14
|
-
* terminal text reflow. Debounces 300ms then clears screen+scrollback
|
|
15
|
-
* and remounts.
|
|
8
|
+
* Mount this once near the root of the component tree (e.g. in render.ts
|
|
9
|
+
* or App.tsx) to avoid the MaxListenersExceededWarning that occurs when
|
|
10
|
+
* every component independently listens for resize events.
|
|
16
11
|
*/
|
|
17
|
-
export function
|
|
12
|
+
export function TerminalSizeProvider({ children }) {
|
|
18
13
|
const { stdout } = useStdout();
|
|
19
14
|
const [size, setSize] = useState({
|
|
20
15
|
columns: stdout?.columns ?? 80,
|
|
@@ -50,6 +45,26 @@ export function useTerminalSize() {
|
|
|
50
45
|
clearTimeout(debounceRef.current);
|
|
51
46
|
};
|
|
52
47
|
}, [stdout, onResize]);
|
|
53
|
-
|
|
48
|
+
const value = React.useMemo(() => ({ ...size, resizeKey }), [size, resizeKey]);
|
|
49
|
+
return React.createElement(TerminalSizeContext.Provider, { value }, children);
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Returns { columns, rows, resizeKey } from the nearest TerminalSizeProvider.
|
|
53
|
+
*
|
|
54
|
+
* `columns` and `rows` update immediately on every resize event so layout
|
|
55
|
+
* stays responsive while the user drags.
|
|
56
|
+
*
|
|
57
|
+
* `resizeKey` increments once after resize events settle (300ms debounce).
|
|
58
|
+
* Use it as a React `key` on the root content wrapper to force a full
|
|
59
|
+
* remount — this is the only reliable way to make Ink re-render <Static>
|
|
60
|
+
* content that was already printed to scrollback and got corrupted by
|
|
61
|
+
* terminal text reflow.
|
|
62
|
+
*/
|
|
63
|
+
export function useTerminalSize() {
|
|
64
|
+
const ctx = useContext(TerminalSizeContext);
|
|
65
|
+
if (!ctx) {
|
|
66
|
+
throw new Error("useTerminalSize must be used within a <TerminalSizeProvider>");
|
|
67
|
+
}
|
|
68
|
+
return ctx;
|
|
54
69
|
}
|
|
55
70
|
//# sourceMappingURL=useTerminalSize.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTerminalSize.js","sourceRoot":"","sources":["../../../src/ui/hooks/useTerminalSize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"useTerminalSize.js","sourceRoot":"","sources":["../../../src/ui/hooks/useTerminalSize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACnG,OAAO,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AAQhC,MAAM,mBAAmB,GAAG,aAAa,CAA2B,IAAI,CAAC,CAAC;AAE1E;;;;;;;GAOG;AACH,MAAM,UAAU,oBAAoB,CAAC,EAAE,QAAQ,EAAiC;IAC9E,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,EAAE,CAAC;IAC/B,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC;QAC/B,OAAO,EAAE,MAAM,EAAE,OAAO,IAAI,EAAE;QAC9B,IAAI,EAAE,MAAM,EAAE,IAAI,IAAI,EAAE;KACzB,CAAC,CAAC;IACH,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC9C,MAAM,WAAW,GAAG,MAAM,CAAuC,IAAI,CAAC,CAAC;IAEvE,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;QAChC,IAAI,CAAC,MAAM;YAAE,OAAO;QAEpB,sDAAsD;QACtD,OAAO,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC;QAEpE,yEAAyE;QACzE,IAAI,WAAW,CAAC,OAAO;YAAE,YAAY,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC3D,WAAW,CAAC,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;YACpC,qEAAqE;YACrE,sEAAsE;YACtE,iBAAiB;YACjB,MAAM,CAAC,KAAK,CACV,SAAS,GAAG,uBAAuB;gBACjC,SAAS,GAAG,0BAA0B;gBACtC,QAAQ,CACX,CAAC;YACF,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC7B,CAAC,EAAE,GAAG,CAAC,CAAC;IACV,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC9B,OAAO,GAAG,EAAE;YACV,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAC/B,IAAI,WAAW,CAAC,OAAO;gBAAE,YAAY,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC7D,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEvB,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;IAE/E,OAAO,KAAK,CAAC,aAAa,CAAC,mBAAmB,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,EAAE,QAAQ,CAAC,CAAC;AAChF,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,eAAe;IAC7B,MAAM,GAAG,GAAG,UAAU,CAAC,mBAAmB,CAAC,CAAC;IAC5C,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;IAClF,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
|
package/dist/ui/render.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../src/ui/render.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACzE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAO,KAAK,aAAa,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../src/ui/render.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACzE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAO,KAAK,aAAa,EAAE,MAAM,UAAU,CAAC;AAMnD,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,QAAQ,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IAClC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC3D,iBAAiB,CAAC,EAAE,QAAQ,EAAE,CAAC;IAC/B,qBAAqB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACpF,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAED,wBAAsB,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAkFtE"}
|
package/dist/ui/render.js
CHANGED
|
@@ -4,13 +4,14 @@ import { App } from "./App.js";
|
|
|
4
4
|
import { ThemeContext, loadTheme } from "./theme/theme.js";
|
|
5
5
|
import { detectTheme } from "./theme/detect-theme.js";
|
|
6
6
|
import { AnimationProvider } from "./components/AnimationContext.js";
|
|
7
|
+
import { TerminalSizeProvider } from "./hooks/useTerminalSize.js";
|
|
7
8
|
export async function renderApp(config) {
|
|
8
9
|
const themeSetting = config.theme ?? "auto";
|
|
9
10
|
const resolvedTheme = themeSetting === "auto" ? await detectTheme() : themeSetting;
|
|
10
11
|
const theme = loadTheme(resolvedTheme);
|
|
11
12
|
// Clear screen + scrollback so old commands don't appear above the TUI
|
|
12
13
|
process.stdout.write("\x1b[2J\x1b[3J\x1b[H");
|
|
13
|
-
const { waitUntilExit, clear } = render(React.createElement(ThemeContext.Provider, { value: theme }, React.createElement(AnimationProvider, null, React.createElement(App, {
|
|
14
|
+
const { waitUntilExit, clear } = render(React.createElement(ThemeContext.Provider, { value: theme }, React.createElement(TerminalSizeProvider, null, React.createElement(AnimationProvider, null, React.createElement(App, {
|
|
14
15
|
provider: config.provider,
|
|
15
16
|
model: config.model,
|
|
16
17
|
tools: config.tools,
|
|
@@ -35,7 +36,7 @@ export async function renderApp(config) {
|
|
|
35
36
|
settingsFile: config.settingsFile,
|
|
36
37
|
mcpManager: config.mcpManager,
|
|
37
38
|
authStorage: config.authStorage,
|
|
38
|
-
}))), {
|
|
39
|
+
})))), {
|
|
39
40
|
// Enable kitty keyboard protocol so terminals that support it can
|
|
40
41
|
// distinguish Shift+Enter from Enter (needed for multiline input).
|
|
41
42
|
// Terminals without support gracefully ignore this.
|
package/dist/ui/render.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/ui/render.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAM7B,OAAO,EAAE,GAAG,EAAsB,MAAM,UAAU,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/ui/render.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kenkaiiii/ggcoder",
|
|
3
|
-
"version": "4.2.
|
|
3
|
+
"version": "4.2.41",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "CLI coding agent with OAuth authentication for Anthropic and OpenAI",
|
|
6
6
|
"license": "MIT",
|
|
@@ -36,8 +36,8 @@
|
|
|
36
36
|
"string-width": "^8.2.0",
|
|
37
37
|
"wrap-ansi": "^10.0.0",
|
|
38
38
|
"zod": "^4.3.6",
|
|
39
|
-
"@kenkaiiii/gg-agent": "4.2.
|
|
40
|
-
"@kenkaiiii/gg-ai": "4.2.
|
|
39
|
+
"@kenkaiiii/gg-agent": "4.2.41",
|
|
40
|
+
"@kenkaiiii/gg-ai": "4.2.41"
|
|
41
41
|
},
|
|
42
42
|
"devDependencies": {
|
|
43
43
|
"@types/node": "^25.5.0",
|