@urateam/core 0.1.27 → 0.1.28

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 (52) hide show
  1. package/dist/__tests__/bec-183-pre-stream-stall.test.d.ts +2 -0
  2. package/dist/__tests__/bec-183-pre-stream-stall.test.d.ts.map +1 -0
  3. package/dist/__tests__/bec-183-pre-stream-stall.test.js +139 -0
  4. package/dist/__tests__/bec-183-pre-stream-stall.test.js.map +1 -0
  5. package/dist/__tests__/gh-linear-sync.test.d.ts +2 -0
  6. package/dist/__tests__/gh-linear-sync.test.d.ts.map +1 -0
  7. package/dist/__tests__/gh-linear-sync.test.js +325 -0
  8. package/dist/__tests__/gh-linear-sync.test.js.map +1 -0
  9. package/dist/__tests__/select-repo-config.test.d.ts +2 -0
  10. package/dist/__tests__/select-repo-config.test.d.ts.map +1 -0
  11. package/dist/__tests__/select-repo-config.test.js +132 -0
  12. package/dist/__tests__/select-repo-config.test.js.map +1 -0
  13. package/dist/__tests__/start-todo.test.js +124 -0
  14. package/dist/__tests__/start-todo.test.js.map +1 -1
  15. package/dist/executor/agent-stream.d.ts +29 -4
  16. package/dist/executor/agent-stream.d.ts.map +1 -1
  17. package/dist/executor/agent-stream.js +65 -17
  18. package/dist/executor/agent-stream.js.map +1 -1
  19. package/dist/executor/executor.d.ts.map +1 -1
  20. package/dist/executor/executor.js +71 -15
  21. package/dist/executor/executor.js.map +1 -1
  22. package/dist/executor/index.d.ts +1 -1
  23. package/dist/executor/index.d.ts.map +1 -1
  24. package/dist/executor/index.js +1 -1
  25. package/dist/executor/index.js.map +1 -1
  26. package/dist/index.d.ts +1 -0
  27. package/dist/index.d.ts.map +1 -1
  28. package/dist/index.js +1 -0
  29. package/dist/index.js.map +1 -1
  30. package/dist/pm/actions/select-repo-config.d.ts +22 -0
  31. package/dist/pm/actions/select-repo-config.d.ts.map +1 -0
  32. package/dist/pm/actions/select-repo-config.js +38 -0
  33. package/dist/pm/actions/select-repo-config.js.map +1 -0
  34. package/dist/pm/actions/start-todo.d.ts.map +1 -1
  35. package/dist/pm/actions/start-todo.js +13 -8
  36. package/dist/pm/actions/start-todo.js.map +1 -1
  37. package/dist/sync/gh-linear-sync.d.ts +189 -0
  38. package/dist/sync/gh-linear-sync.d.ts.map +1 -0
  39. package/dist/sync/gh-linear-sync.js +279 -0
  40. package/dist/sync/gh-linear-sync.js.map +1 -0
  41. package/dist/sync/index.d.ts +2 -0
  42. package/dist/sync/index.d.ts.map +1 -0
  43. package/dist/sync/index.js +3 -0
  44. package/dist/sync/index.js.map +1 -0
  45. package/dist/types.d.ts +1 -0
  46. package/dist/types.d.ts.map +1 -1
  47. package/dist/types.js +12 -0
  48. package/dist/types.js.map +1 -1
  49. package/dist/webhook/handler.d.ts.map +1 -1
  50. package/dist/webhook/handler.js +4 -2
  51. package/dist/webhook/handler.js.map +1 -1
  52. package/package.json +1 -1
