@kenkaiiii/ggcoder 5.72.0 → 5.74.0

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 (94) hide show
  1. package/assets/skills/refactoring/SKILL.md +3 -1
  2. package/dist/app-error.d.ts +21 -0
  3. package/dist/app-error.js +39 -0
  4. package/dist/app-error.js.map +1 -0
  5. package/dist/app-sidecar.js +39 -35
  6. package/dist/app-sidecar.js.map +1 -1
  7. package/dist/core/agent-session.d.ts +2 -2
  8. package/dist/core/agent-session.js +17 -7
  9. package/dist/core/agent-session.js.map +1 -1
  10. package/dist/core/checklist-detection.d.ts +11 -0
  11. package/dist/core/checklist-detection.js +238 -0
  12. package/dist/core/checklist-detection.js.map +1 -0
  13. package/dist/core/checklist-items.d.ts +180 -0
  14. package/dist/core/checklist-items.js +204 -0
  15. package/dist/core/checklist-items.js.map +1 -0
  16. package/dist/core/checklist-prompt.d.ts +3 -0
  17. package/dist/core/checklist-prompt.js +34 -0
  18. package/dist/core/checklist-prompt.js.map +1 -0
  19. package/dist/core/checklist-snapshot.d.ts +13 -0
  20. package/dist/core/checklist-snapshot.js +29 -0
  21. package/dist/core/checklist-snapshot.js.map +1 -0
  22. package/dist/core/checklist-store.d.ts +59 -0
  23. package/dist/core/checklist-store.js +242 -0
  24. package/dist/core/checklist-store.js.map +1 -0
  25. package/dist/core/compaction/compactor.js +6 -0
  26. package/dist/core/compaction/compactor.js.map +1 -1
  27. package/dist/core/ken-context.js +7 -3
  28. package/dist/core/ken-context.js.map +1 -1
  29. package/dist/core/lsp/client.d.ts +4 -0
  30. package/dist/core/lsp/client.js +71 -3
  31. package/dist/core/lsp/client.js.map +1 -1
  32. package/dist/core/lsp/manager.d.ts +1 -0
  33. package/dist/core/lsp/manager.js +9 -3
  34. package/dist/core/lsp/manager.js.map +1 -1
  35. package/dist/core/lsp/project-root.d.ts +9 -0
  36. package/dist/core/lsp/project-root.js +75 -0
  37. package/dist/core/lsp/project-root.js.map +1 -0
  38. package/dist/core/lsp/reference-project.d.ts +6 -0
  39. package/dist/core/lsp/reference-project.js +110 -0
  40. package/dist/core/lsp/reference-project.js.map +1 -0
  41. package/dist/core/lsp/servers.js +1 -0
  42. package/dist/core/lsp/servers.js.map +1 -1
  43. package/dist/core/subagent-receipt.js +3 -1
  44. package/dist/core/subagent-receipt.js.map +1 -1
  45. package/dist/modes/acp-mode.d.ts +2 -1
  46. package/dist/modes/acp-mode.js +4 -1
  47. package/dist/modes/acp-mode.js.map +1 -1
  48. package/dist/motion-agent/motion-review-session.js +7 -3
  49. package/dist/motion-agent/motion-review-session.js.map +1 -1
  50. package/dist/system-prompt.js +14 -13
  51. package/dist/system-prompt.js.map +1 -1
  52. package/dist/tools/bash.d.ts +4 -1
  53. package/dist/tools/bash.js +32 -7
  54. package/dist/tools/bash.js.map +1 -1
  55. package/dist/tools/checklist.d.ts +56 -0
  56. package/dist/tools/checklist.js +178 -0
  57. package/dist/tools/checklist.js.map +1 -0
  58. package/dist/tools/code-nav.d.ts +1 -1
  59. package/dist/tools/code-nav.js +3 -2
  60. package/dist/tools/code-nav.js.map +1 -1
  61. package/dist/tools/edit-targets.d.ts +10 -0
  62. package/dist/tools/edit-targets.js +31 -0
  63. package/dist/tools/edit-targets.js.map +1 -0
  64. package/dist/tools/edit.d.ts +11 -3
  65. package/dist/tools/edit.js +386 -312
  66. package/dist/tools/edit.js.map +1 -1
  67. package/dist/tools/exit-plan.d.ts +2 -2
  68. package/dist/tools/exit-plan.js +7 -1
  69. package/dist/tools/exit-plan.js.map +1 -1
  70. package/dist/tools/index.d.ts +3 -2
  71. package/dist/tools/index.js +3 -0
  72. package/dist/tools/index.js.map +1 -1
  73. package/dist/tools/prompt-hints.js +3 -1
  74. package/dist/tools/prompt-hints.js.map +1 -1
  75. package/dist/tools/skill.js +6 -3
  76. package/dist/tools/skill.js.map +1 -1
  77. package/dist/tools/subagent.js +2 -1
  78. package/dist/tools/subagent.js.map +1 -1
  79. package/dist/tools/tool-tiers.js +1 -0
  80. package/dist/tools/tool-tiers.js.map +1 -1
  81. package/dist/tools/verification-review.d.ts +2 -0
  82. package/dist/tools/verification-review.js +41 -0
  83. package/dist/tools/verification-review.js.map +1 -0
  84. package/dist/ui/components/ToolExecution.js +3 -2
  85. package/dist/ui/components/ToolExecution.js.map +1 -1
  86. package/dist/ui/terminal-history.js +3 -1
  87. package/dist/ui/terminal-history.js.map +1 -1
  88. package/dist/ui/tool-line-summary.js +14 -2
  89. package/dist/ui/tool-line-summary.js.map +1 -1
  90. package/dist/ui/transcript/tool-presentation.js +1 -1
  91. package/dist/ui/transcript/tool-presentation.js.map +1 -1
  92. package/dist/utils/format.js +5 -1
  93. package/dist/utils/format.js.map +1 -1
  94. package/package.json +4 -4
