@kenkaiiii/ggcoder 4.2.5 → 4.2.6
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/ui/components/Banner.d.ts.map +1 -1
- package/dist/ui/components/Banner.js +1 -1
- package/dist/ui/components/Banner.js.map +1 -1
- package/dist/ui/components/UserMessage.d.ts.map +1 -1
- package/dist/ui/components/UserMessage.js +3 -3
- package/dist/ui/components/UserMessage.js.map +1 -1
- package/dist/utils/image.d.ts +3 -0
- package/dist/utils/image.d.ts.map +1 -1
- package/dist/utils/image.js +28 -10
- package/dist/utils/image.js.map +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Banner.d.ts","sourceRoot":"","sources":["../../../src/ui/components/Banner.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEjD,UAAU,WAAW;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,QAAQ,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA0BD,wBAAgB,MAAM,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"Banner.d.ts","sourceRoot":"","sources":["../../../src/ui/components/Banner.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEjD,UAAU,WAAW;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,QAAQ,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA0BD,wBAAgB,MAAM,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,WAAW,2CAgDrE"}
|
|
@@ -34,7 +34,7 @@ export function Banner({ version, model, cwd, taskCount }) {
|
|
|
34
34
|
// into Ink's Static area. Animating here would waste CPU and could cause
|
|
35
35
|
// visual duplicates on terminal resize.
|
|
36
36
|
const shift = 0;
|
|
37
|
-
return (_jsxs(Box, { flexDirection: "column", marginTop: 1, marginBottom: 1, children: [_jsxs(Box, { children: [_jsx(GradientText, { text: LOGO_LINES[0], shift: shift }), _jsx(Text, { children: GAP }), _jsx(Text, { color: theme.primary, bold: true, children: "GG Coder" }), _jsxs(Text, { color: theme.textDim, children: [" v", version] })
|
|
37
|
+
return (_jsxs(Box, { flexDirection: "column", marginTop: 1, marginBottom: 1, children: [_jsxs(Box, { children: [_jsx(GradientText, { text: LOGO_LINES[0], shift: shift }), _jsx(Text, { children: GAP }), _jsx(Text, { color: theme.primary, bold: true, children: "GG Coder" }), _jsxs(Text, { color: theme.textDim, children: [" v", version] }), _jsx(Text, { color: theme.textDim, children: " \u00B7 By " }), _jsx(Text, { color: theme.text, bold: true, children: "Ken Kai" })] }), _jsxs(Box, { children: [_jsx(GradientText, { text: LOGO_LINES[1], shift: shift }), _jsx(Text, { children: GAP }), _jsx(Text, { color: theme.secondary, children: modelName }), _jsx(Text, { color: theme.textDim, children: " " }), _jsx(Text, { color: theme.primary, children: "Shift+`" }), _jsx(Text, { color: theme.textDim, children: " tasks" }), taskCount !== undefined && taskCount > 0 && (_jsxs(Text, { color: theme.secondary, children: [" (", taskCount, ")"] })), _jsx(Text, { color: theme.textDim, children: " " }), _jsx(Text, { color: theme.primary, children: "Shift+Tab" }), _jsx(Text, { color: theme.textDim, children: " thinking" })] }), _jsxs(Box, { children: [_jsx(GradientText, { text: LOGO_LINES[2], shift: shift }), _jsx(Text, { children: GAP }), _jsx(Text, { color: theme.textDim, children: displayPath })] })] }));
|
|
38
38
|
}
|
|
39
39
|
function GradientText({ text, shift = 0 }) {
|
|
40
40
|
const chars = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Banner.js","sourceRoot":"","sources":["../../../src/ui/components/Banner.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAWxD,MAAM,UAAU,GAAG;IACjB,oDAAoD;IACpD,0CAA0C;IAC1C,oDAAoD;CACrD,CAAC;AAEF,gEAAgE;AAChE,MAAM,QAAQ,GAAG;IACf,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;CACV,CAAC;AAEF,MAAM,GAAG,GAAG,KAAK,CAAC;AAElB,MAAM,UAAU,MAAM,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAe;IACpE,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClC,MAAM,SAAS,GAAG,SAAS,EAAE,IAAI,IAAI,KAAK,CAAC;IAE3C,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;IACpC,MAAM,WAAW,GAAG,IAAI,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAEtF,0EAA0E;IAC1E,yEAAyE;IACzE,wCAAwC;IACxC,MAAM,KAAK,GAAG,CAAC,CAAC;IAEhB,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,SAAS,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,aACvD,MAAC,GAAG,eACF,KAAC,YAAY,IAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,GAAI,EACnD,KAAC,IAAI,cAAE,GAAG,GAAQ,EAClB,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,+BAEzB,EACP,MAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,OAAO,mBAAK,OAAO,IAAQ,
|
|
1
|
+
{"version":3,"file":"Banner.js","sourceRoot":"","sources":["../../../src/ui/components/Banner.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserMessage.d.ts","sourceRoot":"","sources":["../../../src/ui/components/UserMessage.tsx"],"names":[],"mappings":"AAIA,wBAAgB,WAAW,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"UserMessage.d.ts","sourceRoot":"","sources":["../../../src/ui/components/UserMessage.tsx"],"names":[],"mappings":"AAIA,wBAAgB,WAAW,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,2CAuBtF"}
|
|
@@ -4,8 +4,8 @@ import { Text, Box } from "ink";
|
|
|
4
4
|
import { useTheme } from "../theme/theme.js";
|
|
5
5
|
export function UserMessage({ text, imageCount }) {
|
|
6
6
|
const theme = useTheme();
|
|
7
|
-
return (_jsx(Box, { marginTop: 1, flexDirection: "column", children:
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
return (_jsx(Box, { marginTop: 1, flexDirection: "column", children: _jsx(Box, { paddingX: 1, paddingY: 0, children: _jsxs(Text, { wrap: "wrap", color: "white", backgroundColor: "gray", children: [_jsx(Text, { color: theme.inputPrompt, backgroundColor: "gray", children: "❯ " }), text, imageCount != null &&
|
|
8
|
+
imageCount > 0 &&
|
|
9
|
+
Array.from({ length: imageCount }, (_, i) => (_jsxs(Text, { color: theme.accent, backgroundColor: "gray", children: [" ", "[Image #", i + 1, "]"] }, i)))] }) }) }));
|
|
10
10
|
}
|
|
11
11
|
//# sourceMappingURL=UserMessage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserMessage.js","sourceRoot":"","sources":["../../../src/ui/components/UserMessage.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,MAAM,UAAU,WAAW,CAAC,EAAE,IAAI,EAAE,UAAU,EAAyC;IACrF,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IAEzB,OAAO,CACL,KAAC,GAAG,IAAC,SAAS,EAAE,CAAC,EAAE,aAAa,EAAC,QAAQ,YACvC,
|
|
1
|
+
{"version":3,"file":"UserMessage.js","sourceRoot":"","sources":["../../../src/ui/components/UserMessage.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,MAAM,UAAU,WAAW,CAAC,EAAE,IAAI,EAAE,UAAU,EAAyC;IACrF,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IAEzB,OAAO,CACL,KAAC,GAAG,IAAC,SAAS,EAAE,CAAC,EAAE,aAAa,EAAC,QAAQ,YACvC,KAAC,GAAG,IAAC,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,YAC3B,MAAC,IAAI,IAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,OAAO,EAAC,eAAe,EAAC,MAAM,aACpD,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE,eAAe,EAAC,MAAM,YACnD,IAAI,GACA,EACN,IAAI,EACJ,UAAU,IAAI,IAAI;wBACjB,UAAU,GAAG,CAAC;wBACd,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAC3C,MAAC,IAAI,IAAS,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,eAAe,EAAC,MAAM,aACtD,GAAG,cACK,CAAC,GAAG,CAAC,UAFL,CAAC,CAGL,CACR,CAAC,IACC,GACH,GACF,CACP,CAAC;AACJ,CAAC"}
|
package/dist/utils/image.d.ts
CHANGED
|
@@ -12,6 +12,9 @@ export declare function isAttachablePath(filePath: string): boolean;
|
|
|
12
12
|
/**
|
|
13
13
|
* Extract attachable file paths from input text by checking if tokens resolve
|
|
14
14
|
* to existing files on disk. Returns verified paths and the remaining text.
|
|
15
|
+
*
|
|
16
|
+
* Only tokens that look like explicit paths (contain `/`, `~`, `\`, or `file://`)
|
|
17
|
+
* are considered. Bare filenames like "readme.md" are left as text.
|
|
15
18
|
*/
|
|
16
19
|
export declare function extractImagePaths(text: string, cwd: string): Promise<{
|
|
17
20
|
imagePaths: string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image.d.ts","sourceRoot":"","sources":["../../src/utils/image.ts"],"names":[],"mappings":"AAiBA,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,kEAAkE;AAClE,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAGrD;AAED,yEAAyE;AACzE,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAG1D;
|
|
1
|
+
{"version":3,"file":"image.d.ts","sourceRoot":"","sources":["../../src/utils/image.ts"],"names":[],"mappings":"AAiBA,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,kEAAkE;AAClE,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAGrD;AAED,yEAAyE;AACzE,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAG1D;AAyCD;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,GACV,OAAO,CAAC;IAAE,UAAU,EAAE,MAAM,EAAE,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,CA2BtD;AAWD,yFAAyF;AACzF,wBAAsB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAwB9E;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAgDnE"}
|
package/dist/utils/image.js
CHANGED
|
@@ -44,30 +44,48 @@ function resolvePath(filePath, cwd) {
|
|
|
44
44
|
}
|
|
45
45
|
return resolved;
|
|
46
46
|
}
|
|
47
|
+
/**
|
|
48
|
+
* Check if a token looks like an intentional file path rather than a bare filename
|
|
49
|
+
* mentioned in conversation. Bare names like "claude.md" should not be auto-attached;
|
|
50
|
+
* only explicit paths like "./claude.md", "/tmp/file.md", "~/notes.md", etc.
|
|
51
|
+
*/
|
|
52
|
+
function looksLikePath(token) {
|
|
53
|
+
const stripped = token.replace(/^['"]|['"]$/g, "");
|
|
54
|
+
return (stripped.includes("/") ||
|
|
55
|
+
stripped.includes("\\") ||
|
|
56
|
+
stripped.startsWith("~") ||
|
|
57
|
+
stripped.startsWith("file://"));
|
|
58
|
+
}
|
|
47
59
|
/**
|
|
48
60
|
* Extract attachable file paths from input text by checking if tokens resolve
|
|
49
61
|
* to existing files on disk. Returns verified paths and the remaining text.
|
|
62
|
+
*
|
|
63
|
+
* Only tokens that look like explicit paths (contain `/`, `~`, `\`, or `file://`)
|
|
64
|
+
* are considered. Bare filenames like "readme.md" are left as text.
|
|
50
65
|
*/
|
|
51
66
|
export async function extractImagePaths(text, cwd) {
|
|
52
67
|
const imagePaths = [];
|
|
53
68
|
const cleanParts = [];
|
|
54
|
-
// Try the entire input as a single path first
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
69
|
+
// Try the entire input as a single path first (only if it looks like a path)
|
|
70
|
+
if (looksLikePath(text)) {
|
|
71
|
+
const wholePath = resolvePath(text, cwd);
|
|
72
|
+
if (isAttachablePath(wholePath) && (await fileExists(wholePath))) {
|
|
73
|
+
return { imagePaths: [wholePath], cleanText: "" };
|
|
74
|
+
}
|
|
58
75
|
}
|
|
59
76
|
// Split on unescaped whitespace (respect backslash-escaped spaces like "file\ name.png")
|
|
60
77
|
const tokens = text.match(/(?:[^\s\\]|\\.)+/g) ?? [];
|
|
61
78
|
for (const token of tokens) {
|
|
62
79
|
if (!token)
|
|
63
80
|
continue;
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
81
|
+
if (looksLikePath(token)) {
|
|
82
|
+
const resolved = resolvePath(token, cwd);
|
|
83
|
+
if (isAttachablePath(resolved) && (await fileExists(resolved))) {
|
|
84
|
+
imagePaths.push(resolved);
|
|
85
|
+
continue;
|
|
86
|
+
}
|
|
70
87
|
}
|
|
88
|
+
cleanParts.push(token);
|
|
71
89
|
}
|
|
72
90
|
return { imagePaths, cleanText: cleanParts.join(" ") };
|
|
73
91
|
}
|
package/dist/utils/image.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image.js","sourceRoot":"","sources":["../../src/utils/image.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;AACrF,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;AACjD,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,gBAAgB,EAAE,GAAG,eAAe,CAAC,CAAC,CAAC;AAEjF,MAAM,WAAW,GAA2B;IAC1C,MAAM,EAAE,WAAW;IACnB,MAAM,EAAE,YAAY;IACpB,OAAO,EAAE,YAAY;IACrB,MAAM,EAAE,WAAW;IACnB,OAAO,EAAE,YAAY;IACrB,MAAM,EAAE,WAAW;CACpB,CAAC;AAUF,kEAAkE;AAClE,MAAM,UAAU,WAAW,CAAC,QAAgB;IAC1C,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;IACjD,OAAO,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACnC,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,gBAAgB,CAAC,QAAgB;IAC/C,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;IACjD,OAAO,qBAAqB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACxC,CAAC;AAED,SAAS,WAAW,CAAC,QAAgB,EAAE,GAAW;IAChD,IAAI,QAAQ,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC/B,2BAA2B;IAC3B,IACE,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACpD,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EACpD,CAAC;QACD,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACnC,CAAC;IACD,uBAAuB;IACvB,IAAI,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QACnC,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC/B,CAAC;IACD,0DAA0D;IAC1D,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC5C,mBAAmB;IACnB,IAAI,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9B,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACnE,CAAC;SAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IACtC,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"image.js","sourceRoot":"","sources":["../../src/utils/image.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.6",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "CLI coding agent with OAuth authentication for Anthropic and OpenAI",
|
|
6
6
|
"license": "MIT",
|
|
@@ -35,8 +35,8 @@
|
|
|
35
35
|
"string-width": "^8.2.0",
|
|
36
36
|
"wrap-ansi": "^10.0.0",
|
|
37
37
|
"zod": "^4.3.6",
|
|
38
|
-
"@kenkaiiii/gg-agent": "4.2.
|
|
39
|
-
"@kenkaiiii/gg-ai": "4.2.
|
|
38
|
+
"@kenkaiiii/gg-agent": "4.2.6",
|
|
39
|
+
"@kenkaiiii/gg-ai": "4.2.6"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
42
42
|
"@types/node": "^25.3.5",
|