agent-tower 0.7.0-beta.0 → 0.7.0-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.
Files changed (150) hide show
  1. package/dist/runtime/acp/acp-driver.d.ts.map +1 -1
  2. package/dist/runtime/acp/acp-driver.js +25 -2
  3. package/dist/runtime/acp/acp-driver.js.map +1 -1
  4. package/dist/services/__tests__/member-heartbeat-scheduler.test.js +29 -0
  5. package/dist/services/__tests__/member-heartbeat-scheduler.test.js.map +1 -1
  6. package/dist/services/__tests__/team-member-admission-barrier.test.d.ts +2 -0
  7. package/dist/services/__tests__/team-member-admission-barrier.test.d.ts.map +1 -0
  8. package/dist/services/__tests__/team-member-admission-barrier.test.js +51 -0
  9. package/dist/services/__tests__/team-member-admission-barrier.test.js.map +1 -0
  10. package/dist/services/__tests__/team-reconciler.service.test.js +115 -0
  11. package/dist/services/__tests__/team-reconciler.service.test.js.map +1 -1
  12. package/dist/services/__tests__/team-scheduler.service.test.js +87 -0
  13. package/dist/services/__tests__/team-scheduler.service.test.js.map +1 -1
  14. package/dist/services/member-heartbeat-scheduler.d.ts +11 -0
  15. package/dist/services/member-heartbeat-scheduler.d.ts.map +1 -1
  16. package/dist/services/member-heartbeat-scheduler.js +31 -2
  17. package/dist/services/member-heartbeat-scheduler.js.map +1 -1
  18. package/dist/services/session-manager.d.ts.map +1 -1
  19. package/dist/services/session-manager.js +1 -1
  20. package/dist/services/session-manager.js.map +1 -1
  21. package/dist/services/team-member-admission-barrier.d.ts +23 -1
  22. package/dist/services/team-member-admission-barrier.d.ts.map +1 -1
  23. package/dist/services/team-member-admission-barrier.js +68 -2
  24. package/dist/services/team-member-admission-barrier.js.map +1 -1
  25. package/dist/services/team-reconciler.service.d.ts +20 -2
  26. package/dist/services/team-reconciler.service.d.ts.map +1 -1
  27. package/dist/services/team-reconciler.service.js +112 -20
  28. package/dist/services/team-reconciler.service.js.map +1 -1
  29. package/dist/services/team-scheduler.service.d.ts +7 -0
  30. package/dist/services/team-scheduler.service.d.ts.map +1 -1
  31. package/dist/services/team-scheduler.service.js +15 -5
  32. package/dist/services/team-scheduler.service.js.map +1 -1
  33. package/dist/web/assets/{AgentDemoPage-Cb99MrCc.js → AgentDemoPage-DP9u0ylA.js} +1 -1
  34. package/dist/web/assets/{AgentEnvironmentSettingsPage-ebCjwkrN.js → AgentEnvironmentSettingsPage-B571SLF5.js} +1 -1
  35. package/dist/web/assets/{AgentLogo-DonTQxM9.js → AgentLogo-VGcaaJum.js} +1 -1
  36. package/dist/web/assets/ConversationPage-CbMlQ5UC.js +3 -0
  37. package/dist/web/assets/CreateTaskInput-kkWy5nmc.js +1 -0
  38. package/dist/web/assets/{DemoPage-Bgivi3Ks.js → DemoPage-CpMV8Rv7.js} +1 -1
  39. package/dist/web/assets/{GeneralSettingsPage-DvMYB2cP.js → GeneralSettingsPage-BvME4SJc.js} +1 -1
  40. package/dist/web/assets/{Icons-CjfPc49M.js → Icons-DXzgw2xT.js} +1 -1
  41. package/dist/web/assets/{LoadingPreviewPage-CYzE_rah.js → LoadingPreviewPage-D6OzaV9-.js} +1 -1
  42. package/dist/web/assets/{McpSettingsPage-D5OEjiw4.js → McpSettingsPage-CCWuZ-IU.js} +1 -1
  43. package/dist/web/assets/{MemberAvatar-CK6Kg4RE.js → MemberAvatar-DeKYSBH9.js} +1 -1
  44. package/dist/web/assets/{NotificationSettingsPage-G7b4V0bX.js → NotificationSettingsPage-BOhJqIXv.js} +1 -1
  45. package/dist/web/assets/{ProfileSettingsPage-nKzInN5R.js → ProfileSettingsPage-BEMuDjhF.js} +1 -1
  46. package/dist/web/assets/{ProjectKanbanPage-BbRguX0a.js → ProjectKanbanPage-Ka243_RU.js} +5 -5
  47. package/dist/web/assets/{ProjectSettingsPage-B_uG_eME.js → ProjectSettingsPage-sE0Thu7d.js} +1 -1
  48. package/dist/web/assets/{ProviderSettingsPage-Yhr6QSK3.js → ProviderSettingsPage-BCXTXcbc.js} +1 -1
  49. package/dist/web/assets/{SettingsMasterDetail-fY_-qGyA.js → SettingsMasterDetail-DmqYixrL.js} +1 -1
  50. package/dist/web/assets/{TeamSettingsPage-C3bS2GiK.js → TeamSettingsPage-Dxk7-1fD.js} +1 -1
  51. package/dist/web/assets/{arc-BO0W2mHj.js → arc-Bl7tPfS7.js} +1 -1
  52. package/dist/web/assets/{architectureDiagram-3BPJPVTR-C3cEkBBe.js → architectureDiagram-3BPJPVTR-CoP7qomY.js} +1 -1
  53. package/dist/web/assets/{arrow-left-KfI6LIDH.js → arrow-left-4_9exfZH.js} +1 -1
  54. package/dist/web/assets/{blockDiagram-GPEHLZMM-DWXMs31a.js → blockDiagram-GPEHLZMM-Dyj3wCtX.js} +1 -1
  55. package/dist/web/assets/{c4Diagram-AAUBKEIU-Br4Xlw_Z.js → c4Diagram-AAUBKEIU-BHpYwHH5.js} +1 -1
  56. package/dist/web/assets/channel-D6ei4By-.js +1 -0
  57. package/dist/web/assets/check-CIGH6GLr.js +1 -0
  58. package/dist/web/assets/{chevron-down-BeBVnkqU.js → chevron-down-B8PIP1yU.js} +1 -1
  59. package/dist/web/assets/{chevron-right-Q1Dgt2I3.js → chevron-right-h-JkCAHM.js} +1 -1
  60. package/dist/web/assets/{chevron-up-D2HXcF3G.js → chevron-up-C5SQd6qy.js} +1 -1
  61. package/dist/web/assets/{chunk-2J33WTMH-BX5SFZtu.js → chunk-2J33WTMH--mm3IA_q.js} +1 -1
  62. package/dist/web/assets/{chunk-4BX2VUAB-CQvYESAm.js → chunk-4BX2VUAB-DSTjg6vT.js} +1 -1
  63. package/dist/web/assets/{chunk-55IACEB6-D9YFdDf3.js → chunk-55IACEB6-BMI8DRl6.js} +1 -1
  64. package/dist/web/assets/{chunk-727SXJPM-BUCrEURW.js → chunk-727SXJPM-DB6yt8nI.js} +1 -1
  65. package/dist/web/assets/{chunk-AQP2D5EJ-C8ERMAty.js → chunk-AQP2D5EJ-BMFO2BIQ.js} +1 -1
  66. package/dist/web/assets/{chunk-FMBD7UC4-CzEZabFM.js → chunk-FMBD7UC4-BWW53Tgv.js} +1 -1
  67. package/dist/web/assets/{chunk-ND2GUHAM-Dw35tn0f.js → chunk-ND2GUHAM-3Q1rz4Rn.js} +1 -1
  68. package/dist/web/assets/{chunk-QZHKN3VN-CR7z6_1v.js → chunk-QZHKN3VN-DHZfBhTv.js} +1 -1
  69. package/dist/web/assets/{circle-alert-Dwtt3OAP.js → circle-alert-B2WJJFVc.js} +1 -1
  70. package/dist/web/assets/classDiagram-4FO5ZUOK-Dy0gEbpJ.js +1 -0
  71. package/dist/web/assets/classDiagram-v2-Q7XG4LA2-Dy0gEbpJ.js +1 -0
  72. package/dist/web/assets/{code-block-OCS4YCEC-CAzJ3mQn.js → code-block-OCS4YCEC-DAvNvPo_.js} +1 -1
  73. package/dist/web/assets/{confirm-dialog-BcfJ2Xus.js → confirm-dialog-59aNupkb.js} +1 -1
  74. package/dist/web/assets/{cose-bilkent-S5V4N54A-CUXR9dk3.js → cose-bilkent-S5V4N54A-BkBXPAOW.js} +1 -1
  75. package/dist/web/assets/{cssMode-BpC8I4Ek.js → cssMode-r4PsUEeI.js} +1 -1
  76. package/dist/web/assets/{dagre-BM42HDAG-Dhy7S5s1.js → dagre-BM42HDAG-0o3tAN58.js} +1 -1
  77. package/dist/web/assets/{diagram-2AECGRRQ-DIR5PGZF.js → diagram-2AECGRRQ-BaozWVAC.js} +1 -1
  78. package/dist/web/assets/{diagram-5GNKFQAL-DzXKfh_N.js → diagram-5GNKFQAL-BQGxsEX-.js} +1 -1
  79. package/dist/web/assets/{diagram-KO2AKTUF-us7dQ7xA.js → diagram-KO2AKTUF-BhOfCrvE.js} +1 -1
  80. package/dist/web/assets/{diagram-LMA3HP47-BjK9ExKN.js → diagram-LMA3HP47-1C0Ajian.js} +1 -1
  81. package/dist/web/assets/{diagram-OG6HWLK6-BTx88v4L.js → diagram-OG6HWLK6-BZsvylQi.js} +1 -1
  82. package/dist/web/assets/{erDiagram-TEJ5UH35-8rgd6uCk.js → erDiagram-TEJ5UH35-BODPoCQX.js} +1 -1
  83. package/dist/web/assets/{flowDiagram-I6XJVG4X-C47DsydX.js → flowDiagram-I6XJVG4X-B0BsMsro.js} +1 -1
  84. package/dist/web/assets/{folder-picker-NzVodD5j.js → folder-picker-B5RdK3CX.js} +1 -1
  85. package/dist/web/assets/{freemarker2-Gzu5EJMh.js → freemarker2-B62GnwxO.js} +1 -1
  86. package/dist/web/assets/{ganttDiagram-6RSMTGT7-B7qxtFDa.js → ganttDiagram-6RSMTGT7-BsXOoMru.js} +1 -1
  87. package/dist/web/assets/{gitGraphDiagram-PVQCEYII-DtXsV-rD.js → gitGraphDiagram-PVQCEYII-DVuq4oVA.js} +1 -1
  88. package/dist/web/assets/{handlebars-3Znn7m4J.js → handlebars-BBm4KBDp.js} +1 -1
  89. package/dist/web/assets/{html-Dgt18Ofs.js → html-BlMJourI.js} +1 -1
  90. package/dist/web/assets/{htmlMode-C2t1O0sW.js → htmlMode-vGjPTlal.js} +1 -1
  91. package/dist/web/assets/{index-BVh0eL1_.js → index-BziFEuBL.js} +4 -4
  92. package/dist/web/assets/{index--1agBpnq.js → index-DfRNL5pP.js} +4 -4
  93. package/dist/web/assets/index-KjsBZlkg.css +1 -0
  94. package/dist/web/assets/{infoDiagram-5YYISTIA-AQRMJJ6t.js → infoDiagram-5YYISTIA-CkI-s2fN.js} +1 -1
  95. package/dist/web/assets/{ishikawaDiagram-YF4QCWOH-CTcfBywF.js → ishikawaDiagram-YF4QCWOH-DExbu0jt.js} +1 -1
  96. package/dist/web/assets/javascript-CnnNs3bZ.js +1 -0
  97. package/dist/web/assets/{journeyDiagram-JHISSGLW-CRv0PNLh.js → journeyDiagram-JHISSGLW-C03_8hib.js} +1 -1
  98. package/dist/web/assets/{jsonMode-DQPoQ9kR.js → jsonMode-SxmrKu-q.js} +1 -1
  99. package/dist/web/assets/{kanban-definition-UN3LZRKU-AcoPh0xh.js → kanban-definition-UN3LZRKU-CkQ5JqTm.js} +1 -1
  100. package/dist/web/assets/{layers-DePAliGw.js → layers-DVjF8vaY.js} +1 -1
  101. package/dist/web/assets/{linear-GlxaBVoM.js → linear-VXyesiU2.js} +1 -1
  102. package/dist/web/assets/{liquid-Dr6EmgCe.js → liquid-B_CJMcDS.js} +1 -1
  103. package/dist/web/assets/{lspLanguageFeatures-DN91604C.js → lspLanguageFeatures-D46XQnYj.js} +1 -1
  104. package/dist/web/assets/{mdx-JG8OT2YG.js → mdx-B2i6poYS.js} +1 -1
  105. package/dist/web/assets/mermaid-NOHMQCX5-Cxj8y3xL.js +125 -0
  106. package/dist/web/assets/{message-square-DWgJpKCx.js → message-square-BleDaJqD.js} +1 -1
  107. package/dist/web/assets/{mindmap-definition-RKZ34NQL-DGrhHpUO.js → mindmap-definition-RKZ34NQL-OB13sryT.js} +1 -1
  108. package/dist/web/assets/{modal-CORyqdln.js → modal-DCycqy3L.js} +1 -1
  109. package/dist/web/assets/{monaco-ORn-kQwM.js → monaco-C5uCiSc1.js} +3 -3
  110. package/dist/web/assets/{pencil-B1BeYe1f.js → pencil-7Lu7CiFO.js} +1 -1
  111. package/dist/web/assets/{pieDiagram-4H26LBE5-BX2kHm8X.js → pieDiagram-4H26LBE5-CU-pnTSj.js} +1 -1
  112. package/dist/web/assets/{python-v-kAqpdQ.js → python-CdqaVxbU.js} +1 -1
  113. package/dist/web/assets/{quadrantDiagram-W4KKPZXB-D8kpdSHK.js → quadrantDiagram-W4KKPZXB-yZ7s-n8V.js} +1 -1
  114. package/dist/web/assets/{razor-1mzCjQ7_.js → razor-BZtfxDHk.js} +1 -1
  115. package/dist/web/assets/{requirementDiagram-4Y6WPE33-BeCKrFYk.js → requirementDiagram-4Y6WPE33-B0anLb96.js} +1 -1
  116. package/dist/web/assets/{sankeyDiagram-5OEKKPKP-BhppOHK-.js → sankeyDiagram-5OEKKPKP-DHcV9eve.js} +1 -1
  117. package/dist/web/assets/{select-C0_GwcaL.js → select-EnAkHFwg.js} +1 -1
  118. package/dist/web/assets/{sequenceDiagram-3UESZ5HK-kd48NbrY.js → sequenceDiagram-3UESZ5HK-DqgRRD9W.js} +1 -1
  119. package/dist/web/assets/{server-ezmEd1Bn.js → server-a_4ZRCwE.js} +1 -1
  120. package/dist/web/assets/{stateDiagram-AJRCARHV-BVEJJ862.js → stateDiagram-AJRCARHV-BM_vAe4X.js} +1 -1
  121. package/dist/web/assets/stateDiagram-v2-BHNVJYJU-DXSW0BBn.js +1 -0
  122. package/dist/web/assets/{switch-DTs2bsdf.js → switch-D_UoJD1K.js} +1 -1
  123. package/dist/web/assets/{textarea-DDugro1C.js → textarea-Cmy7-X_E.js} +1 -1
  124. package/dist/web/assets/{timeline-definition-PNZ67QCA-DSTFfNuv.js → timeline-definition-PNZ67QCA-BRstBzgi.js} +1 -1
  125. package/dist/web/assets/{trash-2-0qxC5GZF.js → trash-2-0UA8zJ8I.js} +1 -1
  126. package/dist/web/assets/{tsMode-BiIcawoi.js → tsMode-BASXySxT.js} +1 -1
  127. package/dist/web/assets/{typescript-ChINO0ge.js → typescript-DbOfWuuq.js} +1 -1
  128. package/dist/web/assets/{upload-Bvn4pVZf.js → upload-CfzBeWxL.js} +1 -1
  129. package/dist/web/assets/{use-profiles-DQpUUzXs.js → use-profiles-MVQfFrhT.js} +1 -1
  130. package/dist/web/assets/{use-projects-BQB2BPEN.js → use-projects-CJ8Wn6Xl.js} +1 -1
  131. package/dist/web/assets/{use-providers--I6m_J5h.js → use-providers-DvV0mdqo.js} +1 -1
  132. package/dist/web/assets/{useNormalizedLogs-BB31QSMo.js → useNormalizedLogs-D8-yjxOI.js} +1 -1
  133. package/dist/web/assets/{vennDiagram-CIIHVFJN-CQ8tm8nY.js → vennDiagram-CIIHVFJN-DzhupKpF.js} +1 -1
  134. package/dist/web/assets/{wardley-L42UT6IY-DKg1J16d.js → wardley-L42UT6IY-BwWhS3dk.js} +1 -1
  135. package/dist/web/assets/{wardleyDiagram-YWT4CUSO-DnqGz1sa.js → wardleyDiagram-YWT4CUSO-iG6xXnIJ.js} +1 -1
  136. package/dist/web/assets/{xml-YFMD1O7m.js → xml-Dn2Ep0JI.js} +1 -1
  137. package/dist/web/assets/{xychartDiagram-2RQKCTM6-BTCVgq8k.js → xychartDiagram-2RQKCTM6-hgKK9aU8.js} +1 -1
  138. package/dist/web/assets/{yaml-pAIxoEG3.js → yaml-CA2Cgl3R.js} +1 -1
  139. package/dist/web/index.html +2 -2
  140. package/package.json +1 -1
  141. package/dist/web/assets/ConversationPage-Bd1WHiCB.js +0 -3
  142. package/dist/web/assets/CreateTaskInput-C9aO7QVE.js +0 -1
  143. package/dist/web/assets/channel-TREDjZBM.js +0 -1
  144. package/dist/web/assets/check-VbbiSgv8.js +0 -1
  145. package/dist/web/assets/classDiagram-4FO5ZUOK-C8tJPglt.js +0 -1
  146. package/dist/web/assets/classDiagram-v2-Q7XG4LA2-C8tJPglt.js +0 -1
  147. package/dist/web/assets/index-CVgeXPf_.css +0 -1
  148. package/dist/web/assets/javascript-BfysNn1k.js +0 -1
  149. package/dist/web/assets/mermaid-NOHMQCX5-Cc97ICqZ.js +0 -122
  150. package/dist/web/assets/stateDiagram-v2-BHNVJYJU-aOH6_7W_.js +0 -1
