@ipul-labs/forge 1.21.1 → 1.22.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 (39) hide show
  1. package/README.md +9 -1
  2. package/lib/server/forge/core/ForgeAgent.d.ts +15 -0
  3. package/lib/server/forge/core/ForgeAgent.d.ts.map +1 -1
  4. package/lib/server/forge/core/ForgeAgent.js +102 -2
  5. package/lib/server/forge/core/ForgeAgent.js.map +1 -1
  6. package/lib/server/forge/core/agentClient.d.ts +18 -0
  7. package/lib/server/forge/core/agentClient.d.ts.map +1 -1
  8. package/lib/server/forge/core/agentClient.js +11 -0
  9. package/lib/server/forge/core/agentClient.js.map +1 -1
  10. package/lib/server/forge/core/agentMode.d.ts +38 -0
  11. package/lib/server/forge/core/agentMode.d.ts.map +1 -0
  12. package/lib/server/forge/core/agentMode.js +43 -0
  13. package/lib/server/forge/core/agentMode.js.map +1 -0
  14. package/lib/server/forge/core/ciTraceParser.d.ts +33 -0
  15. package/lib/server/forge/core/ciTraceParser.d.ts.map +1 -0
  16. package/lib/server/forge/core/ciTraceParser.js +152 -0
  17. package/lib/server/forge/core/ciTraceParser.js.map +1 -0
  18. package/lib/server/forge/core/claudeClient.d.ts +40 -0
  19. package/lib/server/forge/core/claudeClient.d.ts.map +1 -1
  20. package/lib/server/forge/core/claudeClient.js +119 -45
  21. package/lib/server/forge/core/claudeClient.js.map +1 -1
  22. package/lib/server/forge/core/configStore.d.ts +2 -0
  23. package/lib/server/forge/core/configStore.d.ts.map +1 -1
  24. package/lib/server/forge/core/configStore.js +9 -0
  25. package/lib/server/forge/core/configStore.js.map +1 -1
  26. package/lib/server/forge/core/localRepo.d.ts +20 -0
  27. package/lib/server/forge/core/localRepo.d.ts.map +1 -1
  28. package/lib/server/forge/core/localRepo.js +88 -0
  29. package/lib/server/forge/core/localRepo.js.map +1 -1
  30. package/lib/server/forge/core/prompts.d.ts +18 -0
  31. package/lib/server/forge/core/prompts.d.ts.map +1 -1
  32. package/lib/server/forge/core/prompts.js +61 -2
  33. package/lib/server/forge/core/prompts.js.map +1 -1
  34. package/lib/server/forge/core/types.d.ts +2 -0
  35. package/lib/server/forge/core/types.d.ts.map +1 -1
  36. package/lib/server/forge/routes.d.ts.map +1 -1
  37. package/lib/server/forge/routes.js +12 -2
  38. package/lib/server/forge/routes.js.map +1 -1
  39. package/package.json +2 -2
