@urateam/core 0.1.29 → 0.1.31

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 (44) hide show
  1. package/dist/__tests__/bec-185-reproduce.test.d.ts +16 -0
  2. package/dist/__tests__/bec-185-reproduce.test.d.ts.map +1 -0
  3. package/dist/__tests__/bec-185-reproduce.test.js +16 -0
  4. package/dist/__tests__/bec-185-reproduce.test.js.map +1 -0
  5. package/dist/__tests__/executor/review-feedback-prompt.test.js +6 -0
  6. package/dist/__tests__/executor/review-feedback-prompt.test.js.map +1 -1
  7. package/dist/__tests__/gh-linear-sync.test.js +57 -2
  8. package/dist/__tests__/gh-linear-sync.test.js.map +1 -1
  9. package/dist/__tests__/github-webhook.test.js +36 -0
  10. package/dist/__tests__/github-webhook.test.js.map +1 -1
  11. package/dist/__tests__/openrouter-client.test.js +34 -0
  12. package/dist/__tests__/openrouter-client.test.js.map +1 -1
  13. package/dist/__tests__/pipeline/pr-change-summary.test.d.ts +2 -0
  14. package/dist/__tests__/pipeline/pr-change-summary.test.d.ts.map +1 -0
  15. package/dist/__tests__/pipeline/pr-change-summary.test.js +282 -0
  16. package/dist/__tests__/pipeline/pr-change-summary.test.js.map +1 -0
  17. package/dist/__tests__/types.test.js +57 -0
  18. package/dist/__tests__/types.test.js.map +1 -1
  19. package/dist/executor/prompt/templates.d.ts.map +1 -1
  20. package/dist/executor/prompt/templates.js +4 -0
  21. package/dist/executor/prompt/templates.js.map +1 -1
  22. package/dist/executor/review/openrouter-client.d.ts.map +1 -1
  23. package/dist/executor/review/openrouter-client.js +8 -0
  24. package/dist/executor/review/openrouter-client.js.map +1 -1
  25. package/dist/pipeline/pr-change-summary.d.ts +47 -0
  26. package/dist/pipeline/pr-change-summary.d.ts.map +1 -0
  27. package/dist/pipeline/pr-change-summary.js +133 -0
  28. package/dist/pipeline/pr-change-summary.js.map +1 -0
  29. package/dist/pipeline/runner.d.ts.map +1 -1
  30. package/dist/pipeline/runner.js +39 -0
  31. package/dist/pipeline/runner.js.map +1 -1
  32. package/dist/sync/gh-linear-sync.d.ts +5 -1
  33. package/dist/sync/gh-linear-sync.d.ts.map +1 -1
  34. package/dist/sync/gh-linear-sync.js +102 -42
  35. package/dist/sync/gh-linear-sync.js.map +1 -1
  36. package/dist/types.d.ts +14 -0
  37. package/dist/types.d.ts.map +1 -1
  38. package/dist/types.js +6 -0
  39. package/dist/types.js.map +1 -1
  40. package/dist/webhook/github-handler.d.ts +2 -0
  41. package/dist/webhook/github-handler.d.ts.map +1 -1
  42. package/dist/webhook/github-handler.js +4 -0
  43. package/dist/webhook/github-handler.js.map +1 -1
  44. package/package.json +1 -1
