@kenkaiiii/ggcoder 5.77.0 → 5.79.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 (92) hide show
  1. package/dist/app-sidecar/autopilot-runner.js +2 -5
  2. package/dist/app-sidecar/autopilot-runner.js.map +1 -1
  3. package/dist/app-sidecar/goal-routes.d.ts +26 -0
  4. package/dist/app-sidecar/goal-routes.js +444 -0
  5. package/dist/app-sidecar/goal-routes.js.map +1 -0
  6. package/dist/app-sidecar/history-routes.d.ts +13 -0
  7. package/dist/app-sidecar/history-routes.js +36 -25
  8. package/dist/app-sidecar/history-routes.js.map +1 -1
  9. package/dist/app-sidecar/route-context.d.ts +12 -0
  10. package/dist/app-sidecar/run-control-routes.js +2 -1
  11. package/dist/app-sidecar/run-control-routes.js.map +1 -1
  12. package/dist/app-sidecar/session-routes.js +41 -0
  13. package/dist/app-sidecar/session-routes.js.map +1 -1
  14. package/dist/app-sidecar/session-types.d.ts +2 -0
  15. package/dist/app-sidecar/workspace-routes.js +3 -0
  16. package/dist/app-sidecar/workspace-routes.js.map +1 -1
  17. package/dist/app-sidecar.js +113 -9
  18. package/dist/app-sidecar.js.map +1 -1
  19. package/dist/core/acceptance-checks.js +17 -4
  20. package/dist/core/acceptance-checks.js.map +1 -1
  21. package/dist/core/agent-notifications.d.ts +1 -1
  22. package/dist/core/agent-session/verification-tracker.d.ts +5 -1
  23. package/dist/core/agent-session/verification-tracker.js +25 -6
  24. package/dist/core/agent-session/verification-tracker.js.map +1 -1
  25. package/dist/core/agent-session.d.ts +50 -0
  26. package/dist/core/agent-session.js +49 -11
  27. package/dist/core/agent-session.js.map +1 -1
  28. package/dist/core/ask-user.d.ts +11 -0
  29. package/dist/core/ask-user.js +6 -1
  30. package/dist/core/ask-user.js.map +1 -1
  31. package/dist/core/autopilot-cycle.d.ts +2 -0
  32. package/dist/core/autopilot-cycle.js +21 -2
  33. package/dist/core/autopilot-cycle.js.map +1 -1
  34. package/dist/core/context-files.d.ts +8 -0
  35. package/dist/core/context-files.js +46 -0
  36. package/dist/core/context-files.js.map +1 -0
  37. package/dist/core/goals-store.d.ts +208 -0
  38. package/dist/core/goals-store.js +520 -0
  39. package/dist/core/goals-store.js.map +1 -0
  40. package/dist/core/project-discovery.d.ts +7 -0
  41. package/dist/core/project-discovery.js +8 -2
  42. package/dist/core/project-discovery.js.map +1 -1
  43. package/dist/core/prompt-commands.js +29 -4
  44. package/dist/core/prompt-commands.js.map +1 -1
  45. package/dist/core/session-manager.d.ts +7 -1
  46. package/dist/core/session-manager.js +17 -7
  47. package/dist/core/session-manager.js.map +1 -1
  48. package/dist/core/session-storage.js +5 -1
  49. package/dist/core/session-storage.js.map +1 -1
  50. package/dist/core/subagent-manager.d.ts +51 -0
  51. package/dist/core/subagent-manager.js +95 -15
  52. package/dist/core/subagent-manager.js.map +1 -1
  53. package/dist/core/subagent-store.js +2 -1
  54. package/dist/core/subagent-store.js.map +1 -1
  55. package/dist/core/verification-evidence.d.ts +13 -2
  56. package/dist/core/verification-evidence.js +256 -3
  57. package/dist/core/verification-evidence.js.map +1 -1
  58. package/dist/goals-agent/goal-team.d.ts +2 -0
  59. package/dist/goals-agent/goal-team.js +82 -0
  60. package/dist/goals-agent/goal-team.js.map +1 -0
  61. package/dist/goals-agent/goals-agent.d.ts +90 -0
  62. package/dist/goals-agent/goals-agent.js +246 -0
  63. package/dist/goals-agent/goals-agent.js.map +1 -0
  64. package/dist/modes/subagent-worker-mode.d.ts +12 -0
  65. package/dist/modes/subagent-worker-mode.js +22 -1
  66. package/dist/modes/subagent-worker-mode.js.map +1 -1
  67. package/dist/system-prompt.js +20 -11
  68. package/dist/system-prompt.js.map +1 -1
  69. package/dist/tools/bash-read-evidence.d.ts +13 -0
  70. package/dist/tools/bash-read-evidence.js +48 -1
  71. package/dist/tools/bash-read-evidence.js.map +1 -1
  72. package/dist/tools/bash.d.ts +3 -1
  73. package/dist/tools/bash.js +8 -4
  74. package/dist/tools/bash.js.map +1 -1
  75. package/dist/tools/edit.d.ts +1 -0
  76. package/dist/tools/edit.js +84 -1
  77. package/dist/tools/edit.js.map +1 -1
  78. package/dist/tools/index.d.ts +7 -1
  79. package/dist/tools/index.js +13 -4
  80. package/dist/tools/index.js.map +1 -1
  81. package/dist/tools/read-only-bash.js +3 -0
  82. package/dist/tools/read-only-bash.js.map +1 -1
  83. package/dist/tools/read-tracker.d.ts +6 -12
  84. package/dist/tools/read-tracker.js +21 -36
  85. package/dist/tools/read-tracker.js.map +1 -1
  86. package/dist/tools/read.js +2 -2
  87. package/dist/tools/read.js.map +1 -1
  88. package/dist/tools/subagent-control.js +22 -3
  89. package/dist/tools/subagent-control.js.map +1 -1
  90. package/dist/tools/write.js +110 -8
  91. package/dist/tools/write.js.map +1 -1
  92. package/package.json +4 -4
