agent-tower 0.5.2-beta.1 → 0.5.2-beta.2
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 +8 -2
- package/dist/mcp/http-client.d.ts.map +1 -1
- package/dist/mcp/http-client.js +4 -4
- package/dist/mcp/http-client.js.map +1 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +48 -5
- package/dist/mcp/server.js.map +1 -1
- package/dist/routes/team-runs.d.ts.map +1 -1
- package/dist/routes/team-runs.js +92 -2
- package/dist/routes/team-runs.js.map +1 -1
- package/dist/services/__tests__/team-reconciler.service.test.js +171 -3
- package/dist/services/__tests__/team-reconciler.service.test.js.map +1 -1
- package/dist/services/__tests__/team-run.service.test.js +87 -0
- package/dist/services/__tests__/team-run.service.test.js.map +1 -1
- package/dist/services/__tests__/team-scheduler.service.test.js +131 -0
- package/dist/services/__tests__/team-scheduler.service.test.js.map +1 -1
- package/dist/services/session-manager.d.ts.map +1 -1
- package/dist/services/session-manager.js +11 -0
- package/dist/services/session-manager.js.map +1 -1
- package/dist/services/team-run.service.d.ts +16 -0
- package/dist/services/team-run.service.d.ts.map +1 -1
- package/dist/services/team-run.service.js +196 -4
- package/dist/services/team-run.service.js.map +1 -1
- package/dist/services/team-scheduler.service.d.ts +8 -4
- package/dist/services/team-scheduler.service.d.ts.map +1 -1
- package/dist/services/team-scheduler.service.js +26 -9
- package/dist/services/team-scheduler.service.js.map +1 -1
- package/dist/utils/process-launch.d.ts.map +1 -1
- package/dist/utils/process-launch.js +52 -9
- package/dist/utils/process-launch.js.map +1 -1
- package/dist/utils/process-launch.test.js +65 -1
- package/dist/utils/process-launch.test.js.map +1 -1
- package/dist/web/assets/{AgentDemoPage-CkhVcgZo.js → AgentDemoPage-Co63rtls.js} +1 -1
- package/dist/web/assets/{DemoPage-dkmp8Vvn.js → DemoPage-PD8AX5pI.js} +1 -1
- package/dist/web/assets/{GeneralSettingsPage-B4DH6g3D.js → GeneralSettingsPage-C5eiEeTZ.js} +1 -1
- package/dist/web/assets/{MemberAvatar-pwugXGL4.js → MemberAvatar-BDXmryjB.js} +1 -1
- package/dist/web/assets/{NotificationSettingsPage-C-bPU_ZE.js → NotificationSettingsPage-BjjPan2M.js} +1 -1
- package/dist/web/assets/{ProfileSettingsPage-Dlr6BmHb.js → ProfileSettingsPage-BRpeNq6u.js} +1 -1
- package/dist/web/assets/ProjectKanbanPage-DUUu2EYy.js +89 -0
- package/dist/web/assets/{ProjectSettingsPage-DZZksq5G.js → ProjectSettingsPage-avctMKfk.js} +1 -1
- package/dist/web/assets/{ProviderSettingsPage-BWN7CEG6.js → ProviderSettingsPage-BIUYN2e0.js} +1 -1
- package/dist/web/assets/{SettingsSection-C-sMhXpf.js → SettingsSection-pLJ3msrT.js} +1 -1
- package/dist/web/assets/{TeamSettingsPage-924xpocx.js → TeamSettingsPage-BjKW9nT8.js} +1 -1
- package/dist/web/assets/{arrow-left-UHjQiY5K.js → arrow-left-lFz8nyZM.js} +1 -1
- package/dist/web/assets/{button-CUTjpRqw.js → button-BUA8P726.js} +1 -1
- package/dist/web/assets/check-BYuuXc71.js +1 -0
- package/dist/web/assets/{chevron-down-Bby7sJEv.js → chevron-down-B931AgE2.js} +1 -1
- package/dist/web/assets/{chevron-right-DCC0lyoB.js → chevron-right-F9i4wey6.js} +1 -1
- package/dist/web/assets/{chevron-up-BnCoaejn.js → chevron-up-BEHjZ-SB.js} +1 -1
- package/dist/web/assets/{circle-check-BscClK07.js → circle-check-C7xXtl8B.js} +1 -1
- package/dist/web/assets/{code-block-OCS4YCEC-DkMlYSza.js → code-block-OCS4YCEC-6FHTyCN2.js} +1 -1
- package/dist/web/assets/{confirm-dialog-wsb35VpE.js → confirm-dialog-B_wk_zqm.js} +1 -1
- package/dist/web/assets/{folder-picker-B-X_nrS1.js → folder-picker-BEHS3b2Q.js} +1 -1
- package/dist/web/assets/index-DEQhT5sD.css +1 -0
- package/dist/web/assets/{index-CUJoWIuo.js → index-RxbHMWXV.js} +7 -7
- package/dist/web/assets/{loader-circle-Cul4BuAa.js → loader-circle-stJcjnm-.js} +1 -1
- package/dist/web/assets/{mermaid-NOHMQCX5-DoPzf-UA.js → mermaid-NOHMQCX5-fubZbKyF.js} +3 -3
- package/dist/web/assets/{message-square-C7Q71jFj.js → message-square-C8lb-TDo.js} +1 -1
- package/dist/web/assets/{modal-25-qs8P5.js → modal-UGrjU63G.js} +1 -1
- package/dist/web/assets/{pencil-CaJR6Dqm.js → pencil-uRBgB4qA.js} +1 -1
- package/dist/web/assets/{rotate-ccw-Bvz7590n.js → rotate-ccw-CWaMrTz4.js} +1 -1
- package/dist/web/assets/{select-CzeTYLO4.js → select-BMlH2AuL.js} +1 -1
- package/dist/web/assets/{upload-_2T21rVP.js → upload-B-Mpvu9j.js} +1 -1
- package/dist/web/assets/{use-profiles-BaCwGP06.js → use-profiles-D6cZwU1R.js} +1 -1
- package/dist/web/assets/{use-providers-Bwl7R5Ql.js → use-providers-DVP6emIi.js} +1 -1
- package/dist/web/index.html +2 -2
- package/node_modules/@agent-tower/shared/dist/socket/events.d.ts +1 -1
- package/node_modules/@agent-tower/shared/dist/socket/events.d.ts.map +1 -1
- package/node_modules/@agent-tower/shared/dist/types.d.ts +4 -1
- 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 +6 -5
- package/node_modules/@prisma/client/.prisma/client/index-browser.js +1 -0
- package/node_modules/@prisma/client/.prisma/client/index.d.ts +43 -0
- package/node_modules/@prisma/client/.prisma/client/index.js +6 -5
- package/node_modules/@prisma/client/.prisma/client/package.json +1 -1
- package/node_modules/@prisma/client/.prisma/client/schema.prisma +2 -0
- package/node_modules/@prisma/client/.prisma/client/wasm.js +1 -0
- package/package.json +1 -1
- package/prisma/migrations/20260609000000_add_team_member_membership_status/migration.sql +3 -0
- package/prisma/schema.prisma +2 -0
- package/dist/web/assets/ProjectKanbanPage-7oEfjjWV.js +0 -89
- package/dist/web/assets/check-CPkZgPjx.js +0 -1
- package/dist/web/assets/index-4hNWw0yi.css +0 -1
|
@@ -300,17 +300,21 @@ export class TeamSchedulerService {
|
|
|
300
300
|
}
|
|
301
301
|
return startedInvocations;
|
|
302
302
|
}
|
|
303
|
-
async approveWorkRequest(workRequestId) {
|
|
303
|
+
async approveWorkRequest(workRequestId, options) {
|
|
304
|
+
const current = await this.getWorkRequestOrThrow(workRequestId);
|
|
305
|
+
await this.assertMemberCanControlWorkRequest(current, options, 'approve');
|
|
304
306
|
const workRequest = await this.transitionWorkRequestStatus(workRequestId, 'approve', ['PENDING_APPROVAL'], 'QUEUED');
|
|
305
307
|
await this.emitTeamRunInvalidatedById(workRequest.teamRunId, ['work-requests', 'team-run'], 'work-request-updated');
|
|
306
308
|
return workRequest;
|
|
307
309
|
}
|
|
308
|
-
async approveWorkRequestAndStartNext(workRequestId) {
|
|
309
|
-
const workRequest = await this.approveWorkRequest(workRequestId);
|
|
310
|
+
async approveWorkRequestAndStartNext(workRequestId, options) {
|
|
311
|
+
const workRequest = await this.approveWorkRequest(workRequestId, options);
|
|
310
312
|
const startedInvocations = await this.startNextSessions(workRequest.teamRunId);
|
|
311
313
|
return { workRequest, startedInvocations };
|
|
312
314
|
}
|
|
313
|
-
async rejectWorkRequest(workRequestId) {
|
|
315
|
+
async rejectWorkRequest(workRequestId, options) {
|
|
316
|
+
const current = await this.getWorkRequestOrThrow(workRequestId);
|
|
317
|
+
await this.assertMemberCanControlWorkRequest(current, options, 'reject');
|
|
314
318
|
const workRequest = await this.transitionWorkRequestStatus(workRequestId, 'reject', ['PENDING_APPROVAL'], 'REJECTED');
|
|
315
319
|
await this.emitTeamRunInvalidatedById(workRequest.teamRunId, ['work-requests', 'team-run'], 'work-request-updated');
|
|
316
320
|
return workRequest;
|
|
@@ -323,7 +327,7 @@ export class TeamSchedulerService {
|
|
|
323
327
|
if (current.teamRunId !== options.teamRunId) {
|
|
324
328
|
throw new NotFoundError('WorkRequest', workRequestId);
|
|
325
329
|
}
|
|
326
|
-
await this.
|
|
330
|
+
await this.assertMemberCanControlWorkRequest(current, options, 'cancel');
|
|
327
331
|
const workRequest = await this.transitionWorkRequestStatus(workRequestId, 'cancel', ['PENDING_APPROVAL', 'QUEUED'], 'CANCELLED');
|
|
328
332
|
await this.emitTeamRunInvalidatedById(workRequest.teamRunId, ['work-requests', 'team-run'], 'work-request-updated');
|
|
329
333
|
return workRequest;
|
|
@@ -524,7 +528,7 @@ export class TeamSchedulerService {
|
|
|
524
528
|
}
|
|
525
529
|
const [members, workRequests] = await Promise.all([
|
|
526
530
|
prisma.teamMember.findMany({
|
|
527
|
-
where: { teamRunId },
|
|
531
|
+
where: { teamRunId, membershipStatus: 'ACTIVE' },
|
|
528
532
|
orderBy: [{ createdAt: 'asc' }, { id: 'asc' }],
|
|
529
533
|
}),
|
|
530
534
|
prisma.workRequest.findMany({
|
|
@@ -559,15 +563,28 @@ export class TeamSchedulerService {
|
|
|
559
563
|
}
|
|
560
564
|
throw new NotFoundError('TeamMember', memberId);
|
|
561
565
|
}
|
|
562
|
-
async
|
|
566
|
+
async assertMemberCanControlWorkRequest(workRequest, options, action) {
|
|
567
|
+
if (!options) {
|
|
568
|
+
return;
|
|
569
|
+
}
|
|
570
|
+
if (!options.teamRunId || !options.requesterMemberId) {
|
|
571
|
+
throw new ServiceError(`teamRunId and requesterMemberId are required when ${action}ing a TeamRun WorkRequest`, 'VALIDATION_ERROR', 400);
|
|
572
|
+
}
|
|
573
|
+
if (workRequest.teamRunId !== options.teamRunId) {
|
|
574
|
+
throw new NotFoundError('WorkRequest', workRequest.id);
|
|
575
|
+
}
|
|
576
|
+
const requester = await this.getTeamMemberOrThrow(workRequest.teamRunId, options.requesterMemberId);
|
|
577
|
+
if (requester.membershipStatus === 'REMOVED') {
|
|
578
|
+
throw new ServiceError('Removed TeamRun members cannot control WorkRequests', 'FORBIDDEN', 403);
|
|
579
|
+
}
|
|
580
|
+
const requesterMemberId = options.requesterMemberId;
|
|
563
581
|
if (workRequest.targetMemberId === requesterMemberId) {
|
|
564
582
|
return;
|
|
565
583
|
}
|
|
566
|
-
const requester = await this.getTeamMemberOrThrow(workRequest.teamRunId, requesterMemberId);
|
|
567
584
|
if (this.resolveQueueManagementPolicy(requester.queueManagementPolicy) === 'team_pending') {
|
|
568
585
|
return;
|
|
569
586
|
}
|
|
570
|
-
throw new ServiceError(
|
|
587
|
+
throw new ServiceError(`Current TeamRun member cannot ${action} WorkRequest for another member`, 'FORBIDDEN', 403);
|
|
571
588
|
}
|
|
572
589
|
resolveQueueManagementPolicy(value) {
|
|
573
590
|
return value === 'team_pending' ? 'team_pending' : DEFAULT_QUEUE_MANAGEMENT_POLICY;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"team-scheduler.service.js","sourceRoot":"","sources":["../../src/services/team-scheduler.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAqBzC,OAAO,EAAE,eAAe,EAAiB,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAmB,sBAAsB,EAAoB,MAAM,wBAAwB,CAAC;AACnG,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,+BAA+B,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAkE9E,MAAM,0BAA0B,GAA4B;IAC1D,QAAQ;IACR,SAAS;IACT,eAAe;IACf,oBAAoB;CACrB,CAAC;AACF,MAAM,6BAA6B,GAA4B;IAC7D,QAAQ;IACR,SAAS;IACT,eAAe;IACf,oBAAoB;CACrB,CAAC;AACF,MAAM,wCAAwC,GAAwB;IACpE,kBAAkB;IAClB,QAAQ;CACT,CAAC;AAEF,MAAM,oBAAoB,GAA2B;IACnD,QAAQ,EAAE,KAAK;IACf,eAAe,EAAE,KAAK;IACtB,cAAc,EAAE,KAAK;IACrB,cAAc,EAAE,KAAK;IACrB,kBAAkB,EAAE,KAAK;IACzB,SAAS,EAAE,KAAK;IAChB,UAAU,EAAE,KAAK;IACjB,WAAW,EAAE,KAAK;IAClB,QAAQ,EAAE,KAAK;IACf,cAAc,EAAE,KAAK;CACtB,CAAC;AACF,MAAM,+BAA+B,GAAoC,UAAU,CAAC;AAEpF,SAAS,cAAc,CAAI,KAAgC,EAAE,QAAW;IACtE,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;QAClC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAM,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,QAAQ,CAAC;IAClB,CAAC;AACH,CAAC;AAED,SAAS,KAAK,CAAC,IAAU;IACvB,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;AAC5B,CAAC;AAED,SAAS,iBAAiB,CAAC,MAAc,EAAE,MAAc;IACvD,OAAO,IAAI,YAAY,CACrB,UAAU,MAAM,mBAAmB,MAAM,SAAS,EAClD,0BAA0B,EAC1B,GAAG,CACJ,CAAC;AACJ,CAAC;AAED,MAAM,OAAO,oBAAoB;IASZ;IARX,MAAM,CAAU,qBAAqB,GAAG,IAAI,GAAG,EAAU,CAAC;IAC1D,MAAM,CAAU,qBAAqB,GAAG,IAAI,GAAG,EAAmC,CAAC;IAC1E,gBAAgB,CAAmB;IACnC,cAAc,CAAiB;IAC/B,cAAc,CAA0C;IACxD,qBAAqB,CAAwB;IAE9D,YACmB,cAAc,sBAAsB,EACrD,eAA0C,EAAE;QAD3B,gBAAW,GAAX,WAAW,CAAyB;QAGrD,IAAI,CAAC,gBAAgB,GAAG,YAAY,CAAC,gBAAgB,IAAI,IAAI,gBAAgB,EAAE,CAAC;QAChF,IAAI,CAAC,cAAc,GAAG,YAAY,CAAC,cAAc,IAAI,iBAAiB,EAAE,CAAC;QACzE,IAAI,CAAC,cAAc,GAAG,YAAY,CAAC,eAAe,IAAI,eAAe,CAAC;QACtE,IAAI,CAAC,qBAAqB,GAAG,YAAY,CAAC,qBAAqB,IAAI,IAAI,qBAAqB,CAAC;YAC3F,QAAQ,EAAE,WAAW,EAAE;YACvB,SAAS,EAAE;gBACT,sBAAsB,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC,YAAY,CAAC;gBACnF,iBAAiB,EAAE,CAAC,aAAa,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC;aAC5E;SACF,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,SAAiB;QAC9B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;QAC3D,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;QAClE,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAU,CAAC;QAC3C,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;QAC1C,MAAM,KAAK,GAAmB,EAAE,CAAC;QAEjC,KAAK,MAAM,WAAW,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YAC/C,MAAM,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;YAClE,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,KAAK,CAAC,IAAI,CAAC;oBACT,aAAa,EAAE,WAAW,CAAC,EAAE;oBAC7B,QAAQ,EAAE,WAAW,CAAC,cAAc;oBACpC,QAAQ,EAAE,KAAK;oBACf,aAAa,EAAE,kBAAkB;oBACjC,mBAAmB,EAAE,KAAK;oBAC1B,QAAQ,EAAE,EAAE;oBACZ,WAAW,EAAE,IAAI;oBACjB,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS;iBAC1C,CAAC,CAAC;gBACH,SAAS;YACX,CAAC;YAED,MAAM,WAAW,GAAG,IAAI,CAAC,4BAA4B,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC/E,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC;YACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAChE,MAAM,mBAAmB,GAAG,WAAW,CAAC,MAAM,KAAK,0BAA0B;mBACxE,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAEpC,IAAI,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;gBACnC,KAAK,CAAC,IAAI,CAAC;oBACT,aAAa,EAAE,WAAW,CAAC,EAAE;oBAC7B,QAAQ,EAAE,MAAM,CAAC,EAAE;oBACnB,QAAQ,EAAE,KAAK;oBACf,aAAa,EAAE,aAAa;oBAC5B,mBAAmB;oBACnB,QAAQ;oBACR,WAAW;oBACX,SAAS;iBACV,CAAC,CAAC;gBACH,SAAS;YACX,CAAC;YAED,IAAI,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;gBACpC,KAAK,CAAC,IAAI,CAAC;oBACT,aAAa,EAAE,WAAW,CAAC,EAAE;oBAC7B,QAAQ,EAAE,MAAM,CAAC,EAAE;oBACnB,QAAQ,EAAE,KAAK;oBACf,aAAa,EAAE,wBAAwB;oBACvC,mBAAmB,EAAE,KAAK;oBAC1B,QAAQ;oBACR,WAAW;oBACX,SAAS;iBACV,CAAC,CAAC;gBACH,SAAS;YACX,CAAC;YAED,MAAM,sBAAsB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;YAChF,IAAI,sBAAsB,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACrE,KAAK,CAAC,IAAI,CAAC;oBACT,aAAa,EAAE,WAAW,CAAC,EAAE;oBAC7B,QAAQ,EAAE,MAAM,CAAC,EAAE;oBACnB,QAAQ,EAAE,KAAK;oBACf,aAAa,EAAE,iBAAiB;oBAChC,mBAAmB,EAAE,KAAK;oBAC1B,QAAQ;oBACR,WAAW;oBACX,SAAS;iBACV,CAAC,CAAC;gBACH,SAAS;YACX,CAAC;YAED,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAChC,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;gBAC3B,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC3B,CAAC;YAED,KAAK,CAAC,IAAI,CAAC;gBACT,aAAa,EAAE,WAAW,CAAC,EAAE;gBAC7B,QAAQ,EAAE,MAAM,CAAC,EAAE;gBACnB,QAAQ,EAAE,IAAI;gBACd,mBAAmB,EAAE,KAAK;gBAC1B,QAAQ;gBACR,WAAW;gBACX,SAAS;aACV,CAAC,CAAC;QACL,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,SAAiB;QAC/B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;QAC3D,MAAM,kBAAkB,GAAsB,EAAE,CAAC;QAEjD,KAAK,MAAM,WAAW,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YAC/C,MAAM,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;YAClE,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,SAAS;YACX,CAAC;YAED,MAAM,aAAa,GAAG,IAAI,CAAC,uBAAuB,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;YACzE,IAAI,CAAC,IAAI,CAAC,2BAA2B,CAAC,aAAa,CAAC,EAAE,CAAC;gBACrD,SAAS;YACX,CAAC;YAED,IAAI,YAAY,GAAkB,IAAI,CAAC;YACvC,IAAI,CAAC;gBACH,IAAI,MAAM,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;oBACzD,SAAS;gBACX,CAAC;gBAED,MAAM,gBAAgB,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC;oBAC3D,KAAK,EAAE,EAAE,EAAE,EAAE,WAAW,CAAC,EAAE,EAAE;iBAC9B,CAAC,CAAC;gBACH,IAAI,CAAC,gBAAgB,IAAI,gBAAgB,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;oBAC9D,SAAS;gBACX,CAAC;gBAED,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBAChE,YAAY,GAAG,UAAU,EAAE,CAAC;gBAC5B,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,YAAY,EAAE,QAAQ,CAAC,EAAE,CAAC;oBACtD,YAAY,GAAG,IAAI,CAAC;oBACpB,SAAS;gBACX,CAAC;gBAED,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,kCAAkC,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBAC3F,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,qCAAqC,CACxE,OAAO,CAAC,OAAO,EACf,MAAM,EACN,gBAAgB,EAChB,YAAY,EACZ,WAAW,CACZ,CAAC;gBAEF,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBACvB,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;oBAC9C,YAAY,GAAG,IAAI,CAAC;oBACpB,SAAS;gBACX,CAAC;gBAED,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,iBAAiB,CAAC,CAAC,CAAC;gBAC1E,MAAM,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,eAAe,EAAE,mBAAmB,CAAC,EAAE,0BAA0B,CAAC,CAAC;gBACvH,YAAY,GAAG,IAAI,CAAC;YACtB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,YAAY,EAAE,CAAC;oBACjB,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;gBAChD,CAAC;gBACD,MAAM,KAAK,CAAC;YACd,CAAC;oBAAS,CAAC;gBACT,IAAI,CAAC,2BAA2B,CAAC,aAAa,CAAC,CAAC;YAClD,CAAC;QACH,CAAC;QAED,OAAO,kBAAkB,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,SAAiB;QACvC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;QAC3D,MAAM,kBAAkB,GAAsB,EAAE,CAAC;QACjD,IAAI,yBAAyB,GAAG,KAAK,CAAC;QAEtC,KAAK,MAAM,WAAW,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YAC/C,MAAM,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;YAClE,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,SAAS;YACX,CAAC;YAED,MAAM,aAAa,GAAG,IAAI,CAAC,uBAAuB,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;YACzE,IAAI,CAAC,IAAI,CAAC,2BAA2B,CAAC,aAAa,CAAC,EAAE,CAAC;gBACrD,SAAS;YACX,CAAC;YAED,IAAI,YAAY,GAAkB,IAAI,CAAC;YACvC,IAAI,CAAC;gBACH,IAAI,MAAM,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;oBACzD,SAAS;gBACX,CAAC;gBAED,MAAM,gBAAgB,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC;oBAC3D,KAAK,EAAE,EAAE,EAAE,EAAE,WAAW,CAAC,EAAE,EAAE;iBAC9B,CAAC,CAAC;gBACH,IAAI,CAAC,gBAAgB,IAAI,gBAAgB,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;oBAC9D,SAAS;gBACX,CAAC;gBAED,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBAChE,YAAY,GAAG,UAAU,EAAE,CAAC;gBAC5B,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,YAAY,EAAE,QAAQ,CAAC,EAAE,CAAC;oBACtD,YAAY,GAAG,IAAI,CAAC;oBACpB,SAAS;gBACX,CAAC;gBAED,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBACxD,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,OAAO,CAAC,IAAI,CACV,qFAAqF,EACrF;wBACE,SAAS;wBACT,aAAa,EAAE,gBAAgB,CAAC,EAAE;wBAClC,QAAQ,EAAE,MAAM,CAAC,EAAE;wBACnB,UAAU,EAAE,MAAM,CAAC,UAAU;qBAC9B,CACF,CAAC;oBACF,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,2CAA2C,CAC7E,OAAO,CAAC,OAAO,EACf,MAAM,EACN,gBAAgB,EAChB,YAAY,EACZ,IAAI,CACL,CAAC;oBACF,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;oBAC9C,YAAY,GAAG,IAAI,CAAC;oBACpB,IAAI,gBAAgB,EAAE,CAAC;wBACrB,yBAAyB,GAAG,IAAI,CAAC;wBACjC,MAAM,IAAI,CAAC,sBAAsB,CAC/B,OAAO,CAAC,OAAO,EACf,CAAC,eAAe,EAAE,mBAAmB,CAAC,EACtC,0BAA0B,CAC3B,CAAC;oBACJ,CAAC;oBACD,SAAS;gBACX,CAAC;gBAED,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,6BAA6B,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBACpF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAC9C,SAAS,CAAC,EAAE,EACZ,QAAQ,CAAC,SAAsB,EAC/B,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,gBAAgB,CAAC,EACvD,SAAS,EACT,MAAM,CAAC,UAAU,CAClB,CAAC;gBAEF,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,4CAA4C,CAC/E,OAAO,CAAC,OAAO,EACf,MAAM,EACN,gBAAgB,EAChB,YAAY,EACZ,SAAS,CAAC,EAAE,EACZ,OAAO,CAAC,EAAE,CACX,CAAC;gBAEF,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBACvB,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;oBACzC,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;oBAC9C,YAAY,GAAG,IAAI,CAAC;oBACpB,SAAS;gBACX,CAAC;gBAED,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;gBACnG,IAAI,CAAC;oBACH,IAAI,mBAAmB,IAAI,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC;wBAC7D,MAAM,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,EAAE,mBAAmB,CAAC,CAAC;oBAC3E,CAAC;yBAAM,CAAC;wBACN,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;oBAC9C,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,IAAI,CAAC,yBAAyB,CAAC,iBAAiB,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;oBACvE,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;oBACtD,YAAY,GAAG,IAAI,CAAC;oBACpB,MAAM,KAAK,CAAC;gBACd,CAAC;gBAED,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,iBAAiB,CAAC,CAAC,CAAC;gBAC1E,MAAM,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,eAAe,EAAE,mBAAmB,EAAE,YAAY,CAAC,EAAE,0BAA0B,CAAC,CAAC;gBACrI,YAAY,GAAG,IAAI,CAAC;YACtB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,YAAY,EAAE,CAAC;oBACjB,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;gBAChD,CAAC;gBACD,MAAM,KAAK,CAAC;YACd,CAAC;oBAAS,CAAC;gBACT,IAAI,CAAC,2BAA2B,CAAC,aAAa,CAAC,CAAC;YAClD,CAAC;QACH,CAAC;QAED,IAAI,yBAAyB,EAAE,CAAC;YAC9B,MAAM,IAAI,CAAC,qBAAqB,CAAC,2BAA2B,CAAC,SAAS,CAAC,CAAC;QAC1E,CAAC;QAED,OAAO,kBAAkB,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,aAAqB;QAC5C,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,2BAA2B,CACxD,aAAa,EACb,SAAS,EACT,CAAC,kBAAkB,CAAC,EACpB,QAAQ,CACT,CAAC;QACF,MAAM,IAAI,CAAC,0BAA0B,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC,eAAe,EAAE,UAAU,CAAC,EAAE,sBAAsB,CAAC,CAAC;QACpH,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,8BAA8B,CAAC,aAAqB;QAIxD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC;QACjE,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAC/E,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,aAAqB;QAC3C,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,2BAA2B,CACxD,aAAa,EACb,QAAQ,EACR,CAAC,kBAAkB,CAAC,EACpB,UAAU,CACX,CAAC;QACF,MAAM,IAAI,CAAC,0BAA0B,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC,eAAe,EAAE,UAAU,CAAC,EAAE,sBAAsB,CAAC,CAAC;QACpH,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,iBAAiB,CACrB,aAAqB,EACrB,OAAiC;QAEjC,IAAI,CAAC,OAAO,EAAE,SAAS,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC;YACtD,MAAM,IAAI,YAAY,CACpB,oFAAoF,EACpF,kBAAkB,EAClB,GAAG,CACJ,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,aAAa,CAAC,CAAC;QAChE,IAAI,OAAO,CAAC,SAAS,KAAK,OAAO,CAAC,SAAS,EAAE,CAAC;YAC5C,MAAM,IAAI,aAAa,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;QACxD,CAAC;QACD,MAAM,IAAI,CAAC,gCAAgC,CAAC,OAAO,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAEhF,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,2BAA2B,CACxD,aAAa,EACb,QAAQ,EACR,CAAC,kBAAkB,EAAE,QAAQ,CAAC,EAC9B,WAAW,CACZ,CAAC;QACF,MAAM,IAAI,CAAC,0BAA0B,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC,eAAe,EAAE,UAAU,CAAC,EAAE,sBAAsB,CAAC,CAAC;QACpH,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,SAAiB,EAAE,QAAgB,EAAE,UAEtD,EAAE;QACJ,MAAM,IAAI,CAAC,oBAAoB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAErD,MAAM,iBAAiB,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC;YAC9D,KAAK,EAAE;gBACL,SAAS;gBACT,QAAQ;gBACR,MAAM,EAAE,EAAE,EAAE,EAAE,6BAA6B,EAAE;aAC9C;YACD,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;SAC/C,CAAC,CAAC;QAEH,MAAM,iBAAiB,GAAa,EAAE,CAAC;QACvC,MAAM,mBAAmB,GAAG,iBAAiB;aAC1C,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,SAAS,IAAI,IAAI,CAAC;aACpD,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAEtC,MAAM,kBAAkB,GAAG,mBAAmB,CAAC,MAAM,GAAG,CAAC;YACvD,CAAC,CAAC,MAAM,IAAI,CAAC,+BAA+B,CAAC,mBAAmB,CAAC;YACjE,CAAC,CAAC,EAAE,sBAAsB,EAAE,EAAE,EAAE,uBAAuB,EAAE,EAAE,EAAE,CAAC;QAEhE,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YACzB,MAAM,yBAAyB,GAAG,MAAM,IAAI,CAAC,iCAAiC,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YACpG,kBAAkB,CAAC,uBAAuB,CAAC,IAAI,CAAC,GAAG,yBAAyB,CAAC,CAAC;QAChF,CAAC;QAED,MAAM,UAAU,GAAG,iBAAiB;aACjC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC;aACzC,MAAM,CAAC,CAAC,SAAS,EAAuB,EAAE,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC;QAEjE,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;gBAC9B,MAAM,IAAI,YAAY,CAAC,+BAA+B,EAAE,0BAA0B,EAAE,GAAG,CAAC,CAAC;YAC3F,CAAC;YAED,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;gBACnC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC1D,IAAI,OAAO,EAAE,CAAC;oBACZ,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACpC,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,uBAAuB,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,kBAAkB,CAAC,uBAAuB,CAAC,CAAC,CAAC;QAChG,MAAM,eAAe,GAAG,iBAAiB,CAAC,MAAM,GAAG,CAAC;eAC/C,kBAAkB,CAAC,sBAAsB,CAAC,MAAM,GAAG,CAAC;eACpD,uBAAuB,CAAC,MAAM,GAAG,CAAC,CAAC;QACxC,MAAM,kBAAkB,GAAG,eAAe;YACxC,CAAC,CAAC,MAAM,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC;YACzC,CAAC,CAAC,EAAE,CAAC;QAEP,IAAI,eAAe,EAAE,CAAC;YACpB,MAAM,IAAI,CAAC,0BAA0B,CACnC,SAAS,EACT,CAAC,eAAe,EAAE,mBAAmB,EAAE,UAAU,CAAC,EAClD,qBAAqB,CACtB,CAAC;QACJ,CAAC;QAED,OAAO;YACL,iBAAiB;YACjB,sBAAsB,EAAE,kBAAkB,CAAC,sBAAsB;YACjE,uBAAuB;YACvB,kBAAkB;SACnB,CAAC;IACJ,CAAC;IAED,sBAAsB,CAAC,YAAoB;QACzC,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;IAChD,CAAC;IAEO,KAAK,CAAC,qCAAqC,CACjD,OAAyB,EACzB,MAAwB,EACxB,WAA8B,EAC9B,YAAoB,EACpB,WAA0B;QAE1B,OAAO,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;YACtC,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,WAAW,CAAC,UAAU,CAAC;gBAC9C,KAAK,EAAE;oBACL,EAAE,EAAE,WAAW,CAAC,EAAE;oBAClB,SAAS,EAAE,OAAO,CAAC,EAAE;oBACrB,MAAM,EAAE,QAAQ;iBACjB;gBACD,IAAI,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE;aAC5B,CAAC,CAAC;YAEH,IAAI,OAAO,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;gBACxB,OAAO,IAAI,CAAC;YACd,CAAC;YAED,IAAI,WAAW,CAAC,YAAY,EAAE,CAAC;gBAC7B,MAAM,EAAE,CAAC,WAAW,CAAC,UAAU,CAAC;oBAC9B,KAAK,EAAE;wBACL,SAAS,EAAE,OAAO,CAAC,EAAE;wBACrB,cAAc,EAAE,MAAM,CAAC,EAAE;wBACzB,MAAM,EAAE,QAAQ;wBAChB,EAAE,EAAE,EAAE,GAAG,EAAE,WAAW,CAAC,EAAE,EAAE;qBAC5B;oBACD,IAAI,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE;iBAC9B,CAAC,CAAC;YACL,CAAC;YAED,OAAO,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC;gBAC/B,IAAI,EAAE;oBACJ,EAAE,EAAE,YAAY;oBAChB,SAAS,EAAE,OAAO,CAAC,EAAE;oBACrB,aAAa,EAAE,WAAW,CAAC,EAAE;oBAC7B,QAAQ,EAAE,MAAM,CAAC,EAAE;oBACnB,WAAW;oBACX,SAAS,EAAE,IAAI;oBACf,MAAM,EAAE,QAAQ;iBACjB;aACF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,4CAA4C,CACxD,OAAyB,EACzB,MAAwB,EACxB,WAA8B,EAC9B,YAAoB,EACpB,WAAmB,EACnB,SAAiB;QAEjB,OAAO,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;YACtC,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,WAAW,CAAC,UAAU,CAAC;gBAC9C,KAAK,EAAE;oBACL,EAAE,EAAE,WAAW,CAAC,EAAE;oBAClB,SAAS,EAAE,OAAO,CAAC,EAAE;oBACrB,MAAM,EAAE,QAAQ;iBACjB;gBACD,IAAI,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE;aAC5B,CAAC,CAAC;YAEH,IAAI,OAAO,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;gBACxB,OAAO,IAAI,CAAC;YACd,CAAC;YAED,IAAI,WAAW,CAAC,YAAY,EAAE,CAAC;gBAC7B,MAAM,EAAE,CAAC,WAAW,CAAC,UAAU,CAAC;oBAC9B,KAAK,EAAE;wBACL,SAAS,EAAE,OAAO,CAAC,EAAE;wBACrB,cAAc,EAAE,MAAM,CAAC,EAAE;wBACzB,MAAM,EAAE,QAAQ;wBAChB,EAAE,EAAE,EAAE,GAAG,EAAE,WAAW,CAAC,EAAE,EAAE;qBAC5B;oBACD,IAAI,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE;iBAC9B,CAAC,CAAC;YACL,CAAC;YAED,OAAO,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC;gBAC/B,IAAI,EAAE;oBACJ,EAAE,EAAE,YAAY;oBAChB,SAAS,EAAE,OAAO,CAAC,EAAE;oBACrB,aAAa,EAAE,WAAW,CAAC,EAAE;oBAC7B,QAAQ,EAAE,MAAM,CAAC,EAAE;oBACnB,WAAW;oBACX,SAAS;oBACT,MAAM,EAAE,SAAS;iBAClB;aACF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,2CAA2C,CACvD,OAAyB,EACzB,MAAwB,EACxB,WAA8B,EAC9B,YAAoB,EACpB,WAA0B;QAE1B,OAAO,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;YACtC,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,WAAW,CAAC,UAAU,CAAC;gBAC9C,KAAK,EAAE;oBACL,EAAE,EAAE,WAAW,CAAC,EAAE;oBAClB,SAAS,EAAE,OAAO,CAAC,EAAE;oBACrB,MAAM,EAAE,QAAQ;iBACjB;gBACD,IAAI,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE;aAC5B,CAAC,CAAC;YAEH,IAAI,OAAO,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;gBACxB,OAAO,IAAI,CAAC;YACd,CAAC;YAED,IAAI,WAAW,CAAC,YAAY,EAAE,CAAC;gBAC7B,MAAM,EAAE,CAAC,WAAW,CAAC,UAAU,CAAC;oBAC9B,KAAK,EAAE;wBACL,SAAS,EAAE,OAAO,CAAC,EAAE;wBACrB,cAAc,EAAE,MAAM,CAAC,EAAE;wBACzB,MAAM,EAAE,QAAQ;wBAChB,EAAE,EAAE,EAAE,GAAG,EAAE,WAAW,CAAC,EAAE,EAAE;qBAC5B;oBACD,IAAI,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE;iBAC9B,CAAC,CAAC;YACL,CAAC;YAED,OAAO,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC;gBAC/B,IAAI,EAAE;oBACJ,EAAE,EAAE,YAAY;oBAChB,SAAS,EAAE,OAAO,CAAC,EAAE;oBACrB,aAAa,EAAE,WAAW,CAAC,EAAE;oBAC7B,QAAQ,EAAE,MAAM,CAAC,EAAE;oBACnB,WAAW;oBACX,SAAS,EAAE,IAAI;oBACf,MAAM,EAAE,QAAQ;iBACjB;aACF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAAC,SAAiB;QAKlD,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC;YAC9C,KAAK,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE;YACxB,OAAO,EAAE;gBACP,IAAI,EAAE;oBACJ,OAAO,EAAE;wBACP,UAAU,EAAE;4BACV,KAAK,EAAE;gCACL,MAAM,EAAE,QAAQ;gCAChB,iBAAiB,EAAE,IAAI;6BACxB;4BACD,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;4BAC9C,IAAI,EAAE,CAAC;yBACR;qBACF;iBACF;aACF;SACF,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,aAAa,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAChD,CAAC;QACD,IAAI,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAChC,OAAO;gBACL,OAAO;gBACP,UAAU,EAAE,IAAI,GAAG,EAAE;gBACrB,YAAY,EAAE,EAAE;aACjB,CAAC;QACJ,CAAC;QAED,MAAM,CAAC,OAAO,EAAE,YAAY,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAChD,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC;gBACzB,KAAK,EAAE,EAAE,SAAS,EAAE;gBACpB,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;aAC/C,CAAC;YACF,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC;gBAC1B,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE;gBACtC,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;aAC/C,CAAC;SACH,CAAC,CAAC;QAEH,OAAO;YACL,OAAO;YACP,UAAU,EAAE,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;YACjE,YAAY;SACb,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,qBAAqB,CAAC,aAAqB;QACvD,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,CAAC,CAAC;QAC1F,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,aAAa,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;QACxD,CAAC;QACD,OAAO,WAAW,CAAC;IACrB,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAAC,SAAiB,EAAE,QAAgB;QACpE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;QACzF,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC;YAC9C,KAAK,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE;YACxB,MAAM,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE;SACrB,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,aAAa,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAChD,CAAC;QACD,MAAM,IAAI,aAAa,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IAClD,CAAC;IAEO,KAAK,CAAC,gCAAgC,CAC5C,WAA8B,EAC9B,iBAAyB;QAEzB,IAAI,WAAW,CAAC,cAAc,KAAK,iBAAiB,EAAE,CAAC;YACrD,OAAO;QACT,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;QAC5F,IAAI,IAAI,CAAC,4BAA4B,CAAC,SAAS,CAAC,qBAAqB,CAAC,KAAK,cAAc,EAAE,CAAC;YAC1F,OAAO;QACT,CAAC;QAED,MAAM,IAAI,YAAY,CACpB,qEAAqE,EACrE,WAAW,EACX,GAAG,CACJ,CAAC;IACJ,CAAC;IAEO,4BAA4B,CAClC,KAAgC;QAEhC,OAAO,KAAK,KAAK,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,+BAA+B,CAAC;IACrF,CAAC;IAEO,KAAK,CAAC,2BAA2B,CACvC,aAAqB,EACrB,MAAuC,EACvC,eAAoC,EACpC,UAA6B;QAE7B,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;YACrD,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,WAAW,CAAC,UAAU,CAAC;gBAC9C,KAAK,EAAE,EAAE,EAAE,EAAE,aAAa,EAAE;gBAC5B,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE;aAClD,CAAC,CAAC;YACH,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,IAAI,CAAC;YACd,CAAC;YACD,oBAAoB,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAE3C,MAAM,OAAO,GAAG,eAAe,CAAC,MAAM,KAAK,CAAC;gBAC1C,CAAC,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,UAAU,CAAC;oBAChC,KAAK,EAAE,EAAE,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE;oBACxD,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE;iBAC7B,CAAC;gBACF,CAAC,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,UAAU,CAAC;oBAChC,KAAK,EAAE,EAAE,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,eAAe,EAAE,EAAE;oBAC7D,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE;iBAC7B,CAAC,CAAC;YAEL,IAAI,OAAO,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;gBACxB,OAAO,IAAI,CAAC;YACd,CAAC;YAED,OAAO,EAAE,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,aAAa,CAAC,CAAC;YAChE,MAAM,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QAClD,CAAC;QAED,OAAO,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC;IAEO,KAAK,CAAC,+BAA+B,CAAC,aAAuB;QAInE,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,OAAO,EAAE,sBAAsB,EAAE,EAAE,EAAE,uBAAuB,EAAE,EAAE,EAAE,CAAC;QACrE,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;YACvD,MAAM,WAAW,GAAG,MAAM,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC;gBACpD,KAAK,EAAE;oBACL,EAAE,EAAE,EAAE,EAAE,EAAE,aAAa,EAAE;oBACzB,SAAS,EAAE,IAAI;oBACf,MAAM,EAAE,EAAE,EAAE,EAAE,6BAA6B,EAAE;iBAC9C;gBACD,MAAM,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;aAC1C,CAAC,CAAC;YACH,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC7B,OAAO,EAAE,aAAa,EAAE,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC;YACnD,CAAC;YAED,MAAM,yBAAyB,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;YAE5F,MAAM,EAAE,CAAC,eAAe,CAAC,UAAU,CAAC;gBAClC,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE;gBACrE,IAAI,EAAE;oBACJ,MAAM,EAAE,WAAW;oBACnB,uBAAuB,EAAE,IAAI;iBAC9B;aACF,CAAC,CAAC;YAEH,MAAM,EAAE,CAAC,WAAW,CAAC,UAAU,CAAC;gBAC9B,KAAK,EAAE;oBACL,EAAE,EAAE,EAAE,EAAE,EAAE,yBAAyB,EAAE;oBACrC,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,kBAAkB,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE;iBAC1D;gBACD,IAAI,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE;aAC9B,CAAC,CAAC;YAEH,OAAO;gBACL,aAAa,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC7D,cAAc,EAAE,yBAAyB;aAC1C,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,KAAK,MAAM,YAAY,IAAI,SAAS,CAAC,aAAa,EAAE,CAAC;YACnD,IAAI,CAAC,sBAAsB,CAAC,YAAY,CAAC,CAAC;QAC5C,CAAC;QAED,OAAO;YACL,sBAAsB,EAAE,SAAS,CAAC,aAAa;YAC/C,uBAAuB,EAAE,SAAS,CAAC,cAAc;SAClD,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,iCAAiC,CAAC,SAAiB,EAAE,QAAgB;QACjF,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC;YACrD,KAAK,EAAE;gBACL,SAAS;gBACT,cAAc,EAAE,QAAQ;gBACxB,MAAM,EAAE,EAAE,EAAE,EAAE,wCAAwC,EAAE;aACzD;YACD,MAAM,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE;SACrB,CAAC,CAAC;QACH,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,cAAc,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QACzE,MAAM,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC;YAClC,KAAK,EAAE;gBACL,EAAE,EAAE,EAAE,EAAE,EAAE,cAAc,EAAE;gBAC1B,MAAM,EAAE,EAAE,EAAE,EAAE,wCAAwC,EAAE;aACzD;YACD,IAAI,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE;SAC9B,CAAC,CAAC;QACH,OAAO,cAAc,CAAC;IACxB,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAAC,SAAiB;QACjD,MAAM,iBAAiB,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC;YAC9D,KAAK,EAAE;gBACL,SAAS;gBACT,MAAM,EAAE,EAAE,EAAE,EAAE,0BAA0B,EAAE;aAC3C;YACD,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;SAC3B,CAAC,CAAC;QAEH,OAAO,IAAI,GAAG,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC7E,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAAC,SAAiB,EAAE,QAAgB;QACnE,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC;YAC/C,KAAK,EAAE;gBACL,SAAS;gBACT,QAAQ;gBACR,MAAM,EAAE,EAAE,EAAE,EAAE,0BAA0B,EAAE;aAC3C;SACF,CAAC,CAAC;QAEH,OAAO,KAAK,GAAG,CAAC,CAAC;IACnB,CAAC;IAEO,KAAK,CAAC,6BAA6B,CACzC,OAAyB,EACzB,MAAwB;QAExB,IAAI,MAAM,CAAC,eAAe,KAAK,WAAW,EAAE,CAAC;YAC3C,OAAO,IAAI,CAAC,6BAA6B,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC7D,CAAC;QAED,OAAO,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC;IAClD,CAAC;IAEO,KAAK,CAAC,kCAAkC,CAC9C,OAAyB,EACzB,MAAwB;QAExB,IAAI,MAAM,CAAC,eAAe,KAAK,WAAW,EAAE,CAAC;YAC3C,OAAO,IAAI,CAAC,4BAA4B,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC5D,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,6BAA6B,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC5E,MAAM,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,CAAC,YAAY,CAAC,EAAE,0BAA0B,CAAC,CAAC;QACvF,OAAO,SAAS,CAAC,EAAE,CAAC;IACtB,CAAC;IAEO,KAAK,CAAC,0BAA0B,CAAC,OAAyB;QAChE,MAAM,aAAa,GAAG,oBAAoB,CAAC,qBAAqB,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACrF,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO,aAAa,CAAC;QACvB,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,2BAA2B,CAAC,OAAO,CAAC,CAAC;QACxD,oBAAoB,CAAC,qBAAqB,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAEtE,IAAI,CAAC;YACH,OAAO,MAAM,KAAK,CAAC;QACrB,CAAC;gBAAS,CAAC;YACT,IAAI,oBAAoB,CAAC,qBAAqB,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,KAAK,EAAE,CAAC;gBAC7E,oBAAoB,CAAC,qBAAqB,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACpE,CAAC;QACH,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,2BAA2B,CAAC,OAAyB;QACjE,IAAI,IAAI,CAAC,gBAAgB,CAAC,wBAAwB,EAAE,CAAC;YACnD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,wBAAwB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACnF,MAAM,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,CAAC,YAAY,EAAE,UAAU,CAAC,EAAE,0BAA0B,CAAC,CAAC;YACnG,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,eAAe,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC;YACvD,KAAK,EAAE;gBACL,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,iBAAiB,EAAE,IAAI;gBACvB,MAAM,EAAE,QAAQ;aACjB;YACD,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;YAC9C,MAAM,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE;SACrB,CAAC,CAAC;QAEH,IAAI,eAAe,EAAE,CAAC;YACpB,OAAO,eAAe,CAAC;QACzB,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACrE,MAAM,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,CAAC,YAAY,CAAC,EAAE,0BAA0B,CAAC,CAAC;QACvF,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,KAAK,CAAC,6BAA6B,CACzC,OAAyB,EACzB,MAAwB;QAExB,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,6BAA6B,EAAE,CAAC;YACzD,MAAM,IAAI,YAAY,CAAC,8CAA8C,EAAE,iCAAiC,EAAE,GAAG,CAAC,CAAC;QACjH,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,6BAA6B,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QACnG,MAAM,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,CAAC,YAAY,EAAE,UAAU,CAAC,EAAE,0BAA0B,CAAC,CAAC;QACnG,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAAC,MAAwB,EAAE,WAA8B;QACvF,MAAM,cAAc,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC;YACzD,KAAK,EAAE,EAAE,EAAE,EAAE,WAAW,CAAC,gBAAgB,EAAE;YAC3C,MAAM,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE;SAChC,CAAC,CAAC;QACH,MAAM,aAAa,GAAG,cAAc,CAAW,cAAc,EAAE,aAAa,EAAE,EAAE,CAAC,CAAC;QAClF,MAAM,WAAW,GAAG,MAAM,+BAA+B,CAAC,WAAW,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;QAElG,OAAO,GAAG,MAAM,CAAC,UAAU,cAAc,WAAW,EAAE,CAAC;IACzD,CAAC;IAEO,KAAK,CAAC,yBAAyB,CACrC,MAAwB,EACxB,gBAAwB,EACxB,WAAmB;QAEnB,IAAI,MAAM,CAAC,aAAa,KAAK,aAAa,EAAE,CAAC;YAC3C,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,kBAAkB,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,SAAS,CAAC;YAChE,KAAK,EAAE;gBACL,QAAQ,EAAE,MAAM,CAAC,EAAE;gBACnB,WAAW;gBACX,SAAS,EAAE;oBACT,GAAG,EAAE,IAAI;oBACT,KAAK,EAAE,CAAC,gBAAgB,CAAC;iBAC1B;aACF;YACD,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC;YACvE,MAAM,EAAE;gBACN,SAAS,EAAE,IAAI;aAChB;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,kBAAkB,EAAE,SAAS,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,eAAe,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC;YACtD,KAAK,EAAE,EAAE,EAAE,EAAE,kBAAkB,CAAC,SAAS,EAAE;YAC3C,MAAM,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE;SAC9B,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,EAAE,WAAW,EAAE,CAAC;YAClC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,kBAAkB,CAAC,SAAS,CAAC;IACtC,CAAC;IAEO,KAAK,CAAC,yBAAyB,CAAC,YAAoB,EAAE,SAAiB;QAC7E,MAAM,MAAM,CAAC,YAAY,CAAC;YACxB,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC;gBAC5B,KAAK,EAAE,EAAE,EAAE,EAAE,YAAY,EAAE;gBAC3B,IAAI,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;aAC3B,CAAC;YACF,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;gBACpB,KAAK,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE;gBACxB,IAAI,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;aAC3B,CAAC;SACH,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,sBAAsB,CAClC,OAAyB,EACzB,MAAkC,EAClC,MAAiC;QAEjC,MAAM,sBAAsB,CAAC;YAC3B,SAAS,EAAE,OAAO,CAAC,EAAE;YACrB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,SAAS;YACjC,MAAM;YACN,MAAM;SACP,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,0BAA0B,CACtC,SAAiB,EACjB,MAAkC,EAClC,MAAiC;QAEjC,MAAM,sBAAsB,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC9D,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,SAAiB;QAC/C,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;YAC1B,KAAK,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE;YACxB,IAAI,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;SAC3B,CAAC,CAAC;IACL,CAAC;IAEO,gBAAgB,CAAC,OAAyB,EAAE,MAAwB;QAC1E,MAAM,OAAO,GAAgB;YAC3B,SAAS,EAAE,OAAO,CAAC,EAAE;YACrB,QAAQ,EAAE,MAAM,CAAC,EAAE;YACnB,WAAW,EAAE,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,MAAM,CAAC;YACzD,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,SAAS;YACjC,YAAY,EAAE,cAAc,CAAyB,MAAM,CAAC,YAAY,EAAE,oBAAoB,CAAC;YAC/F,eAAe,EAAE,MAAM,CAAC,eAAkC;SAC3D,CAAC;QAEF,OAAO,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACpD,CAAC;IAEO,4BAA4B,CAAC,OAAyB,EAAE,MAAwB;QACtF,IAAI,MAAM,CAAC,eAAe,KAAK,WAAW,EAAE,CAAC;YAC3C,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,MAAM,CAAC,eAAe,KAAK,QAAQ,IAAI,MAAM,CAAC,eAAe,KAAK,MAAM,EAAE,CAAC;YAC7E,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,OAAO,CAAC,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,IAAI,CAAC;IAC3E,CAAC;IAEO,sBAAsB,CAAC,OAAyB,EAAE,MAAwB;QAChF,IAAI,MAAM,CAAC,eAAe,KAAK,QAAQ,EAAE,CAAC;YACxC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,QAAQ,OAAO,CAAC,MAAM,EAAE,CAAC;IAClC,CAAC;IAEO,uBAAuB,CAAC,SAAiB,EAAE,QAAgB;QACjE,OAAO,cAAc,SAAS,WAAW,QAAQ,EAAE,CAAC;IACtD,CAAC;IAEO,2BAA2B,CAAC,OAAe;QACjD,IAAI,oBAAoB,CAAC,qBAAqB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5D,OAAO,KAAK,CAAC;QACf,CAAC;QAED,oBAAoB,CAAC,qBAAqB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,2BAA2B,CAAC,OAAe;QACjD,oBAAoB,CAAC,qBAAqB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC7D,CAAC;IAEO,oBAAoB,CAAC,WAA8B;QACzD,OAAO;YACL,GAAG,WAAW;YACd,aAAa,EAAE,WAAW,CAAC,aAAyC;YACpE,MAAM,EAAE,WAAW,CAAC,MAAsB;YAC1C,MAAM,EAAE,WAAW,CAAC,MAA2B;YAC/C,SAAS,EAAE,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC;YACvC,SAAS,EAAE,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC;SACxC,CAAC;IACJ,CAAC;IAEO,wBAAwB,CAAC,UAAiC;QAChE,OAAO;YACL,GAAG,UAAU;YACb,MAAM,EAAE,UAAU,CAAC,MAA+B;YAClD,SAAS,EAAE,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC;YACtC,SAAS,EAAE,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC;YACtC,uBAAuB,EAAE,UAAU,CAAC,uBAAuB;gBACzD,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,uBAAuB,CAAC;gBAC3C,CAAC,CAAC,IAAI;SACT,CAAC;IACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"team-scheduler.service.js","sourceRoot":"","sources":["../../src/services/team-scheduler.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"process-launch.d.ts","sourceRoot":"","sources":["../../src/utils/process-launch.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;
|
|
1
|
+
{"version":3,"file":"process-launch.d.ts","sourceRoot":"","sources":["../../src/utils/process-launch.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAwID,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,iBAAiB,CAK5E;AAED,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,iBAAiB,CAKtF;AAED,wBAAgB,wBAAwB,CACtC,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,EAAE,EACd,SAAS,EAAE,MAAM,GAChB,iBAAiB,CAKnB;AAED,wBAAgB,uBAAuB,CACrC,QAAQ,GAAE,MAAM,CAAC,QAA2B,EAC5C,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,iBAAiB,CAYnB;AAED,wBAAgB,iBAAiB,CAAC,MAAM,GAAE,MAAoB,GAAG,MAAM,CAEtE;AAED,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAkB1E"}
|
|
@@ -5,10 +5,13 @@ const { spawn } = require('node:child_process');
|
|
|
5
5
|
const { createReadStream, unlink } = require('node:fs');
|
|
6
6
|
|
|
7
7
|
const [mode, programPath, ...rest] = process.argv.slice(1);
|
|
8
|
-
const
|
|
8
|
+
const isWin = process.platform === 'win32';
|
|
9
|
+
const isCmdBat = isWin && /\.(cmd|bat)$/i.test(programPath);
|
|
9
10
|
|
|
10
11
|
let child;
|
|
11
12
|
let cleanupTarget = null;
|
|
13
|
+
const sentSignals = new Set();
|
|
14
|
+
let forceKillTimer = null;
|
|
12
15
|
|
|
13
16
|
function cleanup() {
|
|
14
17
|
if (!cleanupTarget) return;
|
|
@@ -17,8 +20,43 @@ function cleanup() {
|
|
|
17
20
|
unlink(target, () => {});
|
|
18
21
|
}
|
|
19
22
|
|
|
23
|
+
// 终止 child 及其整个进程组。
|
|
24
|
+
// Unix 下 child 以 detached 启动(pgid === child.pid),组播信号可覆盖
|
|
25
|
+
// child 派生的整棵子树(pnpm dev、tsc --watch 等),防止孙进程被 init
|
|
26
|
+
// 收养成为孤儿。同一信号只发送一次;进程组已消失时退回单进程击杀。
|
|
27
|
+
// Windows 没有进程组信号语义,维持单进程击杀。
|
|
28
|
+
function killTree(signal) {
|
|
29
|
+
if (!child || sentSignals.has(signal)) return;
|
|
30
|
+
sentSignals.add(signal);
|
|
31
|
+
if (isWin) {
|
|
32
|
+
if (!child.killed) {
|
|
33
|
+
try { child.kill(signal); } catch {}
|
|
34
|
+
}
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
try {
|
|
38
|
+
process.kill(-child.pid, signal);
|
|
39
|
+
} catch {
|
|
40
|
+
if (!child.killed) {
|
|
41
|
+
try { child.kill(signal); } catch {}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
// 收到终止信号后兜底:5 秒内进程组未退干净则升级为 SIGKILL。
|
|
47
|
+
function scheduleForceKill() {
|
|
48
|
+
if (forceKillTimer) return;
|
|
49
|
+
forceKillTimer = setTimeout(() => {
|
|
50
|
+
killTree('SIGKILL');
|
|
51
|
+
}, 5000);
|
|
52
|
+
if (forceKillTimer.unref) forceKillTimer.unref();
|
|
53
|
+
}
|
|
54
|
+
|
|
20
55
|
function exitWithChildResult(code, signal) {
|
|
21
56
|
cleanup();
|
|
57
|
+
// child 已退出:清扫其进程组内残留的后台孙进程(dev server、watch 等)。
|
|
58
|
+
// SIGHUP 与 PTY 关闭语义一致;组内无进程时 killTree 内部忽略 ESRCH。
|
|
59
|
+
killTree('SIGHUP');
|
|
22
60
|
if (typeof code === 'number') {
|
|
23
61
|
process.exit(code);
|
|
24
62
|
}
|
|
@@ -50,21 +88,27 @@ function spawnCmd(args, stdioOpt) {
|
|
|
50
88
|
});
|
|
51
89
|
}
|
|
52
90
|
|
|
91
|
+
// Unix: detached 使 child 自成进程组组长,便于整组击杀。
|
|
92
|
+
// stdio 继承的 PTY fd 不受影响(isatty 仍为 true);终止信号统一由
|
|
93
|
+
// 本 wrapper 经 killTree 显式转发。Windows 下 detached 会脱离 ConPTY,
|
|
94
|
+
// 保持默认行为。
|
|
95
|
+
function spawnChild(args, stdioOpt) {
|
|
96
|
+
return spawn(programPath, args, { stdio: stdioOpt, detached: !isWin });
|
|
97
|
+
}
|
|
98
|
+
|
|
53
99
|
if (mode === 'pipe-file') {
|
|
54
100
|
const [stdinFile, ...args] = rest;
|
|
55
101
|
cleanupTarget = stdinFile;
|
|
56
102
|
child = isCmdBat
|
|
57
103
|
? spawnCmd(args, ['pipe', 'inherit', 'inherit'])
|
|
58
|
-
:
|
|
104
|
+
: spawnChild(args, ['pipe', 'inherit', 'inherit']);
|
|
59
105
|
|
|
60
106
|
child.on('error', exitWithError);
|
|
61
107
|
child.on('exit', exitWithChildResult);
|
|
62
108
|
|
|
63
109
|
const stream = createReadStream(stdinFile);
|
|
64
110
|
stream.on('error', (error) => {
|
|
65
|
-
|
|
66
|
-
child.kill();
|
|
67
|
-
}
|
|
111
|
+
killTree('SIGTERM');
|
|
68
112
|
exitWithError(error);
|
|
69
113
|
});
|
|
70
114
|
stream.pipe(child.stdin);
|
|
@@ -76,7 +120,7 @@ if (mode === 'pipe-file') {
|
|
|
76
120
|
} else {
|
|
77
121
|
child = isCmdBat
|
|
78
122
|
? spawnCmd(rest, 'inherit')
|
|
79
|
-
:
|
|
123
|
+
: spawnChild(rest, 'inherit');
|
|
80
124
|
|
|
81
125
|
child.on('error', exitWithError);
|
|
82
126
|
child.on('exit', exitWithChildResult);
|
|
@@ -84,9 +128,8 @@ if (mode === 'pipe-file') {
|
|
|
84
128
|
|
|
85
129
|
['SIGINT', 'SIGTERM', 'SIGHUP'].forEach((signal) => {
|
|
86
130
|
process.on(signal, () => {
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
}
|
|
131
|
+
killTree(signal);
|
|
132
|
+
scheduleForceKill();
|
|
90
133
|
});
|
|
91
134
|
});
|
|
92
135
|
`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"process-launch.js","sourceRoot":"","sources":["../../src/utils/process-launch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAO7B,MAAM,kBAAkB,GAAG,MAAM,CAAC,GAAG,CAAA
|
|
1
|
+
{"version":3,"file":"process-launch.js","sourceRoot":"","sources":["../../src/utils/process-launch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAO7B,MAAM,kBAAkB,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoIpC,CAAC;AAEF,MAAM,UAAU,uBAAuB,CAAC,SAAiB;IACvD,OAAO;QACL,OAAO,EAAE,OAAO,CAAC,QAAQ;QACzB,IAAI,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,uCAAuC,CAAC,CAAC;KACzE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,WAAmB,EAAE,IAAc;IACjE,OAAO;QACL,OAAO,EAAE,OAAO,CAAC,QAAQ;QACzB,IAAI,EAAE,CAAC,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;KAChE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,WAAmB,EACnB,IAAc,EACd,SAAiB;IAEjB,OAAO;QACL,OAAO,EAAE,OAAO,CAAC,QAAQ;QACzB,IAAI,EAAE,CAAC,IAAI,EAAE,kBAAkB,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;KAC/E,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,WAA4B,OAAO,CAAC,QAAQ,EAC5C,MAAyB,OAAO,CAAC,GAAG;IAEpC,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACzB,OAAO;YACL,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,IAAI,SAAS;YAChD,IAAI,EAAE,EAAE;SACT,CAAC;IACJ,CAAC;IAED,OAAO;QACL,OAAO,EAAE,GAAG,CAAC,KAAK,IAAI,UAAU;QAChC,IAAI,EAAE,EAAE;KACT,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,SAAiB,EAAE,CAAC,MAAM,EAAE;IAC5D,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,MAAc;IACzD,MAAM,KAAK,GAAG,MAAM;SACjB,KAAK,CAAC,OAAO,CAAC;SACd,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SAC1B,MAAM,CAAC,OAAO,CAAC,CAAC;IAEnB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEpC,6EAA6E;IAC7E,4EAA4E;IAC5E,6EAA6E;IAC7E,iFAAiF;IACjF,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrD,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACjE,IAAI,SAAS;YAAE,OAAO,SAAS,CAAC;IAClC,CAAC;IAED,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC"}
|
|
@@ -1,9 +1,45 @@
|
|
|
1
|
-
import { execFileSync } from 'node:child_process';
|
|
1
|
+
import { execFileSync, spawn } from 'node:child_process';
|
|
2
2
|
import { existsSync, writeFileSync } from 'node:fs';
|
|
3
3
|
import os from 'node:os';
|
|
4
4
|
import path from 'node:path';
|
|
5
5
|
import { describe, expect, it } from 'vitest';
|
|
6
6
|
import { buildPtyCommand, buildPtyCommandWithStdin, getDefaultTerminalShell, normalizeCommandLookupOutput, } from './process-launch.js';
|
|
7
|
+
function isAlive(pid) {
|
|
8
|
+
try {
|
|
9
|
+
process.kill(pid, 0);
|
|
10
|
+
return true;
|
|
11
|
+
}
|
|
12
|
+
catch {
|
|
13
|
+
return false;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
async function waitUntil(predicate, timeoutMs) {
|
|
17
|
+
const deadline = Date.now() + timeoutMs;
|
|
18
|
+
while (Date.now() < deadline) {
|
|
19
|
+
if (predicate())
|
|
20
|
+
return true;
|
|
21
|
+
await new Promise((resolve) => setTimeout(resolve, 50));
|
|
22
|
+
}
|
|
23
|
+
return predicate();
|
|
24
|
+
}
|
|
25
|
+
/** 启动 wrapper 运行 childScript,等待 child 打印的孙进程 PID */
|
|
26
|
+
function spawnWrapperWithGrandchild(childScript) {
|
|
27
|
+
const invocation = buildPtyCommand(process.execPath, ['-e', childScript]);
|
|
28
|
+
const wrapper = spawn(invocation.command, invocation.args, {
|
|
29
|
+
stdio: ['ignore', 'pipe', 'inherit'],
|
|
30
|
+
});
|
|
31
|
+
const grandPid = new Promise((resolve, reject) => {
|
|
32
|
+
let buf = '';
|
|
33
|
+
wrapper.stdout.on('data', (chunk) => {
|
|
34
|
+
buf += String(chunk);
|
|
35
|
+
const match = buf.match(/GRAND:(\d+)/);
|
|
36
|
+
if (match)
|
|
37
|
+
resolve(Number(match[1]));
|
|
38
|
+
});
|
|
39
|
+
setTimeout(() => reject(new Error('timed out waiting for grandchild pid')), 5000).unref();
|
|
40
|
+
});
|
|
41
|
+
return { wrapper, grandPid };
|
|
42
|
+
}
|
|
7
43
|
describe('process-launch', () => {
|
|
8
44
|
it('should preserve arguments through the PTY wrapper', () => {
|
|
9
45
|
const invocation = buildPtyCommand(process.execPath, [
|
|
@@ -51,5 +87,33 @@ describe('process-launch', () => {
|
|
|
51
87
|
args: [],
|
|
52
88
|
});
|
|
53
89
|
});
|
|
90
|
+
it.skipIf(process.platform === 'win32')('should kill grandchild processes when the wrapper receives a termination signal', async () => {
|
|
91
|
+
// child 启动一个长睡眠孙进程后自己也保持运行
|
|
92
|
+
const { wrapper, grandPid } = spawnWrapperWithGrandchild(`
|
|
93
|
+
const { spawn } = require('node:child_process');
|
|
94
|
+
const grand = spawn(process.execPath, ['-e', 'setTimeout(() => {}, 60000)'], { stdio: 'ignore' });
|
|
95
|
+
process.stdout.write('GRAND:' + grand.pid + '\\n');
|
|
96
|
+
setTimeout(() => {}, 60000);
|
|
97
|
+
`);
|
|
98
|
+
const pid = await grandPid;
|
|
99
|
+
expect(isAlive(pid)).toBe(true);
|
|
100
|
+
wrapper.kill('SIGTERM');
|
|
101
|
+
await new Promise((resolve) => wrapper.on('exit', resolve));
|
|
102
|
+
// killTree 应通过进程组信号清掉孙进程,而不仅是直接 child
|
|
103
|
+
expect(await waitUntil(() => !isAlive(pid), 3000)).toBe(true);
|
|
104
|
+
});
|
|
105
|
+
it.skipIf(process.platform === 'win32')('should sweep leftover grandchildren after the child exits normally', async () => {
|
|
106
|
+
// child 留下一个后台孙进程后立即正常退出
|
|
107
|
+
const { wrapper, grandPid } = spawnWrapperWithGrandchild(`
|
|
108
|
+
const { spawn } = require('node:child_process');
|
|
109
|
+
const grand = spawn(process.execPath, ['-e', 'setTimeout(() => {}, 60000)'], { stdio: 'ignore' });
|
|
110
|
+
grand.unref();
|
|
111
|
+
process.stdout.write('GRAND:' + grand.pid + '\\n');
|
|
112
|
+
`);
|
|
113
|
+
const pid = await grandPid;
|
|
114
|
+
await new Promise((resolve) => wrapper.on('exit', resolve));
|
|
115
|
+
// exitWithChildResult 应在退出前对 child 进程组发 SIGHUP 清扫残留
|
|
116
|
+
expect(await waitUntil(() => !isAlive(pid), 3000)).toBe(true);
|
|
117
|
+
});
|
|
54
118
|
});
|
|
55
119
|
//# sourceMappingURL=process-launch.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"process-launch.test.js","sourceRoot":"","sources":["../../src/utils/process-launch.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"process-launch.test.js","sourceRoot":"","sources":["../../src/utils/process-launch.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{e as H,u as Q,r as n,i as b,j as e,L as X,x as Y}from"./index-CUJoWIuo.js";import{u as Z,a as ee,b as L,c as te,d as se,e as ne,T as re,P as ae,A as le,G as ie,S as oe}from"./mermaid-NOHMQCX5-DoPzf-UA.js";import{B as y}from"./button-CUTjpRqw.js";import{d as ce}from"./use-profiles-BaCwGP06.js";import{C as de}from"./chevron-up-BnCoaejn.js";import{C as xe}from"./chevron-down-Bby7sJEv.js";import"./log-adapter-CtvxzS4j.js";import"./chevron-right-DCC0lyoB.js";import"./check-CPkZgPjx.js";const me=[["line",{x1:"4",x2:"20",y1:"9",y2:"9",key:"4lhtct"}],["line",{x1:"4",x2:"20",y1:"15",y2:"15",key:"vyu0kd"}],["line",{x1:"10",x2:"8",y1:"3",y2:"21",key:"1ggp8o"}],["line",{x1:"16",x2:"14",y1:"3",y2:"21",key:"weycgp"}]],ue=H("hash",me);const pe=[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]],he=H("send",pe),ge=!0;function ke(){const{t:s}=Q(),[w,U]=n.useState([]),[i,S]=n.useState(""),[x,A]=n.useState("DEFAULT"),[o,k]=n.useState(""),[a,D]=n.useState(null),[l,c]=n.useState("idle"),[g,E]=n.useState(!1),[m,j]=n.useState(""),C=n.useRef(null),$=n.useRef(null),u=n.useRef(null),{data:p}=ce(i),F=p?Object.keys(p):["DEFAULT"],V=t=>{S(t),A("DEFAULT")},_=n.useCallback(t=>{c(t===0?"stopped":"error")},[]),B=n.useCallback(t=>{console.error("Agent error:",t),c("error")},[]),{isConnected:h,isAttached:f,logs:v,entries:G,agentSessionId:I,attach:z,clearLogs:P}=Z({sessionId:a||"",onExit:_,onError:B}),{todos:R}=ee(G);n.useEffect(()=>{b.get("/demo/agents").then(t=>{U(t.agents);const r=t.agents.find(N=>N.available);r&&S(r.type)})},[]),n.useEffect(()=>{C.current?.scrollToBottom("smooth")},[v]),n.useEffect(()=>{console.log(`[AgentDemoPage:useEffect] t=${Date.now()} sessionId=${a} isConnected=${h} isAttached=${f}`),a&&h&&!f&&(console.log(`[AgentDemoPage:useEffect] t=${Date.now()} calling attach()`),z())},[a,h,f,z]);const M=t=>{if(j(t.target.value),u.current){u.current.style.height="auto";const N=Math.min(u.current.scrollHeight,210);u.current.style.height=`${N}px`}},O=async()=>{if(!i||!o.trim())return;const t=Date.now();console.log(`[AgentDemoPage:handleStart] t=${t} starting...`),c("starting"),P();try{const r=await b.post("/demo/start",{agentType:i,prompt:o.trim(),variant:x});ge&&console.log(`[AgentDemoPage:handleStart] t=${Date.now()} apiTime=${Date.now()-t}ms sessionId=${r.sessionId}`),D(r.sessionId),c("running")}catch(r){console.error("Start failed:",r),c("error")}},T=async()=>{if(!a||!m.trim())return;const t=m.trim();j("");try{await b.post(`/demo/${a}/message`,{message:t})}catch(r){console.error("Send failed:",r)}},K=async()=>{if(a)try{await b.post(`/demo/${a}/stop`),c("stopped")}catch(t){console.error("Stop failed:",t)}},q=()=>{D(null),c("idle"),k(""),j(""),P()},J=l==="running",d=a!==null,W=w.find(t=>t.type===i);return e.jsxs("div",{className:"flex flex-col h-full bg-white",children:[e.jsxs("div",{className:"px-8 py-5 border-b border-neutral-100 bg-white transition-all duration-300",children:[e.jsxs("div",{className:"flex items-center flex-wrap gap-3",children:[e.jsxs("div",{className:"flex items-baseline gap-2",children:[e.jsx("span",{className:"text-base font-medium text-blue-600",children:"Agent Demo"}),e.jsx("span",{className:"text-neutral-300 text-sm",children:"/"}),e.jsx("span",{className:"text-xl font-bold text-neutral-900 tracking-tight",children:d?o.slice(0,50)+(o.length>50?"...":""):s("新会话")})]}),e.jsxs("div",{className:"flex items-center",children:[l==="running"&&e.jsxs("div",{className:"flex items-center gap-1.5 px-2.5 py-0.5 bg-blue-50 text-blue-700 rounded-full text-xs font-medium border border-blue-100",children:[e.jsx(L,{className:"w-3.5 h-3.5 animate-pulse"}),e.jsx("span",{children:"Running"})]}),l==="stopped"&&e.jsxs("div",{className:"flex items-center gap-1.5 px-2.5 py-0.5 bg-emerald-50 text-emerald-700 rounded-full text-xs font-medium border border-emerald-100",children:[e.jsx(te,{className:"w-3.5 h-3.5"}),e.jsx("span",{children:"Done"})]}),l==="idle"&&e.jsxs("div",{className:"flex items-center gap-1.5 px-2.5 py-0.5 bg-neutral-100 text-neutral-600 rounded-full text-xs font-medium border border-neutral-200",children:[e.jsx(se,{className:"w-3.5 h-3.5"}),e.jsx("span",{children:"Idle"})]}),l==="starting"&&e.jsxs("div",{className:"flex items-center gap-1.5 px-2.5 py-0.5 bg-amber-50 text-amber-700 rounded-full text-xs font-medium border border-amber-100",children:[e.jsx(L,{className:"w-3.5 h-3.5 animate-spin"}),e.jsx("span",{children:"Starting..."})]}),l==="error"&&e.jsx("div",{className:"flex items-center gap-1.5 px-2.5 py-0.5 bg-red-50 text-red-700 rounded-full text-xs font-medium border border-red-100",children:e.jsx("span",{children:"Error"})})]})]}),d&&e.jsxs("div",{className:"mt-1.5 flex items-start gap-2 group max-w-4xl",children:[e.jsx("div",{className:`text-sm text-neutral-600 leading-relaxed cursor-pointer transition-all ${g?"":"truncate"}`,onClick:()=>E(!g),children:o}),e.jsx("button",{onClick:()=>E(!g),className:"mt-0.5 text-neutral-400 opacity-0 group-hover:opacity-100 hover:text-neutral-600 transition-opacity",children:g?e.jsx(de,{size:14}):e.jsx(xe,{size:14})})]}),e.jsxs("div",{className:"flex items-center gap-6 mt-3",children:[e.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[e.jsx("span",{className:"text-neutral-400 font-medium",children:"Agent"}),e.jsx("div",{className:"flex items-center gap-1.5 text-neutral-900 font-medium bg-neutral-50 px-2 py-1 rounded border border-neutral-100",children:W?.name||i||s("未选择")})]}),x!=="DEFAULT"&&e.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[e.jsx("span",{className:"text-neutral-400 font-medium",children:"Variant"}),e.jsx("div",{className:"flex items-center gap-1.5 text-neutral-700 font-medium bg-blue-50 px-2 py-1 rounded border border-blue-100",children:x})]}),I&&e.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[e.jsx("span",{className:"text-neutral-400 font-medium",children:"Session"}),e.jsxs("div",{className:"flex items-center gap-1.5 text-neutral-700 font-mono bg-neutral-50 px-2 py-1 rounded border border-neutral-100",children:[I.slice(0,8),"..."]})]}),e.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[e.jsx("span",{className:"text-neutral-400 font-medium",children:s("连接")}),e.jsx("div",{className:`flex items-center gap-1.5 font-medium px-2 py-1 rounded border ${h?"text-emerald-700 bg-emerald-50 border-emerald-100":"text-neutral-500 bg-neutral-50 border-neutral-100"}`,children:s(h?f?"已连接":"连接中...":"未连接")})]}),d&&e.jsx(y,{variant:"outline",size:"sm",onClick:q,className:"ml-auto",children:s("新会话")}),e.jsxs(X,{to:"/settings/profiles",className:`flex items-center gap-1.5 text-xs text-neutral-500 hover:text-neutral-900 transition-colors ${d?"":"ml-auto"}`,children:[e.jsx(Y,{size:14}),e.jsx("span",{children:s("Profiles 设置")})]})]})]}),e.jsx("div",{ref:$,className:"flex-1 overflow-y-auto px-8 py-6",children:d?e.jsx("div",{className:"min-h-[200px]",children:v.length===0?e.jsx("div",{className:"text-neutral-400 text-center py-8",children:s("等待 Agent 响应...")}):e.jsx(ne,{ref:C,logs:v,scrollElementRef:$})}):e.jsxs("div",{className:"max-w-2xl mx-auto space-y-6",children:[e.jsxs("div",{children:[e.jsx("h2",{className:"text-lg font-semibold mb-3 text-neutral-900",children:s("选择 Agent")}),e.jsx("div",{className:"flex gap-2 flex-wrap",children:w.map(t=>e.jsxs(y,{variant:i===t.type?"default":"outline",disabled:!t.available,onClick:()=>V(t.type),children:[t.name,t.available&&t.version&&` (${t.version})`,!t.available&&s(" (不可用)")]},t.type))})]}),e.jsxs("div",{children:[e.jsx("h2",{className:"text-lg font-semibold mb-3 text-neutral-900",children:s("配置变体 (Profile Variant)")}),e.jsx("div",{className:"flex gap-2 flex-wrap",children:F.map(t=>e.jsx("button",{onClick:()=>A(t),className:`px-3 py-1.5 rounded-full text-sm font-medium border transition-colors ${x===t?"bg-neutral-900 text-white border-neutral-900":"bg-white text-neutral-600 border-neutral-200 hover:border-neutral-400"}`,children:t},t))}),p&&p[x]&&e.jsx("p",{className:"mt-2 text-xs text-neutral-500 font-mono",children:Object.entries(p[x]).map(([t,r])=>`${t}: ${JSON.stringify(r)}`).join(", ")})]}),e.jsxs("div",{children:[e.jsx("h2",{className:"text-lg font-semibold mb-3 text-neutral-900",children:s("输入任务")}),e.jsxs("div",{className:"relative border border-neutral-200 rounded-xl shadow-sm bg-white focus-within:ring-1 focus-within:ring-neutral-300 focus-within:border-neutral-300 transition-all duration-200",children:[e.jsx("textarea",{value:o,onChange:t=>k(t.target.value),rows:4,placeholder:s("描述你想让 Agent 完成的任务..."),className:"w-full px-4 py-3 bg-transparent border-none focus:outline-none focus:ring-0 resize-none text-neutral-900 placeholder-neutral-400 leading-relaxed text-sm"}),e.jsx("div",{className:"flex items-center justify-end px-3 pb-3 pt-1",children:e.jsx(y,{onClick:O,disabled:l==="starting"||!i||!o.trim(),children:s(l==="starting"?"启动中...":"开始")})})]})]})]})}),d&&R.length>0&&e.jsx("div",{className:"px-8 py-2 bg-white border-t border-neutral-100",children:e.jsx(re,{todos:R})}),d&&e.jsx("div",{className:"px-8 py-6 border-t border-neutral-100 bg-white",children:e.jsxs("div",{className:"relative border border-neutral-200 rounded-xl shadow-sm bg-white focus-within:ring-1 focus-within:ring-neutral-300 focus-within:border-neutral-300 transition-all duration-200",children:[e.jsx("textarea",{ref:u,value:m,onChange:M,rows:3,placeholder:s("发送消息给 Agent..."),className:"w-full px-4 py-3 bg-transparent border-none focus:outline-none focus:ring-0 resize-none text-neutral-900 placeholder-neutral-400 leading-relaxed text-sm scrollbar-thin scrollbar-thumb-neutral-200 scrollbar-track-transparent",style:{minHeight:"80px",maxHeight:"210px"},onKeyDown:t=>{t.key==="Enter"&&!t.shiftKey&&!t.repeat&&!t.nativeEvent.isComposing&&t.nativeEvent.keyCode!==229&&(t.preventDefault(),T())}}),e.jsxs("div",{className:"flex items-center justify-between px-3 pb-3 pt-1 border-t border-transparent",children:[e.jsxs("div",{className:"flex items-center gap-1 text-neutral-400",children:[e.jsx("button",{className:"p-2 hover:bg-neutral-100 hover:text-neutral-600 rounded-lg transition-colors",title:"Attach File",children:e.jsx(ae,{size:18})}),e.jsx("button",{className:"p-2 hover:bg-neutral-100 hover:text-neutral-600 rounded-lg transition-colors",title:"Mention",children:e.jsx(le,{size:18})}),e.jsx("button",{className:"p-2 hover:bg-neutral-100 hover:text-neutral-600 rounded-lg transition-colors",title:"Reference Issue",children:e.jsx(ue,{size:18})}),e.jsx("div",{className:"w-px h-4 bg-neutral-200 mx-1"}),e.jsx("button",{className:"p-2 hover:bg-neutral-100 hover:text-neutral-600 rounded-lg transition-colors",title:"Search Web",children:e.jsx(ie,{size:18})})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[J&&e.jsxs("button",{onClick:K,className:"flex items-center gap-2 px-3 py-2 text-xs font-semibold text-red-600 bg-red-50 hover:bg-red-100 rounded-lg transition-colors",children:[e.jsx(oe,{size:12,fill:"currentColor"}),e.jsx("span",{children:s("停止")})]}),e.jsxs("button",{onClick:T,disabled:!m.trim(),className:`flex items-center gap-2 px-3 py-2 text-xs font-semibold rounded-lg transition-all ${m.trim()?"bg-neutral-900 text-white hover:bg-black shadow-sm":"bg-neutral-100 text-neutral-400 cursor-not-allowed"}`,children:[e.jsx("span",{children:s("发送")}),e.jsx(he,{size:14})]})]})]})]})})]})}export{ke as AgentDemoPage};
|
|
1
|
+
import{e as H,u as Q,r as n,i as b,j as e,L as X,x as Y}from"./index-RxbHMWXV.js";import{u as Z,a as ee,b as L,c as te,d as se,e as ne,T as re,P as ae,A as le,G as ie,S as oe}from"./mermaid-NOHMQCX5-fubZbKyF.js";import{B as y}from"./button-BUA8P726.js";import{d as ce}from"./use-profiles-D6cZwU1R.js";import{C as de}from"./chevron-up-BEHjZ-SB.js";import{C as xe}from"./chevron-down-B931AgE2.js";import"./log-adapter-CtvxzS4j.js";import"./chevron-right-F9i4wey6.js";import"./check-BYuuXc71.js";const me=[["line",{x1:"4",x2:"20",y1:"9",y2:"9",key:"4lhtct"}],["line",{x1:"4",x2:"20",y1:"15",y2:"15",key:"vyu0kd"}],["line",{x1:"10",x2:"8",y1:"3",y2:"21",key:"1ggp8o"}],["line",{x1:"16",x2:"14",y1:"3",y2:"21",key:"weycgp"}]],ue=H("hash",me);const pe=[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]],he=H("send",pe),ge=!0;function ke(){const{t:s}=Q(),[w,U]=n.useState([]),[i,S]=n.useState(""),[x,A]=n.useState("DEFAULT"),[o,k]=n.useState(""),[a,D]=n.useState(null),[l,c]=n.useState("idle"),[g,E]=n.useState(!1),[m,j]=n.useState(""),C=n.useRef(null),$=n.useRef(null),u=n.useRef(null),{data:p}=ce(i),F=p?Object.keys(p):["DEFAULT"],V=t=>{S(t),A("DEFAULT")},_=n.useCallback(t=>{c(t===0?"stopped":"error")},[]),B=n.useCallback(t=>{console.error("Agent error:",t),c("error")},[]),{isConnected:h,isAttached:f,logs:v,entries:G,agentSessionId:I,attach:z,clearLogs:P}=Z({sessionId:a||"",onExit:_,onError:B}),{todos:R}=ee(G);n.useEffect(()=>{b.get("/demo/agents").then(t=>{U(t.agents);const r=t.agents.find(N=>N.available);r&&S(r.type)})},[]),n.useEffect(()=>{C.current?.scrollToBottom("smooth")},[v]),n.useEffect(()=>{console.log(`[AgentDemoPage:useEffect] t=${Date.now()} sessionId=${a} isConnected=${h} isAttached=${f}`),a&&h&&!f&&(console.log(`[AgentDemoPage:useEffect] t=${Date.now()} calling attach()`),z())},[a,h,f,z]);const M=t=>{if(j(t.target.value),u.current){u.current.style.height="auto";const N=Math.min(u.current.scrollHeight,210);u.current.style.height=`${N}px`}},O=async()=>{if(!i||!o.trim())return;const t=Date.now();console.log(`[AgentDemoPage:handleStart] t=${t} starting...`),c("starting"),P();try{const r=await b.post("/demo/start",{agentType:i,prompt:o.trim(),variant:x});ge&&console.log(`[AgentDemoPage:handleStart] t=${Date.now()} apiTime=${Date.now()-t}ms sessionId=${r.sessionId}`),D(r.sessionId),c("running")}catch(r){console.error("Start failed:",r),c("error")}},T=async()=>{if(!a||!m.trim())return;const t=m.trim();j("");try{await b.post(`/demo/${a}/message`,{message:t})}catch(r){console.error("Send failed:",r)}},K=async()=>{if(a)try{await b.post(`/demo/${a}/stop`),c("stopped")}catch(t){console.error("Stop failed:",t)}},q=()=>{D(null),c("idle"),k(""),j(""),P()},J=l==="running",d=a!==null,W=w.find(t=>t.type===i);return e.jsxs("div",{className:"flex flex-col h-full bg-white",children:[e.jsxs("div",{className:"px-8 py-5 border-b border-neutral-100 bg-white transition-all duration-300",children:[e.jsxs("div",{className:"flex items-center flex-wrap gap-3",children:[e.jsxs("div",{className:"flex items-baseline gap-2",children:[e.jsx("span",{className:"text-base font-medium text-blue-600",children:"Agent Demo"}),e.jsx("span",{className:"text-neutral-300 text-sm",children:"/"}),e.jsx("span",{className:"text-xl font-bold text-neutral-900 tracking-tight",children:d?o.slice(0,50)+(o.length>50?"...":""):s("新会话")})]}),e.jsxs("div",{className:"flex items-center",children:[l==="running"&&e.jsxs("div",{className:"flex items-center gap-1.5 px-2.5 py-0.5 bg-blue-50 text-blue-700 rounded-full text-xs font-medium border border-blue-100",children:[e.jsx(L,{className:"w-3.5 h-3.5 animate-pulse"}),e.jsx("span",{children:"Running"})]}),l==="stopped"&&e.jsxs("div",{className:"flex items-center gap-1.5 px-2.5 py-0.5 bg-emerald-50 text-emerald-700 rounded-full text-xs font-medium border border-emerald-100",children:[e.jsx(te,{className:"w-3.5 h-3.5"}),e.jsx("span",{children:"Done"})]}),l==="idle"&&e.jsxs("div",{className:"flex items-center gap-1.5 px-2.5 py-0.5 bg-neutral-100 text-neutral-600 rounded-full text-xs font-medium border border-neutral-200",children:[e.jsx(se,{className:"w-3.5 h-3.5"}),e.jsx("span",{children:"Idle"})]}),l==="starting"&&e.jsxs("div",{className:"flex items-center gap-1.5 px-2.5 py-0.5 bg-amber-50 text-amber-700 rounded-full text-xs font-medium border border-amber-100",children:[e.jsx(L,{className:"w-3.5 h-3.5 animate-spin"}),e.jsx("span",{children:"Starting..."})]}),l==="error"&&e.jsx("div",{className:"flex items-center gap-1.5 px-2.5 py-0.5 bg-red-50 text-red-700 rounded-full text-xs font-medium border border-red-100",children:e.jsx("span",{children:"Error"})})]})]}),d&&e.jsxs("div",{className:"mt-1.5 flex items-start gap-2 group max-w-4xl",children:[e.jsx("div",{className:`text-sm text-neutral-600 leading-relaxed cursor-pointer transition-all ${g?"":"truncate"}`,onClick:()=>E(!g),children:o}),e.jsx("button",{onClick:()=>E(!g),className:"mt-0.5 text-neutral-400 opacity-0 group-hover:opacity-100 hover:text-neutral-600 transition-opacity",children:g?e.jsx(de,{size:14}):e.jsx(xe,{size:14})})]}),e.jsxs("div",{className:"flex items-center gap-6 mt-3",children:[e.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[e.jsx("span",{className:"text-neutral-400 font-medium",children:"Agent"}),e.jsx("div",{className:"flex items-center gap-1.5 text-neutral-900 font-medium bg-neutral-50 px-2 py-1 rounded border border-neutral-100",children:W?.name||i||s("未选择")})]}),x!=="DEFAULT"&&e.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[e.jsx("span",{className:"text-neutral-400 font-medium",children:"Variant"}),e.jsx("div",{className:"flex items-center gap-1.5 text-neutral-700 font-medium bg-blue-50 px-2 py-1 rounded border border-blue-100",children:x})]}),I&&e.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[e.jsx("span",{className:"text-neutral-400 font-medium",children:"Session"}),e.jsxs("div",{className:"flex items-center gap-1.5 text-neutral-700 font-mono bg-neutral-50 px-2 py-1 rounded border border-neutral-100",children:[I.slice(0,8),"..."]})]}),e.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[e.jsx("span",{className:"text-neutral-400 font-medium",children:s("连接")}),e.jsx("div",{className:`flex items-center gap-1.5 font-medium px-2 py-1 rounded border ${h?"text-emerald-700 bg-emerald-50 border-emerald-100":"text-neutral-500 bg-neutral-50 border-neutral-100"}`,children:s(h?f?"已连接":"连接中...":"未连接")})]}),d&&e.jsx(y,{variant:"outline",size:"sm",onClick:q,className:"ml-auto",children:s("新会话")}),e.jsxs(X,{to:"/settings/profiles",className:`flex items-center gap-1.5 text-xs text-neutral-500 hover:text-neutral-900 transition-colors ${d?"":"ml-auto"}`,children:[e.jsx(Y,{size:14}),e.jsx("span",{children:s("Profiles 设置")})]})]})]}),e.jsx("div",{ref:$,className:"flex-1 overflow-y-auto px-8 py-6",children:d?e.jsx("div",{className:"min-h-[200px]",children:v.length===0?e.jsx("div",{className:"text-neutral-400 text-center py-8",children:s("等待 Agent 响应...")}):e.jsx(ne,{ref:C,logs:v,scrollElementRef:$})}):e.jsxs("div",{className:"max-w-2xl mx-auto space-y-6",children:[e.jsxs("div",{children:[e.jsx("h2",{className:"text-lg font-semibold mb-3 text-neutral-900",children:s("选择 Agent")}),e.jsx("div",{className:"flex gap-2 flex-wrap",children:w.map(t=>e.jsxs(y,{variant:i===t.type?"default":"outline",disabled:!t.available,onClick:()=>V(t.type),children:[t.name,t.available&&t.version&&` (${t.version})`,!t.available&&s(" (不可用)")]},t.type))})]}),e.jsxs("div",{children:[e.jsx("h2",{className:"text-lg font-semibold mb-3 text-neutral-900",children:s("配置变体 (Profile Variant)")}),e.jsx("div",{className:"flex gap-2 flex-wrap",children:F.map(t=>e.jsx("button",{onClick:()=>A(t),className:`px-3 py-1.5 rounded-full text-sm font-medium border transition-colors ${x===t?"bg-neutral-900 text-white border-neutral-900":"bg-white text-neutral-600 border-neutral-200 hover:border-neutral-400"}`,children:t},t))}),p&&p[x]&&e.jsx("p",{className:"mt-2 text-xs text-neutral-500 font-mono",children:Object.entries(p[x]).map(([t,r])=>`${t}: ${JSON.stringify(r)}`).join(", ")})]}),e.jsxs("div",{children:[e.jsx("h2",{className:"text-lg font-semibold mb-3 text-neutral-900",children:s("输入任务")}),e.jsxs("div",{className:"relative border border-neutral-200 rounded-xl shadow-sm bg-white focus-within:ring-1 focus-within:ring-neutral-300 focus-within:border-neutral-300 transition-all duration-200",children:[e.jsx("textarea",{value:o,onChange:t=>k(t.target.value),rows:4,placeholder:s("描述你想让 Agent 完成的任务..."),className:"w-full px-4 py-3 bg-transparent border-none focus:outline-none focus:ring-0 resize-none text-neutral-900 placeholder-neutral-400 leading-relaxed text-sm"}),e.jsx("div",{className:"flex items-center justify-end px-3 pb-3 pt-1",children:e.jsx(y,{onClick:O,disabled:l==="starting"||!i||!o.trim(),children:s(l==="starting"?"启动中...":"开始")})})]})]})]})}),d&&R.length>0&&e.jsx("div",{className:"px-8 py-2 bg-white border-t border-neutral-100",children:e.jsx(re,{todos:R})}),d&&e.jsx("div",{className:"px-8 py-6 border-t border-neutral-100 bg-white",children:e.jsxs("div",{className:"relative border border-neutral-200 rounded-xl shadow-sm bg-white focus-within:ring-1 focus-within:ring-neutral-300 focus-within:border-neutral-300 transition-all duration-200",children:[e.jsx("textarea",{ref:u,value:m,onChange:M,rows:3,placeholder:s("发送消息给 Agent..."),className:"w-full px-4 py-3 bg-transparent border-none focus:outline-none focus:ring-0 resize-none text-neutral-900 placeholder-neutral-400 leading-relaxed text-sm scrollbar-thin scrollbar-thumb-neutral-200 scrollbar-track-transparent",style:{minHeight:"80px",maxHeight:"210px"},onKeyDown:t=>{t.key==="Enter"&&!t.shiftKey&&!t.repeat&&!t.nativeEvent.isComposing&&t.nativeEvent.keyCode!==229&&(t.preventDefault(),T())}}),e.jsxs("div",{className:"flex items-center justify-between px-3 pb-3 pt-1 border-t border-transparent",children:[e.jsxs("div",{className:"flex items-center gap-1 text-neutral-400",children:[e.jsx("button",{className:"p-2 hover:bg-neutral-100 hover:text-neutral-600 rounded-lg transition-colors",title:"Attach File",children:e.jsx(ae,{size:18})}),e.jsx("button",{className:"p-2 hover:bg-neutral-100 hover:text-neutral-600 rounded-lg transition-colors",title:"Mention",children:e.jsx(le,{size:18})}),e.jsx("button",{className:"p-2 hover:bg-neutral-100 hover:text-neutral-600 rounded-lg transition-colors",title:"Reference Issue",children:e.jsx(ue,{size:18})}),e.jsx("div",{className:"w-px h-4 bg-neutral-200 mx-1"}),e.jsx("button",{className:"p-2 hover:bg-neutral-100 hover:text-neutral-600 rounded-lg transition-colors",title:"Search Web",children:e.jsx(ie,{size:18})})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[J&&e.jsxs("button",{onClick:K,className:"flex items-center gap-2 px-3 py-2 text-xs font-semibold text-red-600 bg-red-50 hover:bg-red-100 rounded-lg transition-colors",children:[e.jsx(oe,{size:12,fill:"currentColor"}),e.jsx("span",{children:s("停止")})]}),e.jsxs("button",{onClick:T,disabled:!m.trim(),className:`flex items-center gap-2 px-3 py-2 text-xs font-semibold rounded-lg transition-all ${m.trim()?"bg-neutral-900 text-white hover:bg-black shadow-sm":"bg-neutral-100 text-neutral-400 cursor-not-allowed"}`,children:[e.jsx("span",{children:s("发送")}),e.jsx(he,{size:14})]})]})]})]})})]})}export{ke as AgentDemoPage};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{r as a,w as j,S as E,C as T,j as t,d as M,u as U,i as I}from"./index-
|
|
1
|
+
import{r as a,w as j,S as E,C as T,j as t,d as M,u as U,i as I}from"./index-RxbHMWXV.js";import{B as O}from"./button-BUA8P726.js";function P(s){const{sessionId:c,onOutput:k,onExit:x,onError:b}=s,[p,g]=a.useState(()=>j.isConnected()),[r,d]=a.useState(!1),m=a.useRef({onOutput:k,onExit:x,onError:b});m.current={onOutput:k,onExit:x,onError:b},a.useEffect(()=>{const n=j.getSocket();g(n.connected);const u=()=>g(!0),v=()=>{g(!1),d(!1)},N=l=>{l.sessionId===c&&m.current.onOutput?.(l.data)},w=l=>{l.sessionId===c&&(d(!1),m.current.onExit?.(l.exitCode))},S=l=>{l.sessionId===c&&m.current.onError?.(l.message)};return n.on("connect",u),n.on("disconnect",v),n.on(E.SESSION_STDOUT,N),n.on(E.SESSION_EXIT,w),n.on(E.SESSION_ERROR,S),g(n.connected),()=>{n.off("connect",u),n.off("disconnect",v),n.off(E.SESSION_STDOUT,N),n.off(E.SESSION_EXIT,w),n.off(E.SESSION_ERROR,S),d(!1)}},[c]);const i=a.useCallback(()=>new Promise(n=>{if(!j.getSocket().connected){n(!1);return}d(!0),n(!0)}),[]),y=a.useCallback(()=>{d(!1)},[]),C=a.useCallback(n=>{j.getSocket().emit(T.INPUT,{sessionId:c,data:n})},[c]),h=a.useCallback((n,u)=>{j.getSocket().emit(T.RESIZE,{sessionId:c,cols:n,rows:u})},[c]);return{isConnected:p,isAttached:r,attach:i,detach:y,sendInput:C,resize:h}}function $({className:s,...c}){return t.jsx("div",{"data-slot":"card",className:M("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",s),...c})}function K(){const{t:s}=U(),[c,k]=a.useState([]),[x,b]=a.useState(""),[p,g]=a.useState(""),[r,d]=a.useState(null),[m,i]=a.useState([]),[y,C]=a.useState(!1),[h,n]=a.useState(""),u=a.useRef(null),v=a.useCallback(e=>{i(o=>{const f=o[o.length-1];return f&&f.role==="agent"?[...o.slice(0,-1),{...f,content:f.content+e}]:[...o,{role:"agent",content:e,timestamp:new Date}]})},[]),N=a.useCallback(e=>{i(o=>[...o,{role:"agent",content:`
|
|
2
2
|
[进程退出,退出码: ${e}]`,timestamp:new Date}]),d(null)},[]),w=a.useCallback(e=>{i(o=>[...o,{role:"agent",content:`
|
|
3
3
|
[错误: ${e}]`,timestamp:new Date}])},[]),{isConnected:S,isAttached:l,attach:D}=P({sessionId:r||"",onOutput:v,onExit:N,onError:w});a.useEffect(()=>{I.get("/demo/agents").then(e=>{k(e.agents);const o=e.agents.find(f=>f.available);o&&b(o.type)})},[]),a.useEffect(()=>{u.current?.scrollIntoView({behavior:"smooth"})},[m]),a.useEffect(()=>{r&&S&&!l&&D()},[r,S,l,D]);const R=async()=>{if(!(!x||!p.trim())){C(!0),i([{role:"user",content:p,timestamp:new Date}]);try{const e=await I.post("/demo/start",{agentType:x,prompt:p.trim()});d(e.sessionId),g("")}catch(e){i(o=>[...o,{role:"agent",content:s("启动失败: {message}",{message:e instanceof Error?e.message:s("未知错误")}),timestamp:new Date}])}finally{C(!1)}}},A=async()=>{if(!r||!h.trim())return;const e=h.trim();i(o=>[...o,{role:"user",content:e,timestamp:new Date}]),n("");try{await I.post(`/demo/${r}/message`,{message:e})}catch(o){i(f=>[...f,{role:"agent",content:s("发送失败: {message}",{message:o instanceof Error?o.message:s("未知错误")}),timestamp:new Date}])}},_=async()=>{if(r)try{await I.post(`/demo/${r}/stop`),i(e=>[...e,{role:"agent",content:`
|
|
4
4
|
[${s("会话已停止")}]`,timestamp:new Date}]),d(null)}catch(e){console.error("Stop failed:",e)}};return t.jsxs("div",{className:"flex flex-col h-full max-w-4xl mx-auto p-4 gap-4",children:[t.jsx("h1",{className:"text-2xl font-bold",children:s("Agent 交互演示")}),!r&&t.jsxs($,{className:"p-4",children:[t.jsx("h2",{className:"text-lg font-semibold mb-3",children:s("选择 Agent")}),t.jsx("div",{className:"flex gap-2 flex-wrap mb-4",children:c.map(e=>t.jsxs(O,{variant:x===e.type?"default":"outline",disabled:!e.available,onClick:()=>b(e.type),children:[e.name,e.available&&e.version&&` (${e.version})`,!e.available&&s(" (不可用)")]},e.type))}),t.jsxs("div",{className:"flex gap-2",children:[t.jsx("input",{type:"text",value:p,onChange:e=>g(e.target.value),onKeyDown:e=>e.key==="Enter"&&!e.nativeEvent.isComposing&&e.nativeEvent.keyCode!==229&&R(),placeholder:s("输入你的问题或任务..."),className:"flex-1 px-3 py-2 border rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500"}),t.jsx(O,{onClick:R,disabled:y||!x||!p.trim(),children:s(y?"启动中...":"开始")})]})]}),t.jsxs($,{className:"flex-1 p-4 overflow-hidden flex flex-col",children:[t.jsxs("div",{className:"flex justify-between items-center mb-3",children:[t.jsx("h2",{className:"text-lg font-semibold",children:s("对话")}),r&&t.jsxs("div",{className:"flex items-center gap-2",children:[t.jsx("span",{className:"text-sm text-gray-500",children:s(S?l?"已连接":"连接中...":"未连接")}),t.jsx(O,{variant:"outline",size:"sm",onClick:_,children:s("停止")})]})]}),t.jsxs("div",{className:"flex-1 overflow-y-auto space-y-3",children:[m.length===0?t.jsx("div",{className:"text-gray-400 text-center py-8",children:s("选择 Agent 并输入问题开始对话")}):m.map((e,o)=>t.jsxs("div",{className:`p-3 rounded-lg ${e.role==="user"?"bg-blue-100 ml-8":"bg-gray-100 mr-8"}`,children:[t.jsx("div",{className:"text-xs text-gray-500 mb-1",children:e.role==="user"?s("你"):"Agent"}),t.jsx("pre",{className:"whitespace-pre-wrap font-mono text-sm",children:e.content})]},o)),t.jsx("div",{ref:u})]}),r&&t.jsxs("div",{className:"flex gap-2 mt-3 pt-3 border-t",children:[t.jsx("input",{type:"text",value:h,onChange:e=>n(e.target.value),onKeyDown:e=>e.key==="Enter"&&!e.repeat&&!e.nativeEvent.isComposing&&e.nativeEvent.keyCode!==229&&A(),placeholder:s("发送后续消息..."),className:"flex-1 px-3 py-2 border rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500"}),t.jsx(O,{onClick:A,disabled:!h.trim(),children:s("发送")})]})]})]})}export{K as DemoPage};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{u as w,a as y,b as C,c as _,r as o,t as u,j as e}from"./index-
|
|
1
|
+
import{u as w,a as y,b as C,c as _,r as o,t as u,j as e}from"./index-RxbHMWXV.js";import{S as f}from"./select-BMlH2AuL.js";import{u as A}from"./use-providers-DVP6emIi.js";import{S as E}from"./SettingsSection-pLJ3msrT.js";import"./chevron-down-B931AgE2.js";import"./check-BYuuXc71.js";const k=[{value:"zh-CN",label:"简体中文"},{value:"en",label:"English"}],c="__follow_task__";function x({label:d,description:n,children:t,border:a=!0}){return e.jsxs("div",{className:`flex flex-col gap-3 py-5 sm:flex-row sm:items-start sm:justify-between sm:gap-8 ${a?"border-b border-neutral-100":""}`,children:[e.jsxs("div",{className:"min-w-0 sm:max-w-[360px]",children:[e.jsx("div",{className:"text-[13px] font-medium text-neutral-900",children:d}),n&&e.jsx("p",{className:"mt-0.5 text-[12px] leading-relaxed text-neutral-500",children:n})]}),e.jsx("div",{className:"w-full sm:w-[260px] shrink-0",children:t})]})}function G(){const{locale:d,setLocale:n,t}=w(),{data:a}=y(),{data:b}=A(),{data:l}=C(),r=_(),[h,g]=o.useState(c),[m,p]=o.useState(""),[v,i]=o.useState(!1);o.useEffect(()=>{!a||!l||(g(a.commitMessageProviderId||c),p(a.commitMessagePrompt||l.prompt),i(!1))},[a,l]);const j=[{value:c,label:t("跟随任务")},...(b??[]).filter(s=>s.availability.type!=="NOT_FOUND").map(s=>({value:s.provider.id,label:s.provider.name}))],N=o.useCallback(s=>{g(s);const P=s===c?null:s;r.mutate({commitMessageProviderId:P},{onError:()=>u.error(t("保存失败"))})},[r,t]),S=o.useCallback(()=>{const s=m.trim()||null;r.mutate({commitMessagePrompt:s},{onSuccess:()=>{i(!1),u.success(t("已保存"))},onError:()=>u.error(t("保存失败"))})},[m,r,t]);return e.jsxs(E,{children:[e.jsx("div",{className:"mb-1",children:e.jsx("h2",{className:"text-base font-semibold text-neutral-900",children:t("通用设置")})}),e.jsx(x,{label:t("显示语言"),description:t("界面语言会保存到本地数据库,重启后继续生效。"),children:e.jsx(f,{value:d,onChange:s=>n(s),options:k})}),e.jsx("div",{className:"mt-8 mb-2",children:e.jsx("h3",{className:"text-[13px] font-semibold text-neutral-900 uppercase tracking-wide text-neutral-500",children:t("Git Commit Message")})}),e.jsx(x,{label:t("Agent 渠道"),description:t('"跟随任务"表示使用当前任务所用的 Agent 渠道。选择具体渠道可使用更经济的模型。'),children:e.jsx(f,{value:h,onChange:N,options:j})}),e.jsx(x,{label:t("提示词模板"),description:t("自定义生成 commit message 的提示词。留空则使用内置默认模板。"),border:!1,children:e.jsxs("div",{className:"space-y-2",children:[e.jsx("textarea",{value:m,onChange:s=>{p(s.target.value),i(!0)},rows:5,className:"w-full rounded-lg border border-neutral-200 bg-neutral-50/50 px-3 py-2 text-sm font-mono leading-relaxed transition-colors focus:border-neutral-400 focus:bg-white focus:outline-none resize-y"}),v&&e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("button",{onClick:S,disabled:r.isPending,className:"rounded-lg bg-neutral-900 px-3.5 py-1.5 text-xs font-medium text-white transition-colors hover:bg-neutral-800 disabled:opacity-50",children:r.isPending?t("保存中..."):t("保存")}),e.jsx("button",{onClick:()=>{p(a?.commitMessagePrompt||l?.prompt||""),i(!1)},className:"rounded-lg px-3 py-1.5 text-xs text-neutral-500 transition-colors hover:text-neutral-900",children:t("取消")})]})]})})]})}export{G as GeneralSettingsPage};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as i,j as n,d as o}from"./index-
|
|
1
|
+
import{r as i,j as n,d as o}from"./index-RxbHMWXV.js";function d(r){const t=r.trim();if(!t)return"?";const e=t.split(/\s+/).filter(Boolean);return e.length>=2?`${e[0][0]??""}${e[1][0]??""}`.toUpperCase():Array.from(t).slice(0,2).join("").toUpperCase()}function a(r){const t=r.trim();return/^#([0-9a-f]{3,8})$/i.test(t)||/^rgba?\(/i.test(t)||/^hsla?\(/i.test(t)}function l(r){const t=r.trim();return t.startsWith("/")||t.startsWith("http://")||t.startsWith("https://")||t.startsWith("data:image/")||t.startsWith("blob:")}function h(r,t){const e=r?.trim()??"";return!e||a(e)||l(e)?d(t):e.length<=2?e.toUpperCase():e.slice(0,2).toUpperCase()}function p(r){const t=r?.trim()??"";if(!(!t||!a(t)))return{backgroundColor:t,color:"#ffffff"}}function g({name:r,avatar:t,className:e}){const[u,c]=i.useState(null),s=t?.trim()??"",f=!!s&&l(s)&&u!==s,m=i.useMemo(()=>h(s,r),[r,s]);return f?n.jsx("img",{src:s,alt:r,loading:"lazy",onError:()=>c(s),className:o("h-7 w-7 shrink-0 rounded-full border border-neutral-200 bg-white object-cover",e)}):n.jsx("div",{className:o("flex h-7 w-7 shrink-0 items-center justify-center rounded-full border border-neutral-200 bg-neutral-100 text-[10px] font-semibold text-neutral-600",e),style:p(s),"aria-label":r,children:m})}export{g as M};
|