@@ -0,0 +1,282 @@
1
+ import { describe, it, expect, vi } from "vitest";
2
+ import { renderChangeSummary, maybePostChangeSummary, } from "../../pipeline/pr-change-summary.js";
3
+ const handoff = {
4
+ runId: "run_abc",
5
+ issueId: "BEC-100",
6
+ stage: "implement",
7
+ timestamp: "2026-05-10T12:00:00Z",
8
+ summary: "Addressed null-check + rename feedback.",
9
+ filesChanged: ["src/foo.ts", "src/bar.ts", "src/__tests__/foo.test.ts"],
10
+ approach: "Minimal changes to address the two reviewer comments.",
11
+ context: {
12
+ issueIntent: "Address PR review feedback",
13
+ constraints: [],
14
+ assumptions: [],
15
+ addressedComments: [
16
+ { commentId: "c-101", response: "Added null check before destructuring." },
17
+ { commentId: "c-102", response: "Renamed `flag` → `isEnabled` per request." },
18
+ ],
19
+ },
20
+ tokenBudget: { contextTokensUsed: 5000, recommendedMaxTurns: 10 },
21
+ };
22
+ const triggeringComments = [
23
+ {
24
+ commentId: "c-101",
25
+ author: "alice",
26
+ body: "Need a null check here.",
27
+ filePath: "src/foo.ts",
28
+ lineNumber: 42,
29
+ htmlUrl: "https://github.com/o/r/pull/1#discussion_r101",
30
+ },
31
+ {
32
+ commentId: "c-102",
33
+ author: "bob",
34
+ body: "Rename for clarity.",
35
+ htmlUrl: "https://github.com/o/r/pull/1#issuecomment-102",
36
+ },
37
+ ];
38
+ const baseInput = {
39
+ handoff,
40
+ run: { id: "run_abc", totalInputTokens: 1000, totalOutputTokens: 200 },
41
+ triggeringComments,
42
+ dashboardBaseUrl: "https://dogfood.urateams.com:8443",
43
+ };
44
+ describe("renderChangeSummary", () => {
45
+ it("renders header + summary + per-comment responses + files + run link", () => {
46
+ const out = renderChangeSummary(baseInput);
47
+ expect(out).toContain("## 🤖 Addressed PR feedback");
48
+ expect(out).toContain("Addressed null-check + rename feedback.");
49
+ expect(out).toContain("**In response to:**");
50
+ expect(out).toContain("[@alice's comment on `src/foo.ts:42`](https://github.com/o/r/pull/1#discussion_r101)");
51
+ expect(out).toContain("Added null check before destructuring.");
52
+ expect(out).toContain("[@bob's general comment](https://github.com/o/r/pull/1#issuecomment-102)");
53
+ expect(out).toContain("Renamed `flag` → `isEnabled` per request.");
54
+ expect(out).toContain("**Files changed:**");
55
+ expect(out).toContain("- `src/foo.ts`");
56
+ expect(out).toContain("- `src/bar.ts`");
57
+ expect(out).toContain("- `src/__tests__/foo.test.ts`");
58
+ expect(out).toContain("[run_abc](https://dogfood.urateams.com:8443/runs/run_abc)");
59
+ });
60
+ it("collapses multi-line summaries to a single line (newlines → spaces)", () => {
61
+ const out = renderChangeSummary({
62
+ ...baseInput,
63
+ handoff: {
64
+ ...handoff,
65
+ summary: "Line one.\nLine two.\n\nLine three.",
66
+ },
67
+ });
68
+ expect(out).toContain("Line one. Line two. Line three.");
69
+ expect(out).not.toContain("Line one.\nLine two");
70
+ });
71
+ it("falls back gracefully when addressedComments is missing", () => {
72
+ const out = renderChangeSummary({
73
+ ...baseInput,
74
+ handoff: {
75
+ ...handoff,
76
+ context: { ...handoff.context, addressedComments: undefined },
77
+ },
78
+ });
79
+ expect(out).toContain("**In response to:**");
80
+ expect(out).toContain("[@alice's comment on `src/foo.ts:42`](https://github.com/o/r/pull/1#discussion_r101)");
81
+ // No response text follows the link
82
+ expect(out).not.toContain("Added null check before destructuring.");
83
+ expect(out).toContain("_(per-comment responses unavailable; see diff)_");
84
+ });
85
+ it("falls back gracefully when addressedComments is empty", () => {
86
+ const out = renderChangeSummary({
87
+ ...baseInput,
88
+ handoff: {
89
+ ...handoff,
90
+ context: { ...handoff.context, addressedComments: [] },
91
+ },
92
+ });
93
+ expect(out).toContain("_(per-comment responses unavailable; see diff)_");
94
+ });
95
+ it("drops addressedComments entries whose commentId is not in triggeringComments", () => {
96
+ const out = renderChangeSummary({
97
+ ...baseInput,
98
+ handoff: {
99
+ ...handoff,
100
+ context: {
101
+ ...handoff.context,
102
+ addressedComments: [
103
+ { commentId: "c-101", response: "Added null check." },
104
+ { commentId: "c-FAKE", response: "This should not render." },
105
+ ],
106
+ },
107
+ },
108
+ });
109
+ expect(out).toContain("Added null check.");
110
+ expect(out).not.toContain("This should not render.");
111
+ });
112
+ it("renders triggering comments without responses when addressedComments has only a partial match", () => {
113
+ const out = renderChangeSummary({
114
+ ...baseInput,
115
+ handoff: {
116
+ ...handoff,
117
+ context: {
118
+ ...handoff.context,
119
+ addressedComments: [
120
+ { commentId: "c-101", response: "Did the thing." },
121
+ // c-102 has no response
122
+ ],
123
+ },
124
+ },
125
+ });
126
+ expect(out).toContain("Did the thing.");
127
+ // c-102 link still present, but no response after it
128
+ expect(out).toContain("[@bob's general comment](https://github.com/o/r/pull/1#issuecomment-102)");
129
+ // The disclaimer line should NOT appear when at least one response is present
130
+ expect(out).not.toContain("_(per-comment responses unavailable; see diff)_");
131
+ });
132
+ it("escapes markdown-special chars in author names and file paths", () => {
133
+ const out = renderChangeSummary({
134
+ ...baseInput,
135
+ triggeringComments: [
136
+ {
137
+ commentId: "c-101",
138
+ author: "evil*user[link](x)",
139
+ body: "x",
140
+ filePath: "src/[weird]_*name.ts",
141
+ lineNumber: 5,
142
+ htmlUrl: "https://github.com/o/r/pull/1#discussion_r101",
143
+ },
144
+ ],
145
+ });
146
+ // Escaped: each markdown-special char is preceded by a backslash
147
+ expect(out).toContain("evil\\*user\\[link\\]\\(x\\)");
148
+ expect(out).toContain("src/\\[weird\\]\\_\\*name.ts");
149
+ });
150
+ it("suppresses the 'In response to' section when triggeringComments is empty", () => {
151
+ const out = renderChangeSummary({
152
+ ...baseInput,
153
+ triggeringComments: [],
154
+ });
155
+ expect(out).toContain("## 🤖 Addressed PR feedback");
156
+ expect(out).toContain("**Files changed:**");
157
+ // No "In response to" section should appear
158
+ expect(out).not.toContain("**In response to:**");
159
+ });
160
+ it("renders a plain run id with no link when dashboardBaseUrl is empty (no doubled 'Run')", () => {
161
+ const out = renderChangeSummary({ ...baseInput, dashboardBaseUrl: "" });
162
+ // The footer's "Run " prefix should be the ONLY "Run " in the output;
163
+ // earlier impl produced "Run Run run_abc" by doubling.
164
+ expect(out).toContain("<sub>Run run_abc · auto-generated</sub>");
165
+ expect(out).not.toContain("Run Run");
166
+ expect(out).not.toContain("](/runs/run_abc)");
167
+ });
168
+ it("constructs an htmlUrl when ReviewFeedbackComment.htmlUrl is missing (fallback)", () => {
169
+ const out = renderChangeSummary({
170
+ ...baseInput,
171
+ prUrl: "https://github.com/o/r/pull/1",
172
+ handoff: {
173
+ ...handoff,
174
+ context: { ...handoff.context, addressedComments: undefined },
175
+ },
176
+ triggeringComments: [
177
+ {
178
+ commentId: "999",
179
+ author: "alice",
180
+ body: "x",
181
+ filePath: "src/foo.ts",
182
+ lineNumber: 7,
183
+ // htmlUrl absent
184
+ },
185
+ {
186
+ commentId: "888",
187
+ author: "bob",
188
+ body: "y",
189
+ // no filePath, htmlUrl absent
190
+ },
191
+ ],
192
+ });
193
+ expect(out).toContain("https://github.com/o/r/pull/1#discussion_r999");
194
+ expect(out).toContain("https://github.com/o/r/pull/1#issuecomment-888");
195
+ });
196
+ });
197
+ function makeDeps(over = {}) {
198
+ const noopLogger = { info: vi.fn(), warn: vi.fn(), error: vi.fn() };
199
+ return {
200
+ run: {
201
+ id: "run_abc",
202
+ runType: "review-feedback",
203
+ prUrl: "https://github.com/o/r/pull/1",
204
+ feedbackContext: JSON.stringify(triggeringComments),
205
+ totalInputTokens: 1000,
206
+ totalOutputTokens: 200,
207
+ },
208
+ handoff,
209
+ prNumber: 1,
210
+ owner: "o",
211
+ repo: "r",
212
+ octokit: {},
213
+ postPRComment: vi.fn().mockResolvedValue(undefined),
214
+ dashboardBaseUrl: "https://dogfood.urateams.com:8443",
215
+ logger: noopLogger,
216
+ ...over,
217
+ };
218
+ }
219
+ describe("maybePostChangeSummary", () => {
220
+ it("posts exactly once for a review-feedback run with a prUrl", async () => {
221
+ const deps = makeDeps();
222
+ await maybePostChangeSummary(deps);
223
+ expect(deps.postPRComment).toHaveBeenCalledTimes(1);
224
+ const [, owner, repo, prNumber, body] = deps.postPRComment.mock.calls[0];
225
+ expect(owner).toBe("o");
226
+ expect(repo).toBe("r");
227
+ expect(prNumber).toBe(1);
228
+ expect(body).toContain("## 🤖 Addressed PR feedback");
229
+ });
230
+ it("does NOT post for runType=standard", async () => {
231
+ const deps = makeDeps({
232
+ run: { ...makeDeps().run, runType: "standard" },
233
+ });
234
+ await maybePostChangeSummary(deps);
235
+ expect(deps.postPRComment).not.toHaveBeenCalled();
236
+ });
237
+ it("does NOT post when prUrl is null", async () => {
238
+ const deps = makeDeps({
239
+ run: { ...makeDeps().run, prUrl: null },
240
+ prNumber: null,
241
+ });
242
+ await maybePostChangeSummary(deps);
243
+ expect(deps.postPRComment).not.toHaveBeenCalled();
244
+ expect(deps.logger.info).toHaveBeenCalledWith(expect.objectContaining({ runId: "run_abc" }), "skipped change summary: no PR URL on run");
245
+ });
246
+ it("does NOT post when handoff is missing", async () => {
247
+ const deps = makeDeps({ handoff: null });
248
+ await maybePostChangeSummary(deps);
249
+ expect(deps.postPRComment).not.toHaveBeenCalled();
250
+ expect(deps.logger.info).toHaveBeenCalledWith(expect.objectContaining({ runId: "run_abc" }), "skipped change summary: no handoff persisted");
251
+ });
252
+ it("posts a degraded comment when feedback_context JSON is malformed", async () => {
253
+ const deps = makeDeps({
254
+ run: { ...makeDeps().run, feedbackContext: "{not json" },
255
+ });
256
+ await maybePostChangeSummary(deps);
257
+ expect(deps.postPRComment).toHaveBeenCalledTimes(1);
258
+ const body = deps.postPRComment.mock.calls[0][4];
259
+ expect(body).toContain("## 🤖 Addressed PR feedback");
260
+ // Degraded body has no "In response to" section
261
+ expect(body).not.toContain("**In response to:**");
262
+ expect(deps.logger.error).toHaveBeenCalled();
263
+ });
264
+ it("does not throw when postPRComment rejects (logs at warn level)", async () => {
265
+ const deps = makeDeps({
266
+ postPRComment: vi.fn().mockRejectedValue(new Error("rate limit")),
267
+ });
268
+ await expect(maybePostChangeSummary(deps)).resolves.toBeUndefined();
269
+ expect(deps.logger.warn).toHaveBeenCalledWith(expect.objectContaining({ runId: "run_abc", prNumber: 1 }), "PR change summary post failed (non-fatal)");
270
+ });
271
+ it("treats null/missing feedback_context as empty triggering comments (no In response to section)", async () => {
272
+ const deps = makeDeps({
273
+ run: { ...makeDeps().run, feedbackContext: null },
274
+ });
275
+ await maybePostChangeSummary(deps);
276
+ expect(deps.postPRComment).toHaveBeenCalledTimes(1);
277
+ const body = deps.postPRComment.mock.calls[0][4];
278
+ expect(body).toContain("## 🤖 Addressed PR feedback");
279
+ expect(body).not.toContain("**In response to:**");
280
+ });
281
+ });
282
+ //# sourceMappingURL=pr-change-summary.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pr-change-summary.test.js","sourceRoot":"","sources":["../../../src/__tests__/pipeline/pr-change-summary.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAClD,OAAO,EACL,mBAAmB,EAEnB,sBAAsB,GAEvB,MAAM,qCAAqC,CAAC;AAK7C,MAAM,OAAO,GAAoB;IAC/B,KAAK,EAAE,SAAS;IAChB,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,WAAW;IAClB,SAAS,EAAE,sBAAsB;IACjC,OAAO,EAAE,yCAAyC;IAClD,YAAY,EAAE,CAAC,YAAY,EAAE,YAAY,EAAE,2BAA2B,CAAC;IACvE,QAAQ,EAAE,uDAAuD;IACjE,OAAO,EAAE;QACP,WAAW,EAAE,4BAA4B;QACzC,WAAW,EAAE,EAAE;QACf,WAAW,EAAE,EAAE;QACf,iBAAiB,EAAE;YACjB,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,wCAAwC,EAAE;YAC1E,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,2CAA2C,EAAE;SAC9E;KACF;IACD,WAAW,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,mBAAmB,EAAE,EAAE,EAAE;CAClE,CAAC;AAEF,MAAM,kBAAkB,GAA4B;IAClD;QACE,SAAS,EAAE,OAAO;QAClB,MAAM,EAAE,OAAO;QACf,IAAI,EAAE,yBAAyB;QAC/B,QAAQ,EAAE,YAAY;QACtB,UAAU,EAAE,EAAE;QACd,OAAO,EAAE,+CAA+C;KACzD;IACD;QACE,SAAS,EAAE,OAAO;QAClB,MAAM,EAAE,KAAK;QACb,IAAI,EAAE,qBAAqB;QAC3B,OAAO,EAAE,gDAAgD;KAC1D;CACF,CAAC;AAEF,MAAM,SAAS,GAAuB;IACpC,OAAO;IACP,GAAG,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,gBAAgB,EAAE,IAAI,EAAE,iBAAiB,EAAE,GAAG,EAAE;IACtE,kBAAkB;IAClB,gBAAgB,EAAE,mCAAmC;CACtD,CAAC;AAEF,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,EAAE,CAAC,qEAAqE,EAAE,GAAG,EAAE;QAC7E,MAAM,GAAG,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;QAC3C,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,6BAA6B,CAAC,CAAC;QACrD,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,yCAAyC,CAAC,CAAC;QACjE,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;QAC7C,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CACnB,sFAAsF,CACvF,CAAC;QACF,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,wCAAwC,CAAC,CAAC;QAChE,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CACnB,0EAA0E,CAC3E,CAAC;QACF,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,2CAA2C,CAAC,CAAC;QACnE,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;QAC5C,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;QACxC,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;QACxC,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,+BAA+B,CAAC,CAAC;QACvD,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CACnB,2DAA2D,CAC5D,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qEAAqE,EAAE,GAAG,EAAE;QAC7E,MAAM,GAAG,GAAG,mBAAmB,CAAC;YAC9B,GAAG,SAAS;YACZ,OAAO,EAAE;gBACP,GAAG,OAAO;gBACV,OAAO,EAAE,qCAAqC;aAC/C;SACF,CAAC,CAAC;QACH,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,iCAAiC,CAAC,CAAC;QACzD,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;QACjE,MAAM,GAAG,GAAG,mBAAmB,CAAC;YAC9B,GAAG,SAAS;YACZ,OAAO,EAAE;gBACP,GAAG,OAAO;gBACV,OAAO,EAAE,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE;aAC9D;SACF,CAAC,CAAC;QACH,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;QAC7C,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CACnB,sFAAsF,CACvF,CAAC;QACF,oCAAoC;QACpC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,wCAAwC,CAAC,CAAC;QACpE,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,iDAAiD,CAAC,CAAC;IAC3E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC/D,MAAM,GAAG,GAAG,mBAAmB,CAAC;YAC9B,GAAG,SAAS;YACZ,OAAO,EAAE;gBACP,GAAG,OAAO;gBACV,OAAO,EAAE,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,iBAAiB,EAAE,EAAE,EAAE;aACvD;SACF,CAAC,CAAC;QACH,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,iDAAiD,CAAC,CAAC;IAC3E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8EAA8E,EAAE,GAAG,EAAE;QACtF,MAAM,GAAG,GAAG,mBAAmB,CAAC;YAC9B,GAAG,SAAS;YACZ,OAAO,EAAE;gBACP,GAAG,OAAO;gBACV,OAAO,EAAE;oBACP,GAAG,OAAO,CAAC,OAAO;oBAClB,iBAAiB,EAAE;wBACjB,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,mBAAmB,EAAE;wBACrD,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,yBAAyB,EAAE;qBAC7D;iBACF;aACF;SACF,CAAC,CAAC;QACH,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;QAC3C,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+FAA+F,EAAE,GAAG,EAAE;QACvG,MAAM,GAAG,GAAG,mBAAmB,CAAC;YAC9B,GAAG,SAAS;YACZ,OAAO,EAAE;gBACP,GAAG,OAAO;gBACV,OAAO,EAAE;oBACP,GAAG,OAAO,CAAC,OAAO;oBAClB,iBAAiB,EAAE;wBACjB,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE;wBAClD,wBAAwB;qBACzB;iBACF;aACF;SACF,CAAC,CAAC;QACH,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;QACxC,qDAAqD;QACrD,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CACnB,0EAA0E,CAC3E,CAAC;QACF,8EAA8E;QAC9E,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,CACvB,iDAAiD,CAClD,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+DAA+D,EAAE,GAAG,EAAE;QACvE,MAAM,GAAG,GAAG,mBAAmB,CAAC;YAC9B,GAAG,SAAS;YACZ,kBAAkB,EAAE;gBAClB;oBACE,SAAS,EAAE,OAAO;oBAClB,MAAM,EAAE,oBAAoB;oBAC5B,IAAI,EAAE,GAAG;oBACT,QAAQ,EAAE,sBAAsB;oBAChC,UAAU,EAAE,CAAC;oBACb,OAAO,EAAE,+CAA+C;iBAChC;aAC3B;SACF,CAAC,CAAC;QACH,iEAAiE;QACjE,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,8BAA8B,CAAC,CAAC;QACtD,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,8BAA8B,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0EAA0E,EAAE,GAAG,EAAE;QAClF,MAAM,GAAG,GAAG,mBAAmB,CAAC;YAC9B,GAAG,SAAS;YACZ,kBAAkB,EAAE,EAAE;SACvB,CAAC,CAAC;QACH,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,6BAA6B,CAAC,CAAC;QACrD,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;QAC5C,4CAA4C;QAC5C,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uFAAuF,EAAE,GAAG,EAAE;QAC/F,MAAM,GAAG,GAAG,mBAAmB,CAAC,EAAE,GAAG,SAAS,EAAE,gBAAgB,EAAE,EAAE,EAAE,CAAC,CAAC;QACxE,sEAAsE;QACtE,uDAAuD;QACvD,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,yCAAyC,CAAC,CAAC;QACjE,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QACrC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gFAAgF,EAAE,GAAG,EAAE;QACxF,MAAM,GAAG,GAAG,mBAAmB,CAAC;YAC9B,GAAG,SAAS;YACZ,KAAK,EAAE,+BAA+B;YACtC,OAAO,EAAE;gBACP,GAAG,OAAO;gBACV,OAAO,EAAE,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE;aAC9D;YACD,kBAAkB,EAAE;gBAClB;oBACE,SAAS,EAAE,KAAK;oBAChB,MAAM,EAAE,OAAO;oBACf,IAAI,EAAE,GAAG;oBACT,QAAQ,EAAE,YAAY;oBACtB,UAAU,EAAE,CAAC;oBACb,iBAAiB;iBAClB;gBACD;oBACE,SAAS,EAAE,KAAK;oBAChB,MAAM,EAAE,KAAK;oBACb,IAAI,EAAE,GAAG;oBACT,8BAA8B;iBAC/B;aACF;SACF,CAAC,CAAC;QACH,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,+CAA+C,CAAC,CAAC;QACvE,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,gDAAgD,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,SAAS,QAAQ,CAAC,OAA4C,EAAE;IAC9D,MAAM,UAAU,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;IACpE,OAAO;QACL,GAAG,EAAE;YACH,EAAE,EAAE,SAAS;YACb,OAAO,EAAE,iBAAiB;YAC1B,KAAK,EAAE,+BAA+B;YACtC,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC;YACnD,gBAAgB,EAAE,IAAI;YACtB,iBAAiB,EAAE,GAAG;SACvB;QACD,OAAO;QACP,QAAQ,EAAE,CAAC;QACX,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,GAAG;QACT,OAAO,EAAE,EAAW;QACpB,aAAa,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC;QACnD,gBAAgB,EAAE,mCAAmC;QACrD,MAAM,EAAE,UAAU;QAClB,GAAG,IAAI;KACR,CAAC;AACJ,CAAC;AAED,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACtC,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;QACzE,MAAM,IAAI,GAAG,QAAQ,EAAE,CAAC;QACxB,MAAM,sBAAsB,CAAC,IAAI,CAAC,CAAC;QACnC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACpD,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,GACnC,IAAI,CAAC,aACN,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAChB,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACxB,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACvB,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACzB,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,6BAA6B,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;QAClD,MAAM,IAAI,GAAG,QAAQ,CAAC;YACpB,GAAG,EAAE,EAAE,GAAG,QAAQ,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE;SAChD,CAAC,CAAC;QACH,MAAM,sBAAsB,CAAC,IAAI,CAAC,CAAC;QACnC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;QAChD,MAAM,IAAI,GAAG,QAAQ,CAAC;YACpB,GAAG,EAAE,EAAE,GAAG,QAAQ,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE;YACvC,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;QACH,MAAM,sBAAsB,CAAC,IAAI,CAAC,CAAC;QACnC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAClD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,oBAAoB,CAC3C,MAAM,CAAC,gBAAgB,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,EAC7C,0CAA0C,CAC3C,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;QACrD,MAAM,IAAI,GAAG,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACzC,MAAM,sBAAsB,CAAC,IAAI,CAAC,CAAC;QACnC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAClD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,oBAAoB,CAC3C,MAAM,CAAC,gBAAgB,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,EAC7C,8CAA8C,CAC/C,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;QAChF,MAAM,IAAI,GAAG,QAAQ,CAAC;YACpB,GAAG,EAAE,EAAE,GAAG,QAAQ,EAAE,CAAC,GAAG,EAAE,eAAe,EAAE,WAAW,EAAE;SACzD,CAAC,CAAC;QACH,MAAM,sBAAsB,CAAC,IAAI,CAAC,CAAC;QACnC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACpD,MAAM,IAAI,GAAI,IAAI,CAAC,aAA0C,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/E,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,6BAA6B,CAAC,CAAC;QACtD,gDAAgD;QAChD,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;QAClD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gEAAgE,EAAE,KAAK,IAAI,EAAE;QAC9E,MAAM,IAAI,GAAG,QAAQ,CAAC;YACpB,aAAa,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;SAClE,CAAC,CAAC;QACH,MAAM,MAAM,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;QACpE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,oBAAoB,CAC3C,MAAM,CAAC,gBAAgB,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,EAC1D,2CAA2C,CAC5C,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+FAA+F,EAAE,KAAK,IAAI,EAAE;QAC7G,MAAM,IAAI,GAAG,QAAQ,CAAC;YACpB,GAAG,EAAE,EAAE,GAAG,QAAQ,EAAE,CAAC,GAAG,EAAE,eAAe,EAAE,IAAI,EAAE;SAClD,CAAC,CAAC;QACH,MAAM,sBAAsB,CAAC,IAAI,CAAC,CAAC;QACnC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACpD,MAAM,IAAI,GAAI,IAAI,CAAC,aAA0C,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/E,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,6BAA6B,CAAC,CAAC;QACtD,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,qBAAqB,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -153,4 +153,61 @@ describe("HandoffArtifactSchema", () => {
153
153
  expect(result.success).toBe(false);
