@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.
- package/dist/__tests__/bec-183-pre-stream-stall.test.d.ts +2 -0
- package/dist/__tests__/bec-183-pre-stream-stall.test.d.ts.map +1 -0
- package/dist/__tests__/bec-183-pre-stream-stall.test.js +139 -0
- package/dist/__tests__/bec-183-pre-stream-stall.test.js.map +1 -0
- package/dist/__tests__/gh-linear-sync.test.d.ts +2 -0
- package/dist/__tests__/gh-linear-sync.test.d.ts.map +1 -0
- package/dist/__tests__/gh-linear-sync.test.js +325 -0
- package/dist/__tests__/gh-linear-sync.test.js.map +1 -0
- package/dist/__tests__/select-repo-config.test.d.ts +2 -0
- package/dist/__tests__/select-repo-config.test.d.ts.map +1 -0
- package/dist/__tests__/select-repo-config.test.js +132 -0
- package/dist/__tests__/select-repo-config.test.js.map +1 -0
- package/dist/__tests__/start-todo.test.js +124 -0
- package/dist/__tests__/start-todo.test.js.map +1 -1
- package/dist/executor/agent-stream.d.ts +29 -4
- package/dist/executor/agent-stream.d.ts.map +1 -1
- package/dist/executor/agent-stream.js +65 -17
- package/dist/executor/agent-stream.js.map +1 -1
- package/dist/executor/executor.d.ts.map +1 -1
- package/dist/executor/executor.js +71 -15
- package/dist/executor/executor.js.map +1 -1
- package/dist/executor/index.d.ts +1 -1
- package/dist/executor/index.d.ts.map +1 -1
- package/dist/executor/index.js +1 -1
- package/dist/executor/index.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/pm/actions/select-repo-config.d.ts +22 -0
- package/dist/pm/actions/select-repo-config.d.ts.map +1 -0
- package/dist/pm/actions/select-repo-config.js +38 -0
- package/dist/pm/actions/select-repo-config.js.map +1 -0
- package/dist/pm/actions/start-todo.d.ts.map +1 -1
- package/dist/pm/actions/start-todo.js +13 -8
- package/dist/pm/actions/start-todo.js.map +1 -1
- package/dist/sync/gh-linear-sync.d.ts +189 -0
- package/dist/sync/gh-linear-sync.d.ts.map +1 -0
- package/dist/sync/gh-linear-sync.js +279 -0
- package/dist/sync/gh-linear-sync.js.map +1 -0
- package/dist/sync/index.d.ts +2 -0
- package/dist/sync/index.d.ts.map +1 -0
- package/dist/sync/index.js +3 -0
- package/dist/sync/index.js.map +1 -0
- package/dist/types.d.ts +1 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +12 -0
- package/dist/types.js.map +1 -1
- package/dist/webhook/handler.d.ts.map +1 -1
- package/dist/webhook/handler.js +4 -2
- package/dist/webhook/handler.js.map +1 -1
- 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":"
|
|
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
|
|
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),
|
|
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?.()
|
|
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
|
-
*
|
|
142
|
-
* Returns null if
|
|
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
|
-
|
|
145
|
-
const match = text.match(
|
|
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[
|
|
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
|
-
|
|
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":"AAAA;;;GAGG;
|
|
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;
|
|
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"}
|