@@ -21,7 +21,11 @@ export declare class VerificationTracker {
21
21
  private readonly fileEditCounts;
22
22
  private readonly toolCalls;
23
23
  private readonly backgroundVerification;
24
- constructor(gate: VerificationGate, cwd: string, listProcesses: () => BackgroundProcess[]);
24
+ /** The bash tool runs under bash with pipefail (not the Windows cmd.exe
25
+ * fallback), so checks with read-only commands around them may count. */
26
+ private readonly posixShell;
27
+ constructor(gate: VerificationGate, cwd: string, listProcesses: () => BackgroundProcess[], posixShell?: boolean);
28
+ private classify;
25
29
  recordFileMutated(relative: string): void;
26
30
  /** Per-run reset of mutated files and in-flight calls. */
27
31
  resetRun(): void;
@@ -3,6 +3,7 @@ import { editTargetPaths } from "../../tools/edit-targets.js";
3
3
  import { isCheckOwnFile, isCodeFilePath, isVerificationCommand, } from "../verification-gate.js";
4
4
  import { classifyVerificationCommand } from "../verification-evidence.js";
5
5
  import { captureVerificationSnapshot } from "../verification-snapshot.js";
6
+ import { resolveShell } from "../shell.js";
6
7
  /**
7
8
  * Host-observed verification evidence: which files this run mutated, which
8
9
  * tool calls are in flight (with their pre-run workspace snapshot), and which
@@ -16,10 +17,17 @@ export class VerificationTracker {
16
17
  fileEditCounts = new Map();
17
18
  toolCalls = new Map();
18
19
  backgroundVerification = new Map();
19
- constructor(gate, cwd, listProcesses) {
20
+ /** The bash tool runs under bash with pipefail (not the Windows cmd.exe
21
+ * fallback), so checks with read-only commands around them may count. */
22
+ posixShell;
23
+ constructor(gate, cwd, listProcesses, posixShell = !resolveShell("").isCmdFallback) {
20
24
  this.gate = gate;
21
25
  this.cwd = cwd;
22
26
  this.listProcesses = listProcesses;
27
+ this.posixShell = posixShell;
28
+ }
29
+ classify(command) {
30
+ return classifyVerificationCommand(command, { posixShell: this.posixShell });
23
31
  }
24
32
  recordFileMutated(relative) {
25
33
  this.fileEditCounts.set(relative, (this.fileEditCounts.get(relative) ?? 0) + 1);
@@ -51,7 +59,7 @@ export class VerificationTracker {
51
59
  };
52
60
  this.toolCalls.set(event.toolCallId, tracked);
53
61
  const startClassification = event.name === "bash" && typeof event.args?.command === "string"
54
- ? classifyVerificationCommand(event.args.command)
62
+ ? this.classify(event.args.command)
55
63
  : null;
56
64
  if (startClassification &&
57
65
  typeof event.args?.command === "string" &&
@@ -118,7 +126,7 @@ export class VerificationTracker {
118
126
  }
119
127
  if (args && call && name === "bash") {
120
128
  const command = typeof args.command === "string" ? args.command : "";
121
- const classification = classifyVerificationCommand(command);
129
+ const classification = this.classify(command);
122
130
  if (args.review === true && event.result === REVIEW_REJECTED_BEFORE_START) {
123
131
  // The core tool rejected its arguments BEFORE spawning. Never mint
124
132
  // a pass, or poison the failed-check ledger with an unexecuted check.
@@ -221,16 +229,27 @@ export class VerificationTracker {
221
229
  const after = check.sourceSnapshot
222
230
  ? await captureVerificationSnapshot(this.cwd, [...this.fileEditCounts.keys()])
223
231
  : null;
232
+ const classification = this.classify(check.command);
233
+ const recordFailure = (revision) => {
234
+ if (classification.ambiguousFailure) {
235
+ this.gate.recordRejectedCheck(check.command, "exit status cannot tell a failed check from a failed read-only command");
236
+ }
237
+ else if (revision === undefined) {
238
+ this.gate.recordFailedVerification(check.command);
239
+ }
240
+ else {
241
+ this.gate.recordFailedVerification(check.command, revision);
242
+ }
243
+ };
224
244
  if (after === null || after !== check.sourceSnapshot) {
225
245
  this.gate.requireFreshVerification(true);
226
246
  this.gate.recordRejectedCheck(check.command, after === null
227
247
  ? "Workspace inputs could not be compared; run a read-only check after the command"
228
248
  : "Command changed workspace inputs; run checks against the changed source");
229
249
  if (!passed)
230
- this.gate.recordFailedVerification(check.command);
250
+ recordFailure();
231
251
  }
232
252
  else if (passed) {
233
- const classification = classifyVerificationCommand(check.command);
234
253
  if (classification.snapshotPreserveOnly) {
235
254
  this.gate.recordRejectedCheck(check.command, classification.reason);
236
255
  }
@@ -239,7 +258,7 @@ export class VerificationTracker {
239
258
  }
240
259
  }
241
260
  else {
242
- this.gate.recordFailedVerification(check.command, check.revision);
261
+ recordFailure(check.revision);
243
262
  }
244
263
  }
245
264
  }
@@ -1 +1 @@
1
- {"version":3,"file":"verification-tracker.js","sourceRoot":"","sources":["../../../src/core/agent-session/verification-tracker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verification-tracker.js","sourceRoot":"","sources":["../../../src/core/agent-session/verification-tracker.ts"],"names":[],"mappings":"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"}
@@ -6,10 +6,12 @@ import { SlashCommandRegistry } from "./slash-commands.js";
6
6
  import { type BranchInfo, type KenTurnPayload, type AutopilotMarkerPayload, type AppMarkerPayload, type RunOutcome, type TurnMetricPayload } from "./session-manager.js";
7
7
  import { type Skill } from "./skills.js";
8
8
  import type { BackgroundProcess } from "./process-manager.js";
9
+ import { type ChildModelPick, type SubAgentSnapshot } from "./subagent-manager.js";
9
10
  import type { MCPElicitHandler } from "./mcp/index.js";
10
11
  import { type ContextLimits } from "./context-limits.js";
11
12
  import { type ImportForeignTranscriptResult } from "./foreign-session-import.js";
12
13
  import { type CacheExpiryStatus } from "./cache-expiry.js";
14
+ import { type AgentDefinition } from "./agents.js";
13
15
  import { type EnhanceResult } from "../utils/prompt-enhancer.js";
14
16
  import type { VerificationEvidence } from "./verification-evidence.js";
15
17
  /** A chat attachment (image / video / other file) prepared for the model. The
@@ -122,6 +124,45 @@ export interface AgentSessionOptions {
122
124
  * UI. Omitted by callers that don't want plan mode (CLI wires its own).
123
125
  */
124
126
  onEnterPlan?: (reason?: string) => void | Promise<void>;
127
+ /**
128
+ * Built-in tools to keep in the core set instead of the deferred
129
+ * tool_search catalog: for a specialist whose job is a deferred tool (GG
130
+ * Goals orchestrates with spawn_agent and friends). Fixed for the session.
131
+ */
132
+ coreTools?: readonly string[];
133
+ /**
134
+ * Default provider/model for the workers this session spawns, when their
135
+ * agent names no model of its own. Read at spawn time.
136
+ */
137
+ getChildModel?: () => ChildModelPick | undefined;
138
+ /**
139
+ * Wrap each built-in tool once, at registration. Must keep the tool's name,
140
+ * description and parameters (only `execute` may change), so the tool block
141
+ * stays prompt-cache stable. Used by GG Goals to gate its own editing.
142
+ */
143
+ wrapTool?: (tool: AgentTool) => AgentTool;
144
+ /**
145
+ * Built-in tools this session never has, removed at registration (before
146
+ * tiering) and left out of the system prompt's Tools section. Unlike
147
+ * `allowedTools`, the rest of the tool set and its tiering are untouched.
148
+ * Fixed for the session, so the cached tool block never changes. Used by
149
+ * GG Goals, which never edits or runs anything itself.
150
+ */
151
+ withoutTools?: readonly string[];
152
+ /**
153
+ * A fixed team of sub-agents, replacing agent discovery (project, global
154
+ * and bundled): the only agents spawn_agent and subagent can start. Used by
155
+ * GG Goals, whose workers follow their own rules (goals-agent/goal-team.ts).
156
+ */
157
+ subAgents?: readonly AgentDefinition[];
158
+ /**
159
+ * Start every spawned child with this session's extra workspace roots too
160
+ * (less the folder it works in), so it can read and change all of them.
161
+ * GG Goals' workers work across all of a goal's attached folders.
162
+ */
163
+ shareRootsWithSubAgents?: boolean;
164
+ /** The sub-agent a spawned child is when the spawn names none (one of `subAgents`). */
165
+ defaultSubAgent?: string;
125
166
  onExitPlan?: (planPath: string) => Promise<ToolExecuteResult>;
126
167
  /**
127
168
  * If provided, the session's tool set is filtered to ONLY these tool names
@@ -671,6 +712,15 @@ export declare class AgentSession {
671
712
  /** Clear the queue, returning the combined text (to restore to the composer).
672
713
  * Queued attachments are dropped on cancel — the composer only restores text. */
673
714
  drainQueue(): string;
715
+ /**
716
+ * Tell the agent a new fact at its next turn, as a short hidden message
717
+ * appended after the cached prompt (the same channel as a finished worker),
718
+ * so a mid-session change reaches it without re-rendering the prompt. A
719
+ * later note with the same id replaces one not yet delivered.
720
+ */
721
+ notify(id: string, text: string): void;
722
+ /** This session's sub-agents (workers), newest-state, including ones restored after a restart. */
723
+ listSubAgents(): SubAgentSnapshot[];
674
724
  /** Snapshot of background processes (bash run_in_background), newest-state. */
675
725
  listBackgroundProcesses(): BackgroundProcess[];
676
726
  /** Stop a background process by id. Returns a human-readable status string. */
@@ -26,7 +26,7 @@ import { createTools, createWebSearchTool, } from "../tools/index.js";
26
26
  import { partitionToolsByTier } from "../tools/tool-tiers.js";
27
27
  import { buildProcessCompletionFollowUp } from "./process-gate.js";
28
28
  import { PLAN_SUBMISSION_NUDGE, shouldNudgePlanSubmission } from "./plan-submission-gate.js";
29
- import { buildSubAgentCompletionFollowUp } from "./subagent-manager.js";
29
+ import { buildSubAgentCompletionFollowUp, } from "./subagent-manager.js";
30
30
  import { applyAsyncSubagentPolicy } from "./subagent-policy.js";
31
31
  import { resolveResponsesLite, resolveStrictTools, } from "./codex-request-shape.js";
32
32
  import { subAgentDescription } from "../tools/subagent.js";
@@ -306,7 +306,10 @@ export class AgentSession {
306
306
  // Session manager. Agent-specific roots keep chat and coder histories isolated.
307
307
  this.sessionManager = new SessionManager(this.opts.sessionRootDir ?? paths.sessionsDir);
308
308
  const projectCustomization = this.opts.projectCustomization !== false;
309
- if (projectCustomization) {
309
+ // A sub-agent worker never creates them: the session that owns the
310
+ // project does. GG Goals' workers work in the user's attached folders,
311
+ // which mustn't gain empty .gg folders as a side effect.
312
+ if (projectCustomization && !this.opts.subagentWorker) {
310
313
  // Ensure project-local .gg directories exist.
311
314
  const localGGDir = path.join(this.cwd, ".gg");
312
315
  await fs.mkdir(path.join(localGGDir, "skills"), { recursive: true });
@@ -327,16 +330,20 @@ export class AgentSession {
327
330
  }
328
331
  // Discover agents and create tools (with sub-agent support). Chat sessions
329
332
  // can retain bundled workers without loading project/global customization.
330
- const agents = projectCustomization
331
- ? await discoverAgents({
332
- globalAgentsDir: paths.agentsDir,
333
- projectDir: this.cwd,
334
- })
335
- : this.opts.globalSubagents
336
- ? await discoverAgents({ globalAgentsDir: paths.agentsDir })
337
- : [];
333
+ const agents = this.opts.subAgents
334
+ ? [...this.opts.subAgents]
335
+ : projectCustomization
336
+ ? await discoverAgents({
337
+ globalAgentsDir: paths.agentsDir,
338
+ projectDir: this.cwd,
339
+ })
340
+ : this.opts.globalSubagents
341
+ ? await discoverAgents({ globalAgentsDir: paths.agentsDir })
342
+ : [];
338
343
  const { tools: builtInTools, processManager, rebuildReadTool, clearReadTracker, recordBashReads, lspManager, debugManager, subAgentManager, } = await createTools(this.cwd, {
339
344
  agents,
345
+ shareWorkspaceRoots: this.opts.shareRootsWithSubAgents,
346
+ defaultSubAgent: this.opts.defaultSubAgent,
340
347
  skills: this.skills,
341
348
  contextLimits: this.contextLimits,
342
349
  provider: this.provider,
@@ -378,6 +385,7 @@ export class AgentSession {
378
385
  getBaseUrl: () => this.baseUrl,
379
386
  getCacheKey: () => this.getPromptCacheKey(),
380
387
  getMaxPerModel: () => this.settingsManager.get("subagentMaxPerModel"),
388
+ getChildModel: this.opts.getChildModel,
381
389
  // A persistent child is already the single allowed fan-out level. Blocking
382
390
  // `subagent` here created a timeout sandwich: the nested call could consume
383
391
  // the child's entire 10-minute turn budget, discarding all nested results.
@@ -405,6 +413,16 @@ export class AgentSession {
405
413
  // a hallucinated call can't mutate the repo — and buildSystemPrompt below is
406
414
  // fed the same filtered names so the Tools section matches exactly.
407
415
  this.tools = this.opts.allowedTools ? tools.filter((t) => this.isToolAllowed(t.name)) : tools;
416
+ const without = new Set(this.opts.withoutTools ?? []);
417
+ if (without.size > 0)
418
+ this.tools = this.tools.filter((t) => !without.has(t.name));
419
+ // A host may wrap built-ins (GG Goals holds back its own editing once a
420
+ // goal is underway). Same names and schemas, so the cached tool block and
421
+ // the system prompt's Tools section are unchanged.
422
+ if (this.opts.wrapTool) {
423
+ const wrap = this.opts.wrapTool;
424
+ this.tools = this.tools.map((t) => wrap(t));
425
+ }
408
426
  // Both delegation tools carry the agent roster; when both survive the
409
427
  // allow-list, `subagent` points at `spawn_agent`'s copy instead.
410
428
  if (this.tools.some((t) => t.name === "spawn_agent")) {
@@ -419,7 +437,14 @@ export class AgentSession {
419
437
  // catalog must hold the wrapped tool so a promoted spawn still loads
420
438
  // wait_agent.
421
439
  this.promoteFollowUpTools();
422
- const { core, deferred } = partitionToolsByTier(this.tools);
440
+ const partition = partitionToolsByTier(this.tools);
441
+ // A session can keep chosen built-ins in its core set (GG Goals
442
+ // orchestrates, so its agent tools are always at hand). Fixed for the
443
+ // session, so the cached tool block stays byte-stable.
444
+ const keep = new Set(this.opts.coreTools ?? []);
445
+ const deferred = partition.deferred.filter((t) => !keep.has(t.name));
446
+ // Everything not deferred, in the original relative order.
447
+ const core = keep.size > 0 ? this.tools.filter((t) => !deferred.includes(t)) : partition.core;
423
448
  if (deferred.length > 0) {
424
449
  // Append-only: `core` preserves the original relative order and
425
450
  // tool_search is pushed after it, so the serialized tool block that
@@ -2645,6 +2670,19 @@ export class AgentSession {
2645
2670
  .map((m) => m.text)
2646
2671
  .join("\n\n");
2647
2672
  }
2673
+ /**
2674
+ * Tell the agent a new fact at its next turn, as a short hidden message
2675
+ * appended after the cached prompt (the same channel as a finished worker),
2676
+ * so a mid-session change reaches it without re-rendering the prompt. A
2677
+ * later note with the same id replaces one not yet delivered.
2678
+ */
2679
+ notify(id, text) {
2680
+ this.notifications.enqueue("goal", id, text, { terminal: true });
2681
+ }
2682
+ /** This session's sub-agents (workers), newest-state, including ones restored after a restart. */
2683
+ listSubAgents() {
2684
+ return this.subAgentManager?.list() ?? [];
2685
+ }
2648
2686
  /** Snapshot of background processes (bash run_in_background), newest-state. */
2649
2687
  listBackgroundProcesses() {
2650
2688
  return this.processManager?.list() ?? [];