@kenkaiiii/ggcoder 4.3.206 → 4.3.208

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 (80) hide show
  1. package/dist/cli.js +10 -7
  2. package/dist/cli.js.map +1 -1
  3. package/dist/core/goal-controller.js +13 -13
  4. package/dist/core/goal-controller.js.map +1 -1
  5. package/dist/core/goal-controller.test.js +54 -12
  6. package/dist/core/goal-controller.test.js.map +1 -1
  7. package/dist/core/goal-worker-dev-server-lifecycle.test.d.ts +2 -0
  8. package/dist/core/goal-worker-dev-server-lifecycle.test.d.ts.map +1 -0
  9. package/dist/core/goal-worker-dev-server-lifecycle.test.js +68 -0
  10. package/dist/core/goal-worker-dev-server-lifecycle.test.js.map +1 -0
  11. package/dist/core/goal-worker.d.ts +7 -3
  12. package/dist/core/goal-worker.d.ts.map +1 -1
  13. package/dist/core/goal-worker.js +15 -5
  14. package/dist/core/goal-worker.js.map +1 -1
  15. package/dist/core/goal-worker.test.js +19 -1
  16. package/dist/core/goal-worker.test.js.map +1 -1
  17. package/dist/core/model-registry.test.js +51 -1
  18. package/dist/core/model-registry.test.js.map +1 -1
  19. package/dist/core/process-manager-dev-server-repro.test.d.ts +2 -0
  20. package/dist/core/process-manager-dev-server-repro.test.d.ts.map +1 -0
  21. package/dist/core/process-manager-dev-server-repro.test.js +100 -0
  22. package/dist/core/process-manager-dev-server-repro.test.js.map +1 -0
  23. package/dist/core/process-manager.js +2 -2
  24. package/dist/core/process-manager.js.map +1 -1
  25. package/dist/core/prompt-commands.d.ts.map +1 -1
  26. package/dist/core/prompt-commands.js +2 -1
  27. package/dist/core/prompt-commands.js.map +1 -1
  28. package/dist/core/prompt-commands.test.js +2 -0
  29. package/dist/core/prompt-commands.test.js.map +1 -1
  30. package/dist/core/repomap.js +8 -1
  31. package/dist/core/repomap.js.map +1 -1
  32. package/dist/core/repomap.test.js +32 -0
  33. package/dist/core/repomap.test.js.map +1 -1
  34. package/dist/system-prompt.d.ts.map +1 -1
  35. package/dist/system-prompt.js +1 -0
  36. package/dist/system-prompt.js.map +1 -1
  37. package/dist/tools/edit.d.ts.map +1 -1
  38. package/dist/tools/edit.js +22 -12
  39. package/dist/tools/edit.js.map +1 -1
  40. package/dist/tools/edit.test.js +29 -6
  41. package/dist/tools/edit.test.js.map +1 -1
  42. package/dist/ui/App.d.ts +39 -4
  43. package/dist/ui/App.d.ts.map +1 -1
  44. package/dist/ui/App.js +216 -147
  45. package/dist/ui/App.js.map +1 -1
  46. package/dist/ui/app-state-persistence.test.js +80 -6
  47. package/dist/ui/app-state-persistence.test.js.map +1 -1
  48. package/dist/ui/components/GoalOverlay.d.ts +54 -1
  49. package/dist/ui/components/GoalOverlay.d.ts.map +1 -1
  50. package/dist/ui/components/GoalOverlay.js +392 -53
  51. package/dist/ui/components/GoalOverlay.js.map +1 -1
  52. package/dist/ui/components/InputArea.d.ts.map +1 -1
  53. package/dist/ui/components/InputArea.js +38 -1
  54. package/dist/ui/components/InputArea.js.map +1 -1
  55. package/dist/ui/components/InputArea.test.d.ts +2 -0
  56. package/dist/ui/components/InputArea.test.d.ts.map +1 -0
  57. package/dist/ui/components/InputArea.test.js +79 -0
  58. package/dist/ui/components/InputArea.test.js.map +1 -0
  59. package/dist/ui/components/ToolExecution.d.ts.map +1 -1
  60. package/dist/ui/components/ToolExecution.js +2 -2
  61. package/dist/ui/components/ToolExecution.js.map +1 -1
  62. package/dist/ui/goal-events.d.ts +88 -1
  63. package/dist/ui/goal-events.d.ts.map +1 -1
  64. package/dist/ui/goal-events.js +249 -28
  65. package/dist/ui/goal-events.js.map +1 -1
  66. package/dist/ui/goal-events.test.js +89 -4
  67. package/dist/ui/goal-events.test.js.map +1 -1
  68. package/dist/ui/goal-overlay.test.js +155 -1
  69. package/dist/ui/goal-overlay.test.js.map +1 -1
  70. package/dist/ui/render.d.ts +3 -1
  71. package/dist/ui/render.d.ts.map +1 -1
  72. package/dist/ui/render.js +2 -0
  73. package/dist/ui/render.js.map +1 -1
  74. package/dist/ui/scroll-stabilization.test.js +49 -2
  75. package/dist/ui/scroll-stabilization.test.js.map +1 -1
  76. package/dist/ui/slash-command-images.test.d.ts +2 -0
  77. package/dist/ui/slash-command-images.test.d.ts.map +1 -0
  78. package/dist/ui/slash-command-images.test.js +47 -0
  79. package/dist/ui/slash-command-images.test.js.map +1 -0
  80. package/package.json +5 -5