package/README.md CHANGED
@@ -175,6 +175,7 @@ See [`docs/cli.md`](./docs/cli.md) for the full command reference and [`docs/cli
175
175
  | `SCM_PROVIDER` | — | `gitlab` (default) · `github` · `azuredevops` |
176
176
  | `ANTHROPIC_API_KEY` | — | Enables live model list from Anthropic; falls back to hardcoded list |
177
177
  | `FORGE_MODEL` | — | Override default model (default: `claude-sonnet-4-6`) |
178
+ | `FORGE_AGENT_MODE` | — | `structured` (default) · `agentic` — how Claude proposes changes (see [Agent modes](#agent-modes)) |
178
179
  | `K8S_CLUSTER_TOKEN` | — | K8s service account token for rollout monitoring |
179
180
  | `K8S_CLUSTER_SERVER` | — | K8s API server URL |
180
181
  | `PORT` | — | HTTP server port (default: `5001`) |
@@ -362,7 +363,14 @@ src/
362
363
  useForgeEvents.ts # SSE event bus subscription
363
364
  ```
364
365
 
365
- ### Two-pass analysis
366
+ ### Agent modes
367
+
368
+ Forge can drive Claude in two ways, set by `FORGE_AGENT_MODE` (or the Settings default, or a per-request `agentMode`):
369
+
370
+ - **`structured`** (default) — the two-pass JSON pipeline below. Deterministic and schema-validated: Claude runs single-turn with tools disabled and returns complete file contents that Forge overlays onto a clone.
371
+ - **`agentic`** — Claude runs as a full Claude Code agent inside a checkout of the repo: real tools (Read/Edit/Write/Bash…), the project's own `CLAUDE.md`, and a multi-turn loop. Forge captures the resulting `git diff` instead of parsing JSON, then feeds those changes into the same apply/validate/MR pipeline. Higher fidelity, less determinism. Requires the `claude` backend, a single repo, and a GitLab primary — otherwise Forge logs why and falls back to structured.
372
+
373
+ ### Two-pass analysis (structured mode)
366
374
 
367
375
  **Pass 1** — `identifyRelevantFiles`: Claude reads the issue + file tree, returns the max-6 most relevant paths.
368
376
 
@@ -85,6 +85,8 @@ interface EnrichedAnalysisResult extends AnalysisResult {
85
85
  /** Options bag with optional AbortSignal. */
86
86
  interface SignalOpts {
87
87
  signal?: AbortSignal;
88
+ /** Per-request agent-mode override ("structured" | "agentic"); see agentMode.ts. */
89
+ agentMode?: string;
88
90
  }
89
91
  /** The result of the analysis "kind" argument. */
90
92
  type AnalysisKind = "fresh" | "new" | "update" | "retry";
@@ -132,6 +134,19 @@ export declare class ForgeAgent {
132
134
  /** Enforces the per-repo and total caps, preserving model order. */
133
135
  _capSelections(entries: FileEntry[], issueKind: string): FileEntry[];
134
136
  _normalizeChanges(rawChanges: RawChange[] | undefined, fileContents: FileContent[]): EnrichedChange[];
137
+ /**
138
+ * Returns a human-readable reason agentic mode can't run for this request, or
139
+ * null when it can. Logged (never silently dropped) so the user knows why a
140
+ * structured analysis happened instead.
141
+ */
142
+ _agenticUnavailableReason(): string | null;
143
+ /**
144
+ * Agentic analysis: clone the primary repo, run Claude as a full Claude Code
145
+ * agent inside it (real tools + the repo's CLAUDE.md), then read the changes
146
+ * straight from git. Emits the same event/result shape as the structured
147
+ * pipeline so the route, UI, and apply flow are unchanged.
148
+ */
149
+ _analyzeAgentic(issueIid: number, emit: (evt: ForgeEvent) => void, model: string | undefined, ciContext: string | undefined, userPrompt: string | undefined, opts?: SignalOpts): Promise<EnrichedAnalysisResult>;
135
150
  /**
136
151
  * Runs the full analysis pipeline for an issue across all configured repos.
137
152
  *
@@ -1 +1 @@
1
- {"version":3,"file":"ForgeAgent.d.ts","sourceRoot":"","sources":["../../../../server/forge/core/ForgeAgent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ForgeAgent.d.ts","sourceRoot":"","sources":["../../../../server/forge/core/ForgeAgent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAUH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAK1E,0CAA0C;AAC1C,UAAU,iBAAiB;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED,2DAA2D;AAC3D,UAAU,SAAS;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACb;AAED,qDAAqD;AACrD,UAAU,QAAQ;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,EAAE,CAAC;CAChB;AAED,0DAA0D;AAC1D,UAAU,WAAW;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CAChB;AAkBD,qDAAqD;AACrD,UAAU,aAAa;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC;IACtB,QAAQ,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,OAAO,CAAC;CACpB;AASD,wDAAwD;AACxD,UAAU,SAAS;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACd;AAED,qEAAqE;AACrE,UAAU,cAAe,SAAQ,SAAS;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED,kDAAkD;AAClD,UAAU,sBAAuB,SAAQ,cAAc;IACtD,QAAQ,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACjD;AAED,6CAA6C;AAC7C,UAAU,UAAU;IACnB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,oFAAoF;IACpF,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAYD,kDAAkD;AAClD,KAAK,YAAY,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEzD,qDAAqD;AACrD,UAAU,iBAAiB;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,EAAE,EAAE,QAAQ,GAAG,IAAI,CAAC;IACpB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,yCAAyC;AACzC,UAAU,eAAe;IACxB,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjE,IAAI,EAAE,MAAM,EAAE,CAAC;CACf;AAuLD,qBAAa,UAAU;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACpC,QAAQ,EAAE,WAAW,CAAC;gBAEV,IAAI,GAAE,iBAAsB;IAqBxC,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW;IAMpC,IAAI,WAAW,0BAEd;IAED,IAAI,YAAY,YAEf;IAIK,cAAc,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,IAAI,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAgBpE,WAAW,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,IAAI,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAkChG;;;;;OAKG;IACH,wBAAwB,CAAC,UAAU,EAAE,OAAO,EAAE,GAAG,SAAS,EAAE;IAa5D,mBAAmB,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG;QAAE,KAAK,EAAE,SAAS,EAAE,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE;IAiB3G,oEAAoE;IACpE,cAAc,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,EAAE;IAcpE,iBAAiB,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,cAAc,EAAE;IAYrG;;;;OAIG;IACH,yBAAyB,IAAI,MAAM,GAAG,IAAI;IAO1C;;;;;OAKG;IACG,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,IAAI,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,EAAE,UAAU,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,GAAE,UAAe,GAAG,OAAO,CAAC,sBAAsB,CAAC;IA+D1N;;;;;;;;;OASG;IACG,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC,GAAG,EAAE,UAAU,KAAK,IAAI,CAAC,GAAG,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,EAAE,UAAU,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,GAAE,YAAsB,EAAE,IAAI,GAAE,UAAe,EAAE,eAAe,GAAE,WAAW,EAAE,GAAG,IAAW,GAAG,OAAO,CAAC,sBAAsB,CAAC;IA2IvT;;;;OAIG;IACG,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,eAAe,EAAE,WAAW,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC,GAAG,EAAE,UAAU,KAAK,IAAI,CAAC,GAAG,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,EAAE,eAAe,EAAE,eAAe,GAAG,IAAI,EAAE,eAAe,EAAE,MAAM,GAAG,IAAI,EAAE,IAAI,GAAE,UAAe;;;;IAkM1S;;;;OAIG;IACH,iBAAiB,CAAC,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,IAAI,EAAE,KAAK,EAAE,MAAM,GAAG,sBAAsB;IA4ClK;;;OAGG;IACG,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC,GAAG,EAAE,UAAU,KAAK,IAAI,CAAC,GAAG,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,GAAE,UAAe;;;;;;;;IAsF3J;;;;OAIG;IACG,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,GAAE,MAA4B;IAWzF;;;;;;;OAOG;IACG,QAAQ,CAAC,QAAQ,EAAE,sBAAsB,GAAG,OAAO,CAAC;QAAE,YAAY,EAAE,iBAAiB,EAAE,CAAA;KAAE,CAAC;IAuBhG;;;;;;;OAOG;IACG,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,sBAAsB,EAAE,IAAI,GAAE,MAA4B;;;;IAiC7G;;;;;;;;;OASG;IACG,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAsDvG;;;;;;OAMG;IACG,YAAY,CAAC,QAAQ,EAAE,sBAAsB,GAAG,OAAO,CAAC;QAAE,YAAY,EAAE,iBAAiB,EAAE,CAAA;KAAE,CAAC;IAwCpG;;;;;;OAMG;IACG,uBAAuB,CAAC,CAAC,SAAS;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAC7F,QAAQ,EAAE,WAAW,EACrB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,CAAC,EAAE,GACV,OAAO,CAAC,CAAC,EAAE,CAAC;IAkBf;;;;;;;OAOG;IACG,mBAAmB,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAiBzE,mBAAmB,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC;IAavE,iEAAiE;IACjE,aAAa,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC,GAAG,MAAM,EAAE;IAKtD,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,QAAQ,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA8C9J;;;;;OAKG;IACG,aAAa,CAAC,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAU7F;;;;;OAKG;IACG,SAAS,CAAC,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,QAAQ,CAAC;IAajF,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAIrC,mBAAmB,CAAC,KAAK,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,IAAI,GAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,iBAAiB,CAAC,EAAE,iBAAiB,EAAE,CAAA;KAAO,GAAG,MAAM;CA6C5L"}
@@ -20,10 +20,11 @@
20
20
  * - `applyFix` groups by repo and creates one branch + MR per repo.
21
21
  */
22
22
  import { randomUUID } from "node:crypto";
23
- import { checkResolution, identifyRelevantFiles, proposeFix, refineOrAsk } from "./agentClient.js";
23
+ import { checkResolution, identifyRelevantFiles, proposeFix, proposeFixAgentic, refineOrAsk } from "./agentClient.js";
24
+ import { AGENT_MODE, resolveAgentMode } from "./agentMode.js";
24
25
  import { branchNameFor } from "./branchName.js";
25
26
  import * as configStore from "./configStore.js";
26
- import { ensureWorkingTree, overlayChanges } from "./localRepo.js";
27
+ import { captureChanges, ensureWorkingTree, overlayChanges } from "./localRepo.js";
27
28
  import { classifyIssue } from "./prompts.js";
28
29
  import { createProvider } from "./providers/index.js";
29
30
  import { reattributeChanges } from "./validator/attribute.js";
@@ -102,6 +103,20 @@ const FILE_CAPS = {
102
103
  fix: { total: 12, perRepo: 8 },
103
104
  chore: { total: 12, perRepo: 8 },
104
105
  };
106
+ /**
107
+ * Pulls the trailing `TITLE: <subject>` line out of an agentic run's final
108
+ * message. The title becomes the MR title (falling back to the issue title via
109
+ * buildCommitSubject if absent); the rest of the message is the explanation,
110
+ * with the TITLE line stripped so it doesn't leak into the UI.
111
+ */
112
+ function parseAgenticSummary(text) {
113
+ const match = text.match(/^[ \t]*TITLE:[ \t]*(.+?)[ \t]*$/m);
114
+ if (!match)
115
+ return { explanation: text.trim() };
116
+ const title = match[1].trim();
117
+ const explanation = text.replace(match[0], "").trim();
118
+ return { title: title || undefined, explanation };
119
+ }
105
120
  /**
106
121
  * Builds a conventional-commit subject line from the analysis. Prefers
107
122
  * `analysis.mrTitle` (the model's own commit-style summary), falling back to
@@ -336,6 +351,78 @@ export class ForgeAgent {
336
351
  return { ...change, repo, original };
337
352
  });
338
353
  }
354
+ // ─── Agentic analyze ─────────────────────────────────────────────────────────
355
+ /**
356
+ * Returns a human-readable reason agentic mode can't run for this request, or
357
+ * null when it can. Logged (never silently dropped) so the user knows why a
358
+ * structured analysis happened instead.
359
+ */
360
+ _agenticUnavailableReason() {
361
+ if (this.agent === "openclaw")
362
+ return "the openclaw backend has no agentic mode";
363
+ if (this._isMultiRepo)
364
+ return "multi-repo changes aren't supported in agentic mode yet";
365
+ if (!supportsLocalClone(this.primaryProject))
366
+ return "only GitLab repos support a local checkout";
367
+ return null;
368
+ }
369
+ /**
370
+ * Agentic analysis: clone the primary repo, run Claude as a full Claude Code
371
+ * agent inside it (real tools + the repo's CLAUDE.md), then read the changes
372
+ * straight from git. Emits the same event/result shape as the structured
373
+ * pipeline so the route, UI, and apply flow are unchanged.
374
+ */
375
+ async _analyzeAgentic(issueIid, emit, model, ciContext, userPrompt, opts = {}) {
376
+ const { signal } = opts;
377
+ const repo = this.primaryProject;
378
+ emit({ type: "progress", step: "fetch_issue", message: `Fetching issue #${issueIid}...` });
379
+ const issue = await this.provider.getIssue(issueIid);
380
+ const branchName = branchNameFor(issueIid, { issue });
381
+ emit({ type: "progress", step: "scan_repo", message: `Preparing a checkout of ${repo}...` });
382
+ const dir = await ensureWorkingTree(repo, branchName, (m) => emit({ type: "log", message: m }));
383
+ emit({ type: "progress", step: "generate_fix", message: `Running ${this._agentLabel} as an agent in ${repo}...` });
384
+ const defaults = configStore.get().defaults;
385
+ const agentic = await proposeFixAgentic({
386
+ issue,
387
+ cwd: dir,
388
+ model,
389
+ promptRules: defaults?.promptRules || "",
390
+ userPrompt,
391
+ ciContext,
392
+ onEvent: emit,
393
+ signal,
394
+ timeout: defaults?.cliTimeout,
395
+ }, this.agent);
396
+ emit({ type: "progress", step: "fetch_files", message: "Capturing changes from the working tree..." });
397
+ const changes = await captureChanges({ dir, repo });
398
+ emit({
399
+ type: "log",
400
+ message: changes.length
401
+ ? `Captured ${changes.length} change(s): ${changes.map((c) => `${c.file} (${c.action})`).join(", ")}`
402
+ : "No file changes were captured — the agent reported done without editing the tree.",
403
+ });
404
+ const { title, explanation } = parseAgenticSummary(agentic.text);
405
+ const result = {
406
+ issue,
407
+ mrTitle: title,
408
+ explanation,
409
+ reasoning: "Agentic edit — Claude explored the checkout and edited files directly.",
410
+ changes,
411
+ removals: [],
412
+ repos: [repo],
413
+ };
414
+ emit({ type: "result", data: result });
415
+ emit({
416
+ type: "usage",
417
+ cost: agentic.cost,
418
+ serviceTier: agentic.serviceTier,
419
+ inputTokens: agentic.inputTokens,
420
+ outputTokens: agentic.outputTokens,
421
+ cacheCreationTokens: agentic.cacheCreationTokens,
422
+ cacheReadTokens: agentic.cacheReadTokens,
423
+ });
424
+ return result;
425
+ }
339
426
  // ─── Analyze ───────────────────────────────────────────────────────────────
340
427
  /**
341
428
  * Runs the full analysis pipeline for an issue across all configured repos.
@@ -355,6 +442,19 @@ export class ForgeAgent {
355
442
  : "";
356
443
  const msgs = buildStepMessages(kind, issueIid, this._agentLabel, repoLine);
357
444
  emit({ type: "log", message: msgs.intro });
445
+ // Agentic mode: run Claude as a full agent in a checkout and capture the
446
+ // diff, instead of the two-pass JSON pipeline below. Falls back to
447
+ // structured (and logs why) when the request can't support it.
448
+ const agentMode = resolveAgentMode({ requested: opts.agentMode, configured: configStore.get().defaults?.agentMode });
449
+ if (agentMode === AGENT_MODE.agentic) {
450
+ const reason = this._agenticUnavailableReason();
451
+ if (reason) {
452
+ emit({ type: "log", message: `Agentic mode unavailable (${reason}); using structured analysis.` });
453
+ }
454
+ else {
455
+ return this._analyzeAgentic(issueIid, emit, model, ciContext, userPrompt, { signal });
456
+ }
457
+ }
358
458
  // Step 1 — fetch the issue from the primary repo
359
459
  emit({ type: "progress", step: "fetch_issue", message: msgs.fetch_issue });
360
460
  const issue = await this.provider.getIssue(issueIid);
@@ -1 +1 @@
1
- {"version":3,"file":"ForgeAgent.js","sourceRoot":"","sources":["../../../../server/forge/core/ForgeAgent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ForgeAgent.js","sourceRoot":"","sources":["../../../../server/forge/core/ForgeAgent.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@
8
8
  * forwarded to the backend so a cancelled job tears down the underlying CLI
9
9
  * subprocess or HTTP request instead of running to completion.
10
10
  */
11
+ import type { AgenticResult } from "./claudeClient.ts";
11
12
  import type { NormalDiff } from "./providers/types.ts";
12
13
  import type { AgentResponse, ForgeEvent } from "./types.ts";
13
14
  interface IssueInput {
@@ -35,5 +36,22 @@ export declare function identifyRelevantFiles(issue: IssueInput, fileTree: RepoT
35
36
  export declare function proposeFix(issue: IssueInput, fileContents: FileContent[], options: Record<string, unknown>, model: string | undefined, agent: string | undefined, opts: AgentCallOpts): Promise<AgentResponse>;
36
37
  export declare function refineOrAsk(issue: IssueInput, fileContents: FileContent[], options: Record<string, unknown>, model: string | undefined, agent: string | undefined, onEvent: ((evt: ForgeEvent) => void) | undefined, opts: AgentCallOpts): Promise<AgentResponse>;
37
38
  export declare function checkResolution(issue: IssueInput, diffs: NormalDiff[], model: string | undefined, agent: string | undefined, opts: AgentCallOpts): Promise<AgentResponse>;
39
+ interface ProposeFixAgenticParams {
40
+ issue: IssueInput;
41
+ cwd: string;
42
+ model?: string;
43
+ promptRules?: string;
44
+ userPrompt?: string;
45
+ ciContext?: string;
46
+ onEvent?: (evt: ForgeEvent) => void;
47
+ signal?: AbortSignal;
48
+ timeout?: number;
49
+ }
50
+ /**
51
+ * Agentic mode runs Claude as a full agent in a checkout. There is no OpenClaw
52
+ * equivalent, so this only routes to the claude backend — callers fall back to
53
+ * structured mode (or pick the claude agent) when openclaw is selected.
54
+ */
55
+ export declare function proposeFixAgentic(params: ProposeFixAgenticParams, agent: string | undefined): Promise<AgenticResult>;
38
56
  export {};
39
57
  //# sourceMappingURL=agentClient.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"agentClient.d.ts","sourceRoot":"","sources":["../../../../server/forge/core/agentClient.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE5D,UAAU,UAAU;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,IAAI,CAAC;CAClD;AAED,UAAU,WAAW;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,QAAQ;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,EAAE,CAAC;CAChB;AAED,UAAU,aAAa;IACtB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AASD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,CAE3L;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,CAE9M;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC,GAAG,EAAE,UAAU,KAAK,IAAI,CAAC,GAAG,SAAS,EAAE,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,CAEjQ;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,CAEzK"}
1
+ {"version":3,"file":"agentClient.d.ts","sourceRoot":"","sources":["../../../../server/forge/core/agentClient.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE5D,UAAU,UAAU;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,IAAI,CAAC;CAClD;AAED,UAAU,WAAW;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,QAAQ;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,EAAE,CAAC;CAChB;AAED,UAAU,aAAa;IACtB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AASD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,CAE3L;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,CAE9M;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC,GAAG,EAAE,UAAU,KAAK,IAAI,CAAC,GAAG,SAAS,EAAE,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,CAEjQ;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,CAEzK;AAED,UAAU,uBAAuB;IAChC,KAAK,EAAE,UAAU,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,IAAI,CAAC;IACpC,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,uBAAuB,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,CAKpH"}
@@ -28,4 +28,15 @@ export function refineOrAsk(issue, fileContents, options, model, agent, onEvent,
28
28
  export function checkResolution(issue, diffs, model, agent, opts) {
29
29
  return backend(agent).checkResolution(issue, diffs, model, opts);
30
30
  }
31
+ /**
32
+ * Agentic mode runs Claude as a full agent in a checkout. There is no OpenClaw
33
+ * equivalent, so this only routes to the claude backend — callers fall back to
34
+ * structured mode (or pick the claude agent) when openclaw is selected.
35
+ */
36
+ export function proposeFixAgentic(params, agent) {
37
+ if (agent === "openclaw") {
38
+ throw new Error("Agentic mode requires the claude backend; the openclaw agent has no agentic equivalent.");
39
+ }
40
+ return claude.proposeFixAgentic(params);
41
+ }
31
42
  //# sourceMappingURL=agentClient.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"agentClient.js","sourceRoot":"","sources":["../../../../server/forge/core/agentClient.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAC5C,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAC;AA2BhD;;GAEG;AACH,SAAS,OAAO,CAAC,KAAyB;IACzC,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,KAAiB,EAAE,QAA+B,EAAE,KAAyB,EAAE,KAAyB,EAAE,IAAmB;IAClK,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,qBAAqB,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AAC3E,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAiB,EAAE,YAA2B,EAAE,OAAgC,EAAE,KAAyB,EAAE,KAAyB,EAAE,IAAmB;IACrL,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AAC7E,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAiB,EAAE,YAA2B,EAAE,OAAgC,EAAE,KAAyB,EAAE,KAAyB,EAAE,OAAgD,EAAE,IAAmB;IACxO,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;AACvF,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAiB,EAAE,KAAmB,EAAE,KAAyB,EAAE,KAAyB,EAAE,IAAmB;IAChJ,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AAClE,CAAC"}
1
+ {"version":3,"file":"agentClient.js","sourceRoot":"","sources":["../../../../server/forge/core/agentClient.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAC;AAE5C,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAC;AA2BhD;;GAEG;AACH,SAAS,OAAO,CAAC,KAAyB;IACzC,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,KAAiB,EAAE,QAA+B,EAAE,KAAyB,EAAE,KAAyB,EAAE,IAAmB;IAClK,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,qBAAqB,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AAC3E,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAiB,EAAE,YAA2B,EAAE,OAAgC,EAAE,KAAyB,EAAE,KAAyB,EAAE,IAAmB;IACrL,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AAC7E,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAiB,EAAE,YAA2B,EAAE,OAAgC,EAAE,KAAyB,EAAE,KAAyB,EAAE,OAAgD,EAAE,IAAmB;IACxO,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;AACvF,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAiB,EAAE,KAAmB,EAAE,KAAyB,EAAE,KAAyB,EAAE,IAAmB;IAChJ,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AAClE,CAAC;AAcD;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAA+B,EAAE,KAAyB;IAC3F,IAAI,KAAK,KAAK,UAAU,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,yFAAyF,CAAC,CAAC;IAC5G,CAAC;IACD,OAAO,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;AACzC,CAAC"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * server/forge/core/agentMode.ts
3
+ *
4
+ * The agent mode decides *how* Forge drives Claude when proposing a change:
5
+ *
6
+ * "structured" — the original two-pass JSON pipeline. Claude runs single-turn
7
+ * with tools disabled and emits a JSON object of complete file contents,
8
+ * which Forge overlays onto a clone. Deterministic, schema-validated.
9
+ *
10
+ * "agentic" — Claude runs as a full Claude Code agent inside a checkout of the
11
+ * repo: real tools (Read/Edit/Write/Bash…), the project's CLAUDE.md, and a
12
+ * multi-turn loop. Forge captures the resulting `git diff` instead of parsing
13
+ * a JSON response. Higher fidelity, less determinism.
14
+ *
15
+ * Mode is resolved per request with a fixed precedence (see resolveAgentMode).
16
+ */
17
+ export declare const AGENT_MODE: {
18
+ readonly structured: "structured";
19
+ readonly agentic: "agentic";
20
+ };
21
+ export type AgentMode = (typeof AGENT_MODE)[keyof typeof AGENT_MODE];
22
+ /** Returns the value if it is a known mode, otherwise null. */
23
+ export declare function normalizeAgentMode(value: unknown): AgentMode | null;
24
+ /**
25
+ * Resolves the effective agent mode. Precedence, highest first:
26
+ * 1. `requested` — a per-request override (e.g. from the analyze route body)
27
+ * 2. `FORGE_AGENT_MODE` env var — forces a mode without touching config
28
+ * 3. `configured` — the persisted Settings default (configStore)
29
+ * 4. "structured" — the safe, deterministic default
30
+ *
31
+ * Pure but for the env read; takes `configured` as input so it carries no
32
+ * dependency on configStore (which itself references AGENT_MODE).
33
+ */
34
+ export declare function resolveAgentMode({ requested, configured }?: {
35
+ requested?: unknown;
36
+ configured?: unknown;
37
+ }): AgentMode;
38
+ //# sourceMappingURL=agentMode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agentMode.d.ts","sourceRoot":"","sources":["../../../../server/forge/core/agentMode.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,eAAO,MAAM,UAAU;;;CAGb,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,OAAO,UAAU,CAAC,CAAC;AAErE,+DAA+D;AAC/D,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,GAAG,IAAI,CAGnE;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,GAAE;IAAE,SAAS,CAAC,EAAE,OAAO,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,SAAS,CAOzH"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * server/forge/core/agentMode.ts
3
+ *
4
+ * The agent mode decides *how* Forge drives Claude when proposing a change:
5
+ *
6
+ * "structured" — the original two-pass JSON pipeline. Claude runs single-turn
7
+ * with tools disabled and emits a JSON object of complete file contents,
8
+ * which Forge overlays onto a clone. Deterministic, schema-validated.
9
+ *
10
+ * "agentic" — Claude runs as a full Claude Code agent inside a checkout of the
11
+ * repo: real tools (Read/Edit/Write/Bash…), the project's CLAUDE.md, and a
12
+ * multi-turn loop. Forge captures the resulting `git diff` instead of parsing
13
+ * a JSON response. Higher fidelity, less determinism.
14
+ *
15
+ * Mode is resolved per request with a fixed precedence (see resolveAgentMode).
16
+ */
17
+ export const AGENT_MODE = {
18
+ structured: "structured",
19
+ agentic: "agentic",
20
+ };
21
+ /** Returns the value if it is a known mode, otherwise null. */
22
+ export function normalizeAgentMode(value) {
23
+ if (value === AGENT_MODE.structured || value === AGENT_MODE.agentic)
24
+ return value;
25
+ return null;
26
+ }
27
+ /**
28
+ * Resolves the effective agent mode. Precedence, highest first:
29
+ * 1. `requested` — a per-request override (e.g. from the analyze route body)
30
+ * 2. `FORGE_AGENT_MODE` env var — forces a mode without touching config
31
+ * 3. `configured` — the persisted Settings default (configStore)
32
+ * 4. "structured" — the safe, deterministic default
33
+ *
34
+ * Pure but for the env read; takes `configured` as input so it carries no
35
+ * dependency on configStore (which itself references AGENT_MODE).
36
+ */
37
+ export function resolveAgentMode({ requested, configured } = {}) {
38
+ return (normalizeAgentMode(requested) ??
39
+ normalizeAgentMode(process.env.FORGE_AGENT_MODE) ??
40
+ normalizeAgentMode(configured) ??
41
+ AGENT_MODE.structured);
42
+ }
43
+ //# sourceMappingURL=agentMode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agentMode.js","sourceRoot":"","sources":["../../../../server/forge/core/agentMode.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,MAAM,CAAC,MAAM,UAAU,GAAG;IACzB,UAAU,EAAE,YAAY;IACxB,OAAO,EAAE,SAAS;CACT,CAAC;AAIX,+DAA+D;AAC/D,MAAM,UAAU,kBAAkB,CAAC,KAAc;IAChD,IAAI,KAAK,KAAK,UAAU,CAAC,UAAU,IAAI,KAAK,KAAK,UAAU,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IAClF,OAAO,IAAI,CAAC;AACb,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,gBAAgB,CAAC,EAAE,SAAS,EAAE,UAAU,KAAoD,EAAE;IAC7G,OAAO,CACN,kBAAkB,CAAC,SAAS,CAAC;QAC7B,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;QAChD,kBAAkB,CAAC,UAAU,CAAC;QAC9B,UAAU,CAAC,UAAU,CACrB,CAAC;AACH,CAAC"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * server/forge/core/ciTraceParser.ts
3
+ *
4
+ * Parses CI job traces to extract structured error information from the noise.
5
+ * Strips ANSI codes, identifies the specific failing tests/steps, and produces
6
+ * a focused summary the model can act on — instead of 150 lines of mixed
7
+ * warnings and test output.
8
+ */
9
+ export interface CiFailure {
10
+ file: string;
11
+ testName: string;
12
+ error: string;
13
+ location?: string;
14
+ codeSnippet?: string;
15
+ }
16
+ export interface ParsedCiTrace {
17
+ failures: CiFailure[];
18
+ summary: string;
19
+ fingerprint: string;
20
+ rawTail: string;
21
+ }
22
+ /**
23
+ * Extracts structured failure info from a Vitest/Jest-style CI trace.
24
+ * Also handles generic "Error:" / "error TS" / compile failures.
25
+ */
26
+ export declare function parseCiTrace(rawTrace: string): ParsedCiTrace;
27
+ /**
28
+ * Formats a parsed CI trace into a structured prompt block.
29
+ * Puts the parsed error summary first (so the model sees it immediately),
30
+ * followed by the raw tail for additional context.
31
+ */
32
+ export declare function formatCiContextForPrompt(parsed: ParsedCiTrace): string;
33
+ //# sourceMappingURL=ciTraceParser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ciTraceParser.d.ts","sourceRoot":"","sources":["../../../../server/forge/core/ciTraceParser.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,WAAW,SAAS;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC7B,QAAQ,EAAE,SAAS,EAAE,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CAChB;AAYD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,CAyH5D;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,CAYtE"}