@@ -1,8 +1,35 @@
1
+ import { ServiceError } from '../errors.js';
1
2
  const memberAdmissionBarriers = new Map();
3
+ const memberAdmissionHolders = new Map();
4
+ /**
5
+ * Default ceiling for callers that must answer a user request (member stop,
6
+ * direct session stop). The barrier is an in-memory promise chain with no
7
+ * lease, so an owner that never returns would otherwise block every later
8
+ * stop/follow-up for the same member forever.
9
+ */
10
+ export const DEFAULT_MEMBER_ADMISSION_ACQUIRE_TIMEOUT_MS = 30_000;
11
+ const HOLD_WARN_THRESHOLD_MS = 60_000;
2
12
  export function teamMemberAdmissionKey(teamRunId, memberId) {
3
13
  return `scheduling:${teamRunId}:member:${memberId}`;
4
14
  }
5
- export async function acquireTeamMemberAdmission(teamRunId, memberId) {
15
+ /** Fail-fast signal for admission waiters; the route boundary maps it to HTTP 409. */
16
+ export class MemberAdmissionBusyError extends ServiceError {
17
+ key;
18
+ waitedMs;
19
+ holderLabel;
20
+ heldMs;
21
+ constructor(key, waitedMs, holderLabel, heldMs) {
22
+ super(holderLabel
23
+ ? `TeamRun member admission is busy: '${holderLabel}' has been holding it for ${Math.round((heldMs ?? 0) / 1000)}s`
24
+ : 'TeamRun member admission is busy and did not become available in time', 'MEMBER_ADMISSION_BUSY', 409);
25
+ this.key = key;
26
+ this.waitedMs = waitedMs;
27
+ this.holderLabel = holderLabel;
28
+ this.heldMs = heldMs;
29
+ this.name = 'MemberAdmissionBusyError';
30
+ }
31
+ }
32
+ export async function acquireTeamMemberAdmission(teamRunId, memberId, options = {}) {
6
33
  const key = teamMemberAdmissionKey(teamRunId, memberId);
7
34
  const previous = memberAdmissionBarriers.get(key) ?? Promise.resolve();
8
35
  let resolveHold;
@@ -11,12 +38,51 @@ export async function acquireTeamMemberAdmission(teamRunId, memberId) {
11
38
  });
12
39
  const current = previous.then(() => hold);
13
40
  memberAdmissionBarriers.set(key, current);
14
- await previous;
15
41
  let released = false;
42
+ if (options.timeoutMs != null) {
43
+ let timer;
44
+ const timedOut = await Promise.race([
45
+ previous.then(() => false),
46
+ new Promise((resolve) => {
47
+ timer = setTimeout(() => resolve(true), options.timeoutMs);
48
+ timer.unref?.();
49
+ }),
50
+ ]);
51
+ if (timer)
52
+ clearTimeout(timer);
53
+ if (timedOut) {
54
+ // Let this abandoned slot pass through instead of holding the chain
55
+ // forever. The real owner keeps the lock and everything queued behind us
56
+ // still proceeds in arrival order once that owner releases. Releasing a
57
+ // stuck owner is never safe here: the barrier is what guarantees a member
58
+ // cannot start two sessions at once.
59
+ released = true;
60
+ resolveHold();
61
+ const holder = memberAdmissionHolders.get(key);
62
+ throw new MemberAdmissionBusyError(key, options.timeoutMs, holder?.label ?? null, holder ? Math.max(0, Date.now() - holder.acquiredAt) : null);
63
+ }
64
+ }
65
+ else {
66
+ await previous;
67
+ }
68
+ const holderLabel = options.holder ?? 'unlabeled';
69
+ memberAdmissionHolders.set(key, { label: holderLabel, acquiredAt: Date.now() });
70
+ let holdWarnTimer;
71
+ if (options.holder) {
72
+ holdWarnTimer = setTimeout(() => {
73
+ console.error(`[TeamMemberAdmission] ${key} has been held by '${holderLabel}' for over ${HOLD_WARN_THRESHOLD_MS / 1000}s`);
74
+ }, HOLD_WARN_THRESHOLD_MS);
75
+ holdWarnTimer.unref?.();
76
+ }
16
77
  return () => {
17
78
  if (released)
18
79
  return;
19
80
  released = true;
81
+ if (holdWarnTimer)
82
+ clearTimeout(holdWarnTimer);
83
+ if (memberAdmissionHolders.get(key)?.label === holderLabel) {
84
+ memberAdmissionHolders.delete(key);
85
+ }
20
86
  resolveHold();
21
87
  if (memberAdmissionBarriers.get(key) === current) {
22
88
  memberAdmissionBarriers.delete(key);
@@ -1 +1 @@
1
- {"version":3,"file":"team-member-admission-barrier.js","sourceRoot":"","sources":["../../src/services/team-member-admission-barrier.ts"],"names":[],"mappings":"AAAA,MAAM,uBAAuB,GAAG,IAAI,GAAG,EAAyB,CAAC;AAEjE,MAAM,UAAU,sBAAsB,CAAC,SAAiB,EAAE,QAAgB;IACxE,OAAO,cAAc,SAAS,WAAW,QAAQ,EAAE,CAAC;AACtD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,SAAiB,EACjB,QAAgB;IAEhB,MAAM,GAAG,GAAG,sBAAsB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACxD,MAAM,QAAQ,GAAG,uBAAuB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IACvE,IAAI,WAAwB,CAAC;IAC7B,MAAM,IAAI,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QACzC,WAAW,GAAG,OAAO,CAAC;IACxB,CAAC,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IAC1C,uBAAuB,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC1C,MAAM,QAAQ,CAAC;IAEf,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,OAAO,GAAG,EAAE;QACV,IAAI,QAAQ;YAAE,OAAO;QACrB,QAAQ,GAAG,IAAI,CAAC;QAChB,WAAW,EAAE,CAAC;QACd,IAAI,uBAAuB,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,OAAO,EAAE,CAAC;YACjD,uBAAuB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACtC,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"team-member-admission-barrier.js","sourceRoot":"","sources":["../../src/services/team-member-admission-barrier.ts"],"names":[],"mappings":"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"}
@@ -53,6 +53,18 @@ export declare class TeamReconcilerService {
53
53
  handleSessionExit(sessionId: string, expectedRuntimeInstanceId?: string): Promise<boolean>;
54
54
  handleSessionStopped(sessionId: string): Promise<AgentInvocation[]>;
55
55
  isSessionRuntimeCleanupConfirmed(sessionId: string): Promise<boolean>;
56
+ /**
57
+ * Whether the session behind an invocation died abnormally and can no longer
58
+ * produce a room reply.
59
+ *
60
+ * `Session.status` alone is not proof that the owned process tree is gone, so
61
+ * the shared cleanup gate must confirm it before the member slot is released
62
+ * — exactly like every other terminal path. The gate alone is not enough
63
+ * either: a normal turn exit also has no active turn plus confirmed cleanup
64
+ * (that is the legal reminder/follow-up path), which is why only an
65
+ * abnormal `FAILED`/`CANCELLED` session counts as dead here.
66
+ */
67
+ private isSessionRuntimeDead;
56
68
  reconcileInvocation(invocationId: string, expectedRuntimeInstanceId?: string): Promise<void>;
57
69
  private reconcileInvocationUnderAdmission;
58
70
  reconcileDueRoomReplyReminders(limit?: number): Promise<number>;
@@ -77,8 +89,8 @@ export declare class TeamReconcilerService {
77
89
  */
78
90
  reconcileStalledInvocations(): Promise<void>;
79
91
  /**
80
- * 首扫处理:server 重启后内存 pipeline 全丢,DB 中遗留的 RUNNING invocation 会永久占用成员。
81
- * 这类 invocation 进程已脱管,直接释放并走调度闭环。
92
+ * 首扫处理:server 重启后内存 pipeline 全丢,DB 中遗留的 RUNNING
93
+ * invocation 会永久占用成员。这类 invocation 进程已脱管,直接释放并走调度闭环。
82
94
  */
83
95
  reconcileOrphanInvocations(): Promise<void>;
84
96
  /**
@@ -99,6 +111,12 @@ export declare class TeamReconcilerService {
99
111
  private reconcileOrphanCandidate;
100
112
  private logCandidateFailure;
101
113
  private claimStalledTerminal;
114
+ /**
115
+ * Reclaims an invocation whose runtime is gone. `recoverableStatuses` keeps
116
+ * each caller inside the state it actually observed: the stalled scan must
117
+ * never fail an invocation that just moved to WAITING_ROOM_REPLY, and the
118
+ * startup orphan scan stays on RUNNING for the same reason.
119
+ */
102
120
  private claimStalledTerminalUnderAdmission;
103
121
  private finishStalledTerminal;
104
122
  private sendHeartbeatNudge;
@@ -1 +1 @@
1
- {"version":3,"file":"team-reconciler.service.d.ts","sourceRoot":"","sources":["../../src/services/team-reconciler.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"team-reconciler.service.d.ts","sourceRoot":"","sources":["../../src/services/team-reconciler.service.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,15 @@ const ACTIVE_INVOCATION_STATUSES = [
20
20
  'SESSION_ENDED',
21
21
  'WAITING_ROOM_REPLY',
22
22
  ];
23
+ // Statuses whose runtime can be reclaimed after the owning server generation
24
+ // lost its in-memory pipeline. Only RUNNING is safe here: WAITING_ROOM_REPLY is
25
+ // also the legal follow-up state of a healthy session, and this scan cannot tell
26
+ // the two apart because the cleanup gate deliberately ignores Session.status.
27
+ // Dead waiting invocations are retired by the due-reminder path instead.
28
+ const ORPHAN_RECOVERABLE_INVOCATION_STATUSES = ['RUNNING'];
29
+ // A normal turn exit also has no active turn and confirmed cleanup, so a
30
+ // session only counts as dead when it ended abnormally.
31
+ const DEAD_SESSION_STATUSES = ['FAILED', 'CANCELLED'];
23
32
  const OPEN_WORK_REQUEST_STATUSES = ['QUEUED', 'PENDING_APPROVAL'];
24
33
  const TEAM_QUIESCENT_REVIEW_REASON = 'TEAM_QUIESCENT';
25
34
  export const TEAM_ROOM_REPLY_REMINDER = [
@@ -96,6 +105,30 @@ export class TeamReconcilerService {
96
105
  : undefined,
97
106
  }, this.now())).confirmed;
98
107
  }
108
+ /**
109
+ * Whether the session behind an invocation died abnormally and can no longer
110
+ * produce a room reply.
111
+ *
112
+ * `Session.status` alone is not proof that the owned process tree is gone, so
113
+ * the shared cleanup gate must confirm it before the member slot is released
114
+ * — exactly like every other terminal path. The gate alone is not enough
115
+ * either: a normal turn exit also has no active turn plus confirmed cleanup
116
+ * (that is the legal reminder/follow-up path), which is why only an
117
+ * abnormal `FAILED`/`CANCELLED` session counts as dead here.
118
+ */
119
+ async isSessionRuntimeDead(sessionId) {
120
+ if (this.hasActiveTurn(sessionId)) {
121
+ return false;
122
+ }
123
+ const session = await prisma.session.findUnique({
124
+ where: { id: sessionId },
125
+ select: { status: true },
126
+ });
127
+ if (!session || !DEAD_SESSION_STATUSES.includes(session.status)) {
128
+ return false;
129
+ }
130
+ return this.isSessionRuntimeCleanupConfirmed(sessionId);
131
+ }
99
132
  async reconcileInvocation(invocationId, expectedRuntimeInstanceId) {
100
133
  const candidate = await prisma.agentInvocation.findUnique({
101
134
  where: { id: invocationId },
@@ -105,7 +138,9 @@ export class TeamReconcilerService {
105
138
  return;
106
139
  }
107
140
  let result;
108
- const releaseAdmission = await acquireTeamMemberAdmission(candidate.teamRunId, candidate.memberId);
141
+ const releaseAdmission = await acquireTeamMemberAdmission(candidate.teamRunId, candidate.memberId, {
142
+ holder: 'reconcileInvocation',
143
+ });
109
144
  try {
110
145
  result = await this.reconcileInvocationUnderAdmission(invocationId);
111
146
  }
@@ -121,6 +156,13 @@ export class TeamReconcilerService {
121
156
  await this.emitTeamRunInvalidated(result.teamRunId, ['agent-invocations', 'team-run'], 'agent-invocation-updated');
122
157
  this.clearReminderTimer(result.invocationId);
123
158
  await this.afterInvocationTerminal(result.teamRunId, result.invocationId, expectedRuntimeInstanceId);
159
+ return;
160
+ }
161
+ // Sending a follow-up re-enters the same member barrier through
162
+ // SessionManager.sendMessage, so it must happen after the release above —
163
+ // the same pattern reconcileStalledInvocations uses for heartbeat nudges.
164
+ if (result.kind === 'reminder') {
165
+ await this.sendRoomReplyReminder(result.sessionId, result.invocationId);
124
166
  }
125
167
  }
126
168
  async reconcileInvocationUnderAdmission(invocationId) {
@@ -168,6 +210,27 @@ export class TeamReconcilerService {
168
210
  ? { kind: 'terminal', teamRunId: invocation.teamRunId, invocationId: invocation.id }
169
211
  : { kind: 'none' };
170
212
  }
213
+ // A crashed session can never produce the reply the reminder loop waits
214
+ // for, so release the member slot immediately instead of walking the whole
215
+ // backoff on a dead runtime.
216
+ if (invocation.sessionId && await this.isSessionRuntimeDead(invocation.sessionId)) {
217
+ const failed = await prisma.agentInvocation.updateMany({
218
+ where: {
219
+ id: invocation.id,
220
+ status: { in: ACTIVE_INVOCATION_STATUSES },
221
+ dispatchRevokedAt: null,
222
+ },
223
+ data: {
224
+ status: 'FAILED',
225
+ roomReplyReminderCount: 0,
226
+ nextRoomReplyReminderAt: null,
227
+ firstNudgeAt: null,
228
+ },
229
+ });
230
+ return failed.count === 1
231
+ ? { kind: 'terminal', teamRunId: invocation.teamRunId, invocationId: invocation.id }
232
+ : { kind: 'none' };
233
+ }
171
234
  if (invocation.status === 'WAITING_ROOM_REPLY'
172
235
  && invocation.nextRoomReplyReminderAt
173
236
  && invocation.nextRoomReplyReminderAt.getTime() > this.now().getTime()) {
@@ -210,10 +273,9 @@ export class TeamReconcilerService {
210
273
  return { kind: 'none' };
211
274
  await this.emitTeamRunInvalidated(invocation.teamRunId, ['agent-invocations', 'team-run'], 'agent-invocation-updated');
212
275
  this.scheduleReminderTimer(invocation.id, nextReminderAt);
213
- if (invocation.sessionId) {
214
- await this.sendRoomReplyReminder(invocation.sessionId, invocation.id);
215
- }
216
- return { kind: 'none' };
276
+ return invocation.sessionId
277
+ ? { kind: 'reminder', sessionId: invocation.sessionId, invocationId: invocation.id }
278
+ : { kind: 'none' };
217
279
  }
218
280
  async reconcileDueRoomReplyReminders(limit = 50) {
219
281
  const dueInvocations = await prisma.agentInvocation.findMany({
@@ -292,7 +354,9 @@ export class TeamReconcilerService {
292
354
  for (const invocation of candidates) {
293
355
  try {
294
356
  let action = { kind: 'none' };
295
- const releaseAdmission = await acquireTeamMemberAdmission(invocation.teamRunId, invocation.memberId);
357
+ const releaseAdmission = await acquireTeamMemberAdmission(invocation.teamRunId, invocation.memberId, {
358
+ holder: 'reconcileStalledInvocations',
359
+ });
296
360
  try {
297
361
  const current = await prisma.agentInvocation.findUnique({
298
362
  where: { id: invocation.id },
@@ -321,12 +385,16 @@ export class TeamReconcilerService {
321
385
  }
322
386
  }
323
387
  /**
324
- * 首扫处理:server 重启后内存 pipeline 全丢,DB 中遗留的 RUNNING invocation 会永久占用成员。
325
- * 这类 invocation 进程已脱管,直接释放并走调度闭环。
388
+ * 首扫处理:server 重启后内存 pipeline 全丢,DB 中遗留的 RUNNING
389
+ * invocation 会永久占用成员。这类 invocation 进程已脱管,直接释放并走调度闭环。
326
390
  */
327
391
  async reconcileOrphanInvocations() {
328
392
  const candidates = await prisma.agentInvocation.findMany({
329
- where: { status: 'RUNNING', dispatchRevokedAt: null, sessionId: { not: null } },
393
+ where: {
394
+ status: { in: ORPHAN_RECOVERABLE_INVOCATION_STATUSES },
395
+ dispatchRevokedAt: null,
396
+ sessionId: { not: null },
397
+ },
330
398
  include: { teamRun: { select: { heartbeatTimeoutMinutes: true, task: { select: { deletedAt: true } } } } },
331
399
  });
332
400
  const failures = [];
@@ -560,7 +628,9 @@ export class TeamReconcilerService {
560
628
  return [];
561
629
  if (!await this.canTerminalizeAfterRuntimeCleanup(invocationId, candidate.sessionId, true))
562
630
  return [];
563
- const releaseAdmission = await acquireTeamMemberAdmission(candidate.teamRunId, candidate.memberId);
631
+ const releaseAdmission = await acquireTeamMemberAdmission(candidate.teamRunId, candidate.memberId, {
632
+ holder: 'terminalizeRevokedInvocation',
633
+ });
564
634
  let result = null;
565
635
  try {
566
636
  if (!await this.canTerminalizeAfterRuntimeCleanup(invocationId, candidate.sessionId, true))
@@ -714,9 +784,11 @@ export class TeamReconcilerService {
714
784
  }
715
785
  const alive = this.hasActiveTurn(invocation.sessionId);
716
786
  if (!alive) {
717
- const releaseAdmission = await acquireTeamMemberAdmission(invocation.teamRunId, invocation.memberId);
787
+ const releaseAdmission = await acquireTeamMemberAdmission(invocation.teamRunId, invocation.memberId, {
788
+ holder: 'reconcileOrphanCandidate',
789
+ });
718
790
  try {
719
- return this.claimStalledTerminalUnderAdmission(invocation.id, invocation.sessionId, this.now());
791
+ return this.claimStalledTerminalUnderAdmission(invocation.id, invocation.sessionId, this.now(), ORPHAN_RECOVERABLE_INVOCATION_STATUSES);
720
792
  }
721
793
  finally {
722
794
  releaseAdmission();
@@ -727,37 +799,55 @@ export class TeamReconcilerService {
727
799
  logCandidateFailure(kind, invocationId, error) {
728
800
  console.warn(`[TeamReconcilerService] Failed to reconcile ${kind} ${invocationId}:`, error instanceof Error ? error.message : error);
729
801
  }
730
- async claimStalledTerminal(invocationId, sessionId, now) {
802
+ async claimStalledTerminal(invocationId, sessionId, now, recoverableStatuses = ['RUNNING']) {
731
803
  const candidate = await prisma.agentInvocation.findUnique({
732
804
  where: { id: invocationId },
733
805
  select: { teamRunId: true, memberId: true },
734
806
  });
735
807
  if (!candidate)
736
808
  return { kind: 'none' };
737
- const releaseAdmission = await acquireTeamMemberAdmission(candidate.teamRunId, candidate.memberId);
809
+ const releaseAdmission = await acquireTeamMemberAdmission(candidate.teamRunId, candidate.memberId, {
810
+ holder: 'claimStalledTerminal',
811
+ });
738
812
  try {
739
- return await this.claimStalledTerminalUnderAdmission(invocationId, sessionId, now);
813
+ return await this.claimStalledTerminalUnderAdmission(invocationId, sessionId, now, recoverableStatuses);
740
814
  }
741
815
  finally {
742
816
  releaseAdmission();
743
817
  }
744
818
  }
745
- async claimStalledTerminalUnderAdmission(invocationId, sessionId, now) {
819
+ /**
820
+ * Reclaims an invocation whose runtime is gone. `recoverableStatuses` keeps
821
+ * each caller inside the state it actually observed: the stalled scan must
822
+ * never fail an invocation that just moved to WAITING_ROOM_REPLY, and the
823
+ * startup orphan scan stays on RUNNING for the same reason.
824
+ */
825
+ async claimStalledTerminalUnderAdmission(invocationId, sessionId, now, recoverableStatuses = ['RUNNING']) {
746
826
  const current = await prisma.agentInvocation.findUnique({
747
827
  where: { id: invocationId },
748
828
  select: { id: true, teamRunId: true, memberId: true, sessionId: true, status: true, dispatchRevokedAt: true },
749
829
  });
750
- if (!current || current.status !== 'RUNNING' || current.dispatchRevokedAt)
830
+ if (!current
831
+ || !recoverableStatuses.includes(current.status)
832
+ || current.dispatchRevokedAt)
751
833
  return { kind: 'none' };
752
834
  if (!await this.canTerminalizeAfterRuntimeCleanup(invocationId, sessionId)) {
753
835
  await prisma.agentInvocation.updateMany({
754
- where: { id: invocationId, status: 'RUNNING', dispatchRevokedAt: null },
836
+ where: {
837
+ id: invocationId,
838
+ status: { in: [...recoverableStatuses] },
839
+ dispatchRevokedAt: null,
840
+ },
755
841
  data: { dispatchRevokedAt: now, nextRoomReplyReminderAt: null },
756
842
  });
757
843
  return { kind: 'none' };
758
844
  }
759
845
  const failed = await prisma.agentInvocation.updateMany({
760
- where: { id: invocationId, status: 'RUNNING', dispatchRevokedAt: null },
846
+ where: {
847
+ id: invocationId,
848
+ status: { in: [...recoverableStatuses] },
849
+ dispatchRevokedAt: null,
850
+ },
761
851
  data: {
762
852
  status: 'FAILED',
763
853
  nextRoomReplyReminderAt: null,
@@ -790,7 +880,9 @@ export class TeamReconcilerService {
790
880
  return;
791
881
  }
792
882
  }
793
- const releaseAdmission = await acquireTeamMemberAdmission(action.teamRunId, action.memberId);
883
+ const releaseAdmission = await acquireTeamMemberAdmission(action.teamRunId, action.memberId, {
884
+ holder: 'finishStalledTerminal',
885
+ });
794
886
  let cancelled = false;
795
887
  try {
796
888
  const current = await prisma.agentInvocation.findUnique({
@@ -1 +1 @@
1
- {"version":3,"file":"team-reconciler.service.js","sourceRoot":"","sources":["../../src/services/team-reconciler.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"team-reconciler.service.js","sourceRoot":"","sources":["../../src/services/team-reconciler.service.ts"],"names":[],"mappings":"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"}
@@ -78,6 +78,12 @@ interface TeamSchedulerDependencies {
78
78
  getProviderById?: (providerId: string) => Provider | null;
79
79
  teamRunReviewAdvancer?: TeamRunReviewAdvancer;
80
80
  now?: () => Date;
81
+ /**
82
+ * Ceiling for the member admission wait on stop paths. A stuck holder must
83
+ * surface as a bounded `MEMBER_ADMISSION_BUSY` error instead of letting the
84
+ * UI spin on an HTTP request that never returns.
85
+ */
86
+ memberAdmissionTimeoutMs?: number;
81
87
  }
82
88
  export declare class TeamSchedulerService {
83
89
  private readonly lockService;
@@ -87,6 +93,7 @@ export declare class TeamSchedulerService {
87
93
  private readonly providerLookup;
88
94
  private readonly teamRunReviewAdvancer;
89
95
  private readonly now;
96
+ private readonly memberAdmissionTimeoutMs;
90
97
  constructor(lockService?: TeamLockService, dependencies?: TeamSchedulerDependencies);
91
98
  planNext(teamRunId: string): Promise<SchedulePlan[]>;
92
99
  startNext(teamRunId: string): Promise<AgentInvocation[]>;