@@ -0,0 +1,132 @@
1
+ import { describe, it, expect } from "vitest";
2
+ import { selectRepoConfig } from "../pm/actions/select-repo-config.js";
3
+ function makeRepo(url, labelPattern) {
4
+ const config = {
5
+ url,
6
+ defaultBranch: "main",
7
+ testCommand: "pnpm test",
8
+ buildCommand: "pnpm build",
9
+ };
10
+ if (labelPattern !== undefined) {
11
+ config.labelPattern = labelPattern;
12
+ }
13
+ return config;
14
+ }
15
+ describe("selectRepoConfig (BEC-177)", () => {
16
+ describe("label-pattern lookup", () => {
17
+ it("returns the config whose labelPattern matches the pipeline label", () => {
18
+ const repoConfigs = {
19
+ "team-abc": makeRepo("https://github.com/JonB32/urateam"),
20
+ "observer": makeRepo("https://github.com/JonB32/urateam-quality-observer", "observer-fix"),
21
+ };
22
+ const result = selectRepoConfig("observer-fix", "team-abc", null, repoConfigs);
23
+ expect(result).not.toBeNull();
24
+ expect(result.url).toBe("https://github.com/JonB32/urateam-quality-observer");
25
+ });
26
+ it("is case-insensitive for labelPattern matching", () => {
27
+ const repoConfigs = {
28
+ "observer": makeRepo("https://github.com/JonB32/urateam-quality-observer", "Observer-Fix"),
29
+ };
30
+ const result = selectRepoConfig("observer-fix", null, null, repoConfigs);
31
+ expect(result).not.toBeNull();
32
+ expect(result.url).toBe("https://github.com/JonB32/urateam-quality-observer");
33
+ });
34
+ it("is case-insensitive for pipeline label (uppercased label)", () => {
35
+ const repoConfigs = {
36
+ "observer": makeRepo("https://github.com/JonB32/urateam-quality-observer", "observer-fix"),
37
+ };
38
+ const result = selectRepoConfig("OBSERVER-FIX", null, null, repoConfigs);
39
+ expect(result).not.toBeNull();
40
+ expect(result.url).toBe("https://github.com/JonB32/urateam-quality-observer");
41
+ });
42
+ it("label-pattern match takes priority over teamId key lookup", () => {
43
+ // Even though teamId matches a key, the labelPattern takes priority
44
+ const repoConfigs = {
45
+ "team-abc": makeRepo("https://github.com/JonB32/urateam"),
46
+ "observer": makeRepo("https://github.com/JonB32/urateam-quality-observer", "observer-fix"),
47
+ };
48
+ // team-abc matches by teamId key, observer matches by labelPattern
49
+ const result = selectRepoConfig("observer-fix", "team-abc", null, repoConfigs);
50
+ expect(result.url).toBe("https://github.com/JonB32/urateam-quality-observer");
51
+ });
52
+ });
53
+ describe("teamId fallback (backwards compatibility)", () => {
54
+ it("falls back to teamId key lookup when no labelPattern matches", () => {
55
+ const repoConfigs = {
56
+ "team-abc": makeRepo("https://github.com/JonB32/urateam"),
57
+ };
58
+ const result = selectRepoConfig("auto-implement", "team-abc", null, repoConfigs);
59
+ expect(result).not.toBeNull();
60
+ expect(result.url).toBe("https://github.com/JonB32/urateam");
61
+ });
62
+ it("falls back to projectId key lookup when teamId key is missing", () => {
63
+ const repoConfigs = {
64
+ "proj-xyz": makeRepo("https://github.com/JonB32/urateam"),
65
+ };
66
+ const result = selectRepoConfig("auto-implement", "unknown-team", "proj-xyz", repoConfigs);
67
+ expect(result).not.toBeNull();
68
+ expect(result.url).toBe("https://github.com/JonB32/urateam");
69
+ });
70
+ it("returns null when no teamId, projectId, or matching labelPattern found", () => {
71
+ const repoConfigs = {
72
+ "team-abc": makeRepo("https://github.com/JonB32/urateam"),
73
+ };
74
+ const result = selectRepoConfig("auto-implement", "unknown-team", "unknown-proj", repoConfigs);
75
+ expect(result).toBeNull();
76
+ });
77
+ it("returns null for empty repoConfigs", () => {
78
+ const result = selectRepoConfig("auto-implement", "team-abc", null, {});
79
+ expect(result).toBeNull();
80
+ });
81
+ });
82
+ describe("graceful handling of missing labelPattern", () => {
83
+ it("skips entries without labelPattern during label scan", () => {
84
+ const repoConfigs = {
85
+ "team-abc": makeRepo("https://github.com/JonB32/urateam"), // no labelPattern
86
+ "team-def": makeRepo("https://github.com/JonB32/other"), // no labelPattern
87
+ };
88
+ // Falls back to teamId lookup, ignoring entries without labelPattern
89
+ const result = selectRepoConfig("auto-implement", "team-abc", null, repoConfigs);
90
+ expect(result.url).toBe("https://github.com/JonB32/urateam");
91
+ });
92
+ it("handles null teamId and projectId gracefully with no labelPattern match", () => {
93
+ const repoConfigs = {
94
+ "team-abc": makeRepo("https://github.com/JonB32/urateam"),
95
+ };
96
+ const result = selectRepoConfig("auto-implement", null, null, repoConfigs);
97
+ expect(result).toBeNull();
98
+ });
99
+ it("handles undefined teamId and projectId gracefully", () => {
100
+ const repoConfigs = {
101
+ "team-abc": makeRepo("https://github.com/JonB32/urateam"),
102
+ };
103
+ const result = selectRepoConfig("auto-implement", undefined, undefined, repoConfigs);
104
+ expect(result).toBeNull();
105
+ });
106
+ });
107
+ describe("multi-repo routing integration scenario", () => {
108
+ it("routes auto-implement to urateam and observer-fix to observer repo", () => {
109
+ // Two repoConfigs: auto-implement → urateam, observer-fix → observer-repo
110
+ const repoConfigs = {
111
+ "team-main": makeRepo("https://github.com/JonB32/urateam", "auto-implement"),
112
+ "team-observer": makeRepo("https://github.com/JonB32/urateam-quality-observer", "observer-fix"),
113
+ };
114
+ // Ticket with observer-fix label → observer repo
115
+ const observerResult = selectRepoConfig("observer-fix", "team-main", null, repoConfigs);
116
+ expect(observerResult.url).toBe("https://github.com/JonB32/urateam-quality-observer");
117
+ // Ticket with auto-implement label → urateam
118
+ const mainResult = selectRepoConfig("auto-implement", "team-main", null, repoConfigs);
119
+ expect(mainResult.url).toBe("https://github.com/JonB32/urateam");
120
+ });
121
+ it("falls back to auto-implement config for unmapped labels via teamId", () => {
122
+ // Legacy config: no labelPattern, relies on teamId key
123
+ const repoConfigs = {
124
+ "team-main": makeRepo("https://github.com/JonB32/urateam"),
125
+ };
126
+ // Any label that resolves to a pipeline key routes via teamId fallback
127
+ const result = selectRepoConfig("auto-implement", "team-main", null, repoConfigs);
128
+ expect(result.url).toBe("https://github.com/JonB32/urateam");
129
+ });
130
+ });
131
+ });
132
+ //# sourceMappingURL=select-repo-config.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select-repo-config.test.js","sourceRoot":"","sources":["../../src/__tests__/select-repo-config.test.ts"],"names":[],"mappings":"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"}
@@ -196,6 +196,130 @@ describe("startTodoIssues", () => {
196
196
  expect(results[0].reason).toContain("clone failed");
197
197
  expect(results[1].started).toBe(true);
198
198
  });
