agent-tower 0.5.3 → 0.5.4-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/mcp/http-client.d.ts +31 -1
- package/dist/mcp/http-client.d.ts.map +1 -1
- package/dist/mcp/http-client.js +14 -2
- package/dist/mcp/http-client.js.map +1 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +62 -8
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/tools/__tests__/workspaces.test.d.ts +2 -0
- package/dist/mcp/tools/__tests__/workspaces.test.d.ts.map +1 -0
- package/dist/mcp/tools/__tests__/workspaces.test.js +72 -0
- package/dist/mcp/tools/__tests__/workspaces.test.js.map +1 -0
- package/dist/mcp/tools/workspaces.d.ts +9 -1
- package/dist/mcp/tools/workspaces.d.ts.map +1 -1
- package/dist/mcp/tools/workspaces.js +96 -2
- package/dist/mcp/tools/workspaces.js.map +1 -1
- package/dist/mcp/types.d.ts +46 -0
- package/dist/mcp/types.d.ts.map +1 -1
- package/dist/mcp/types.js +23 -0
- package/dist/mcp/types.js.map +1 -1
- package/dist/routes/__tests__/team-runs-merge.test.d.ts +2 -0
- package/dist/routes/__tests__/team-runs-merge.test.d.ts.map +1 -0
- package/dist/routes/__tests__/team-runs-merge.test.js +156 -0
- package/dist/routes/__tests__/team-runs-merge.test.js.map +1 -0
- package/dist/routes/__tests__/team-runs-private-messages.test.d.ts +2 -0
- package/dist/routes/__tests__/team-runs-private-messages.test.d.ts.map +1 -0
- package/dist/routes/__tests__/team-runs-private-messages.test.js +82 -0
- package/dist/routes/__tests__/team-runs-private-messages.test.js.map +1 -0
- package/dist/routes/team-runs.d.ts +2 -0
- package/dist/routes/team-runs.d.ts.map +1 -1
- package/dist/routes/team-runs.js +48 -1
- package/dist/routes/team-runs.js.map +1 -1
- package/dist/routes/workspaces.d.ts.map +1 -1
- package/dist/routes/workspaces.js +43 -4
- package/dist/routes/workspaces.js.map +1 -1
- package/dist/services/__tests__/session-manager.team-run.test.js +75 -0
- package/dist/services/__tests__/session-manager.team-run.test.js.map +1 -1
- package/dist/services/__tests__/team-reconciler.service.test.js +127 -8
- package/dist/services/__tests__/team-reconciler.service.test.js.map +1 -1
- package/dist/services/__tests__/team-run.service.test.js +172 -0
- package/dist/services/__tests__/team-run.service.test.js.map +1 -1
- package/dist/services/__tests__/team-scheduler.service.test.js +397 -0
- package/dist/services/__tests__/team-scheduler.service.test.js.map +1 -1
- package/dist/services/__tests__/workspace.service.test.js +959 -3
- package/dist/services/__tests__/workspace.service.test.js.map +1 -1
- package/dist/services/session-manager.d.ts.map +1 -1
- package/dist/services/session-manager.js +16 -0
- package/dist/services/session-manager.js.map +1 -1
- package/dist/services/team-run.service.d.ts +5 -1
- package/dist/services/team-run.service.d.ts.map +1 -1
- package/dist/services/team-run.service.js +63 -2
- package/dist/services/team-run.service.js.map +1 -1
- package/dist/services/team-scheduler.service.d.ts +21 -1
- package/dist/services/team-scheduler.service.d.ts.map +1 -1
- package/dist/services/team-scheduler.service.js +230 -8
- package/dist/services/team-scheduler.service.js.map +1 -1
- package/dist/services/workspace.service.d.ts +56 -1
- package/dist/services/workspace.service.d.ts.map +1 -1
- package/dist/services/workspace.service.js +837 -4
- package/dist/services/workspace.service.js.map +1 -1
- package/node_modules/@agent-tower/shared/dist/types.d.ts +168 -0
- package/node_modules/@agent-tower/shared/dist/types.d.ts.map +1 -1
- package/node_modules/@agent-tower/shared/dist/types.js.map +1 -1
- package/node_modules/@prisma/client/.prisma/client/edge.js +39 -5
- package/node_modules/@prisma/client/.prisma/client/index-browser.js +34 -0
- package/node_modules/@prisma/client/.prisma/client/index.d.ts +2871 -158
- package/node_modules/@prisma/client/.prisma/client/index.js +39 -5
- package/node_modules/@prisma/client/.prisma/client/package.json +1 -1
- package/node_modules/@prisma/client/.prisma/client/schema.prisma +81 -30
- package/node_modules/@prisma/client/.prisma/client/wasm.js +34 -0
- package/package.json +1 -1
- package/prisma/migrations/20260618010000_add_workspace_verdicts/migration.sql +27 -0
- package/prisma/migrations/20260702000000_add_teamrun_target_commit_fields/migration.sql +38 -0
- package/prisma/schema.prisma +51 -0
|
@@ -40,12 +40,22 @@ const createWorkspaceSchema = z.object({
|
|
|
40
40
|
branchName: z.string().min(1).optional(),
|
|
41
41
|
workspaceKind: z.nativeEnum(WorkspaceKind).optional(),
|
|
42
42
|
});
|
|
43
|
+
const workspaceVerdictSchema = z.object({
|
|
44
|
+
kind: z.enum(['REVIEW', 'TEST']),
|
|
45
|
+
verdict: z.enum(['APPROVED', 'CHANGES_REQUESTED', 'PASSED', 'FAILED']),
|
|
46
|
+
reviewedSha: z.string().min(1),
|
|
47
|
+
reason: z.string().optional().nullable(),
|
|
48
|
+
});
|
|
43
49
|
/**
|
|
44
50
|
* 统一错误响应格式
|
|
45
51
|
*/
|
|
46
52
|
function errorResponse(error, code) {
|
|
47
53
|
return { error, code };
|
|
48
54
|
}
|
|
55
|
+
function getInvocationId(request) {
|
|
56
|
+
const header = request.headers['x-agent-tower-invocation-id'];
|
|
57
|
+
return typeof header === 'string' && header.length > 0 ? header : null;
|
|
58
|
+
}
|
|
49
59
|
export async function workspaceRoutes(app) {
|
|
50
60
|
const workspaceService = new WorkspaceService();
|
|
51
61
|
// ── 错误处理钩子 ────────────────────────────────────────────────────────────
|
|
@@ -122,18 +132,47 @@ export async function workspaceRoutes(app) {
|
|
|
122
132
|
const diff = await workspaceService.getDiff(request.params.id);
|
|
123
133
|
return { diff };
|
|
124
134
|
});
|
|
135
|
+
app.get('/workspaces/:id/verdicts', async (request) => {
|
|
136
|
+
return workspaceService.listVerdicts(request.params.id);
|
|
137
|
+
});
|
|
138
|
+
app.post('/workspaces/:id/verdicts', async (request, reply) => {
|
|
139
|
+
const body = workspaceVerdictSchema.parse(request.body || {});
|
|
140
|
+
const invocationId = getInvocationId(request);
|
|
141
|
+
const identity = await workspaceService.resolveInvocationMemberForWorkspace(request.params.id, invocationId);
|
|
142
|
+
if (!identity) {
|
|
143
|
+
throw new ServiceError('A valid TeamRun agent invocation identity is required to record workspace verdicts', 'TEAM_RUN_INVOCATION_REQUIRED', 403);
|
|
144
|
+
}
|
|
145
|
+
if (identity.targetSourceWorkspaceId === request.params.id) {
|
|
146
|
+
if (!identity.targetHeadSha) {
|
|
147
|
+
throw new ServiceError('Targeted invocation is missing targetHeadSha for workspace verdict', 'TARGET_VERDICT_TARGET_MISSING', 409);
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
const verdict = await workspaceService.recordVerdict(request.params.id, {
|
|
151
|
+
kind: body.kind,
|
|
152
|
+
verdict: body.verdict,
|
|
153
|
+
reviewedSha: body.reviewedSha,
|
|
154
|
+
reviewerMemberId: identity.memberId,
|
|
155
|
+
expectedTargetHeadSha: identity.targetSourceWorkspaceId === request.params.id
|
|
156
|
+
? identity.targetHeadSha
|
|
157
|
+
: null,
|
|
158
|
+
reason: body.reason,
|
|
159
|
+
});
|
|
160
|
+
reply.code(201);
|
|
161
|
+
return verdict;
|
|
162
|
+
});
|
|
125
163
|
// ── 合并工作空间到主分支 ────────────────────────────────────────────────────
|
|
126
164
|
const mergeSchema = z.object({
|
|
127
165
|
commitMessage: z.string().min(1).optional(),
|
|
128
166
|
});
|
|
129
167
|
app.post('/workspaces/:id/merge', async (request) => {
|
|
130
168
|
const body = mergeSchema.parse(request.body || {});
|
|
131
|
-
const
|
|
132
|
-
|
|
133
|
-
: undefined;
|
|
169
|
+
const invocationId = getInvocationId(request) ?? undefined;
|
|
170
|
+
const identity = await workspaceService.resolveInvocationMemberForWorkspace(request.params.id, invocationId);
|
|
134
171
|
const sha = await workspaceService.merge(request.params.id, {
|
|
135
172
|
commitMessage: body.commitMessage,
|
|
136
|
-
lockOwnerId,
|
|
173
|
+
lockOwnerId: invocationId,
|
|
174
|
+
invocationId,
|
|
175
|
+
requesterMemberId: identity?.memberId,
|
|
137
176
|
});
|
|
138
177
|
return { success: true, sha };
|
|
139
178
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspaces.js","sourceRoot":"","sources":["../../src/routes/workspaces.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"workspaces.js","sourceRoot":"","sources":["../../src/routes/workspaces.ts"],"names":[],"mappings":"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"}
|
|
@@ -253,6 +253,81 @@ describe('SessionManager TeamRun env injection', () => {
|
|
|
253
253
|
});
|
|
254
254
|
manager.destroyAll();
|
|
255
255
|
});
|
|
256
|
+
it('injects targeted test port env when the invocation has allocated ports', async () => {
|
|
257
|
+
const { task, workspace } = await createWorkspace();
|
|
258
|
+
const teamRun = await prisma.teamRun.create({
|
|
259
|
+
data: {
|
|
260
|
+
taskId: task.id,
|
|
261
|
+
mode: 'AUTO',
|
|
262
|
+
},
|
|
263
|
+
});
|
|
264
|
+
const member = await prisma.teamMember.create({
|
|
265
|
+
data: {
|
|
266
|
+
teamRunId: teamRun.id,
|
|
267
|
+
presetId: null,
|
|
268
|
+
name: 'Tester',
|
|
269
|
+
aliases: '["tester"]',
|
|
270
|
+
providerId: 'codex-default',
|
|
271
|
+
rolePrompt: 'Test role',
|
|
272
|
+
capabilities: '{}',
|
|
273
|
+
workspacePolicy: 'dedicated',
|
|
274
|
+
triggerPolicy: 'MENTION_ONLY',
|
|
275
|
+
avatar: null,
|
|
276
|
+
},
|
|
277
|
+
});
|
|
278
|
+
const request = await prisma.workRequest.create({
|
|
279
|
+
data: {
|
|
280
|
+
teamRunId: teamRun.id,
|
|
281
|
+
requesterMemberId: null,
|
|
282
|
+
requesterType: 'user',
|
|
283
|
+
targetMemberId: member.id,
|
|
284
|
+
targetKind: 'WORKSPACE_COMMIT',
|
|
285
|
+
targetPurpose: 'TEST',
|
|
286
|
+
targetSourceWorkspaceId: workspace.id,
|
|
287
|
+
targetHeadSha: 'a'.repeat(40),
|
|
288
|
+
targetBranchName: workspace.branchName,
|
|
289
|
+
triggerMessageId: 'message-target-test',
|
|
290
|
+
instruction: 'Run tests',
|
|
291
|
+
status: 'STARTED',
|
|
292
|
+
},
|
|
293
|
+
});
|
|
294
|
+
const session = await prisma.session.create({
|
|
295
|
+
data: {
|
|
296
|
+
workspaceId: workspace.id,
|
|
297
|
+
agentType: AgentType.CODEX,
|
|
298
|
+
providerId: 'codex-default',
|
|
299
|
+
prompt: 'prompt',
|
|
300
|
+
status: SessionStatus.PENDING,
|
|
301
|
+
},
|
|
302
|
+
});
|
|
303
|
+
await prisma.agentInvocation.create({
|
|
304
|
+
data: {
|
|
305
|
+
teamRunId: teamRun.id,
|
|
306
|
+
workRequestId: request.id,
|
|
307
|
+
memberId: member.id,
|
|
308
|
+
workspaceId: workspace.id,
|
|
309
|
+
sessionId: session.id,
|
|
310
|
+
targetKind: 'WORKSPACE_COMMIT',
|
|
311
|
+
targetPurpose: 'TEST',
|
|
312
|
+
targetSourceWorkspaceId: workspace.id,
|
|
313
|
+
targetHeadSha: 'a'.repeat(40),
|
|
314
|
+
targetBranchName: workspace.branchName,
|
|
315
|
+
targetSyncStatus: 'SYNCED',
|
|
316
|
+
targetPort: 21000,
|
|
317
|
+
targetVitePort: 21001,
|
|
318
|
+
targetE2EPort: 21002,
|
|
319
|
+
status: 'RUNNING',
|
|
320
|
+
},
|
|
321
|
+
});
|
|
322
|
+
await manager.start(session.id);
|
|
323
|
+
const spawnConfig = spawnMock.mock.calls[0][0];
|
|
324
|
+
expect(spawnConfig.env.toObject()).toMatchObject({
|
|
325
|
+
PORT: '21000',
|
|
326
|
+
VITE_PORT: '21001',
|
|
327
|
+
E2E_PORT: '21002',
|
|
328
|
+
});
|
|
329
|
+
manager.destroyAll();
|
|
330
|
+
});
|
|
256
331
|
it('does not inject TeamRun env for a solo session', async () => {
|
|
257
332
|
const { workspace } = await createWorkspace();
|
|
258
333
|
const session = await prisma.session.create({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-manager.team-run.test.js","sourceRoot":"","sources":["../../../src/services/__tests__/session-manager.team-run.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"session-manager.team-run.test.js","sourceRoot":"","sources":["../../../src/services/__tests__/session-manager.team-run.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAEnF,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAEnD,OAAO,EACL,iCAAiC,EACjC,iCAAiC,EACjC,gCAAgC,GACjC,MAAM,kCAAkC,CAAC;AAE1C,MAAM,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,uCAAuC,CAAC,CAAC,CAAC;AAChG,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;AAC7C,MAAM,gBAAgB,GAAG;IACvB,GAAG,iCAAiC;IACpC,GAAG,iCAAiC;IACpC,GAAG,gCAAgC;IACnC,6BAA6B;CACrB,CAAC;AAEX,MAAM,WAAW,GAAuC,EAAE,CAAC;AAC3D,KAAK,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC;IACnC,WAAW,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACtC,CAAC;AAED,OAAO,CAAC,GAAG,CAAC,wBAAwB,GAAG,QAAQ,MAAM,EAAE,CAAC;AAExD,MAAM,EAAE,SAAS,EAAE,iBAAiB,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACzD,SAAS,EAAE,EAAE,CAAC,EAAE,EAAE;IAClB,iBAAiB,EAAE,EAAE,CAAC,EAAE,EAAE;CAC3B,CAAC,CAAC,CAAC;AAEJ,EAAE,CAAC,IAAI,CAAC,0BAA0B,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE;IAC3D,MAAM,MAAM,GAAG,MAAM,cAAc,EAA6C,CAAC;IACjF,OAAO;QACL,GAAG,MAAM;QACP,WAAW,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;YACxB,SAAS,EAAE,OAAO;YAClB,WAAW,EAAE,YAAY;YACzB,mBAAmB,EAAE,EAAE,CAAC,EAAE,EAAE;YAC5B,eAAe,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;YAChC,KAAK,EAAE,SAAS;YAChB,aAAa,EAAE,iBAAiB;SACjC,CAAC,CAAC;QACH,qBAAqB,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;YAClC,SAAS,EAAE,OAAO;YAClB,WAAW,EAAE,YAAY;YACzB,mBAAmB,EAAE,EAAE,CAAC,EAAE,EAAE;YAC5B,eAAe,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;YAChC,KAAK,EAAE,SAAS;YAChB,aAAa,EAAE,iBAAiB;SACjC,CAAC,CAAC;QACL,eAAe,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;YAC5B,EAAE,EAAE,eAAe;YACnB,IAAI,EAAE,OAAO;YACb,SAAS,EAAE,OAAO;YAClB,GAAG,EAAE;gBACH,YAAY,EAAE,gCAAgC;gBAC9C,wBAAwB,EAAE,+BAA+B;gBACzD,oBAAoB,EAAE,4BAA4B;gBAClD,mBAAmB,EAAE,2BAA2B;gBAChD,QAAQ,EAAE,oBAAoB;gBAC9B,sBAAsB,EAAE,kBAAkB;gBAC1C,yBAAyB,EAAE,qBAAqB;gBAChD,uBAAuB,EAAE,mBAAmB;gBAC5C,qBAAqB,EAAE,iBAAiB;gBACxC,eAAe,EAAE,uBAAuB;gBACxC,gBAAgB,EAAE,MAAM;gBACxB,iBAAiB,EAAE,gBAAgB;aACpC;YACD,MAAM,EAAE,EAAE;YACV,SAAS,EAAE,IAAI;SAChB,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AAC3C,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;AACvD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,sBAAsB,CAAC,CAAC;AAEjE,IAAI,MAAoB,CAAC;AACzB,IAAI,cAAqE,CAAC;AAE1E,SAAS,cAAc;IACrB,OAAO,CAAC,GAAG,CAAC,wBAAwB,GAAG,QAAQ,MAAM,EAAE,CAAC;IACxD,OAAO,CAAC,GAAG,CAAC,YAAY,GAAG,4BAA4B,CAAC;IACxD,OAAO,CAAC,GAAG,CAAC,oBAAoB,GAAG,wBAAwB,CAAC;IAC5D,OAAO,CAAC,GAAG,CAAC,mBAAmB,GAAG,uBAAuB,CAAC;IAC1D,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,gBAAgB,CAAC;IACxC,OAAO,CAAC,GAAG,CAAC,sBAAsB,GAAG,mBAAmB,CAAC;IACzD,OAAO,CAAC,GAAG,CAAC,yBAAyB,GAAG,sBAAsB,CAAC;IAC/D,OAAO,CAAC,GAAG,CAAC,uBAAuB,GAAG,oBAAoB,CAAC;IAC3D,OAAO,CAAC,GAAG,CAAC,qBAAqB,GAAG,kBAAkB,CAAC;IACvD,OAAO,CAAC,GAAG,CAAC,eAAe,GAAG,wBAAwB,CAAC;IACvD,OAAO,CAAC,GAAG,CAAC,gBAAgB,GAAG,OAAO,CAAC;IACvC,OAAO,CAAC,GAAG,CAAC,2BAA2B,GAAG,SAAS,CAAC;AACtD,CAAC;AAED,SAAS,UAAU;IACjB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;QACvD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QAC3B,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,wBAAwB,CAAC,OAA+B;IAC/D,KAAK,MAAM,GAAG,IAAI,iCAAiC,EAAE,CAAC;QACpD,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;IAC1C,CAAC;IACD,MAAM,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC;QAC5B,eAAe,EAAE,wBAAwB;QACzC,gBAAgB,EAAE,OAAO;QACzB,2BAA2B,EAAE,SAAS;QACtC,iBAAiB,EAAE,gBAAgB;KACpC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,SAAS;IAChB,OAAO;QACL,GAAG,EAAE,KAAK;QACV,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAC3C,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAC3C,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE;QACd,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE;QACf,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE;KACd,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,eAAe;IAC5B,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;QAC1C,IAAI,EAAE;YACJ,IAAI,EAAE,iCAAiC;YACvC,QAAQ,EAAE,OAAO;SAClB;KACF,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;QACpC,IAAI,EAAE;YACJ,KAAK,EAAE,8BAA8B;YACrC,SAAS,EAAE,OAAO,CAAC,EAAE;SACtB;KACF,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC;QAC9C,IAAI,EAAE;YACJ,MAAM,EAAE,IAAI,CAAC,EAAE;YACf,UAAU,EAAE,aAAa;YACzB,YAAY,EAAE,OAAO;YACrB,MAAM,EAAE,QAAQ;SACjB;KACF,CAAC,CAAC;IAEH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;AACtC,CAAC;AAED,QAAQ,CAAC,sCAAsC,EAAE,GAAG,EAAE;IACpD,IAAI,OAA4C,CAAC;IAEjD,SAAS,CAAC,KAAK,IAAI,EAAE;QACnB,YAAY,CACV,MAAM,EACN,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,iBAAiB,EAAE,YAAY,UAAU,EAAE,CAAC,EAC7E;YACE,GAAG,EAAE,UAAU;YACf,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,wBAAwB,EAAE,QAAQ,MAAM,EAAE,EAAE;YACnE,KAAK,EAAE,MAAM;SACd,CACF,CAAC;QAEF,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;QACzD,MAAM,oBAAoB,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;QACnE,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;QAC5B,cAAc,GAAG,oBAAoB,CAAC,cAAc,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,UAAU,CAAC,KAAK,IAAI,EAAE;QACpB,cAAc,EAAE,CAAC;QACjB,EAAE,CAAC,aAAa,EAAE,CAAC;QACnB,SAAS,CAAC,kBAAkB,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;YACxC,GAAG,EAAE,KAAK;YACV,GAAG,EAAE,SAAS,EAAE;SACjB,CAAC,CAAC,CAAC;QACJ,iBAAiB,CAAC,kBAAkB,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;YAChD,GAAG,EAAE,KAAK;YACV,GAAG,EAAE,SAAS,EAAE;SACjB,CAAC,CAAC,CAAC;QACJ,OAAO,GAAG,IAAI,cAAc,CAAC,IAAI,QAAQ,EAAE,CAAC,CAAC;QAC7C,MAAM,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC;QAC3C,MAAM,MAAM,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC;QAC1C,MAAM,MAAM,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;QACtC,MAAM,MAAM,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;QACtC,MAAM,MAAM,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;QACrC,MAAM,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;QAClC,MAAM,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;QAClC,MAAM,MAAM,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC;QACpC,MAAM,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;QAC/B,MAAM,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,KAAK,IAAI,EAAE;QAClB,EAAE,CAAC,eAAe,EAAE,CAAC;QACrB,MAAM,MAAM,CAAC,WAAW,EAAE,CAAC;QAC3B,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACrD,UAAU,EAAE,CAAC;IACf,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+EAA+E,EAAE,KAAK,IAAI,EAAE;QAC7F,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,EAAE,CAAC;QACpD,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;YAC1C,IAAI,EAAE;gBACJ,MAAM,EAAE,IAAI,CAAC,EAAE;gBACf,IAAI,EAAE,MAAM;aACb;SACF,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC;YAC5C,IAAI,EAAE;gBACJ,SAAS,EAAE,OAAO,CAAC,EAAE;gBACrB,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,cAAc;gBACvB,UAAU,EAAE,eAAe;gBAC3B,UAAU,EAAE,QAAQ;gBACpB,YAAY,EAAE,IAAI;gBAClB,eAAe,EAAE,QAAQ;gBACzB,aAAa,EAAE,cAAc;gBAC7B,MAAM,EAAE,IAAI;aACb;SACF,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC;YAC9C,IAAI,EAAE;gBACJ,SAAS,EAAE,OAAO,CAAC,EAAE;gBACrB,iBAAiB,EAAE,IAAI;gBACvB,aAAa,EAAE,MAAM;gBACrB,cAAc,EAAE,MAAM,CAAC,EAAE;gBACzB,gBAAgB,EAAE,WAAW;gBAC7B,WAAW,EAAE,aAAa;gBAC1B,MAAM,EAAE,SAAS;aAClB;SACF,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;YAC1C,IAAI,EAAE;gBACJ,WAAW,EAAE,SAAS,CAAC,EAAE;gBACzB,SAAS,EAAE,SAAS,CAAC,KAAK;gBAC1B,UAAU,EAAE,eAAe;gBAC3B,MAAM,EAAE,QAAQ;gBAChB,MAAM,EAAE,aAAa,CAAC,OAAO;aAC9B;SACF,CAAC,CAAC;QACH,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC;YACrD,IAAI,EAAE;gBACJ,SAAS,EAAE,OAAO,CAAC,EAAE;gBACrB,aAAa,EAAE,OAAO,CAAC,EAAE;gBACzB,QAAQ,EAAE,MAAM,CAAC,EAAE;gBACnB,WAAW,EAAE,SAAS,CAAC,EAAE;gBACzB,SAAS,EAAE,OAAO,CAAC,EAAE;gBACrB,MAAM,EAAE,SAAS;aAClB;SACF,CAAC,CAAC;QAEH,MAAM,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAEhC,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAwB,CAAC;QACvE,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,aAAa,CAAC;YAC/C,sBAAsB,EAAE,OAAO,CAAC,EAAE;YAClC,yBAAyB,EAAE,UAAU,CAAC,EAAE;YACxC,uBAAuB,EAAE,OAAO,CAAC,EAAE;YACnC,qBAAqB,EAAE,MAAM,CAAC,EAAE;SACjC,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;QAC7C,wBAAwB,CAAC,OAAO,CAAC,CAAC;QAClC,MAAM,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC;YAC5B,sBAAsB,EAAE,OAAO,CAAC,EAAE;YAClC,yBAAyB,EAAE,UAAU,CAAC,EAAE;YACxC,uBAAuB,EAAE,OAAO,CAAC,EAAE;YACnC,qBAAqB,EAAE,MAAM,CAAC,EAAE;SACjC,CAAC,CAAC;QACH,OAAO,CAAC,UAAU,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wEAAwE,EAAE,KAAK,IAAI,EAAE;QACtF,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,EAAE,CAAC;QACpD,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;YAC1C,IAAI,EAAE;gBACJ,MAAM,EAAE,IAAI,CAAC,EAAE;gBACf,IAAI,EAAE,MAAM;aACb;SACF,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC;YAC5C,IAAI,EAAE;gBACJ,SAAS,EAAE,OAAO,CAAC,EAAE;gBACrB,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,YAAY;gBACrB,UAAU,EAAE,eAAe;gBAC3B,UAAU,EAAE,WAAW;gBACvB,YAAY,EAAE,IAAI;gBAClB,eAAe,EAAE,WAAW;gBAC5B,aAAa,EAAE,cAAc;gBAC7B,MAAM,EAAE,IAAI;aACb;SACF,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC;YAC9C,IAAI,EAAE;gBACJ,SAAS,EAAE,OAAO,CAAC,EAAE;gBACrB,iBAAiB,EAAE,IAAI;gBACvB,aAAa,EAAE,MAAM;gBACrB,cAAc,EAAE,MAAM,CAAC,EAAE;gBACzB,UAAU,EAAE,kBAAkB;gBAC9B,aAAa,EAAE,MAAM;gBACrB,uBAAuB,EAAE,SAAS,CAAC,EAAE;gBACrC,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC7B,gBAAgB,EAAE,SAAS,CAAC,UAAU;gBACtC,gBAAgB,EAAE,qBAAqB;gBACvC,WAAW,EAAE,WAAW;gBACxB,MAAM,EAAE,SAAS;aAClB;SACF,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;YAC1C,IAAI,EAAE;gBACJ,WAAW,EAAE,SAAS,CAAC,EAAE;gBACzB,SAAS,EAAE,SAAS,CAAC,KAAK;gBAC1B,UAAU,EAAE,eAAe;gBAC3B,MAAM,EAAE,QAAQ;gBAChB,MAAM,EAAE,aAAa,CAAC,OAAO;aAC9B;SACF,CAAC,CAAC;QACH,MAAM,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC;YAClC,IAAI,EAAE;gBACJ,SAAS,EAAE,OAAO,CAAC,EAAE;gBACrB,aAAa,EAAE,OAAO,CAAC,EAAE;gBACzB,QAAQ,EAAE,MAAM,CAAC,EAAE;gBACnB,WAAW,EAAE,SAAS,CAAC,EAAE;gBACzB,SAAS,EAAE,OAAO,CAAC,EAAE;gBACrB,UAAU,EAAE,kBAAkB;gBAC9B,aAAa,EAAE,MAAM;gBACrB,uBAAuB,EAAE,SAAS,CAAC,EAAE;gBACrC,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC7B,gBAAgB,EAAE,SAAS,CAAC,UAAU;gBACtC,gBAAgB,EAAE,QAAQ;gBAC1B,UAAU,EAAE,KAAK;gBACjB,cAAc,EAAE,KAAK;gBACrB,aAAa,EAAE,KAAK;gBACpB,MAAM,EAAE,SAAS;aAClB;SACF,CAAC,CAAC;QAEH,MAAM,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAEhC,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAwB,CAAC;QACvE,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,aAAa,CAAC;YAC/C,IAAI,EAAE,OAAO;YACb,SAAS,EAAE,OAAO;YAClB,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC;QACH,OAAO,CAAC,UAAU,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;QAC9D,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,EAAE,CAAC;QAC9C,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;YAC1C,IAAI,EAAE;gBACJ,WAAW,EAAE,SAAS,CAAC,EAAE;gBACzB,SAAS,EAAE,SAAS,CAAC,KAAK;gBAC1B,UAAU,EAAE,eAAe;gBAC3B,MAAM,EAAE,QAAQ;gBAChB,MAAM,EAAE,aAAa,CAAC,OAAO;aAC9B;SACF,CAAC,CAAC;QAEH,MAAM,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAEhC,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAwB,CAAC;QACvE,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,wBAAwB,CAAC,CAAC;QAChF,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,2BAA2B,CAAC,CAAC;QACnF,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,yBAAyB,CAAC,CAAC;QACjF,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,uBAAuB,CAAC,CAAC;QAC/E,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;QAC7C,wBAAwB,CAAC,OAAO,CAAC,CAAC;QAClC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,wBAAwB,CAAC,CAAC;QAC7D,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,2BAA2B,CAAC,CAAC;QAChE,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,yBAAyB,CAAC,CAAC;QAC9D,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,uBAAuB,CAAC,CAAC;QAC5D,OAAO,CAAC,UAAU,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4FAA4F,EAAE,KAAK,IAAI,EAAE;QAC1G,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,EAAE,CAAC;QACpD,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;YAC1C,IAAI,EAAE;gBACJ,MAAM,EAAE,IAAI,CAAC,EAAE;gBACf,IAAI,EAAE,MAAM;aACb;SACF,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC;YAC5C,IAAI,EAAE;gBACJ,SAAS,EAAE,OAAO,CAAC,EAAE;gBACrB,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,cAAc;gBACvB,UAAU,EAAE,eAAe;gBAC3B,UAAU,EAAE,QAAQ;gBACpB,YAAY,EAAE,IAAI;gBAClB,eAAe,EAAE,QAAQ;gBACzB,aAAa,EAAE,cAAc;gBAC7B,MAAM,EAAE,IAAI;aACb;SACF,CAAC,CAAC;QACH,MAAM,eAAe,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;YAClD,IAAI,EAAE;gBACJ,WAAW,EAAE,SAAS,CAAC,EAAE;gBACzB,SAAS,EAAE,SAAS,CAAC,KAAK;gBAC1B,UAAU,EAAE,eAAe;gBAC3B,MAAM,EAAE,iBAAiB;gBACzB,MAAM,EAAE,aAAa,CAAC,SAAS;gBAC/B,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,wBAAwB,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;aAClF;SACF,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC;YAC9C,IAAI,EAAE;gBACJ,SAAS,EAAE,OAAO,CAAC,EAAE;gBACrB,iBAAiB,EAAE,IAAI;gBACvB,aAAa,EAAE,MAAM;gBACrB,cAAc,EAAE,MAAM,CAAC,EAAE;gBACzB,gBAAgB,EAAE,WAAW;gBAC7B,WAAW,EAAE,mBAAmB;gBAChC,MAAM,EAAE,SAAS;aAClB;SACF,CAAC,CAAC;QACH,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;YAC9C,IAAI,EAAE;gBACJ,WAAW,EAAE,SAAS,CAAC,EAAE;gBACzB,SAAS,EAAE,SAAS,CAAC,KAAK;gBAC1B,UAAU,EAAE,eAAe;gBAC3B,MAAM,EAAE,aAAa;gBACrB,MAAM,EAAE,aAAa,CAAC,OAAO;aAC9B;SACF,CAAC,CAAC;QACH,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC;YACrD,IAAI,EAAE;gBACJ,SAAS,EAAE,OAAO,CAAC,EAAE;gBACrB,aAAa,EAAE,OAAO,CAAC,EAAE;gBACzB,QAAQ,EAAE,MAAM,CAAC,EAAE;gBACnB,WAAW,EAAE,SAAS,CAAC,EAAE;gBACzB,SAAS,EAAE,WAAW,CAAC,EAAE;gBACzB,MAAM,EAAE,SAAS;aAClB;SACF,CAAC,CAAC;QAEH,MAAM,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,EAAE,eAAe,CAAC,EAAE,CAAC,CAAC;QAEhE,MAAM,CAAC,iBAAiB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACnD,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QAC3E,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACzC,MAAM,WAAW,GAAG,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAwB,CAAC;QAC/E,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC/C,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,aAAa,CAAC;YAC/C,sBAAsB,EAAE,WAAW,CAAC,EAAE;YACtC,yBAAyB,EAAE,UAAU,CAAC,EAAE;YACxC,uBAAuB,EAAE,OAAO,CAAC,EAAE;YACnC,qBAAqB,EAAE,MAAM,CAAC,EAAE;SACjC,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;QAC7C,wBAAwB,CAAC,OAAO,CAAC,CAAC;QAClC,MAAM,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC;YAC5B,sBAAsB,EAAE,WAAW,CAAC,EAAE;YACtC,yBAAyB,EAAE,UAAU,CAAC,EAAE;YACxC,uBAAuB,EAAE,OAAO,CAAC,EAAE;YACnC,qBAAqB,EAAE,MAAM,CAAC,EAAE;SACjC,CAAC,CAAC;QACH,MAAM,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC;YAChG,MAAM,EAAE,aAAa,CAAC,OAAO;SAC9B,CAAC,CAAC;QACH,OAAO,CAAC,UAAU,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uEAAuE,EAAE,KAAK,IAAI,EAAE;QACrF,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,EAAE,CAAC;QACpD,MAAM,GAAG,GAAG,SAAS,EAAE,CAAC;QACxB,SAAS,CAAC,sBAAsB,CAAC,KAAK,IAAI,EAAE;YAC1C,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;gBACvB,KAAK,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE;gBACtB,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,EAAE;aAChC,CAAC,CAAC;YACH,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;QAC7B,CAAC,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;YAC1C,IAAI,EAAE;gBACJ,WAAW,EAAE,SAAS,CAAC,EAAE;gBACzB,SAAS,EAAE,SAAS,CAAC,KAAK;gBAC1B,UAAU,EAAE,eAAe;gBAC3B,MAAM,EAAE,QAAQ;gBAChB,MAAM,EAAE,aAAa,CAAC,OAAO;aAC9B;SACF,CAAC,CAAC;QAEH,MAAM,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;YAC5D,IAAI,EAAE,WAAW;YACjB,UAAU,EAAE,GAAG;SAChB,CAAC,CAAC;QAEH,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,gBAAgB,EAAE,CAAC;QACpC,MAAM,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACnG,MAAM,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC;YAC5F,MAAM,EAAE,aAAa,CAAC,SAAS;SAChC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mFAAmF,EAAE,KAAK,IAAI,EAAE;QACjG,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,EAAE,CAAC;QACpD,MAAM,eAAe,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;YAClD,IAAI,EAAE;gBACJ,WAAW,EAAE,SAAS,CAAC,EAAE;gBACzB,SAAS,EAAE,SAAS,CAAC,KAAK;gBAC1B,UAAU,EAAE,eAAe;gBAC3B,MAAM,EAAE,iBAAiB;gBACzB,MAAM,EAAE,aAAa,CAAC,SAAS;gBAC/B,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,wBAAwB,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;aAClF;SACF,CAAC,CAAC;QACH,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;YAC9C,IAAI,EAAE;gBACJ,WAAW,EAAE,SAAS,CAAC,EAAE;gBACzB,SAAS,EAAE,SAAS,CAAC,KAAK;gBAC1B,UAAU,EAAE,eAAe;gBAC3B,MAAM,EAAE,aAAa;gBACrB,MAAM,EAAE,aAAa,CAAC,OAAO;aAC9B;SACF,CAAC,CAAC;QACH,MAAM,GAAG,GAAG,SAAS,EAAE,CAAC;QACxB,iBAAiB,CAAC,sBAAsB,CAAC,KAAK,IAAI,EAAE;YAClD,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;gBACvB,KAAK,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE;gBACtB,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,EAAE;aAChC,CAAC,CAAC;YACH,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;QAC7B,CAAC,CAAC,CAAC;QAEH,MAAM,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,EAAE,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;YAC5F,IAAI,EAAE,WAAW;YACjB,UAAU,EAAE,GAAG;SAChB,CAAC,CAAC;QAEH,MAAM,CAAC,iBAAiB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACnD,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,gBAAgB,EAAE,CAAC;QACpC,MAAM,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACvG,MAAM,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC;YAChG,MAAM,EAAE,aAAa,CAAC,SAAS;SAChC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2EAA2E,EAAE,KAAK,IAAI,EAAE;QACzF,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,EAAE,CAAC;QACpD,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;YAC1C,IAAI,EAAE;gBACJ,WAAW,EAAE,SAAS,CAAC,EAAE;gBACzB,SAAS,EAAE,SAAS,CAAC,KAAK;gBAC1B,UAAU,EAAE,eAAe;gBAC3B,MAAM,EAAE,QAAQ;gBAChB,MAAM,EAAE,aAAa,CAAC,SAAS;aAChC;SACF,CAAC,CAAC;QACH,MAAM,GAAG,GAAG,SAAS,EAAE,CAAC;QACxB,SAAS,CAAC,sBAAsB,CAAC,KAAK,IAAI,EAAE;YAC1C,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;gBACvB,KAAK,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE;gBACtB,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,EAAE;aAChC,CAAC,CAAC;YACH,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;QAC7B,CAAC,CAAC,CAAC;QAEH,MAAM,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;YAC9E,IAAI,EAAE,WAAW;YACjB,UAAU,EAAE,GAAG;SAChB,CAAC,CAAC;QAEH,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,gBAAgB,EAAE,CAAC;QACpC,MAAM,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACnG,MAAM,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC;YAC5F,MAAM,EAAE,aAAa,CAAC,SAAS;SAChC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -713,6 +713,21 @@ describe('TeamReconcilerService', () => {
|
|
|
713
713
|
workspaceId: workspace.id,
|
|
714
714
|
});
|
|
715
715
|
const longContent = `Long Team Room detail\n${'visible detail '.repeat(80)}`;
|
|
716
|
+
const earlierMessage = await prisma.roomMessage.create({
|
|
717
|
+
data: {
|
|
718
|
+
teamRunId: teamRun.id,
|
|
719
|
+
senderType: 'user',
|
|
720
|
+
senderId: members[0].id,
|
|
721
|
+
senderInvocationId: null,
|
|
722
|
+
kind: 'chat',
|
|
723
|
+
visibility: 'PUBLIC',
|
|
724
|
+
content: 'Earlier visible message',
|
|
725
|
+
mentions: stringifyJson([]),
|
|
726
|
+
artifactRefs: stringifyJson([]),
|
|
727
|
+
attachmentIds: stringifyJson([]),
|
|
728
|
+
workRequestIds: stringifyJson([]),
|
|
729
|
+
},
|
|
730
|
+
});
|
|
716
731
|
const roomMessage = await prisma.roomMessage.create({
|
|
717
732
|
data: {
|
|
718
733
|
teamRunId: teamRun.id,
|
|
@@ -728,6 +743,33 @@ describe('TeamReconcilerService', () => {
|
|
|
728
743
|
workRequestIds: stringifyJson([]),
|
|
729
744
|
},
|
|
730
745
|
});
|
|
746
|
+
await prisma.roomMessage.update({
|
|
747
|
+
where: { id: earlierMessage.id },
|
|
748
|
+
data: { createdAt: new Date('2026-01-01T00:00:00.000Z') },
|
|
749
|
+
});
|
|
750
|
+
await prisma.roomMessage.update({
|
|
751
|
+
where: { id: roomMessage.id },
|
|
752
|
+
data: { createdAt: new Date('2026-01-01T00:00:01.000Z') },
|
|
753
|
+
});
|
|
754
|
+
const agentMessage = await prisma.roomMessage.create({
|
|
755
|
+
data: {
|
|
756
|
+
teamRunId: teamRun.id,
|
|
757
|
+
senderType: 'agent',
|
|
758
|
+
senderId: members[0].id,
|
|
759
|
+
senderInvocationId: invocation.id,
|
|
760
|
+
kind: 'review',
|
|
761
|
+
visibility: 'PUBLIC',
|
|
762
|
+
content: 'Agent review summary',
|
|
763
|
+
mentions: stringifyJson([]),
|
|
764
|
+
artifactRefs: stringifyJson([]),
|
|
765
|
+
attachmentIds: stringifyJson([]),
|
|
766
|
+
workRequestIds: stringifyJson(['work-request-from-agent-message']),
|
|
767
|
+
},
|
|
768
|
+
});
|
|
769
|
+
await prisma.roomMessage.update({
|
|
770
|
+
where: { id: agentMessage.id },
|
|
771
|
+
data: { createdAt: new Date('2026-01-01T00:00:02.000Z') },
|
|
772
|
+
});
|
|
731
773
|
const app = Fastify({ logger: false });
|
|
732
774
|
try {
|
|
733
775
|
setTeamRunEnv({
|
|
@@ -750,11 +792,28 @@ describe('TeamReconcilerService', () => {
|
|
|
750
792
|
expect(restListResponse.statusCode).toBe(200);
|
|
751
793
|
const restList = restListResponse.json();
|
|
752
794
|
expect(restList[0]).toMatchObject({
|
|
795
|
+
id: earlierMessage.id,
|
|
796
|
+
contentMode: 'full',
|
|
797
|
+
fullContentAvailable: false,
|
|
798
|
+
isTruncated: false,
|
|
799
|
+
});
|
|
800
|
+
expect(restList[1]).toMatchObject({
|
|
753
801
|
id: roomMessage.id,
|
|
802
|
+
contentMode: 'preview',
|
|
803
|
+
fullContentAvailable: true,
|
|
754
804
|
isTruncated: true,
|
|
755
805
|
});
|
|
756
|
-
expect(restList[
|
|
757
|
-
expect(restList[
|
|
806
|
+
expect(restList[1].content).toBe(restList[1].contentPreview);
|
|
807
|
+
expect(restList[1].content).not.toBe(longContent);
|
|
808
|
+
const limitedRestListResponse = await app.inject({
|
|
809
|
+
method: 'GET',
|
|
810
|
+
url: `/api/team-runs/${teamRun.id}/messages?limit=1`,
|
|
811
|
+
headers: { 'x-agent-tower-invocation-id': invocation.id },
|
|
812
|
+
});
|
|
813
|
+
expect(limitedRestListResponse.statusCode).toBe(200);
|
|
814
|
+
expect(limitedRestListResponse.json().map((message) => message.id)).toEqual([
|
|
815
|
+
agentMessage.id,
|
|
816
|
+
]);
|
|
758
817
|
const restDetailResponse = await app.inject({
|
|
759
818
|
method: 'GET',
|
|
760
819
|
url: `/api/team-runs/${teamRun.id}/messages/${roomMessage.id}`,
|
|
@@ -764,7 +823,9 @@ describe('TeamReconcilerService', () => {
|
|
|
764
823
|
expect(restDetailResponse.json()).toMatchObject({
|
|
765
824
|
id: roomMessage.id,
|
|
766
825
|
content: longContent,
|
|
767
|
-
contentPreview: restList[
|
|
826
|
+
contentPreview: restList[1].contentPreview,
|
|
827
|
+
contentMode: 'full',
|
|
828
|
+
fullContentAvailable: false,
|
|
768
829
|
isTruncated: true,
|
|
769
830
|
});
|
|
770
831
|
const server = await createMcpServer(`http://127.0.0.1:${address.port}`);
|
|
@@ -780,12 +841,60 @@ describe('TeamReconcilerService', () => {
|
|
|
780
841
|
expect(listResult.isError).not.toBe(true);
|
|
781
842
|
const mcpList = JSON.parse(getMcpToolText(listResult));
|
|
782
843
|
expect(mcpList[0]).toMatchObject({
|
|
844
|
+
id: earlierMessage.id,
|
|
845
|
+
kind: 'chat',
|
|
846
|
+
sender: {
|
|
847
|
+
type: 'user',
|
|
848
|
+
memberId: members[0].id,
|
|
849
|
+
name: members[0].name,
|
|
850
|
+
},
|
|
851
|
+
content: 'Earlier visible message',
|
|
852
|
+
fullContentAvailable: false,
|
|
853
|
+
mentions: [],
|
|
854
|
+
});
|
|
855
|
+
expect(mcpList[0]).not.toHaveProperty('teamRunId');
|
|
856
|
+
expect(mcpList[0]).not.toHaveProperty('senderId');
|
|
857
|
+
expect(mcpList[0]).not.toHaveProperty('senderInvocationId');
|
|
858
|
+
expect(mcpList[0]).not.toHaveProperty('visibility');
|
|
859
|
+
expect(mcpList[0]).not.toHaveProperty('contentPreview');
|
|
860
|
+
expect(mcpList[0]).not.toHaveProperty('contentMode');
|
|
861
|
+
expect(mcpList[0]).not.toHaveProperty('isTruncated');
|
|
862
|
+
expect(mcpList[0]).not.toHaveProperty('participants');
|
|
863
|
+
expect(mcpList[0]).not.toHaveProperty('recipientMemberIds');
|
|
864
|
+
expect(mcpList[0]).not.toHaveProperty('participantMemberIds');
|
|
865
|
+
expect(mcpList[1]).toMatchObject({
|
|
783
866
|
id: roomMessage.id,
|
|
784
|
-
|
|
867
|
+
kind: 'chat',
|
|
868
|
+
sender: { type: 'user' },
|
|
869
|
+
fullContentAvailable: true,
|
|
870
|
+
mentions: [],
|
|
871
|
+
});
|
|
872
|
+
expect(mcpList[1].content).toBe(restList[1].contentPreview);
|
|
873
|
+
expect(mcpList[1].content).not.toBe(longContent);
|
|
874
|
+
expect(mcpList[2]).toMatchObject({
|
|
875
|
+
id: agentMessage.id,
|
|
876
|
+
kind: 'review',
|
|
877
|
+
sender: {
|
|
878
|
+
type: 'agent',
|
|
879
|
+
memberId: members[0].id,
|
|
880
|
+
name: members[0].name,
|
|
881
|
+
},
|
|
882
|
+
content: 'Agent review summary',
|
|
883
|
+
fullContentAvailable: false,
|
|
884
|
+
mentions: [],
|
|
885
|
+
workRequestIds: ['work-request-from-agent-message'],
|
|
886
|
+
});
|
|
887
|
+
expect(mcpList[2]).not.toHaveProperty('senderInvocationId');
|
|
888
|
+
const limitedListResult = await client.callTool({
|
|
889
|
+
name: 'list_room_messages',
|
|
890
|
+
arguments: {
|
|
891
|
+
limit: 1,
|
|
892
|
+
},
|
|
785
893
|
});
|
|
786
|
-
expect(
|
|
787
|
-
expect(
|
|
788
|
-
|
|
894
|
+
expect(limitedListResult.isError).not.toBe(true);
|
|
895
|
+
expect(JSON.parse(getMcpToolText(limitedListResult)).map((message) => message.id)).toEqual([
|
|
896
|
+
agentMessage.id,
|
|
897
|
+
]);
|
|
789
898
|
const detailResult = await client.callTool({
|
|
790
899
|
name: 'get_room_message',
|
|
791
900
|
arguments: {
|
|
@@ -796,7 +905,9 @@ describe('TeamReconcilerService', () => {
|
|
|
796
905
|
expect(JSON.parse(getMcpToolText(detailResult))).toMatchObject({
|
|
797
906
|
id: roomMessage.id,
|
|
798
907
|
content: longContent,
|
|
799
|
-
contentPreview: restList[
|
|
908
|
+
contentPreview: restList[1].contentPreview,
|
|
909
|
+
contentMode: 'full',
|
|
910
|
+
fullContentAvailable: false,
|
|
800
911
|
isTruncated: true,
|
|
801
912
|
});
|
|
802
913
|
}
|
|
@@ -1598,6 +1709,14 @@ describe('TeamReconcilerService', () => {
|
|
|
1598
1709
|
});
|
|
1599
1710
|
expect(noStopResult.isError).toBe(true);
|
|
1600
1711
|
expect(getMcpToolText(noStopResult)).toContain('stopMemberWork');
|
|
1712
|
+
const noMergeResult = await callToolForCurrentMember(noRead, noReadInvocation.id, {
|
|
1713
|
+
name: 'merge_workspace',
|
|
1714
|
+
arguments: {
|
|
1715
|
+
workspace_id: noRead.workspace.id,
|
|
1716
|
+
},
|
|
1717
|
+
});
|
|
1718
|
+
expect(noMergeResult.isError).toBe(true);
|
|
1719
|
+
expect(getMcpToolText(noMergeResult)).toContain('mergeWorkspace');
|
|
1601
1720
|
await expect(prisma.roomMessage.count({
|
|
1602
1721
|
where: {
|
|
1603
1722
|
content: {
|