154
154
  });
155
155
  });
156
+ describe("HandoffArtifactSchema addressedComments", () => {
157
+ const base = {
158
+ runId: "r1",
159
+ issueId: "i1",
160
+ stage: "implement",
161
+ timestamp: "2026-05-10T00:00:00Z",
162
+ summary: "x",
163
+ filesChanged: ["a.ts"],
164
+ approach: "y",
165
+ tokenBudget: { contextTokensUsed: 1, recommendedMaxTurns: 1 },
166
+ };
167
+ it("preserves context.addressedComments when populated (not stripped)", () => {
168
+ const result = HandoffArtifactSchema.safeParse({
169
+ ...base,
170
+ context: {
171
+ issueIntent: "x",
172
+ constraints: [],
173
+ assumptions: [],
174
+ addressedComments: [
175
+ { commentId: "c1", response: "Did the thing." },
176
+ ],
177
+ },
178
+ });
179
+ expect(result.success).toBe(true);
180
+ // Without the schema change, zod's default .strip mode silently drops
181
+ // the unknown key — success: true but addressedComments: undefined. This
182
+ // assertion is what makes the test fail before the schema change lands.
183
+ if (result.success) {
184
+ expect(result.data.context.addressedComments).toEqual([
185
+ { commentId: "c1", response: "Did the thing." },
186
+ ]);
187
+ }
188
+ });
189
+ it("accepts a handoff with addressedComments absent (backwards compat)", () => {
190
+ const result = HandoffArtifactSchema.safeParse({
191
+ ...base,
192
+ context: {
193
+ issueIntent: "x",
194
+ constraints: [],
195
+ assumptions: [],
196
+ },
197
+ });
198
+ expect(result.success).toBe(true);
199
+ });
200
+ it("rejects when addressedComments[i].response is missing", () => {
201
+ const result = HandoffArtifactSchema.safeParse({
202
+ ...base,
203
+ context: {
204
+ issueIntent: "x",
205
+ constraints: [],
206
+ assumptions: [],
207
+ addressedComments: [{ commentId: "c1" }],
208
+ },
209
+ });
210
+ expect(result.success).toBe(false);
211
+ });
212
+ });
156
213
  //# sourceMappingURL=types.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.test.js","sourceRoot":"","sources":["../../src/__tests__/types.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.test.js","sourceRoot":"","sources":["../../src/__tests__/types.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../../src/executor/prompt/templates.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,UAAU,EACV,eAAe,EACf,qBAAqB,EAErB,oBAAoB,EACrB,MAAM,gBAAgB,CAAC;AAWxB;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQ9C;AAMD;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM,CAyB5D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAOzD;AAKD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,MAAM,CA4C9D;AAuBD;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,CAAC,EAAE,qBAAqB,GAAG,MAAM,CA4B5E;AAMD,wBAAgB,cAAc,CAC5B,KAAK,EAAE,cAAc,EACrB,IAAI,EAAE,UAAU,EAChB,OAAO,CAAC,EAAE,eAAe,GACxB,MAAM,CAeR;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,cAAc,EACrB,IAAI,EAAE,UAAU,EAChB,OAAO,CAAC,EAAE,eAAe,GACxB,MAAM,CAcR;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,cAAc,EACrB,IAAI,EAAE,UAAU,EAChB,OAAO,CAAC,EAAE,eAAe,EACzB,cAAc,CAAC,EAAE,qBAAqB,EACtC,aAAa,CAAC,EAAE,oBAAoB,GACnC,MAAM,CA6ER;AAED,wBAAgB,YAAY,CAC1B,KAAK,EAAE,cAAc,EACrB,IAAI,EAAE,UAAU,EAChB,OAAO,CAAC,EAAE,eAAe,GACxB,MAAM,CAgBR;AAED,wBAAgB,cAAc,CAC5B,KAAK,EAAE,cAAc,EACrB,IAAI,EAAE,UAAU,EAChB,OAAO,CAAC,EAAE,eAAe,GACxB,MAAM,CAqBR"}