199
+ describe("BEC-177: label-based repo routing", () => {
200
+ it("routes ticket with observer-fix label to observer repo via labelPattern", async () => {
201
+ // Two pipelines: auto-implement (urateam) and observer-fix (observer repo)
202
+ const multiPipelineConfigs = {
203
+ "auto-implement": {
204
+ stages: ["implement", "review"],
205
+ retryStrategy: "linear",
206
+ },
207
+ "observer-fix": {
208
+ stages: ["implement", "review"],
209
+ retryStrategy: "linear",
210
+ },
211
+ };
212
+ const multiRepoConfigs = {
213
+ "urateam-main": {
214
+ url: "https://github.com/JonB32/urateam",
215
+ defaultBranch: "main",
216
+ labelPattern: "auto-implement",
217
+ },
218
+ "observer-repo": {
219
+ url: "https://github.com/JonB32/urateam-quality-observer",
220
+ defaultBranch: "main",
221
+ labelPattern: "observer-fix",
222
+ },
223
+ };
224
+ const issue = makeIssue({ labels: [{ name: "observer-fix" }] });
225
+ const runner = { start: vi.fn().mockResolvedValue(undefined) };
226
+ const input = {
227
+ linearClient: mockLinearClient([issue]),
228
+ db: mockDb([]),
229
+ teamIds: ["team-1"],
230
+ runner: runner,
231
+ pipelineConfigs: multiPipelineConfigs,
232
+ repoConfigs: multiRepoConfigs,
233
+ maxPerTick: 5,
234
+ };
235
+ const results = await startTodoIssues(input);
236
+ expect(results).toHaveLength(1);
237
+ expect(results[0].started).toBe(true);
238
+ expect(results[0].reason).toContain("observer-fix");
239
+ expect(runner.start).toHaveBeenCalledOnce();
240
+ // Verify the observer repo config was passed (4th arg to runner.start)
241
+ const callArgs = runner.start.mock.calls[0];
242
+ expect(callArgs[3].url).toBe("https://github.com/JonB32/urateam-quality-observer");
243
+ });
244
+ it("existing auto-implement tickets still route to urateam via labelPattern (no migration required)", async () => {
245
+ const multiPipelineConfigs = {
246
+ "auto-implement": {
247
+ stages: ["implement", "review"],
248
+ retryStrategy: "linear",
249
+ },
250
+ };
251
+ const multiRepoConfigs = {
252
+ "urateam-main": {
253
+ url: "https://github.com/JonB32/urateam",
254
+ defaultBranch: "main",
255
+ labelPattern: "auto-implement",
256
+ },
257
+ "observer-repo": {
258
+ url: "https://github.com/JonB32/urateam-quality-observer",
259
+ defaultBranch: "main",
260
+ labelPattern: "observer-fix",
261
+ },
262
+ };
263
+ const issue = makeIssue({ labels: [{ name: "auto-implement" }] });
264
+ const runner = { start: vi.fn().mockResolvedValue(undefined) };
265
+ const input = {
266
+ linearClient: mockLinearClient([issue]),
267
+ db: mockDb([]),
268
+ teamIds: ["team-1"],
269
+ runner: runner,
270
+ pipelineConfigs: multiPipelineConfigs,
271
+ repoConfigs: multiRepoConfigs,
272
+ maxPerTick: 5,
273
+ };
274
+ const results = await startTodoIssues(input);
275
+ expect(results[0].started).toBe(true);
276
+ const callArgs = runner.start.mock.calls[0];
277
+ expect(callArgs[3].url).toBe("https://github.com/JonB32/urateam");
278
+ });
279
+ it("falls back to teamId key lookup when no labelPattern matches (backwards compatibility)", async () => {
280
+ // Legacy config: key = teamId, no labelPattern
281
+ const issue = makeIssue({ labels: [{ name: "auto-implement" }] });
282
+ const runner = { start: vi.fn().mockResolvedValue(undefined) };
283
+ const input = {
284
+ linearClient: mockLinearClient([issue]),
285
+ db: mockDb([]),
286
+ teamIds: ["team-1"],
287
+ runner: runner,
288
+ pipelineConfigs,
289
+ repoConfigs, // uses "team-1" as key, no labelPattern
290
+ maxPerTick: 5,
291
+ };
292
+ const results = await startTodoIssues(input);
293
+ expect(results[0].started).toBe(true);
294
+ const callArgs = runner.start.mock.calls[0];
295
+ expect(callArgs[3].url).toBe("https://github.com/test/repo");
296
+ });
297
+ it("skips issue when no repo config matches by label or teamId", async () => {
298
+ const multiRepoConfigs = {
299
+ "observer-repo": {
300
+ url: "https://github.com/JonB32/urateam-quality-observer",
301
+ defaultBranch: "main",
302
+ labelPattern: "observer-fix",
303
+ },
304
+ };
305
+ // Issue labelled "auto-implement" but no repoConfig for it (no labelPattern, no teamId key)
306
+ const issue = makeIssue({ teamId: "unknown-team", labels: [{ name: "auto-implement" }] });
307
+ const runner = { start: vi.fn() };
308
+ const input = {
309
+ linearClient: mockLinearClient([issue]),
310
+ db: mockDb([]),
311
+ teamIds: ["team-1"],
312
+ runner: runner,
313
+ pipelineConfigs,
314
+ repoConfigs: multiRepoConfigs,
315
+ maxPerTick: 5,
316
+ };
317
+ const results = await startTodoIssues(input);
318
+ expect(results[0].started).toBe(false);
319
+ expect(results[0].reason).toContain("no repo");
320
+ expect(runner.start).not.toHaveBeenCalled();
321
+ });
322
+ });
199
323
  describe("circuit breaker (BEC-161)", () => {
200
324
  it("skips Todo issue with N+ consecutive failed runs WITHOUT touching Linear SDK (saves 3 round-trips)", async () => {
201
325
  // Spy on the Linear-SDK awaits so we can assert the breaker fires
@@ -1 +1 @@
1
- {"version":3,"file":"start-todo.test.js","sourceRoot":"","sources":["../../src/__tests__/start-todo.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"start-todo.test.js","sourceRoot":"","sources":["../../src/__tests__/start-todo.test.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,3 @@
1
- /**
2
- * Shared helpers for consuming Agent SDK message streams and parsing
3
- * JSON blocks from agent output.
4
- */
5
1
  export interface StreamMessage {
6
2
  type?: string;
7
3
  usage?: {
@@ -51,6 +47,19 @@ export declare class StageStalledError extends Error {
51
47
  outputTokens: number;
52
48
  });
53
49
  }
50
+ /**
51
+ * Thrown when no message is received from the agent stream before the
52
+ * `firstMessageTimeoutMs` deadline. This covers the pre-stream hang class
53
+ * (BEC-183) where query() returns an iterator that never yields its first
54
+ * message — e.g., blocked on an SDK-internal auth-retry loop, MCP init
55
+ * failure, or a never-resolving Promise before the iterator advances.
56
+ *
57
+ * Distinct from StageStalledError (mid-stream silence after ≥1 message).
58
+ */
59
+ export declare class StagePreStreamStalledError extends Error {
60
+ readonly timeoutMs: number;
61
+ constructor(timeoutMs: number);
62
+ }
54
63
  /**
55
64
  * Consume an Agent SDK message stream, accumulating token usage and
56
65
  * extracting the last assistant text content.
@@ -80,6 +89,15 @@ export declare function consumeAgentStream(messages: AsyncIterable<unknown>, opt
80
89
  * tool calls, raise this value (or chunk the work).
81
90
  */
82
91
  progressTimeoutMs?: number;
92
+ /**
93
+ * Throw StagePreStreamStalledError if no message at all arrives within
94
+ * this window. Default 5 minutes. Protects against SDK hangs that occur
95
+ * before the first message is emitted (e.g., auth-retry loop inside
96
+ * query(), MCP server boot failure, never-resolving iterator setup).
97
+ * BEC-183: distinct from progressTimeoutMs (mid-stream silence after ≥1
98
+ * message). Set shorter than progressTimeoutMs to catch hangs early.
99
+ */
100
+ firstMessageTimeoutMs?: number;
83
101
  }): Promise<ConsumeResult>;
84
102
  /**
85
103
  * Extract text from an Agent SDK message content field.
@@ -91,6 +109,13 @@ export declare function extractText(content: Array<{
91
109
  /**
92
110
  * Extract and parse a bare JSON object from text (finds first `{...}` match).
93
111
  * Returns null if no object is found or if parsing fails.
112
+ *
113
+ * Uses non-greedy matching so that if the text contains multiple top-level
114
+ * JSON-like blocks separated by non-JSON content (e.g. log lines), the first
115
+ * parseable object is returned rather than a greedy span that crosses all of
116
+ * them and fails to parse. Trade-off: non-greedy does not correctly handle
117
+ * deeply nested objects — for those, prefer `parseJsonBlock` (fenced block).
118
+ * In practice, PM-agent Haiku responses are flat JSON, so non-greedy is safe.
94
119
  */
95
120
  export declare function parseJsonObject(text: string): any | null;
96
121
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"agent-stream.d.ts","sourceRoot":"","sources":["../../src/executor/agent-stream.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE;QACN,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,2BAA2B,CAAC,EAAE,MAAM,CAAC;QACrC,uBAAuB,CAAC,EAAE,MAAM,CAAC;KAClC,CAAC;IACF,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,MAAM,CAAC;IAC1D,0EAA0E;IAC1E,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,GAAG,MAAM,CAAA;KAAE,GAAG,MAAM,CAAC;CAClF;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,wBAAwB,EAAE,MAAM,CAAC;IACjC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;GAKG;AACH,qBAAa,iBAAkB,SAAQ,KAAK;aAExB,YAAY,EAAE,MAAM;aACpB,SAAS,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE;gBAD7F,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE;CAQhH;AAED;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,aAAa,CAAC,OAAO,CAAC,EAChC,OAAO,CAAC,EAAE;IACR,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,IAAI,CAAC;IAC7C,wEAAwE;IACxE,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACjH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;;;;;;;OASG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,GACA,OAAO,CAAC,aAAa,CAAC,CA4GxB;AAED;;GAEG;AACH,wBAAgB,WAAW,CACzB,OAAO,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,MAAM,GACvD,MAAM,CAOR;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,GAAG,IAAI,CAQxD;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAQ3D"}
1
+ {"version":3,"file":"agent-stream.d.ts","sourceRoot":"","sources":["../../src/executor/agent-stream.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE;QACN,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,2BAA2B,CAAC,EAAE,MAAM,CAAC;QACrC,uBAAuB,CAAC,EAAE,MAAM,CAAC;KAClC,CAAC;IACF,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,MAAM,CAAC;IAC1D,0EAA0E;IAC1E,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,GAAG,MAAM,CAAA;KAAE,GAAG,MAAM,CAAC;CAClF;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,wBAAwB,EAAE,MAAM,CAAC;IACjC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;GAKG;AACH,qBAAa,iBAAkB,SAAQ,KAAK;aAExB,YAAY,EAAE,MAAM;aACpB,SAAS,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE;gBAD7F,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE;CAQhH;AAED;;;;;;;;GAQG;AACH,qBAAa,0BAA2B,SAAQ,KAAK;aACvB,SAAS,EAAE,MAAM;gBAAjB,SAAS,EAAE,MAAM;CAM9C;AAED;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,aAAa,CAAC,OAAO,CAAC,EAChC,OAAO,CAAC,EAAE;IACR,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,IAAI,CAAC;IAC7C,wEAAwE;IACxE,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACjH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;;;;;;;OASG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;;;;OAOG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC,GACA,OAAO,CAAC,aAAa,CAAC,CAmIxB;AAED;;GAEG;AACH,wBAAgB,WAAW,CACzB,OAAO,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,MAAM,GACvD,MAAM,CAOR;AAkBD;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,GAAG,IAAI,CAExD;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAE3D"}
@@ -2,6 +2,8 @@
2
2
  * Shared helpers for consuming Agent SDK message streams and parsing
3
3
  * JSON blocks from agent output.
4
4
  */
5
+ import { createLogger } from "../logger.js";
6
+ const log = createLogger({ component: "AgentStream" });
5
7
  /**
6
8
  * Thrown when a stage's agent stream makes no observable progress
7
9
  * (no new output tokens or assistant turns) for `progressTimeoutMs`.
@@ -19,6 +21,23 @@ export class StageStalledError extends Error {
19
21
  this.name = "StageStalledError";
20
22
  }
21
23
  }
24
+ /**
25
+ * Thrown when no message is received from the agent stream before the
26
+ * `firstMessageTimeoutMs` deadline. This covers the pre-stream hang class
27
+ * (BEC-183) where query() returns an iterator that never yields its first
28
+ * message — e.g., blocked on an SDK-internal auth-retry loop, MCP init
29
+ * failure, or a never-resolving Promise before the iterator advances.
30
+ *
31
+ * Distinct from StageStalledError (mid-stream silence after ≥1 message).
32
+ */
33
+ export class StagePreStreamStalledError extends Error {
34
+ timeoutMs;
35
+ constructor(timeoutMs) {
36
+ super(`stage pre-stream stall — no message received within ${Math.round(timeoutMs / 1000)}s of starting`);
37
+ this.timeoutMs = timeoutMs;
38
+ this.name = "StagePreStreamStalledError";
39
+ }
40
+ }
22
41
  /**
23
42
  * Consume an Agent SDK message stream, accumulating token usage and
24
43
  * extracting the last assistant text content.
@@ -39,10 +58,23 @@ export async function consumeAgentStream(messages, options) {
39
58
  let lastTokenAdvanceAt = Date.now();
40
59
  const progressInterval = options?.progressIntervalMs ?? 30_000;
41
60
  const stallTimeoutMs = options?.progressTimeoutMs ?? 30 * 60_000;
61
+ // BEC-183: first-message timeout — fires if the iterator never yields its
62
+ // first message (pre-stream hang). Default 5 min; covers auth refresh,
63
+ // MCP boot, and model warmup latencies while still detecting SDK deadlocks.
64
+ const firstMsgTimeoutMs = options?.firstMessageTimeoutMs ?? 5 * 60_000;
65
+ const streamStartAt = Date.now();
66
+ let firstMessageReceived = false;
42
67
  const iterator = messages[Symbol.asyncIterator]();
43
68
  const STALLED = { __stalled: true };
44
69
  while (true) {
45
- const remainingUntilStall = stallTimeoutMs - (Date.now() - lastTokenAdvanceAt);
70
+ const stallRemaining = stallTimeoutMs - (Date.now() - lastTokenAdvanceAt);
71
+ // First-message timeout: only active until the first real message arrives.
72
+ const firstMsgRemaining = firstMessageReceived
73
+ ? Infinity
74
+ : firstMsgTimeoutMs - (Date.now() - streamStartAt);
75
+ // Use whichever deadline is sooner; clamp to 0 to fire immediately if
76
+ // either has already elapsed.
77
+ const remainingUntilTimeout = Math.max(Math.min(stallRemaining, firstMsgRemaining), 0);
46
78
  let stallTimer;
47
79
  let nextSettled = false;
48
80
  let nextValue;
@@ -52,7 +84,7 @@ export async function consumeAgentStream(messages, options) {
52
84
  return v;
53
85
  });
54
86
  const stallPromise = new Promise((resolve) => {
55
- stallTimer = setTimeout(() => resolve(STALLED), Math.max(remainingUntilStall, 0));
87
+ stallTimer = setTimeout(() => resolve(STALLED), remainingUntilTimeout);
56
88
  });
57
89
  const raced = await Promise.race([next, stallPromise]);
58
90
  if (stallTimer)
@@ -67,7 +99,13 @@ export async function consumeAgentStream(messages, options) {
67
99
  // never-resolving await (the exact zombie pattern from urateam#122),
68
100
  // awaiting iterator.return() would hang forever waiting for that
69
101
  // await to settle. Best-effort signal; let the GC handle the rest.
70
- iterator.return?.().catch(() => { });
102
+ iterator.return?.()?.catch((err) => log.debug({ err }, "iterator cleanup failed"));
103
+ if (!firstMessageReceived) {
104
+ // Pre-stream hang: the iterator never yielded its first message
105
+ // within firstMsgTimeoutMs. Throw StagePreStreamStalledError so
106
+ // callers can distinguish this from a mid-stream stall. BEC-183.
107
+ throw new StagePreStreamStalledError(firstMsgTimeoutMs);
108
+ }
71
109
  throw new StageStalledError(Date.now() - lastTokenAdvanceAt, {
72
110
  messageCount,
73
111
  turns,
@@ -79,6 +117,8 @@ export async function consumeAgentStream(messages, options) {
79
117
  const result = (raced === STALLED ? nextValue : raced);
80
118
  if (result.done)
81
119
  break;
120
+ // Mark that at least one message has arrived; deactivates first-message timer.
121
+ firstMessageReceived = true;
82
122
  const message = result.value;
83
123
  messageCount++;
84
124
  if (options?.onProgress && Date.now() - lastProgressTime >= progressInterval) {
@@ -138,33 +178,41 @@ export function extractText(content) {
138
178
  : String(content);
139
179
  }
140
180
  /**
141
- * Extract and parse a bare JSON object from text (finds first `{...}` match).
142
- * Returns null if no object is found or if parsing fails.
181
+ * Internal helper: apply `regex` to `text`, then JSON-parse the capture group
182
+ * at `groupIndex`. Returns null if the regex doesn't match or parsing fails.
183
+ * Eliminates the try-catch boilerplate duplicated in parseJsonObject and
184
+ * parseJsonBlock.
143
185
  */
144
- export function parseJsonObject(text) {
145
- const match = text.match(/\{[\s\S]*\}/);
186
+ function parseJsonWithRegex(text, regex, groupIndex = 0) {
187
+ const match = text.match(regex);
146
188
  if (!match)
147
189
  return null;
148
190
  try {
149
- return JSON.parse(match[0]);
191
+ return JSON.parse(match[groupIndex]);
150
192
  }
151
193
  catch {
152
194
  return null;
153
195
  }
154
196
  }
197
+ /**
198
+ * Extract and parse a bare JSON object from text (finds first `{...}` match).
199
+ * Returns null if no object is found or if parsing fails.
200
+ *
201
+ * Uses non-greedy matching so that if the text contains multiple top-level
202
+ * JSON-like blocks separated by non-JSON content (e.g. log lines), the first
203
+ * parseable object is returned rather than a greedy span that crosses all of
204
+ * them and fails to parse. Trade-off: non-greedy does not correctly handle
205
+ * deeply nested objects — for those, prefer `parseJsonBlock` (fenced block).
206
+ * In practice, PM-agent Haiku responses are flat JSON, so non-greedy is safe.
207
+ */
208
+ export function parseJsonObject(text) {
209
+ return parseJsonWithRegex(text, /\{[\s\S]*?\}/, 0);
210
+ }
155
211
  /**
156
212
  * Extract and parse a ```json fenced code block from agent output text.
157
213
  * Returns null if no block is found or if parsing fails.
158
214
  */
159
215
  export function parseJsonBlock(text) {
160
- const match = text.match(/```json\s*\n([\s\S]*?)\n```/);
161
- if (!match)
162
- return null;
163
- try {
164
- return JSON.parse(match[1]);
165
- }
166
- catch {
167
- return null;
168
- }
216
+ return parseJsonWithRegex(text, /```json\s*\n([\s\S]*?)\n```/, 1);
169
217
  }
170
218
  //# sourceMappingURL=agent-stream.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent-stream.js","sourceRoot":"","sources":["../../src/executor/agent-stream.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-stream.js","sourceRoot":"","sources":["../../src/executor/agent-stream.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../src/executor/executor.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,SAAS,EACT,cAAc,EACd,UAAU,EACV,eAAe,EACf,WAAW,EACX,qBAAqB,EACrB,oBAAoB,EACpB,YAAY,EACb,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,EAAE,EAAS,MAAM,iBAAiB,CAAC;AAOjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAKnE;;;;;;GAMG;AACH,wBAAgB,kCAAkC,CAChD,OAAO,EAAE,YAAY,EACrB,KAAK,EAAE,SAAS,EAChB,iBAAiB,EAAE,OAAO,GACzB,YAAY,CAKd;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,SAAS,CAAC;IACjB,cAAc,EAAE,cAAc,CAAC;IAC/B,UAAU,EAAE,UAAU,CAAC;IACvB,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,EAAE,EAAE,EAAE,CAAC;IACP,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,8EAA8E;IAC9E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;kEAC8D;IAC9D,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC;;mFAE+E;IAC/E,cAAc,CAAC,EAAE,qBAAqB,CAAC;IACvC;;;kEAG8D;IAC9D,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;CAC7C;AAED,wBAAsB,YAAY,CAChC,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,WAAW,CAAC,CAiOtB"}
1
+ {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../src/executor/executor.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,SAAS,EACT,cAAc,EACd,UAAU,EACV,eAAe,EACf,WAAW,EACX,qBAAqB,EACrB,oBAAoB,EACpB,YAAY,EACb,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,EAAE,EAAS,MAAM,iBAAiB,CAAC;AAOjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAqBnE;;;;;;GAMG;AACH,wBAAgB,kCAAkC,CAChD,OAAO,EAAE,YAAY,EACrB,KAAK,EAAE,SAAS,EAChB,iBAAiB,EAAE,OAAO,GACzB,YAAY,CAKd;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,SAAS,CAAC;IACjB,cAAc,EAAE,cAAc,CAAC;IAC/B,UAAU,EAAE,UAAU,CAAC;IACvB,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,EAAE,EAAE,EAAE,CAAC;IACP,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,8EAA8E;IAC9E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;kEAC8D;IAC9D,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC;;mFAE+E;IAC/E,cAAc,CAAC,EAAE,qBAAqB,CAAC;IACvC;;;kEAG8D;IAC9D,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;CAC7C;AAED,wBAAsB,YAAY,CAChC,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,WAAW,CAAC,CA4QtB"}