@kenkaiiii/ggcoder 4.12.2 → 4.13.1

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.
Files changed (51) hide show
  1. package/dist/app-sidecar.js +158 -35
  2. package/dist/app-sidecar.js.map +1 -1
  3. package/dist/core/mcp/client.d.ts.map +1 -1
  4. package/dist/core/mcp/client.js +11 -2
  5. package/dist/core/mcp/client.js.map +1 -1
  6. package/dist/core/mcp/defaults.d.ts.map +1 -1
  7. package/dist/core/mcp/defaults.js +5 -0
  8. package/dist/core/mcp/defaults.js.map +1 -1
  9. package/dist/core/mcp/resolve-stdio.d.ts +27 -0
  10. package/dist/core/mcp/resolve-stdio.d.ts.map +1 -0
  11. package/dist/core/mcp/resolve-stdio.js +149 -0
  12. package/dist/core/mcp/resolve-stdio.js.map +1 -0
  13. package/dist/core/mcp/resolve-stdio.test.d.ts +2 -0
  14. package/dist/core/mcp/resolve-stdio.test.d.ts.map +1 -0
  15. package/dist/core/mcp/resolve-stdio.test.js +63 -0
  16. package/dist/core/mcp/resolve-stdio.test.js.map +1 -0
  17. package/dist/core/radio.d.ts +7 -2
  18. package/dist/core/radio.d.ts.map +1 -1
  19. package/dist/core/radio.js.map +1 -1
  20. package/dist/system-prompt.d.ts.map +1 -1
  21. package/dist/system-prompt.js +9 -4
  22. package/dist/system-prompt.js.map +1 -1
  23. package/dist/system-prompt.test.js +2 -2
  24. package/dist/system-prompt.test.js.map +1 -1
  25. package/dist/tools/bash.d.ts.map +1 -1
  26. package/dist/tools/bash.js +10 -2
  27. package/dist/tools/bash.js.map +1 -1
  28. package/dist/tools/code-skeleton.d.ts +29 -0
  29. package/dist/tools/code-skeleton.d.ts.map +1 -0
  30. package/dist/tools/code-skeleton.js +115 -0
  31. package/dist/tools/code-skeleton.js.map +1 -0
  32. package/dist/tools/code-skeleton.test.d.ts +2 -0
  33. package/dist/tools/code-skeleton.test.d.ts.map +1 -0
  34. package/dist/tools/code-skeleton.test.js +115 -0
  35. package/dist/tools/code-skeleton.test.js.map +1 -0
  36. package/dist/tools/compress-integration.test.d.ts +2 -0
  37. package/dist/tools/compress-integration.test.d.ts.map +1 -0
  38. package/dist/tools/compress-integration.test.js +59 -0
  39. package/dist/tools/compress-integration.test.js.map +1 -0
  40. package/dist/tools/compress.d.ts +57 -0
  41. package/dist/tools/compress.d.ts.map +1 -0
  42. package/dist/tools/compress.js +181 -0
  43. package/dist/tools/compress.js.map +1 -0
  44. package/dist/tools/compress.test.d.ts +2 -0
  45. package/dist/tools/compress.test.d.ts.map +1 -0
  46. package/dist/tools/compress.test.js +60 -0
  47. package/dist/tools/compress.test.js.map +1 -0
  48. package/dist/tools/task-output.d.ts.map +1 -1
  49. package/dist/tools/task-output.js +13 -3
  50. package/dist/tools/task-output.js.map +1 -1
  51. package/package.json +5 -4
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compress.js","sourceRoot":"","sources":["../../src/tools/compress.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=compress.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compress.test.d.ts","sourceRoot":"","sources":["../../src/tools/compress.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,60 @@
1
+ import { describe, it, expect } from "vitest";
2
+ import { compressOutput } from "./compress.js";
3
+ describe("compressOutput", () => {
4
+ it("leaves small output untouched", () => {
5
+ const small = "line one\nline two\nline three";
6
+ const r = compressOutput(small);
7
+ expect(r.strategy).toBe("none");
8
+ expect(r.content).toBe(small);
9
+ });
10
+ it("keeps a FATAL line buried in the middle of a huge log", () => {
11
+ const lines = [];
12
+ for (let i = 0; i < 5000; i++) {
13
+ if (i === 2600)
14
+ lines.push("ERROR FATAL: heap allocation failed at chunk 8821");
15
+ else
16
+ lines.push(`INFO compiled module ${i} ok`);
17
+ }
18
+ const r = compressOutput(lines.join("\n"));
19
+ expect(r.strategy).toBe("log");
20
+ expect(r.content).toContain("FATAL: heap allocation failed at chunk 8821");
21
+ expect(r.compressedTokens).toBeLessThan(r.originalTokens * 0.2);
22
+ });
23
+ it("collapses repeated runs into a count", () => {
24
+ const lines = ["start"];
25
+ for (let i = 0; i < 200; i++)
26
+ lines.push("WARN retry: Connection refused: postgres:5432");
27
+ lines.push("ERROR giving up after 200 attempts");
28
+ const r = compressOutput(lines.join("\n"));
29
+ expect(r.content).toContain("Connection refused: postgres:5432");
30
+ expect(r.content).toContain("giving up after 200 attempts");
31
+ expect(r.content).toMatch(/×\d+/);
32
+ });
33
+ it("summarises a long JSON array but keeps shape and early matches", () => {
34
+ const matches = [];
35
+ for (let i = 0; i < 412; i++) {
36
+ matches.push({ path: i === 3 ? "src/core/auth.ts" : `src/gen/file-${i}.ts`, line: i });
37
+ }
38
+ const r = compressOutput(JSON.stringify({ total: 412, matches }, null, 2));
39
+ expect(r.strategy).toBe("json");
40
+ expect(r.content).toContain('"total": 412');
41
+ expect(r.content).toContain("src/core/auth.ts");
42
+ expect(r.content).toMatch(/more of 412 items omitted/);
43
+ expect(r.compressedTokens).toBeLessThan(r.originalTokens * 0.5);
44
+ });
45
+ it("preserves the failing assertion among thousands of passes", () => {
46
+ const lines = [];
47
+ for (let i = 0; i < 2000; i++) {
48
+ if (i === 1450) {
49
+ lines.push("✗ user-auth › rejects expired token");
50
+ lines.push(" AssertionError: Expected 401 but received 200");
51
+ }
52
+ else
53
+ lines.push(`✓ case ${i}`);
54
+ }
55
+ const r = compressOutput(lines.join("\n"));
56
+ expect(r.content).toContain("rejects expired token");
57
+ expect(r.content).toContain("Expected 401 but received 200");
58
+ });
59
+ });
60
+ //# sourceMappingURL=compress.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compress.test.js","sourceRoot":"","sources":["../../src/tools/compress.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"task-output.d.ts","sourceRoot":"","sources":["../../src/tools/task-output.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAGjE,QAAA,MAAM,gBAAgB;;;iBAMpB,CAAC;AAEH,wBAAgB,oBAAoB,CAClC,cAAc,EAAE,cAAc,GAC7B,SAAS,CAAC,OAAO,gBAAgB,CAAC,CAyBpC"}
1
+ {"version":3,"file":"task-output.d.ts","sourceRoot":"","sources":["../../src/tools/task-output.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAKjE,QAAA,MAAM,gBAAgB;;;iBAMpB,CAAC;AAEH,wBAAgB,oBAAoB,CAClC,cAAc,EAAE,cAAc,GAC7B,SAAS,CAAC,OAAO,gBAAgB,CAAC,CAgCpC"}
@@ -1,5 +1,7 @@
1
1
  import { z } from "zod";
2
2
  import { truncateTail } from "./truncate.js";
3
+ import { compressToolOutput } from "./compress.js";
4
+ import { writeOverflow } from "./overflow.js";
3
5
  const TaskOutputParams = z.object({
4
6
  id: z.string().describe("The background process ID"),
5
7
  from_start: z
@@ -19,9 +21,17 @@ export function createTaskOutputTool(processManager) {
19
21
  let output = result.output;
20
22
  if (output) {
21
23
  const truncated = truncateTail(output);
22
- output = truncated.truncated
23
- ? `[Truncated: showing last ${truncated.keptLines} of ${truncated.totalLines} lines]\n${truncated.content}`
24
- : truncated.content;
24
+ if (truncated.truncated) {
25
+ // Over-limit: compress (keeps errors + head/tail) rather than a blind
26
+ // tail slice; overflow file preserves the full original.
27
+ const overflowPath = await writeOverflow(output, "task-output").catch(() => null);
28
+ const overflowNotice = overflowPath ? ` Full output: ${overflowPath}` : "";
29
+ const c = compressToolOutput(output);
30
+ output = `[${c.notice}${overflowNotice}]\n${c.content}`;
31
+ }
32
+ else {
33
+ output = truncated.content;
34
+ }
25
35
  }
26
36
  else {
27
37
  output = "(no new output)";
@@ -1 +1 @@
1
- {"version":3,"file":"task-output.js","sourceRoot":"","sources":["../../src/tools/task-output.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;IACpD,UAAU,EAAE,CAAC;SACV,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,QAAQ,CAAC,kEAAkE,CAAC;CAChF,CAAC,CAAC;AAEH,MAAM,UAAU,oBAAoB,CAClC,cAA8B;IAE9B,OAAO;QACL,IAAI,EAAE,aAAa;QACnB,WAAW,EACT,wFAAwF;YACxF,iDAAiD;QACnD,UAAU,EAAE,gBAAgB;QAC5B,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE;YAC9B,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,UAAU,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;YAE/D,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,gBAAgB,MAAM,CAAC,QAAQ,GAAG,CAAC;YAEjF,IAAI,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;YAC3B,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;gBACvC,MAAM,GAAG,SAAS,CAAC,SAAS;oBAC1B,CAAC,CAAC,4BAA4B,SAAS,CAAC,SAAS,OAAO,SAAS,CAAC,UAAU,YAAY,SAAS,CAAC,OAAO,EAAE;oBAC3G,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC;YACxB,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,iBAAiB,CAAC;YAC7B,CAAC;YAED,OAAO,WAAW,EAAE,KAAK,MAAM,KAAK,MAAM,EAAE,CAAC;QAC/C,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"task-output.js","sourceRoot":"","sources":["../../src/tools/task-output.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;IACpD,UAAU,EAAE,CAAC;SACV,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,QAAQ,CAAC,kEAAkE,CAAC;CAChF,CAAC,CAAC;AAEH,MAAM,UAAU,oBAAoB,CAClC,cAA8B;IAE9B,OAAO;QACL,IAAI,EAAE,aAAa;QACnB,WAAW,EACT,wFAAwF;YACxF,iDAAiD;QACnD,UAAU,EAAE,gBAAgB;QAC5B,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE;YAC9B,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,UAAU,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;YAE/D,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,gBAAgB,MAAM,CAAC,QAAQ,GAAG,CAAC;YAEjF,IAAI,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;YAC3B,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;gBACvC,IAAI,SAAS,CAAC,SAAS,EAAE,CAAC;oBACxB,sEAAsE;oBACtE,yDAAyD;oBACzD,MAAM,YAAY,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;oBAClF,MAAM,cAAc,GAAG,YAAY,CAAC,CAAC,CAAC,iBAAiB,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC3E,MAAM,CAAC,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;oBACrC,MAAM,GAAG,IAAI,CAAC,CAAC,MAAM,GAAG,cAAc,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC;gBAC1D,CAAC;qBAAM,CAAC;oBACN,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC;gBAC7B,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,iBAAiB,CAAC;YAC7B,CAAC;YAED,OAAO,WAAW,EAAE,KAAK,MAAM,KAAK,MAAM,EAAE,CAAC;QAC/C,CAAC;KACF,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kenkaiiii/ggcoder",
3
- "version": "4.12.2",
3
+ "version": "4.13.1",
4
4
  "type": "module",
5
5
  "description": "CLI coding agent with OAuth authentication for Anthropic, OpenAI, and Gemini",
6
6
  "license": "MIT",
@@ -92,6 +92,7 @@
92
92
  "dependencies": {
93
93
  "@jridgewell/trace-mapping": "^0.3.25",
94
94
  "@kenkaiiii/agent-home-sdk": "^0.3.8",
95
+ "@kenkaiiii/kencode-search": "^0.1.17",
95
96
  "@modelcontextprotocol/sdk": "^1.29.0",
96
97
  "ansi-regex": "^6.2.2",
97
98
  "chalk": "^5.6.2",
@@ -112,9 +113,9 @@
112
113
  "typescript-language-server": "^5.3.0",
113
114
  "wrap-ansi": "^10.0.0",
114
115
  "zod": "^4.4.3",
115
- "@kenkaiiii/gg-agent": "4.12.2",
116
- "@kenkaiiii/gg-ai": "4.12.2",
117
- "@kenkaiiii/gg-core": "4.12.2",
116
+ "@kenkaiiii/gg-agent": "4.13.1",
117
+ "@kenkaiiii/gg-core": "4.13.1",
118
+ "@kenkaiiii/gg-ai": "4.13.1",
118
119
  "@kenkaiiii/gg-pixel": "4.3.101"
119
120
  },
120
121
  "optionalDependencies": {