1
+ {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../../src/executor/prompt/templates.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,UAAU,EACV,eAAe,EACf,qBAAqB,EAErB,oBAAoB,EACrB,MAAM,gBAAgB,CAAC;AAWxB;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQ9C;AAMD;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM,CAyB5D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAOzD;AAKD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,MAAM,CA4C9D;AAuBD;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,CAAC,EAAE,qBAAqB,GAAG,MAAM,CA4B5E;AAMD,wBAAgB,cAAc,CAC5B,KAAK,EAAE,cAAc,EACrB,IAAI,EAAE,UAAU,EAChB,OAAO,CAAC,EAAE,eAAe,GACxB,MAAM,CAeR;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,cAAc,EACrB,IAAI,EAAE,UAAU,EAChB,OAAO,CAAC,EAAE,eAAe,GACxB,MAAM,CAcR;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,cAAc,EACrB,IAAI,EAAE,UAAU,EAChB,OAAO,CAAC,EAAE,eAAe,EACzB,cAAc,CAAC,EAAE,qBAAqB,EACtC,aAAa,CAAC,EAAE,oBAAoB,GACnC,MAAM,CAiFR;AAED,wBAAgB,YAAY,CAC1B,KAAK,EAAE,cAAc,EACrB,IAAI,EAAE,UAAU,EAChB,OAAO,CAAC,EAAE,eAAe,GACxB,MAAM,CAgBR;AAED,wBAAgB,cAAc,CAC5B,KAAK,EAAE,cAAc,EACrB,IAAI,EAAE,UAAU,EAChB,OAAO,CAAC,EAAE,eAAe,GACxB,MAAM,CAqBR"}
@@ -222,6 +222,10 @@ Instructions:
222
222
  - Skip build/test ONLY if every change is text-only (docs, comments, string literals with no behavior change). Otherwise run: \`${repo.buildCommand}\` then \`${repo.testCommand}\`.
223
223
  - If a step fails (build, test, push), stop and report what blocks the resolution. Do NOT spelunk for a workaround or run unrelated commands.
224
224
  - You have a tight turn budget. Plan: read diff → make N small edits → commit → push → done.
225
+ - After making your changes, populate \`context.addressedComments\` in your HandoffArtifact: one entry per PR comment listed above. Each entry MUST have:
226
+ - \`commentId\`: the comment ID exactly as given in the <review-feedback> block
227
+ - \`response\`: ONE sentence (≤ 12 words) describing what you changed in response to this comment
228
+ If a comment was not actionable (e.g. a question or a duplicate), set \`response\` to a one-line explanation rather than skipping the entry.
225
229
  `.trim();
226
230
  }