@@ -1 +1 @@
1
- {"version":3,"file":"scroll-stabilization.test.js","sourceRoot":"","sources":["../../src/ui/scroll-stabilization.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,8BAA8B,EAAE,MAAM,UAAU,CAAC;AAE1D,QAAQ,CAAC,gCAAgC,EAAE,GAAG,EAAE;IAC9C,EAAE,CAAC,sGAAsG,EAAE,GAAG,EAAE;QAC9G,MAAM,CACJ,8BAA8B,CAAC;YAC7B,cAAc,EAAE,IAAI;YACpB,YAAY,EAAE,IAAI;SACnB,CAAC,CACH,CAAC,OAAO,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qGAAqG,EAAE,GAAG,EAAE;QAC7G,MAAM,CACJ,8BAA8B,CAAC;YAC7B,cAAc,EAAE,KAAK;YACrB,YAAY,EAAE,IAAI;SACnB,CAAC,CACH,CAAC,OAAO,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+DAA+D,EAAE,GAAG,EAAE;QACvE,MAAM,CACJ,8BAA8B,CAAC;YAC7B,cAAc,EAAE,IAAI;YACpB,YAAY,EAAE,KAAK;SACpB,CAAC,CACH,CAAC,OAAO,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"scroll-stabilization.test.js","sourceRoot":"","sources":["../../src/ui/scroll-stabilization.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EACL,8BAA8B,EAC9B,mBAAmB,EACnB,qBAAqB,EACrB,kCAAkC,GACnC,MAAM,UAAU,CAAC;AAElB,QAAQ,CAAC,gCAAgC,EAAE,GAAG,EAAE;IAC9C,EAAE,CAAC,sGAAsG,EAAE,GAAG,EAAE;QAC9G,MAAM,CACJ,8BAA8B,CAAC;YAC7B,cAAc,EAAE,IAAI;YACpB,YAAY,EAAE,IAAI;SACnB,CAAC,CACH,CAAC,OAAO,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sGAAsG,EAAE,GAAG,EAAE;QAC9G,MAAM,CACJ,8BAA8B,CAAC;YAC7B,cAAc,EAAE,KAAK;YACrB,YAAY,EAAE,IAAI;SACnB,CAAC,CACH,CAAC,OAAO,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iGAAiG,EAAE,GAAG,EAAE;QACzG,MAAM,CACJ,8BAA8B,CAAC;YAC7B,cAAc,EAAE,KAAK;YACrB,YAAY,EAAE,IAAI;YAClB,sBAAsB,EAAE,IAAI;SAC7B,CAAC,CACH,CAAC,OAAO,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qEAAqE,EAAE,GAAG,EAAE;QAC7E,MAAM,CACJ,8BAA8B,CAAC;YAC7B,cAAc,EAAE,KAAK;YACrB,YAAY,EAAE,KAAK;YACnB,sBAAsB,EAAE,IAAI;SAC7B,CAAC,CACH,CAAC,OAAO,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wEAAwE,EAAE,GAAG,EAAE;QAChF,MAAM,MAAM,GAAG,8BAA8B,CAAC;YAC5C,cAAc,EAAE,KAAK;YACrB,YAAY,EAAE,IAAI;YAClB,sBAAsB,EAAE,KAAK;SAC9B,CAAC,CAAC;QACH,MAAM,gBAAgB,GAAG,8BAA8B,CAAC;YACtD,cAAc,EAAE,KAAK;YACrB,YAAY,EAAE,IAAI;YAClB,sBAAsB,EAAE,IAAI;SAC7B,CAAC,CAAC;QACH,MAAM,KAAK,GAAG,8BAA8B,CAAC;YAC3C,cAAc,EAAE,KAAK;YACrB,YAAY,EAAE,KAAK;YACnB,sBAAsB,EAAE,KAAK;SAC9B,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1C,MAAM,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnD,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzC,MAAM,CAAC,mBAAmB,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1D,MAAM,CAAC,mBAAmB,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+EAA+E,EAAE,GAAG,EAAE;QACvF,MAAM,CACJ,qBAAqB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CACxF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACb,MAAM,CAAC,qBAAqB,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9D,MAAM,CACJ,qBAAqB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CACvF,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+DAA+D,EAAE,GAAG,EAAE;QACvE,MAAM,CACJ,8BAA8B,CAAC;YAC7B,cAAc,EAAE,IAAI;YACpB,YAAY,EAAE,KAAK;SACpB,CAAC,CACH,CAAC,OAAO,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4FAA4F,EAAE,GAAG,EAAE;QACpG,MAAM,CAAC,kCAAkC,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAC5F,IAAI,CACL,CAAC;QACF,MAAM,CAAC,kCAAkC,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAC5F,IAAI,CACL,CAAC;QACF,MAAM,CACJ,kCAAkC,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CACpF,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACd,MAAM,CAAC,kCAAkC,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAC7F,KAAK,CACN,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=slash-command-images.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slash-command-images.test.d.ts","sourceRoot":"","sources":["../../src/ui/slash-command-images.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,47 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { buildUserContentWithAttachments, routePromptCommandInput } from "./App.js";
3
+ describe("prompt-template slash commands with attachments", () => {
4
+ it("routes /goal input to a full prompt containing the command prompt and user args", () => {
5
+ const route = routePromptCommandInput("/goal do X");
6
+ expect(route).not.toBeNull();
7
+ expect(route?.cmdName).toBe("goal");
8
+ expect(route?.cmdArgs).toBe("do X");
9
+ expect(route?.fullPrompt).toContain(route?.promptText);
10
+ expect(route?.fullPrompt).toContain("## User Instructions");
11
+ expect(route?.fullPrompt).toContain("do X");
12
+ });
13
+ it("builds multimodal user content with the full prompt text and image block", () => {
14
+ const fullPrompt = "Goal command prompt\n\n## User Instructions\n\ndo X";
15
+ const imageAttachment = {
16
+ kind: "image",
17
+ fileName: "screenshot.png",
18
+ filePath: "/tmp/screenshot.png",
19
+ mediaType: "image/png",
20
+ data: "iVBORw0KGgo=",
21
+ };
22
+ const content = buildUserContentWithAttachments(fullPrompt, [imageAttachment], true);
23
+ expect(content).toEqual([
24
+ { type: "text", text: fullPrompt },
25
+ { type: "image", mediaType: "image/png", data: "iVBORw0KGgo=" },
26
+ ]);
27
+ });
28
+ it("wraps text attachments in file-tag text blocks", () => {
29
+ const textAttachment = {
30
+ kind: "text",
31
+ fileName: "notes.txt",
32
+ filePath: "/tmp/notes.txt",
33
+ mediaType: "text/plain",
34
+ data: "important context",
35
+ };
36
+ const content = buildUserContentWithAttachments("Analyze this", [textAttachment], true);
37
+ expect(content).toEqual([
38
+ { type: "text", text: "Analyze this" },
39
+ { type: "text", text: '<file name="notes.txt">\nimportant context\n</file>' },
40
+ ]);
41
+ });
42
+ it("returns the original prompt string when no attachments are provided", () => {
43
+ const fullPrompt = "Goal command prompt\n\n## User Instructions\n\ndo X";
44
+ expect(buildUserContentWithAttachments(fullPrompt, [], true)).toBe(fullPrompt);
45
+ });
46
+ });
47
+ //# sourceMappingURL=slash-command-images.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slash-command-images.test.js","sourceRoot":"","sources":["../../src/ui/slash-command-images.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE9C,OAAO,EAAE,+BAA+B,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAEpF,QAAQ,CAAC,iDAAiD,EAAE,GAAG,EAAE;IAC/D,EAAE,CAAC,iFAAiF,EAAE,GAAG,EAAE;QACzF,MAAM,KAAK,GAAG,uBAAuB,CAAC,YAAY,CAAC,CAAC;QAEpD,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC7B,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpC,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QACvD,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC;QAC5D,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0EAA0E,EAAE,GAAG,EAAE;QAClF,MAAM,UAAU,GAAG,qDAAqD,CAAC;QACzE,MAAM,eAAe,GAAoB;YACvC,IAAI,EAAE,OAAO;YACb,QAAQ,EAAE,gBAAgB;YAC1B,QAAQ,EAAE,qBAAqB;YAC/B,SAAS,EAAE,WAAW;YACtB,IAAI,EAAE,cAAc;SACrB,CAAC;QAEF,MAAM,OAAO,GAAG,+BAA+B,CAAC,UAAU,EAAE,CAAC,eAAe,CAAC,EAAE,IAAI,CAAC,CAAC;QAErF,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC;YACtB,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE;YAClC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,cAAc,EAAE;SAChE,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACxD,MAAM,cAAc,GAAoB;YACtC,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,WAAW;YACrB,QAAQ,EAAE,gBAAgB;YAC1B,SAAS,EAAE,YAAY;YACvB,IAAI,EAAE,mBAAmB;SAC1B,CAAC;QAEF,MAAM,OAAO,GAAG,+BAA+B,CAAC,cAAc,EAAE,CAAC,cAAc,CAAC,EAAE,IAAI,CAAC,CAAC;QAExF,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC;YACtB,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE;YACtC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,qDAAqD,EAAE;SAC9E,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qEAAqE,EAAE,GAAG,EAAE;QAC7E,MAAM,UAAU,GAAG,qDAAqD,CAAC;QAEzE,MAAM,CAAC,+BAA+B,CAAC,UAAU,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACjF,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kenkaiiii/ggcoder",
3
- "version": "4.3.206",
3
+ "version": "4.3.208",
4
4
  "type": "module",
5
5
  "description": "CLI coding agent with OAuth authentication for Anthropic, OpenAI, and Gemini",
6
6
  "license": "MIT",
@@ -79,10 +79,10 @@
79
79
  "string-width": "^8.2.0",
80
80
  "wrap-ansi": "^10.0.0",
81
81
  "zod": "^4.4.3",
82
- "@kenkaiiii/gg-ai": "4.3.206",
83
- "@kenkaiiii/ggcoder-eyes": "0.1.2",
84
- "@kenkaiiii/gg-agent": "4.3.206",
85
- "@kenkaiiii/gg-pixel": "4.3.95"
82
+ "@kenkaiiii/gg-ai": "4.3.208",
83
+ "@kenkaiiii/gg-agent": "4.3.208",
84
+ "@kenkaiiii/ggcoder-eyes": "0.1.4",
85
+ "@kenkaiiii/gg-pixel": "4.3.97"
86
86
  },
87
87
  "optionalDependencies": {
88
88
  "@huggingface/transformers": "^3.6.0",