@@ -0,0 +1,178 @@
1
+ // `checklist` tool: the only writer of the project health checklist record.
2
+ // The model supplies the verdict; the code stamps the date (injected clock),
3
+ // the Git commit and whether there were uncommitted changes, so none of those
4
+ // can be made up.
5
+ import { z } from "zod";
6
+ import { log } from "../core/logger.js";
7
+ import { CHECKLIST_FILE, CHECKLIST_IDS, CHECKLIST_STALE_DAYS, getChecklistItem, } from "../core/checklist-items.js";
8
+ import { CHECKLIST_RESULTS, EVIDENCE_MAX, FINDING_MAX, LIST_MAX, SUMMARY_MAX, writeChecklistEntry, } from "../core/checklist-store.js";
9
+ import { runBackgroundGit } from "../utils/git.js";
10
+ import { readChecklistSnapshot } from "../core/checklist-snapshot.js";
11
+ // The union is flattened into one object schema for providers, so both
12
+ // literals carry the same description.
13
+ const ACTION_DESCRIPTION = "status: every item with its status and last check. record: save the result of checking one item.";
14
+ const ChecklistParams = z.discriminatedUnion("action", [
15
+ z.object({
16
+ action: z.literal("status").describe(ACTION_DESCRIPTION),
17
+ }),
18
+ z.object({
19
+ action: z.literal("record").describe(ACTION_DESCRIPTION),
20
+ id: z.enum(CHECKLIST_IDS).describe("record: the checklist item id"),
21
+ result: z
22
+ .enum(CHECKLIST_RESULTS)
23
+ .describe("record: pass, issues (needs findings) or not-applicable"),
24
+ summary: z
25
+ .string()
26
+ .trim()
27
+ .min(1)
28
+ .max(SUMMARY_MAX)
29
+ .describe("record: one-line verdict in plain words"),
30
+ findings: z
31
+ .array(z.string().trim().min(1).max(FINDING_MAX))
32
+ .max(LIST_MAX)
33
+ .default([])
34
+ .describe("record: each problem with file:line, severity and suggested fix"),
35
+ evidence: z
36
+ .array(z.string().trim().min(1).max(EVIDENCE_MAX))
37
+ .min(1)
38
+ .max(LIST_MAX)
39
+ .describe("record: what was actually run or read, e.g. 'pnpm lint — 0 errors'"),
40
+ }),
41
+ ]);
42
+ /**
43
+ * Short HEAD commit and whether the work tree differs from it. The record file
44
+ * itself is ignored, since earlier records always leave it modified. Outside a
45
+ * repo (or before the first commit) the commit is null.
46
+ */
47
+ export async function readGitState(cwd, signal) {
48
+ let commit = null;
49
+ try {
50
+ const { stdout } = await runBackgroundGit(["rev-parse", "--short", "HEAD"], {
51
+ cwd,
52
+ timeoutMs: 5000,
53
+ ...(signal ? { signal } : {}),
54
+ });
55
+ commit = stdout.trim() || null;
56
+ }
57
+ catch (error) {
58
+ if (signal?.aborted)
59
+ throw error;
60
+ // An unborn repository can still have uncommitted files. Inspect status
61
+ // even when it has no HEAD yet.
62
+ }
63
+ try {
64
+ const { stdout } = await runBackgroundGit(["status", "--porcelain=v1", "--untracked-files=normal"], { cwd, timeoutMs: 10000, maxBuffer: 16 * 1024 * 1024, ...(signal ? { signal } : {}) });
65
+ const changed = stdout
66
+ .split(/\r?\n/)
67
+ .filter((line) => line.length > 3)
68
+ .some((line) => line.slice(3).replace(/^"|"$/g, "") !== CHECKLIST_FILE);
69
+ return { commit, uncommittedChanges: changed };
70
+ }
71
+ catch (error) {
72
+ if (signal?.aborted || commit !== null)
73
+ throw error;
74
+ return { commit, uncommittedChanges: false };
75
+ }
76
+ }
77
+ const STATUS_LABEL = {
78
+ "not-run": "never run",
79
+ "not-applicable": "not applicable",
80
+ due: "due",
81
+ passed: "reviewed",
82
+ "needs-work": "needs work",
83
+ };
84
+ function formatRow(row) {
85
+ const checked = row.checkedAt
86
+ ? `checked ${row.checkedAt.slice(0, 10)}${row.commit ? ` at ${row.commit}` : ""}`
87
+ : "—";
88
+ const last = row.status === "due" && row.result ? ` (last: ${row.result})` : "";
89
+ const setup = row.detection ? `; setup: ${row.detection.summary} (not a review)` : "";
90
+ return `- ${row.id} — ${row.title}: ${STATUS_LABEL[row.status]}${last}, ${checked}${setup}`;
91
+ }
92
+ export function createChecklistTool(cwd, deps = {}) {
93
+ const now = deps.now ?? (() => new Date());
94
+ const gitState = deps.gitState ?? readGitState;
95
+ let pending = Promise.resolve();
96
+ function enqueue(fn) {
97
+ const result = pending.then(fn);
98
+ pending = result.then(() => { }, () => { });
99
+ return result;
100
+ }
101
+ return {
102
+ name: "checklist",
103
+ description: "Read or record the project health checklist (stored in " +
104
+ `${CHECKLIST_FILE}). \`status\` lists every item with its status and last ` +
105
+ `check; items older than ${CHECKLIST_STALE_DAYS} days are due. \`record\` saves ` +
106
+ "the result of checking one item: the date and Git commit are filled in " +
107
+ "automatically. `issues` needs at least one finding; `pass` takes none; " +
108
+ "`evidence` lists what you actually ran or read, including scope and exclusions. " +
109
+ "Record completed checklist reviews or checks requested in normal chat; never start extra audits unasked.",
110
+ parameters: ChecklistParams,
111
+ executionMode: "sequential",
112
+ execute(args, { signal }) {
113
+ return enqueue(async () => {
114
+ const started = Date.now();
115
+ if (signal?.aborted)
116
+ return "Error: Checklist action cancelled.";
117
+ if (args.action === "status") {
118
+ const snapshot = await readChecklistSnapshot(cwd, now(), signal);
119
+ if (!snapshot.ok)
120
+ return `Error: ${snapshot.error}`;
121
+ const rows = snapshot.value.items;
122
+ let group = "";
123
+ const lines = [`${rows.length} project checks. Setup detection is not a passing review.`];
124
+ for (const row of rows) {
125
+ if (row.group !== group) {
126
+ group = row.group;
127
+ lines.push("", `${group}:`);
128
+ }
129
+ lines.push(formatRow(row));
130
+ }
131
+ return lines.join("\n");
132
+ }
133
+ const item = getChecklistItem(args.id);
134
+ if (!item)
135
+ return `Error: unknown checklist id "${args.id}".`;
136
+ if (args.result === "issues" && args.findings.length === 0) {
137
+ return "Error: result `issues` needs at least one finding. Add findings, or record `pass`.";
138
+ }
139
+ if (args.result === "pass" && args.findings.length > 0) {
140
+ return "Error: result `pass` cannot have findings. Record `issues`, or drop the findings.";
141
+ }
142
+ const at = now();
143
+ let git;
144
+ try {
145
+ git = await gitState(cwd, signal);
146
+ }
147
+ catch {
148
+ return signal?.aborted
149
+ ? "Error: Checklist action cancelled."
150
+ : "Error: Could not read Git state; no checklist result was recorded.";
151
+ }
152
+ if (signal?.aborted)
153
+ return "Error: Checklist action cancelled.";
154
+ const written = await writeChecklistEntry(cwd, args.id, {
155
+ checkedAt: at.toISOString(),
156
+ commit: git.commit,
157
+ uncommittedChanges: git.uncommittedChanges,
158
+ result: args.result,
159
+ summary: args.summary.trim(),
160
+ findings: args.findings.map((f) => f.trim()),
161
+ evidence: args.evidence.map((e) => e.trim()),
162
+ }, at, signal);
163
+ log("INFO", "checklist", `Record ${args.id}: ${written.ok ? args.result : "failed"}`, {
164
+ id: args.id,
165
+ result: args.result,
166
+ elapsedMs: Date.now() - started,
167
+ });
168
+ if (!written.ok)
169
+ return `Error: ${written.error}`;
170
+ const where = git.commit
171
+ ? ` at ${git.commit}${git.uncommittedChanges ? " (with uncommitted changes)" : ""}`
172
+ : "";
173
+ return `Recorded ${item.title}: ${args.result} on ${at.toISOString().slice(0, 10)}${where}.`;
174
+ });
175
+ },
176
+ };
177
+ }
178
+ //# sourceMappingURL=checklist.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checklist.js","sourceRoot":"","sources":["../../src/tools/checklist.ts"],"names":[],"mappings":"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"}
@@ -4,8 +4,8 @@ import type { LspManager } from "../core/lsp/manager.js";
4
4
  import { type ToolOperations } from "./operations.js";