227
231
  return `You are the implement agent. Your job is to write the code that resolves the issue.
@@ -1 +1 @@
1
- {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../../src/executor/prompt/templates.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../../src/executor/prompt/templates.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"openrouter-client.d.ts","sourceRoot":"","sources":["../../../src/executor/review/openrouter-client.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,WAAW,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,gBAAgB;IACf,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAAH,GAAG,EAAE,sBAAsB;IAElD,cAAc,CAClB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,WAAW,EAAE,EACvB,IAAI,EAAE,kBAAkB,GACvB,OAAO,CAAC,oBAAoB,CAAC;CA8BjC"}
1
+ {"version":3,"file":"openrouter-client.d.ts","sourceRoot":"","sources":["../../../src/executor/review/openrouter-client.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,WAAW,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,gBAAgB;IACf,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAAH,GAAG,EAAE,sBAAsB;IAElD,cAAc,CAClB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,WAAW,EAAE,EACvB,IAAI,EAAE,kBAAkB,GACvB,OAAO,CAAC,oBAAoB,CAAC;CAyCjC"}
@@ -23,7 +23,15 @@ export class OpenRouterClient {
23
23
  const body = await res.text();
24
24
  throw new Error(`openrouter ${res.status} ${body.slice(0, 200)}`);
25
25
  }
26
+ // Some providers (notably free-tier / community models) return 200 OK with
27
+ // an error body and no `choices` field. Treat missing/empty choices as a
28
+ // failure with a meaningful message instead of letting `json.choices[0]`
29
+ // throw "Cannot read properties of undefined (reading '0')".
26
30
  const json = (await res.json());
31
+ if (!Array.isArray(json.choices) || json.choices.length === 0) {
32
+ const providerErr = json.error?.message ?? "no error message in response body";
33
+ throw new Error(`openrouter response missing choices — provider returned 200 OK but no completion: ${providerErr}`);
34
+ }
27
35
  return {
28
36
  content: json.choices[0]?.message?.content ?? "",
29
37
  inputTokens: json.usage?.prompt_tokens ?? 0,
@@ -1 +1 @@
1
- {"version":3,"file":"openrouter-client.js","sourceRoot":"","sources":["../../../src/executor/review/openrouter-client.ts"],"names":[],"mappings":"AAqBA,MAAM,OAAO,gBAAgB;IACE;IAA7B,YAA6B,GAA2B;QAA3B,QAAG,GAAH,GAAG,CAAwB;IAAG,CAAC;IAE5D,KAAK,CAAC,cAAc,CAClB,OAAe,EACf,QAAuB,EACvB,IAAwB;QAExB,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,mBAAmB,EAAE;YAC9D,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,eAAe,EAAE,UAAU,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE;gBAC5C,cAAc,EAAE,kBAAkB;gBAClC,cAAc,EAAE,sBAAsB;gBACtC,SAAS,EAAE,SAAS;aACrB;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,KAAK,EAAE,OAAO;gBACd,QAAQ;gBACR,GAAG,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;aACpE,CAAC;YACF,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,cAAc,GAAG,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QACpE,CAAC;QACD,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAG7B,CAAC;QACF,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,IAAI,EAAE;YAChD,WAAW,EAAE,IAAI,CAAC,KAAK,EAAE,aAAa,IAAI,CAAC;YAC3C,YAAY,EAAE,IAAI,CAAC,KAAK,EAAE,iBAAiB,IAAI,CAAC;SACjD,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"openrouter-client.js","sourceRoot":"","sources":["../../../src/executor/review/openrouter-client.ts"],"names":[],"mappings":"AAqBA,MAAM,OAAO,gBAAgB;IACE;IAA7B,YAA6B,GAA2B;QAA3B,QAAG,GAAH,GAAG,CAAwB;IAAG,CAAC;IAE5D,KAAK,CAAC,cAAc,CAClB,OAAe,EACf,QAAuB,EACvB,IAAwB;QAExB,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,mBAAmB,EAAE;YAC9D,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,eAAe,EAAE,UAAU,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE;gBAC5C,cAAc,EAAE,kBAAkB;gBAClC,cAAc,EAAE,sBAAsB;gBACtC,SAAS,EAAE,SAAS;aACrB;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,KAAK,EAAE,OAAO;gBACd,QAAQ;gBACR,GAAG,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;aACpE,CAAC;YACF,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,cAAc,GAAG,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QACpE,CAAC;QACD,2EAA2E;QAC3E,yEAAyE;QACzE,yEAAyE;QACzE,6DAA6D;QAC7D,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAI7B,CAAC;QACF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9D,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,EAAE,OAAO,IAAI,mCAAmC,CAAC;YAC/E,MAAM,IAAI,KAAK,CACb,qFAAqF,WAAW,EAAE,CACnG,CAAC;QACJ,CAAC;QACD,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,IAAI,EAAE;YAChD,WAAW,EAAE,IAAI,CAAC,KAAK,EAAE,aAAa,IAAI,CAAC;YAC3C,YAAY,EAAE,IAAI,CAAC,KAAK,EAAE,iBAAiB,IAAI,CAAC;SACjD,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,47 @@
1
+ import type { HandoffArtifact } from "../types.js";
2
+ import type { ReviewFeedbackComment } from "../webhook/github-handler.js";
3
+ import type { addPRComment } from "../repo/github.js";
4
+ import type { Logger } from "pino";
5
+ export interface ChangeSummaryInput {
6
+ handoff: HandoffArtifact;
7
+ run: {
8
+ id: string;
9
+ totalInputTokens: number;
10
+ totalOutputTokens: number;
11
+ };
12
+ triggeringComments: ReviewFeedbackComment[];
13
+ dashboardBaseUrl: string;
14
+ /** PR URL — used as the base for fallback comment URL construction. */
15
+ prUrl?: string;
16
+ }
17
+ /**
18
+ * Render the markdown body of the per-PR change-summary comment. Pure
19
+ * function — no I/O, no GitHub calls.
20
+ */
21
+ export declare function renderChangeSummary(input: ChangeSummaryInput): string;
22
+ /**
23
+ * Thin dispatcher called from runner.onPipelineComplete. Decides whether to
24
+ * post the change summary, builds the input, calls renderChangeSummary, and
25
+ * posts via addPRComment. Best-effort: any failure is logged at warn level
26
+ * and the function returns (no throw).
27
+ */
28
+ export interface MaybePostChangeSummaryDeps {
29
+ run: {
30
+ id: string;
31
+ runType?: string | null;
32
+ prUrl?: string | null;
33
+ feedbackContext?: string | null;
34
+ totalInputTokens: number;
35
+ totalOutputTokens: number;
36
+ };
37
+ handoff: HandoffArtifact | null | undefined;
38
+ prNumber: number | null;
39
+ owner: string;
40
+ repo: string;
41
+ octokit: Parameters<typeof addPRComment>[0];
42
+ postPRComment: typeof addPRComment;
43
+ dashboardBaseUrl: string;
44
+ logger: Pick<Logger, "info" | "warn" | "error">;
45
+ }
46
+ export declare function maybePostChangeSummary(deps: MaybePostChangeSummaryDeps): Promise<void>;
47
+ //# sourceMappingURL=pr-change-summary.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pr-change-summary.d.ts","sourceRoot":"","sources":["../../src/pipeline/pr-change-summary.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAsCnC,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,eAAe,CAAC;IACzB,GAAG,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAC;QAAC,iBAAiB,EAAE,MAAM,CAAA;KAAE,CAAC;IACzE,kBAAkB,EAAE,qBAAqB,EAAE,CAAC;IAC5C,gBAAgB,EAAE,MAAM,CAAC;IACzB,uEAAuE;IACvE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,kBAAkB,GAAG,MAAM,CA0DrE;AAED;;;;;GAKG;AACH,MAAM,WAAW,0BAA0B;IACzC,GAAG,EAAE;QACH,EAAE,EAAE,MAAM,CAAC;QACX,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAChC,gBAAgB,EAAE,MAAM,CAAC;QACzB,iBAAiB,EAAE,MAAM,CAAC;KAC3B,CAAC;IACF,OAAO,EAAE,eAAe,GAAG,IAAI,GAAG,SAAS,CAAC;IAC5C,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,aAAa,EAAE,OAAO,YAAY,CAAC;IACnC,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;CACjD;AAED,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,0BAA0B,GAC/B,OAAO,CAAC,IAAI,CAAC,CAgFf"}