crewly 1.20.163 → 1.20.165

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 (167) hide show
  1. package/config/roles/orchestrator/prompt.md +2 -0
  2. package/config/roles/team-leader/prompt.md +2 -0
  3. package/config/roles/team-leader/tl-addon.md +2 -0
  4. package/config/skills/agent/core/project-tickets/SKILL.md +4 -0
  5. package/config/skills/orchestrator/set-team-lead/SKILL.md +58 -0
  6. package/config/skills/orchestrator/set-team-lead/execute.sh +46 -0
  7. package/config/skills/orchestrator/set-team-lead/execute.test.sh +77 -0
  8. package/dist/backend/backend/src/constants.d.ts +46 -1
  9. package/dist/backend/backend/src/constants.d.ts.map +1 -1
  10. package/dist/backend/backend/src/constants.js +54 -2
  11. package/dist/backend/backend/src/constants.js.map +1 -1
  12. package/dist/backend/backend/src/controllers/project-tickets/project-tickets.controller.d.ts +1 -1
  13. package/dist/backend/backend/src/controllers/project-tickets/project-tickets.controller.d.ts.map +1 -1
  14. package/dist/backend/backend/src/controllers/project-tickets/project-tickets.controller.js +6 -1
  15. package/dist/backend/backend/src/controllers/project-tickets/project-tickets.controller.js.map +1 -1
  16. package/dist/backend/backend/src/controllers/team/team.controller.d.ts +15 -0
  17. package/dist/backend/backend/src/controllers/team/team.controller.d.ts.map +1 -1
  18. package/dist/backend/backend/src/controllers/team/team.controller.js +110 -15
  19. package/dist/backend/backend/src/controllers/team/team.controller.js.map +1 -1
  20. package/dist/backend/backend/src/controllers/team/team.routes.d.ts.map +1 -1
  21. package/dist/backend/backend/src/controllers/team/team.routes.js +3 -1
  22. package/dist/backend/backend/src/controllers/team/team.routes.js.map +1 -1
  23. package/dist/backend/backend/src/index.d.ts.map +1 -1
  24. package/dist/backend/backend/src/index.js +16 -15
  25. package/dist/backend/backend/src/index.js.map +1 -1
  26. package/dist/backend/backend/src/models/Team.d.ts.map +1 -1
  27. package/dist/backend/backend/src/models/Team.js +5 -9
  28. package/dist/backend/backend/src/models/Team.js.map +1 -1
  29. package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
  30. package/dist/backend/backend/src/services/agent/agent-registration.service.js +20 -28
  31. package/dist/backend/backend/src/services/agent/agent-registration.service.js.map +1 -1
  32. package/dist/backend/backend/src/services/agent/idle-detection.service.d.ts +26 -0
  33. package/dist/backend/backend/src/services/agent/idle-detection.service.d.ts.map +1 -1
  34. package/dist/backend/backend/src/services/agent/idle-detection.service.js +43 -0
  35. package/dist/backend/backend/src/services/agent/idle-detection.service.js.map +1 -1
  36. package/dist/backend/backend/src/services/ai/prompt-builder.service.d.ts +18 -6
  37. package/dist/backend/backend/src/services/ai/prompt-builder.service.d.ts.map +1 -1
  38. package/dist/backend/backend/src/services/ai/prompt-builder.service.js +21 -23
  39. package/dist/backend/backend/src/services/ai/prompt-builder.service.js.map +1 -1
  40. package/dist/backend/backend/src/services/chat-v2/huddle-leader.d.ts +23 -0
  41. package/dist/backend/backend/src/services/chat-v2/huddle-leader.d.ts.map +1 -0
  42. package/dist/backend/backend/src/services/chat-v2/huddle-leader.js +37 -0
  43. package/dist/backend/backend/src/services/chat-v2/huddle-leader.js.map +1 -0
  44. package/dist/backend/backend/src/services/core/storage.service.d.ts.map +1 -1
  45. package/dist/backend/backend/src/services/core/storage.service.js +3 -0
  46. package/dist/backend/backend/src/services/core/storage.service.js.map +1 -1
  47. package/dist/backend/backend/src/services/monitoring/activity-monitor.service.d.ts +34 -0
  48. package/dist/backend/backend/src/services/monitoring/activity-monitor.service.d.ts.map +1 -1
  49. package/dist/backend/backend/src/services/monitoring/activity-monitor.service.js +52 -0
  50. package/dist/backend/backend/src/services/monitoring/activity-monitor.service.js.map +1 -1
  51. package/dist/backend/backend/src/services/project-tickets/project-ticket-workflow.service.d.ts +28 -7
  52. package/dist/backend/backend/src/services/project-tickets/project-ticket-workflow.service.d.ts.map +1 -1
  53. package/dist/backend/backend/src/services/project-tickets/project-ticket-workflow.service.js +51 -15
  54. package/dist/backend/backend/src/services/project-tickets/project-ticket-workflow.service.js.map +1 -1
  55. package/dist/backend/backend/src/services/project-tickets/ticket-assignee-waker.d.ts +70 -0
  56. package/dist/backend/backend/src/services/project-tickets/ticket-assignee-waker.d.ts.map +1 -0
  57. package/dist/backend/backend/src/services/project-tickets/ticket-assignee-waker.js +64 -0
  58. package/dist/backend/backend/src/services/project-tickets/ticket-assignee-waker.js.map +1 -0
  59. package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-decision.d.ts +24 -0
  60. package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-decision.d.ts.map +1 -1
  61. package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-decision.js +38 -1
  62. package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-decision.js.map +1 -1
  63. package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-messages.d.ts +14 -2
  64. package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-messages.d.ts.map +1 -1
  65. package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-messages.js +33 -3
  66. package/dist/backend/backend/src/services/project-tickets/ticket-autopilot-messages.js.map +1 -1
  67. package/dist/backend/backend/src/services/project-tickets/ticket-autopilot.service.d.ts +13 -2
  68. package/dist/backend/backend/src/services/project-tickets/ticket-autopilot.service.d.ts.map +1 -1
  69. package/dist/backend/backend/src/services/project-tickets/ticket-autopilot.service.js +43 -12
  70. package/dist/backend/backend/src/services/project-tickets/ticket-autopilot.service.js.map +1 -1
  71. package/dist/backend/backend/src/services/slack/slack-agent-dm.service.d.ts +6 -0
  72. package/dist/backend/backend/src/services/slack/slack-agent-dm.service.d.ts.map +1 -1
  73. package/dist/backend/backend/src/services/slack/slack-agent-dm.service.js +13 -0
  74. package/dist/backend/backend/src/services/slack/slack-agent-dm.service.js.map +1 -1
  75. package/dist/backend/backend/src/services/slack/slack-auto-working.service.d.ts +127 -0
  76. package/dist/backend/backend/src/services/slack/slack-auto-working.service.d.ts.map +1 -0
  77. package/dist/backend/backend/src/services/slack/slack-auto-working.service.js +200 -0
  78. package/dist/backend/backend/src/services/slack/slack-auto-working.service.js.map +1 -0
  79. package/dist/backend/backend/src/services/slack/slack-initializer.d.ts.map +1 -1
  80. package/dist/backend/backend/src/services/slack/slack-initializer.js +25 -1
  81. package/dist/backend/backend/src/services/slack/slack-initializer.js.map +1 -1
  82. package/dist/backend/backend/src/services/slack/slack-instance-registry.service.js +2 -2
  83. package/dist/backend/backend/src/services/slack/slack-instance-registry.service.js.map +1 -1
  84. package/dist/backend/backend/src/services/slack/slack-team-channel.service.d.ts +16 -1
  85. package/dist/backend/backend/src/services/slack/slack-team-channel.service.d.ts.map +1 -1
  86. package/dist/backend/backend/src/services/slack/slack-team-channel.service.js +40 -8
  87. package/dist/backend/backend/src/services/slack/slack-team-channel.service.js.map +1 -1
  88. package/dist/backend/backend/src/services/slack/slack-typing-placeholder.service.d.ts +12 -0
  89. package/dist/backend/backend/src/services/slack/slack-typing-placeholder.service.d.ts.map +1 -1
  90. package/dist/backend/backend/src/services/slack/slack-typing-placeholder.service.js +29 -0
  91. package/dist/backend/backend/src/services/slack/slack-typing-placeholder.service.js.map +1 -1
  92. package/dist/backend/backend/src/services/team-health/live-team-health-data-provider.d.ts.map +1 -1
  93. package/dist/backend/backend/src/services/team-health/live-team-health-data-provider.js +4 -3
  94. package/dist/backend/backend/src/services/team-health/live-team-health-data-provider.js.map +1 -1
  95. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.boot.d.ts +4 -3
  96. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.boot.d.ts.map +1 -1
  97. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.boot.js +6 -7
  98. package/dist/backend/backend/src/services/v3/owner-receipt/owner-receipt.boot.js.map +1 -1
  99. package/dist/backend/backend/src/services/wiki/wiki-owner.resolver.d.ts.map +1 -1
  100. package/dist/backend/backend/src/services/wiki/wiki-owner.resolver.js +2 -1
  101. package/dist/backend/backend/src/services/wiki/wiki-owner.resolver.js.map +1 -1
  102. package/dist/backend/backend/src/types/index.d.ts +3 -2
  103. package/dist/backend/backend/src/types/index.d.ts.map +1 -1
  104. package/dist/backend/backend/src/types/index.js.map +1 -1
  105. package/dist/backend/backend/src/utils/defaultPrompts.d.ts.map +1 -1
  106. package/dist/backend/backend/src/utils/defaultPrompts.js +8 -0
  107. package/dist/backend/backend/src/utils/defaultPrompts.js.map +1 -1
  108. package/dist/backend/backend/src/utils/member-default-model.utils.d.ts +5 -5
  109. package/dist/backend/backend/src/utils/member-default-model.utils.d.ts.map +1 -1
  110. package/dist/backend/backend/src/utils/member-default-model.utils.js +4 -4
  111. package/dist/backend/backend/src/utils/member-default-model.utils.js.map +1 -1
  112. package/dist/backend/backend/src/utils/team.utils.d.ts +129 -18
  113. package/dist/backend/backend/src/utils/team.utils.d.ts.map +1 -1
  114. package/dist/backend/backend/src/utils/team.utils.js +240 -28
  115. package/dist/backend/backend/src/utils/team.utils.js.map +1 -1
  116. package/dist/backend/build-info.json +2 -2
  117. package/dist/cli/backend/src/constants.d.ts +46 -1
  118. package/dist/cli/backend/src/constants.d.ts.map +1 -1
  119. package/dist/cli/backend/src/constants.js +54 -2
  120. package/dist/cli/backend/src/constants.js.map +1 -1
  121. package/dist/cli/backend/src/models/Team.d.ts.map +1 -1
  122. package/dist/cli/backend/src/models/Team.js +5 -9
  123. package/dist/cli/backend/src/models/Team.js.map +1 -1
  124. package/dist/cli/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
  125. package/dist/cli/backend/src/services/agent/agent-registration.service.js +20 -28
  126. package/dist/cli/backend/src/services/agent/agent-registration.service.js.map +1 -1
  127. package/dist/cli/backend/src/services/ai/prompt-builder.service.d.ts +18 -6
  128. package/dist/cli/backend/src/services/ai/prompt-builder.service.d.ts.map +1 -1
  129. package/dist/cli/backend/src/services/ai/prompt-builder.service.js +21 -23
  130. package/dist/cli/backend/src/services/ai/prompt-builder.service.js.map +1 -1
  131. package/dist/cli/backend/src/services/core/storage.service.d.ts.map +1 -1
  132. package/dist/cli/backend/src/services/core/storage.service.js +3 -0
  133. package/dist/cli/backend/src/services/core/storage.service.js.map +1 -1
  134. package/dist/cli/backend/src/services/monitoring/activity-monitor.service.d.ts +34 -0
  135. package/dist/cli/backend/src/services/monitoring/activity-monitor.service.d.ts.map +1 -1
  136. package/dist/cli/backend/src/services/monitoring/activity-monitor.service.js +52 -0
  137. package/dist/cli/backend/src/services/monitoring/activity-monitor.service.js.map +1 -1
  138. package/dist/cli/backend/src/services/slack/slack-agent-dm.service.d.ts +6 -0
  139. package/dist/cli/backend/src/services/slack/slack-agent-dm.service.d.ts.map +1 -1
  140. package/dist/cli/backend/src/services/slack/slack-agent-dm.service.js +13 -0
  141. package/dist/cli/backend/src/services/slack/slack-agent-dm.service.js.map +1 -1
  142. package/dist/cli/backend/src/services/slack/slack-auto-working.service.d.ts +127 -0
  143. package/dist/cli/backend/src/services/slack/slack-auto-working.service.d.ts.map +1 -0
  144. package/dist/cli/backend/src/services/slack/slack-auto-working.service.js +200 -0
  145. package/dist/cli/backend/src/services/slack/slack-auto-working.service.js.map +1 -0
  146. package/dist/cli/backend/src/services/slack/slack-team-channel.service.d.ts +16 -1
  147. package/dist/cli/backend/src/services/slack/slack-team-channel.service.d.ts.map +1 -1
  148. package/dist/cli/backend/src/services/slack/slack-team-channel.service.js +40 -8
  149. package/dist/cli/backend/src/services/slack/slack-team-channel.service.js.map +1 -1
  150. package/dist/cli/backend/src/services/slack/slack-typing-placeholder.service.d.ts +12 -0
  151. package/dist/cli/backend/src/services/slack/slack-typing-placeholder.service.d.ts.map +1 -1
  152. package/dist/cli/backend/src/services/slack/slack-typing-placeholder.service.js +29 -0
  153. package/dist/cli/backend/src/services/slack/slack-typing-placeholder.service.js.map +1 -1
  154. package/dist/cli/backend/src/types/index.d.ts +3 -2
  155. package/dist/cli/backend/src/types/index.d.ts.map +1 -1
  156. package/dist/cli/backend/src/types/index.js.map +1 -1
  157. package/dist/cli/backend/src/utils/member-default-model.utils.d.ts +5 -5
  158. package/dist/cli/backend/src/utils/member-default-model.utils.d.ts.map +1 -1
  159. package/dist/cli/backend/src/utils/member-default-model.utils.js +4 -4
  160. package/dist/cli/backend/src/utils/member-default-model.utils.js.map +1 -1
  161. package/dist/cli/backend/src/utils/team.utils.d.ts +129 -18
  162. package/dist/cli/backend/src/utils/team.utils.d.ts.map +1 -1
  163. package/dist/cli/backend/src/utils/team.utils.js +240 -28
  164. package/dist/cli/backend/src/utils/team.utils.js.map +1 -1
  165. package/frontend/dist/assets/{index-64c8a616.js → index-9153caca.js} +263 -263
  166. package/frontend/dist/index.html +1 -1
  167. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"live-team-health-data-provider.js","sourceRoot":"","sources":["../../../../../../backend/src/services/team-health/live-team-health-data-provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"live-team-health-data-provider.js","sourceRoot":"","sources":["../../../../../../backend/src/services/team-health/live-team-health-data-provider.ts"],"names":[],"mappings":"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"}
@@ -43,9 +43,10 @@ export declare function teamIndexOf(teams: readonly Team[]): Map<string, string>
43
43
  export declare function agentNameIndexOf(teams: readonly Team[]): Map<string, string>;
44
44
  /**
45
45
  * team name → team lead's display name, from the team list (Ava's reference:
46
- * `CE(Owen)`). `leaderIds[0]` when set, else the deprecated `leaderId`; a
47
- * team with neither (not hierarchical, or no leader assigned) is absent from
48
- * the index, so the receipt falls back to `*<team>*` with no parenthetical.
46
+ * `CE(Owen)`). The first lead by the team-lead rule (`utils/team.utils`:
47
+ * explicit `leaderIds`, else a `team-leader` / `tech-lead` member); a team
48
+ * with no lead is absent from the index, so the receipt falls back to
49
+ * `*<team>*` with no parenthetical.
49
50
  *
50
51
  * @param teams - Every team
51
52
  * @returns Index
@@ -1 +1 @@
1
- {"version":3,"file":"owner-receipt.boot.d.ts","sourceRoot":"","sources":["../../../../../../../backend/src/services/v3/owner-receipt/owner-receipt.boot.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAC7F,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAEpD,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAErF,iDAAiD;AACjD,MAAM,WAAW,eAAe;IAC9B,WAAW,IAAI,OAAO,CAAC;IACvB,cAAc,EAAE,CAAC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IAC7C,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACnD,WAAW,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5D,gBAAgB,CAAC,YAAY,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAClE;AAED;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,eAAe,GAAG,IAAI,GAAG,aAAa,CAoB5F;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAMvE;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAM5E;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAS3E;AAED;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,CACvC,GAAG,EAAE,IAAI,CAAC,mBAAmB,EAAE,MAAM,CAAC,EACtC,IAAI,GAAE;IACJ,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,IAAI,EAAE,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC;IACxD,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;CACxC,GACL,MAAM,IAAI,CAWZ"}
1
+ {"version":3,"file":"owner-receipt.boot.d.ts","sourceRoot":"","sources":["../../../../../../../backend/src/services/v3/owner-receipt/owner-receipt.boot.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAC7F,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAEpD,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAGrF,iDAAiD;AACjD,MAAM,WAAW,eAAe;IAC9B,WAAW,IAAI,OAAO,CAAC;IACvB,cAAc,EAAE,CAAC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IAC7C,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACnD,WAAW,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5D,gBAAgB,CAAC,YAAY,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAClE;AAED;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,eAAe,GAAG,IAAI,GAAG,aAAa,CAoB5F;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAMvE;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAM5E;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAO3E;AAED;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,CACvC,GAAG,EAAE,IAAI,CAAC,mBAAmB,EAAE,MAAM,CAAC,EACtC,IAAI,GAAE;IACJ,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,IAAI,EAAE,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC;IACxD,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;CACxC,GACL,MAAM,IAAI,CAWZ"}
@@ -6,6 +6,7 @@
6
6
  */
7
7
  import { OWNER_RECEIPT_CONSTANTS } from '../../../constants.js';
8
8
  import { LoggerService } from '../../core/logger.service.js';
9
+ import { getTeamLeads } from '../../../utils/team.utils.js';
9
10
  /**
10
11
  * A sender that DMs the owner. The text is already Slack mrkdwn (the renderer
11
12
  * escaped the owner's words and built the links), so it is NOT escaped again.
@@ -72,9 +73,10 @@ export function agentNameIndexOf(teams) {
72
73
  }
73
74
  /**
74
75
  * team name → team lead's display name, from the team list (Ava's reference:
75
- * `CE(Owen)`). `leaderIds[0]` when set, else the deprecated `leaderId`; a
76
- * team with neither (not hierarchical, or no leader assigned) is absent from
77
- * the index, so the receipt falls back to `*<team>*` with no parenthetical.
76
+ * `CE(Owen)`). The first lead by the team-lead rule (`utils/team.utils`:
77
+ * explicit `leaderIds`, else a `team-leader` / `tech-lead` member); a team
78
+ * with no lead is absent from the index, so the receipt falls back to
79
+ * `*<team>*` with no parenthetical.
78
80
  *
79
81
  * @param teams - Every team
80
82
  * @returns Index
@@ -82,10 +84,7 @@ export function agentNameIndexOf(teams) {
82
84
  export function teamLeadIndexOf(teams) {
83
85
  const index = new Map();
84
86
  for (const team of teams) {
85
- const leaderId = team.leaderIds?.[0] ?? team.leaderId;
86
- if (!leaderId)
87
- continue;
88
- const lead = (team.members ?? []).find((m) => m.id === leaderId);
87
+ const lead = getTeamLeads(team)[0];
89
88
  if (lead)
90
89
  index.set(team.name, lead.name);
91
90
  }
@@ -1 +1 @@
1
- {"version":3,"file":"owner-receipt.boot.js","sourceRoot":"","sources":["../../../../../../../backend/src/services/v3/owner-receipt/owner-receipt.boot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"owner-receipt.boot.js","sourceRoot":"","sources":["../../../../../../../backend/src/services/v3/owner-receipt/owner-receipt.boot.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"wiki-owner.resolver.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/wiki/wiki-owner.resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAIjD,qBAAqB;AACrB,MAAM,WAAW,oBAAoB;IACnC,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAC5B,WAAW,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;CAC7D;AAED;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,oBAAoB,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA0BzG"}
1
+ {"version":3,"file":"wiki-owner.resolver.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/wiki/wiki-owner.resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAKjD,qBAAqB;AACrB,MAAM,WAAW,oBAAoB;IACnC,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAC5B,WAAW,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;CAC7D;AAED;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,oBAAoB,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA0BzG"}
@@ -12,6 +12,7 @@
12
12
  import * as path from 'path';
13
13
  import { getCrewlyHomePath } from '../core/crewly-home.utils.js';
14
14
  import { resolveMemberSessionName } from '../../utils/member-session-name.utils.js';
15
+ import { getTeamLeads } from '../../utils/team.utils.js';
15
16
  /**
16
17
  * Resolve the team-leader session for a vault path or project root.
17
18
  *
@@ -47,7 +48,7 @@ export async function resolveWikiOwner(storage, key) {
47
48
  return null;
48
49
  }
49
50
  function leaderOf(team) {
50
- const tl = (team.members ?? []).find((m) => String(m.role) === 'team-leader' || String(m.role) === 'tech-lead');
51
+ const tl = getTeamLeads(team)[0];
51
52
  if (!tl)
52
53
  return null;
53
54
  return resolveMemberSessionName(team.name, tl);
@@ -1 +1 @@
1
- {"version":3,"file":"wiki-owner.resolver.js","sourceRoot":"","sources":["../../../../../../backend/src/services/wiki/wiki-owner.resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AAQpF;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,OAA6B,EAAE,GAAW;IAC/E,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC;IACvC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAErC,6CAA6C;IAC7C,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,OAAO,CAAC,CAAC;IAC7D,IAAI,UAAU,CAAC,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACzE,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;QAChD,OAAO,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACtC,CAAC;IAED,8EAA8E;IAC9E,MAAM,WAAW,GAAG,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACnE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC;QACtC,CAAC,CAAC,UAAU,CAAC;IACf,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,WAAW,EAAE,CAAC;IAC7C,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,WAAW,CAAC,CAAC;IAC3E,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC1B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;YACjD,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC9B,IAAI,MAAM;gBAAE,OAAO,MAAM,CAAC;QAC5B,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,QAAQ,CAAC,IAAU;IAC1B,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,aAAa,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,WAAW,CAAC,CAAC;IAChH,IAAI,CAAC,EAAE;QAAE,OAAO,IAAI,CAAC;IACrB,OAAO,wBAAwB,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AACjD,CAAC"}
1
+ {"version":3,"file":"wiki-owner.resolver.js","sourceRoot":"","sources":["../../../../../../backend/src/services/wiki/wiki-owner.resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AACpF,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAQzD;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,OAA6B,EAAE,GAAW;IAC/E,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC;IACvC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAErC,6CAA6C;IAC7C,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,OAAO,CAAC,CAAC;IAC7D,IAAI,UAAU,CAAC,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACzE,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;QAChD,OAAO,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACtC,CAAC;IAED,8EAA8E;IAC9E,MAAM,WAAW,GAAG,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACnE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC;QACtC,CAAC,CAAC,UAAU,CAAC;IACf,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,WAAW,EAAE,CAAC;IAC7C,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,WAAW,CAAC,CAAC;IAC3E,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC1B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;YACjD,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC9B,IAAI,MAAM;gBAAE,OAAO,MAAM,CAAC;QAC5B,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,QAAQ,CAAC,IAAU;IAC1B,MAAM,EAAE,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE;QAAE,OAAO,IAAI,CAAC;IACrB,OAAO,wBAAwB,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AACjD,CAAC"}
@@ -1,9 +1,10 @@
1
1
  import type { TicketAutopilotSettings } from './ticket-autopilot.types.js';
2
2
  /**
3
3
  * Role types available for team members.
4
- * 'team-leader' manages a sub-team of workers in hierarchical mode.
4
+ * 'team-leader' and 'tech-lead' lead their team when it names no lead
5
+ * explicitly (TEAM_LEAD_CONSTANTS.LEAD_ROLES, utils/team.utils).
5
6
  */
6
- export type TeamMemberRole = 'orchestrator' | 'team-leader' | 'tpm' | 'architect' | 'pgm' | 'developer' | 'frontend-developer' | 'backend-developer' | 'fullstack-dev' | 'qa' | 'qa-engineer' | 'tester' | 'designer' | 'product-manager' | 'sales' | 'support';
7
+ export type TeamMemberRole = 'orchestrator' | 'team-leader' | 'tech-lead' | 'tpm' | 'architect' | 'pgm' | 'developer' | 'frontend-developer' | 'backend-developer' | 'fullstack-dev' | 'qa' | 'qa-engineer' | 'tester' | 'designer' | 'product-manager' | 'sales' | 'support';
7
8
  export interface TeamMember {
8
9
  id: string;
9
10
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../backend/src/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAE3E;;;GAGG;AACH,MAAM,MAAM,cAAc,GACtB,cAAc,GACd,aAAa,GACb,KAAK,GACL,WAAW,GACX,KAAK,GACL,WAAW,GACX,oBAAoB,GACpB,mBAAmB,GACnB,eAAe,GACf,IAAI,GACJ,aAAa,GACb,QAAQ,GACR,UAAU,GACV,iBAAiB,GACjB,OAAO,GACP,SAAS,CAAC;AAEd,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,cAAc,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,UAAU,GAAG,UAAU,GAAG,SAAS,GAAG,QAAQ,GAAG,WAAW,GAAG,YAAY,CAAC;IACzF,aAAa,EAAE,MAAM,GAAG,aAAa,CAAC;IACtC,WAAW,EAAE,aAAa,GAAG,YAAY,GAAG,WAAW,GAAG,cAAc,GAAG,iBAAiB,GAAG,cAAc,CAAC;IAC9G;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,aAAa,CAAC,EAAE;QACd,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAIlB,0EAA0E;IAC1E,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,gEAAgE;IAChE,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAE1B,8DAA8D;IAC9D,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB,iEAAiE;IACjE,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B,gDAAgD;IAChD,aAAa,CAAC,EAAE,WAAW,GAAG,aAAa,GAAG,OAAO,GAAG,QAAQ,GAAG,eAAe,GAAG,eAAe,GAAG,iBAAiB,GAAG,cAAc,CAAC;IAE1I,wFAAwF;IACxF,cAAc,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAIhD,wEAAwE;IACxE,aAAa,CAAC,EAAE,UAAU,GAAG,SAAS,GAAG,mBAAmB,CAAC;IAC7D,oEAAoE;IACpE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2EAA2E;IAC3E,UAAU,CAAC,EAAE,MAAM,CAAC;IAIpB,sEAAsE;IACtE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,sDAAsD;IACtD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,0EAA0E;IAC1E,cAAc,CAAC,EAAE,OAAO,0BAA0B,EAAE,cAAc,CAAC;IACnE,2DAA2D;IAC3D,kBAAkB,CAAC,EAAE,OAAO,0BAA0B,EAAE,kBAAkB,CAAC;IAC3E,oFAAoF;IACpF,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,4GAA4G;IAC5G,SAAS,CAAC,EAAE,KAAK,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAIlB,qFAAqF;IACrF,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,sEAAsE;IACtE,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IAErB,wEAAwE;IACxE,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,sFAAsF;IACtF,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,6FAA6F;IAC7F,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,uDAAuD;IACvD,UAAU,CAAC,EAAE,MAAM,CAAC;IAIpB,2EAA2E;IAC3E,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,oDAAoD;IACpD,MAAM,CAAC,EAAE,UAAU,CAAC;IAEpB,kDAAkD;IAClD,WAAW,CAAC,EAAE,eAAe,CAAC;IAE9B;;;;OAIG;IACH,cAAc,CAAC,EAAE;QAAE,gBAAgB,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAI/C;;;;;;;;;;;OAWG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qEAAqE;IACrE,cAAc,CAAC,EAAE,OAAO,0BAA0B,EAAE,cAAc,CAAC;IACnE,qEAAqE;IACrE,eAAe,CAAC,EAAE,OAAO,0BAA0B,EAAE,eAAe,CAAC;IACrE;;;;OAIG;IACH,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAC;CAC9B;AAED;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,0EAA0E;IAC1E,IAAI,EAAE,MAAM,CAAC;IACb,uEAAuE;IACvE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uEAAuE;IACvE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,iEAAiE;IACjE,MAAM,EAAE,OAAO,uBAAuB,EAAE,aAAa,CAAC;IACtD,yCAAyC;IACzC,MAAM,EAAE,OAAO,uBAAuB,EAAE,aAAa,CAAC;IACtD,iDAAiD;IACjD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uDAAuD;IACvD,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,sDAAsD;IACtD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mCAAmC;IACnC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,4EAA4E;IAC5E,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,4CAA4C;IAC5C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,6DAA6D;IAC7D,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,gEAAgE;IAChE,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAChC,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,WAAW,GAAG,SAAS,CAAC;IACtD,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;;;;;;;OASG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;OAIG;IACH,SAAS,CAAC,EAAE,IAAI,GAAG,KAAK,CAAC;IACzB,8FAA8F;IAC9F,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B;;;OAGG;IACH,eAAe,CAAC,EAAE,uBAAuB,CAAC;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,UAAU,GAAG,OAAO,GAAG,UAAU,GAAG,QAAQ,CAAC;IAC9D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,iFAAiF;IACjF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,6EAA6E;IAC7E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gHAAgH;IAChH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,qHAAqH;IACrH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;IAC3C,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,kBAAkB,EAAE,MAAM,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,cAAc,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,cAAc,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,cAAc,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC;IACxC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,oFAAoF;IACpF,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,wDAAwD;IACxD,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IAIxB,iFAAiF;IACjF,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,8DAA8D;IAC9D,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB,yDAAyD;IACzD,YAAY,CAAC,EAAE,eAAe,EAAE,CAAC;IAIjC,wEAAwE;IACxE,aAAa,CAAC,EAAE,UAAU,GAAG,SAAS,GAAG,mBAAmB,CAAC;IAC7D,oEAAoE;IACpE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2EAA2E;IAC3E,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAAC;CAC3B;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,iBAAiB,GAAG,aAAa,GAAG,aAAa,GAAG,iBAAiB,GACpE,wBAAwB,GAAG,wBAAwB,GAAG,0BAA0B,GAChF,mBAAmB,GAAG,iBAAiB,GAAG,aAAa,GAAG,wBAAwB,GAClF,sBAAsB,GAAG,qBAAqB,GAAG,6BAA6B,GAC9E,4BAA4B,GAAG,uBAAuB,GAAG,WAAW,CAAC;IAC5E,OAAO,EAAE,GAAG,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,GAAG;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,4EAA4E;IAC5E,QAAQ,EAAE,OAAO,CAAC;IAClB;;;;OAIG;IACH,QAAQ,EAAE,MAAM,CAAC;CAClB;AAGD,cAAc,mBAAmB,CAAC;AAGlC,cAAc,yBAAyB,CAAC;AAGxC,cAAc,yBAAyB,CAAC;AAGxC,cAAc,gBAAgB,CAAC;AAG/B,cAAc,mBAAmB,CAAC;AAGlC,cAAc,sBAAsB,CAAC;AAGrC,cAAc,iBAAiB,CAAC;AAGhC,cAAc,qBAAqB,CAAC;AAGpC,cAAc,kBAAkB,CAAC;AAGjC,cAAc,iBAAiB,CAAC;AAGhC,cAAc,wBAAwB,CAAC;AAGvC,cAAc,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../backend/src/types/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../backend/src/types/index.ts"],"names":[],"mappings":"AAydA,yBAAyB;AACzB,cAAc,mBAAmB,CAAC;AAElC,+BAA+B;AAC/B,cAAc,yBAAyB,CAAC;AAExC,+BAA+B;AAC/B,cAAc,yBAAyB,CAAC;AAExC,sBAAsB;AACtB,cAAc,gBAAgB,CAAC;AAE/B,yBAAyB;AACzB,cAAc,mBAAmB,CAAC;AAElC,4BAA4B;AAC5B,cAAc,sBAAsB,CAAC;AAErC,uBAAuB;AACvB,cAAc,iBAAiB,CAAC;AAEhC,2BAA2B;AAC3B,cAAc,qBAAqB,CAAC;AAEpC,wBAAwB;AACxB,cAAc,kBAAkB,CAAC;AAEjC,uBAAuB;AACvB,cAAc,iBAAiB,CAAC;AAEhC,8BAA8B;AAC9B,cAAc,wBAAwB,CAAC;AAEvC,gCAAgC;AAChC,cAAc,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../backend/src/types/index.ts"],"names":[],"mappings":"AA2dA,yBAAyB;AACzB,cAAc,mBAAmB,CAAC;AAElC,+BAA+B;AAC/B,cAAc,yBAAyB,CAAC;AAExC,+BAA+B;AAC/B,cAAc,yBAAyB,CAAC;AAExC,sBAAsB;AACtB,cAAc,gBAAgB,CAAC;AAE/B,yBAAyB;AACzB,cAAc,mBAAmB,CAAC;AAElC,4BAA4B;AAC5B,cAAc,sBAAsB,CAAC;AAErC,uBAAuB;AACvB,cAAc,iBAAiB,CAAC;AAEhC,2BAA2B;AAC3B,cAAc,qBAAqB,CAAC;AAEpC,wBAAwB;AACxB,cAAc,kBAAkB,CAAC;AAEjC,uBAAuB;AACvB,cAAc,iBAAiB,CAAC;AAEhC,8BAA8B;AAC9B,cAAc,wBAAwB,CAAC;AAEvC,gCAAgC;AAChC,cAAc,0BAA0B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"defaultPrompts.d.ts","sourceRoot":"","sources":["../../../../../backend/src/utils/defaultPrompts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,CAiSjE,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM,CAE7D;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,GAAE,MAAU,GAAG,MAAM,CAsBxF"}
1
+ {"version":3,"file":"defaultPrompts.d.ts","sourceRoot":"","sources":["../../../../../backend/src/utils/defaultPrompts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,CAySjE,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM,CAE7D;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,GAAE,MAAU,GAAG,MAAM,CAuBxF"}
@@ -28,6 +28,13 @@ Communication style:
28
28
  - Provide constructive feedback when reviewing outputs
29
29
  - Escalate to Orchestrator when issues cannot be resolved locally
30
30
  - Report progress and results concisely`,
31
+ 'tech-lead': `You are an AI Tech Lead: you lead your team technically and hands-on.
32
+
33
+ Your responsibilities:
34
+ - Make the technical decisions and review your team's work
35
+ - Delegate each task to the member whose role fits it; take only lead-level work yourself
36
+ - Keep the owner informed and unblock the team
37
+ - Write code yourself only when no member fits the work`,
31
38
  tpm: `You are an AI Technical Product Manager (TPM) responsible for scoping projects and translating business logic into technical requirements.
32
39
 
33
40
  Your responsibilities:
@@ -280,6 +287,7 @@ export function getDefaultTeamMemberName(role, index = 0) {
280
287
  const roleNames = {
281
288
  orchestrator: 'Orchestrator',
282
289
  'team-leader': 'Team Leader',
290
+ 'tech-lead': 'Tech Lead',
283
291
  tpm: 'Technical Product Manager',
284
292
  architect: 'Architect',
285
293
  pgm: 'Program Manager',
@@ -1 +1 @@
1
- {"version":3,"file":"defaultPrompts.js","sourceRoot":"","sources":["../../../../../backend/src/utils/defaultPrompts.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,sBAAsB,GAAmC;IACpE,YAAY,EAAE;;;;;;;;;;;;;oDAaoC;IAElD,aAAa,EAAE;;;;;;;;;;;;;;wCAcuB;IAEtC,GAAG,EAAE;;;;;;;;;;;;;;;;;;;;;;6DAsBsD;IAE3D,GAAG,EAAE;;;;;;;;;;;;;;;;;;;;;;2DAsBoD;IAEzD,SAAS,EAAE;;;;;;;;;;;;;2CAa8B;IAEzC,oBAAoB,EAAE;;;;;;;;;;;;;;;;;;;2DAmBmC;IAEzD,mBAAmB,EAAE;;;;;;;;;;;;;;;;;;;yDAmBkC;IAEvD,EAAE,EAAE;;;;;;;;;;;;;0CAaoC;IAExC,MAAM,EAAE;;;;;;;;;;;;;8CAaoC;IAE5C,QAAQ,EAAE;;;;;;;;;;;;;6CAaiC;IAE3C,SAAS,EAAE;;;;;;;;;;;;;;;;;;;8DAmBiD;IAE5D,eAAe,EAAE;;;;;;;;;;;;;;;;;;;wDAmBqC;IAEtD,aAAa,EAAE;;;;;;;;;;;;;;;;;;;6CAmB4B;IAE3C,iBAAiB,EAAE;;;;;;;;;;;;;0CAaqB;IAExC,KAAK,EAAE;;;;;;;;;;;;;wDAa+C;IAEtD,OAAO,EAAE;;;;;;;;;;;;;uDAa4C;CACtD,CAAC;AAEF,MAAM,UAAU,gBAAgB,CAAC,IAAoB;IACnD,OAAO,sBAAsB,CAAC,IAAI,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,IAAoB,EAAE,QAAgB,CAAC;IAC9E,MAAM,SAAS,GAAmC;QAChD,YAAY,EAAE,cAAc;QAC5B,aAAa,EAAE,aAAa;QAC5B,GAAG,EAAE,2BAA2B;QAChC,SAAS,EAAE,WAAW;QACtB,GAAG,EAAE,iBAAiB;QACtB,SAAS,EAAE,WAAW;QACtB,oBAAoB,EAAE,oBAAoB;QAC1C,mBAAmB,EAAE,mBAAmB;QACxC,eAAe,EAAE,sBAAsB;QACvC,EAAE,EAAE,aAAa;QACjB,aAAa,EAAE,aAAa;QAC5B,MAAM,EAAE,eAAe;QACvB,QAAQ,EAAE,UAAU;QACpB,iBAAiB,EAAE,iBAAiB;QACpC,KAAK,EAAE,sBAAsB;QAC7B,OAAO,EAAE,kBAAkB;KAC5B,CAAC;IAEF,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IACjC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;AAC7D,CAAC"}
1
+ {"version":3,"file":"defaultPrompts.js","sourceRoot":"","sources":["../../../../../backend/src/utils/defaultPrompts.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,sBAAsB,GAAmC;IACpE,YAAY,EAAE;;;;;;;;;;;;;oDAaoC;IAElD,aAAa,EAAE;;;;;;;;;;;;;;wCAcuB;IAEtC,WAAW,EAAE;;;;;;wDAMyC;IAEtD,GAAG,EAAE;;;;;;;;;;;;;;;;;;;;;;6DAsBsD;IAE3D,GAAG,EAAE;;;;;;;;;;;;;;;;;;;;;;2DAsBoD;IAEzD,SAAS,EAAE;;;;;;;;;;;;;2CAa8B;IAEzC,oBAAoB,EAAE;;;;;;;;;;;;;;;;;;;2DAmBmC;IAEzD,mBAAmB,EAAE;;;;;;;;;;;;;;;;;;;yDAmBkC;IAEvD,EAAE,EAAE;;;;;;;;;;;;;0CAaoC;IAExC,MAAM,EAAE;;;;;;;;;;;;;8CAaoC;IAE5C,QAAQ,EAAE;;;;;;;;;;;;;6CAaiC;IAE3C,SAAS,EAAE;;;;;;;;;;;;;;;;;;;8DAmBiD;IAE5D,eAAe,EAAE;;;;;;;;;;;;;;;;;;;wDAmBqC;IAEtD,aAAa,EAAE;;;;;;;;;;;;;;;;;;;6CAmB4B;IAE3C,iBAAiB,EAAE;;;;;;;;;;;;;0CAaqB;IAExC,KAAK,EAAE;;;;;;;;;;;;;wDAa+C;IAEtD,OAAO,EAAE;;;;;;;;;;;;;uDAa4C;CACtD,CAAC;AAEF,MAAM,UAAU,gBAAgB,CAAC,IAAoB;IACnD,OAAO,sBAAsB,CAAC,IAAI,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,IAAoB,EAAE,QAAgB,CAAC;IAC9E,MAAM,SAAS,GAAmC;QAChD,YAAY,EAAE,cAAc;QAC5B,aAAa,EAAE,aAAa;QAC5B,WAAW,EAAE,WAAW;QACxB,GAAG,EAAE,2BAA2B;QAChC,SAAS,EAAE,WAAW;QACtB,GAAG,EAAE,iBAAiB;QACtB,SAAS,EAAE,WAAW;QACtB,oBAAoB,EAAE,oBAAoB;QAC1C,mBAAmB,EAAE,mBAAmB;QACxC,eAAe,EAAE,sBAAsB;QACvC,EAAE,EAAE,aAAa;QACjB,aAAa,EAAE,aAAa;QAC5B,MAAM,EAAE,eAAe;QACvB,QAAQ,EAAE,UAAU;QACpB,iBAAiB,EAAE,iBAAiB;QACpC,KAAK,EAAE,sBAAsB;QAC7B,OAAO,EAAE,kBAAkB;KAC5B,CAAC;IAEF,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IACjC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;AAC7D,CAAC"}
@@ -27,14 +27,14 @@ export declare function reviewedMemberDefaultModel(env?: NodeJS.ProcessEnv): str
27
27
  /**
28
28
  * Whether someone other than the member reviews its work: a parent member
29
29
  * that exists in the team, or a team lead who is not the member itself.
30
- * Members that lead (team-leader / tech-lead role, or a delegating member
31
- * with no parent) never count as reviewed.
30
+ * Members that lead (a lead by the team-lead rule in `utils/team.utils`, or a
31
+ * delegating member with no parent) never count as reviewed.
32
32
  *
33
33
  * @param team - The member's team
34
34
  * @param member - The member
35
35
  * @returns True when the member has a reviewer above it
36
36
  */
37
- export declare function memberHasReviewer(team: Pick<Team, 'id' | 'name' | 'members'>, member: MemberLike): boolean;
37
+ export declare function memberHasReviewer(team: Pick<Team, 'id' | 'name' | 'members' | 'leaderIds' | 'leaderId'>, member: MemberLike): boolean;
38
38
  /**
39
39
  * The model a member should launch with when it has no `modelId` of its
40
40
  * own. Returns null when no default applies (explicit model set, not Claude
@@ -51,7 +51,7 @@ export declare function memberHasReviewer(team: Pick<Team, 'id' | 'name' | 'memb
51
51
  * defaultModelForMember(team, lead); // null → Claude Code's own default (Opus)
52
52
  * ```
53
53
  */
54
- export declare function defaultModelForMember(team: Pick<Team, 'id' | 'name' | 'members'>, member: MemberLike, env?: NodeJS.ProcessEnv): string | null;
54
+ export declare function defaultModelForMember(team: Pick<Team, 'id' | 'name' | 'members' | 'leaderIds' | 'leaderId'>, member: MemberLike, env?: NodeJS.ProcessEnv): string | null;
55
55
  /**
56
56
  * The model id a member launches with: its own `modelId` when set, else the
57
57
  * reviewed-member default from {@link defaultModelForMember}.
@@ -61,6 +61,6 @@ export declare function defaultModelForMember(team: Pick<Team, 'id' | 'name' | '
61
61
  * @param env - Environment (tests)
62
62
  * @returns Model id to pass to the runtime, or undefined for the runtime's own default
63
63
  */
64
- export declare function effectiveMemberModelId(team: Pick<Team, 'id' | 'name' | 'members'>, member: MemberLike, env?: NodeJS.ProcessEnv): string | undefined;
64
+ export declare function effectiveMemberModelId(team: Pick<Team, 'id' | 'name' | 'members' | 'leaderIds' | 'leaderId'>, member: MemberLike, env?: NodeJS.ProcessEnv): string | undefined;
65
65
  export {};
66
66
  //# sourceMappingURL=member-default-model.utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"member-default-model.utils.d.ts","sourceRoot":"","sources":["../../../../../backend/src/utils/member-default-model.utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAG1D,kDAAkD;AAClD,KAAK,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,IAAI,GAAG,aAAa,GAAG,MAAM,GAAG,SAAS,GAAG,gBAAgB,CAAC,GAAG;IAAE,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GACzH,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC;AAE3C;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,GAAG,IAAI,CAM9F;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,SAAS,CAAC,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAQ1G;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,SAAS,CAAC,EAC3C,MAAM,EAAE,UAAU,EAClB,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,MAAM,GAAG,IAAI,CAMf;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,SAAS,CAAC,EAC3C,MAAM,EAAE,UAAU,EAClB,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,MAAM,GAAG,SAAS,CAGpB"}
1
+ {"version":3,"file":"member-default-model.utils.d.ts","sourceRoot":"","sources":["../../../../../backend/src/utils/member-default-model.utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAG1D,kDAAkD;AAClD,KAAK,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,IAAI,GAAG,aAAa,GAAG,MAAM,GAAG,SAAS,GAAG,gBAAgB,CAAC,GAAG;IAAE,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GACzH,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC;AAE3C;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,GAAG,IAAI,CAM9F;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,SAAS,GAAG,WAAW,GAAG,UAAU,CAAC,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAQrI;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,SAAS,GAAG,WAAW,GAAG,UAAU,CAAC,EACtE,MAAM,EAAE,UAAU,EAClB,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,MAAM,GAAG,IAAI,CAMf;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,SAAS,GAAG,WAAW,GAAG,UAAU,CAAC,EACtE,MAAM,EAAE,UAAU,EAClB,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,MAAM,GAAG,SAAS,CAGpB"}
@@ -13,7 +13,7 @@
13
13
  * @module utils/member-default-model
14
14
  */
15
15
  import { MEMBER_MODEL_DEFAULT_CONSTANTS, ORCHESTRATOR_SESSION_NAME, RUNTIME_TYPES } from '../constants.js';
16
- import { pickTeamLead } from './team.utils.js';
16
+ import { isTeamLead, pickTeamLead } from './team.utils.js';
17
17
  /**
18
18
  * The model reviewed members get when they have none, after the env override.
19
19
  *
@@ -32,15 +32,15 @@ export function reviewedMemberDefaultModel(env = process.env) {
32
32
  /**
33
33
  * Whether someone other than the member reviews its work: a parent member
34
34
  * that exists in the team, or a team lead who is not the member itself.
35
- * Members that lead (team-leader / tech-lead role, or a delegating member
36
- * with no parent) never count as reviewed.
35
+ * Members that lead (a lead by the team-lead rule in `utils/team.utils`, or a
36
+ * delegating member with no parent) never count as reviewed.
37
37
  *
38
38
  * @param team - The member's team
39
39
  * @param member - The member
40
40
  * @returns True when the member has a reviewer above it
41
41
  */
42
42
  export function memberHasReviewer(team, member) {
43
- if (MEMBER_MODEL_DEFAULT_CONSTANTS.LEAD_ROLES.includes(member.role))
43
+ if (isTeamLead(team, member))
44
44
  return false;
45
45
  const members = team.members ?? [];
46
46
  const parent = member.parentMemberId ? members.find((m) => m.id === member.parentMemberId) : undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"member-default-model.utils.js","sourceRoot":"","sources":["../../../../../backend/src/utils/member-default-model.utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,8BAA8B,EAAE,yBAAyB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAE3G,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAM/C;;;;;GAKG;AACH,MAAM,UAAU,0BAA0B,CAAC,MAAyB,OAAO,CAAC,GAAG;IAC7E,MAAM,GAAG,GAAG,GAAG,CAAC,8BAA8B,CAAC,YAAY,CAAC,CAAC;IAC7D,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,8BAA8B,CAAC,6BAA6B,CAAC;IAC3F,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IACzB,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,WAAW,EAAE,KAAK,KAAK;QAAE,OAAO,IAAI,CAAC;IACzD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAA2C,EAAE,MAAkB;IAC/F,IAAK,8BAA8B,CAAC,UAAgC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IACzG,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;IACnC,MAAM,MAAM,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACvG,IAAI,MAAM,IAAI,MAAM,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE;QAAE,OAAO,IAAI,CAAC;IACnD,IAAI,MAAM,CAAC,WAAW,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc;QAAE,OAAO,KAAK,CAAC;IACxE,MAAM,IAAI,GAAG,YAAY,CAAC,IAAY,CAAC,CAAC;IACxC,OAAO,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,CAAC;AACzC,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,qBAAqB,CACnC,IAA2C,EAC3C,MAAkB,EAClB,MAAyB,OAAO,CAAC,GAAG;IAEpC,IAAI,MAAM,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAChC,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,aAAa,CAAC,WAAW,CAAC,KAAK,aAAa,CAAC,WAAW;QAAE,OAAO,IAAI,CAAC;IACjG,IAAI,MAAM,CAAC,IAAI,KAAK,cAAc,IAAI,MAAM,CAAC,WAAW,KAAK,yBAAyB;QAAE,OAAO,IAAI,CAAC;IACpG,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IAClD,OAAO,0BAA0B,CAAC,GAAG,CAAC,CAAC;AACzC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,sBAAsB,CACpC,IAA2C,EAC3C,MAAkB,EAClB,MAAyB,OAAO,CAAC,GAAG;IAEpC,IAAI,MAAM,CAAC,OAAO;QAAE,OAAO,MAAM,CAAC,OAAO,CAAC;IAC1C,OAAO,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,SAAS,CAAC;AAC/D,CAAC"}
1
+ {"version":3,"file":"member-default-model.utils.js","sourceRoot":"","sources":["../../../../../backend/src/utils/member-default-model.utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,8BAA8B,EAAE,yBAAyB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAE3G,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAM3D;;;;;GAKG;AACH,MAAM,UAAU,0BAA0B,CAAC,MAAyB,OAAO,CAAC,GAAG;IAC7E,MAAM,GAAG,GAAG,GAAG,CAAC,8BAA8B,CAAC,YAAY,CAAC,CAAC;IAC7D,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,8BAA8B,CAAC,6BAA6B,CAAC;IAC3F,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IACzB,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,WAAW,EAAE,KAAK,KAAK;QAAE,OAAO,IAAI,CAAC;IACzD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAsE,EAAE,MAAkB;IAC1H,IAAI,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC;QAAE,OAAO,KAAK,CAAC;IAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;IACnC,MAAM,MAAM,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACvG,IAAI,MAAM,IAAI,MAAM,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE;QAAE,OAAO,IAAI,CAAC;IACnD,IAAI,MAAM,CAAC,WAAW,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc;QAAE,OAAO,KAAK,CAAC;IACxE,MAAM,IAAI,GAAG,YAAY,CAAC,IAAY,CAAC,CAAC;IACxC,OAAO,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,CAAC;AACzC,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,qBAAqB,CACnC,IAAsE,EACtE,MAAkB,EAClB,MAAyB,OAAO,CAAC,GAAG;IAEpC,IAAI,MAAM,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAChC,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,aAAa,CAAC,WAAW,CAAC,KAAK,aAAa,CAAC,WAAW;QAAE,OAAO,IAAI,CAAC;IACjG,IAAI,MAAM,CAAC,IAAI,KAAK,cAAc,IAAI,MAAM,CAAC,WAAW,KAAK,yBAAyB;QAAE,OAAO,IAAI,CAAC;IACpG,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IAClD,OAAO,0BAA0B,CAAC,GAAG,CAAC,CAAC;AACzC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,sBAAsB,CACpC,IAAsE,EACtE,MAAkB,EAClB,MAAyB,OAAO,CAAC,GAAG;IAEpC,IAAI,MAAM,CAAC,OAAO;QAAE,OAAO,MAAM,CAAC,OAAO,CAAC;IAC1C,OAAO,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,SAAS,CAAC;AAC/D,CAAC"}
@@ -2,33 +2,105 @@
2
2
  * Team utility helpers
3
3
  *
4
4
  * Shared, dependency-free helpers operating on the `Team` / `TeamMember`
5
- * shape. These are extracted here so multiple call sites (chat-v2 mention
6
- * resolver, mission OKR reminder service, …) can share a single canonical
7
- * implementation instead of drifting over time.
5
+ * shape. Every module that needs to know who leads a team asks here — the
6
+ * one rule (specs/2026-09-30-team-lead-rule.md):
7
+ *
8
+ * 1. the team's explicit `leaderIds` (or the deprecated `leaderId`), when
9
+ * at least one of them is still a member;
10
+ * 2. otherwise every member whose role is in
11
+ * {@link TEAM_LEAD_CONSTANTS.LEAD_ROLES} (`team-leader`, `tech-lead`).
12
+ *
13
+ * `canDelegate` is NOT part of the rule. It stays a separate "delegation
14
+ * authority" flag for the hierarchy (sub-leads with subordinates) and is the
15
+ * last-resort routing fallback of {@link pickTeamLead}. A rule lead always
16
+ * counts as able to delegate (see {@link canMemberDelegate}).
8
17
  *
9
18
  * @module utils/team.utils
10
19
  */
20
+ import { TEAM_LEAD_CONSTANTS } from '../constants.js';
11
21
  import type { Team, TeamMember } from '../types/index.js';
22
+ /** The team fields the lead rule reads. */
23
+ export type TeamLeadSource = {
24
+ members?: Array<Pick<TeamMember, 'id' | 'role'>>;
25
+ leaderIds?: string[];
26
+ leaderId?: string;
27
+ };
28
+ /** How {@link setTeamLead} changes the leads. */
29
+ export type SetTeamLeadMode = (typeof TEAM_LEAD_CONSTANTS.SET_LEAD_MODES)[number];
30
+ /**
31
+ * Whether a role is a lead role (used only when the team names no lead).
32
+ *
33
+ * @param role - Member role
34
+ * @returns True for `team-leader` / `tech-lead`
35
+ */
36
+ export declare function isLeadRole(role: string | undefined | null): boolean;
12
37
  /**
13
- * Choose the TL (Team Lead) responder for a team.
14
- *
15
- * Resolution rules (ordered, first match wins):
16
- * 1. Hierarchy TL: `hierarchyLevel === 1 && canDelegate === true`.
17
- * 2. Any delegator: `canDelegate === true` regardless of level. Covers
18
- * teams that were imported before hierarchy fields were added but
19
- * already have a flagged TL.
20
- * 3. Role-tagged TL: `role === 'team-leader'` so role-based teams that
21
- * didn't fill in `canDelegate` still resolve correctly.
22
- * 4. First member: deterministic last resort — better to dispatch to
23
- * _someone_ than silently drop a `@team` ping. Tests cover this
24
- * case. **Emits a warn-log (#332)** so operators see when team
25
- * hierarchy data is incomplete — silent rule-4 hits were
26
- * previously invisible.
38
+ * The ids of the members who lead a team — THE lead rule.
39
+ *
40
+ * @param team - Team
41
+ * @returns Lead member ids (explicit ones, else lead-role members); empty when the team has no lead
42
+ *
43
+ * @example
44
+ * ```typescript
45
+ * getTeamLeadIds({ members: [{ id: 'o', role: 'tech-lead' }, { id: 'n', role: 'developer' }] }); // ['o']
46
+ * getTeamLeadIds({ leaderIds: ['n'], members: [...] }); // ['n']
47
+ * ```
48
+ */
49
+ export declare function getTeamLeadIds(team: TeamLeadSource): string[];
50
+ /**
51
+ * Whether a member leads its team (see {@link getTeamLeadIds}).
52
+ *
53
+ * @param team - The member's team
54
+ * @param member - The member
55
+ * @returns True for a team lead
56
+ */
57
+ export declare function isTeamLead(team: TeamLeadSource, member: Pick<TeamMember, 'id'>): boolean;
58
+ /**
59
+ * The lead members of a team, in rule order.
60
+ *
61
+ * @param team - Team
62
+ * @returns Lead members (may be empty)
63
+ */
64
+ export declare function getTeamLeads(team: Team): TeamMember[];
65
+ /**
66
+ * Whether a member may delegate: a team lead by the rule, or a member the
67
+ * hierarchy flagged with `canDelegate` (a sub-lead of its subordinates).
68
+ * This is what lead-only prompt modules (TL addon, TL soul overlay, TL
69
+ * skills) and delegation checks key on, so a lead set by the rule gets them
70
+ * on its next wake without a separate flag.
71
+ *
72
+ * @param team - The member's team
73
+ * @param member - The member
74
+ * @returns True when the member may delegate
75
+ */
76
+ export declare function canMemberDelegate(team: TeamLeadSource, member: Pick<TeamMember, 'id' | 'canDelegate'>): boolean;
77
+ /**
78
+ * The members a delegating member directs: its `subordinateIds` (or the
79
+ * members naming it as parent); for a rule lead with neither, every other
80
+ * member that is not itself a lead and reports to nobody else.
81
+ *
82
+ * @param team - The member's team
83
+ * @param member - The member
84
+ * @returns Subordinate members (may be empty)
85
+ */
86
+ export declare function getLeadSubordinates(team: Team, member: TeamMember): TeamMember[];
87
+ /**
88
+ * Choose the ONE member to route "the team lead" traffic to.
89
+ *
90
+ * Resolution (first match wins):
91
+ * 1. A lead by the rule ({@link getTeamLeadIds}); among several, the one
92
+ * the hierarchy marks as top (`hierarchyLevel === 1 && canDelegate`),
93
+ * else the first.
94
+ * 2. Legacy routing fallback — a member flagged `canDelegate` (hierarchy
95
+ * data imported without `leaderIds` or a lead role). Not a lead by the
96
+ * rule; kept so escalations of such teams still reach someone.
97
+ * 3. First member — better to dispatch to _someone_ than silently drop a
98
+ * `@team` ping. **Emits a warn-log (#332)**.
27
99
  *
28
100
  * Returns `null` only when the team has no members at all.
29
101
  *
30
102
  * @param team - The matched team.
31
- * @returns The TL to dispatch to, or `null` when the team has no members.
103
+ * @returns The member to dispatch to, or `null` when the team has no members.
32
104
  *
33
105
  * @example
34
106
  * ```typescript
@@ -37,4 +109,43 @@ import type { Team, TeamMember } from '../types/index.js';
37
109
  * ```
38
110
  */
39
111
  export declare function pickTeamLead(team: Team): TeamMember | null;
112
+ /**
113
+ * Store the lead rule's answer on the team (idempotent migration, run on
114
+ * every load and save): a team with no usable explicit leads but with
115
+ * lead-role members gets `leaderIds` = those members; `leaderId` always
116
+ * mirrors `leaderIds[0]` for back-compat. The rule's answer never changes —
117
+ * only where it is stored. Dangling explicit ids (members since removed)
118
+ * are dropped when at least one explicit lead remains.
119
+ *
120
+ * @param team - Team (mutated)
121
+ * @returns True when the team changed
122
+ */
123
+ export declare function normalizeTeamLeaderIds(team: {
124
+ members?: Array<Pick<TeamMember, 'id' | 'role'>>;
125
+ leaderIds?: string[];
126
+ leaderId?: string;
127
+ }): boolean;
128
+ /**
129
+ * Make a member a lead of its team (`POST /api/teams/:id/lead`, the
130
+ * `set-team-lead` skill, the dashboard "Make lead" toggle).
131
+ *
132
+ * - `set` (default): the member becomes THE lead. Former leads lose the
133
+ * lead's delegation flag, and members that reported to a former lead now
134
+ * report to the new one.
135
+ * - `add`: the member joins the existing leads.
136
+ *
137
+ * The lead gets `canDelegate = true` (so the in-process delegation guard and
138
+ * hierarchy views agree) and `hierarchyLevel = 1` on hierarchical teams.
139
+ *
140
+ * @param team - Team (mutated)
141
+ * @param memberId - Member to make lead
142
+ * @param mode - `set` or `add`
143
+ * @returns The lead ids before and after
144
+ * @throws Error when the member is not on the team or is the orchestrator
145
+ */
146
+ export declare function setTeamLead(team: Team, memberId: string, mode?: SetTeamLeadMode): {
147
+ before: string[];
148
+ after: string[];
149
+ changed: boolean;
150
+ };
40
151
  //# sourceMappingURL=team.utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"team.utils.d.ts","sourceRoot":"","sources":["../../../../../backend/src/utils/team.utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAK1D;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,UAAU,GAAG,IAAI,CAyB1D"}
1
+ {"version":3,"file":"team.utils.d.ts","sourceRoot":"","sources":["../../../../../backend/src/utils/team.utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAkB1D,2CAA2C;AAC3C,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC;IACjD,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,iDAAiD;AACjD,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,mBAAmB,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAElF;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,OAAO,CAEnE;AAeD;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM,EAAE,CAI7D;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,OAAO,CAExF;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,UAAU,EAAE,CAIrD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,GAAG,aAAa,CAAC,GAAG,OAAO,CAE/G;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,GAAG,UAAU,EAAE,CAkBhF;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,UAAU,GAAG,IAAI,CAwB1D;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE;IAAE,OAAO,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAqBnJ;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,GAAE,eAAuB,GAAG;IAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAkChJ"}