5
5
  declare const CodeNavParams: z.ZodObject<{
6
6
  op: z.ZodEnum<{
7
- definition: "definition";
8
7
  references: "references";
8
+ definition: "definition";
9
9
  symbols: "symbols";
10
10
  hover: "hover";
11
11
  }>;
@@ -83,7 +83,7 @@ export function createCodeNavTool(cwd, lspManager, ops = localOperations) {
83
83
  description: "Resolve a symbol with the language server: `definition` (where it is declared), " +
84
84
  "`references` (every use), `symbols` (outline of a file), `hover` (type/signature). " +
85
85
  "Exact and cross-file — prefer it over grep for 'who calls this' and 'where is this " +
86
- "defined'. Reports explicitly when no language server can answer.",
86
+ "defined'. Reports when no language server can answer or reference coverage is partial.",
87
87
  parameters: CodeNavParams,
88
88
  async execute({ op, file, line, column, symbol, max_results }) {
89
89
  if (!lspManager) {
@@ -124,7 +124,8 @@ export function createCodeNavTool(cwd, lspManager, ops = localOperations) {
124
124
  : await lspManager.references(absolute, content, position);
125
125
  if (outcome.kind !== "ok")
126
126
  return describeFailure(outcome, cwd, op);
127
- return formatLocations(outcome.value, cwd, ops, maxResults, op, absolute, position);
127
+ const locations = await formatLocations(outcome.value, cwd, ops, maxResults, op, absolute, position);
128
+ return outcome.warning ? `${outcome.warning}\n\n${locations}` : locations;
128
129
  },
129
130
  };
130
131
  }
@@ -1 +1 @@
1
- {"version":3,"file":"code-nav.js","sourceRoot":"","sources":["../../src/tools/code-nav.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"code-nav.js","sourceRoot":"","sources":["../../src/tools/code-nav.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Every file an `edit` call targets, in order, from raw (unvalidated) args.
3
+ * An edit is either single-file (`file_path` + `edits`) or multi-file
4
+ * (`files: [{ file_path, edits }]`). Anything that tracks or displays edited
5
+ * files must use this instead of reading `file_path`, which a multi-file call
6
+ * does not have.
7
+ */
8
+ export declare function editTargetPaths(args: Record<string, unknown> | undefined): string[];
9
+ /** One display label for an edit call: the file, or "first +N more" for several. */
10
+ export declare function editTargetLabel(args: Record<string, unknown> | undefined, format?: (filePath: string) => string): string;
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Every file an `edit` call targets, in order, from raw (unvalidated) args.
3
+ * An edit is either single-file (`file_path` + `edits`) or multi-file
4
+ * (`files: [{ file_path, edits }]`). Anything that tracks or displays edited
5
+ * files must use this instead of reading `file_path`, which a multi-file call
6
+ * does not have.
7
+ */
8
+ export function editTargetPaths(args) {
9
+ if (!args)
10
+ return [];
11
+ const paths = [];
12
+ if (typeof args.file_path === "string" && args.file_path)
13
+ paths.push(args.file_path);
14
+ if (Array.isArray(args.files)) {
15
+ for (const entry of args.files) {
16
+ const filePath = entry?.file_path;
17
+ if (typeof filePath === "string" && filePath)
18
+ paths.push(filePath);
19
+ }
20
+ }
21
+ return paths;
22
+ }
23
+ /** One display label for an edit call: the file, or "first +N more" for several. */
24
+ export function editTargetLabel(args, format = (filePath) => filePath) {
25
+ const paths = editTargetPaths(args);
26
+ const [first] = paths;
27
+ if (first === undefined)
28
+ return "";
29
+ return paths.length === 1 ? format(first) : `${format(first)} +${paths.length - 1} more`;
30
+ }
31
+ //# sourceMappingURL=edit-targets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"edit-targets.js","sourceRoot":"","sources":["../../src/tools/edit-targets.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAAC,IAAyC;IACvE,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IACrB,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,IAAI,IAAI,CAAC,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACrF,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC/B,MAAM,QAAQ,GAAI,KAAwC,EAAE,SAAS,CAAC;YACtE,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ;gBAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,oFAAoF;AACpF,MAAM,UAAU,eAAe,CAC7B,IAAyC,EACzC,SAAuC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ;IAE7D,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IACpC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;IACtB,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IACnC,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC;AAC3F,CAAC"}
@@ -8,8 +8,8 @@ type MutationCallback = (filePath: string) => void | Promise<void>;
8
8
  /** Post-write diagnostics provider (LSP). Non-empty results are appended to successful tool output. */
9
9
  type DiagnosticsProvider = (filePath: string, content: string, source?: EditSource) => Promise<string>;
10
10
  declare const EditParams: z.ZodObject<{
11
- file_path: z.ZodString;
12
- edits: z.ZodPreprocess<z.ZodArray<z.ZodObject<{
11
+ file_path: z.ZodOptional<z.ZodString>;
12
+ edits: z.ZodOptional<z.ZodPreprocess<z.ZodArray<z.ZodObject<{
13
13
  old_text: z.ZodOptional<z.ZodString>;
14
14
  new_text: z.ZodOptional<z.ZodString>;
15
15
  replace_all: z.ZodOptional<z.ZodBoolean>;
@@ -26,7 +26,15 @@ declare const EditParams: z.ZodObject<{
26
26
  end_hash: z.ZodString;
27
27
  }, z.core.$strip>>;
28
28
  lines: z.ZodOptional<z.ZodArray<z.ZodString>>;
29
- }, z.core.$strip>>, unknown>;
29
+ }, z.core.$strip>>, unknown>>;
30
+ files: z.ZodOptional<z.ZodArray<z.ZodObject<{
31
+ file_path: z.ZodString;
32
+ edits: z.ZodPreprocess<z.ZodArray<z.ZodObject<{
33
+ old_text: z.ZodOptional<z.ZodString>;
34
+ new_text: z.ZodOptional<z.ZodString>;
35
+ replace_all: z.ZodOptional<z.ZodBoolean>;
36
+ }, z.core.$strip>>, unknown>;
37
+ }, z.core.$strip>>>;
30
38
  atomic: z.ZodOptional<z.ZodBoolean>;
31
39
  }, z.core.$strip>;
32
40
  export declare function createEditTool(cwd: string, readFiles?: ReadTracker, ops?: ToolOperations, planModeRefOrOnFileMutated?: {