crewly 1.20.293 → 1.20.295

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 (137) hide show
  1. package/config/hooks/agent-status/report.sh +11 -7
  2. package/config/roles/orchestrator/fragments/recovery.md +3 -0
  3. package/config/roles/orchestrator/prompt.md +3 -3
  4. package/config/roles/team-leader/tl-addon.md +6 -0
  5. package/config/skills/orchestrator/find-owner-for/SKILL.md +43 -0
  6. package/config/skills/orchestrator/find-owner-for/execute.sh +37 -0
  7. package/config/skills/orchestrator/team-roster/SKILL.md +44 -0
  8. package/config/skills/orchestrator/team-roster/execute.sh +27 -0
  9. package/config/skills/team-leader/update-charter/SKILL.md +48 -0
  10. package/config/skills/team-leader/update-charter/execute.sh +21 -0
  11. package/dist/backend/backend/src/constants.d.ts +63 -2
  12. package/dist/backend/backend/src/constants.d.ts.map +1 -1
  13. package/dist/backend/backend/src/constants.js +48 -2
  14. package/dist/backend/backend/src/constants.js.map +1 -1
  15. package/dist/backend/backend/src/controllers/agent-hooks/agent-hooks.controller.d.ts +2 -0
  16. package/dist/backend/backend/src/controllers/agent-hooks/agent-hooks.controller.d.ts.map +1 -1
  17. package/dist/backend/backend/src/controllers/agent-hooks/agent-hooks.controller.js +18 -1
  18. package/dist/backend/backend/src/controllers/agent-hooks/agent-hooks.controller.js.map +1 -1
  19. package/dist/backend/backend/src/controllers/team/team-charter.controller.d.ts +20 -0
  20. package/dist/backend/backend/src/controllers/team/team-charter.controller.d.ts.map +1 -0
  21. package/dist/backend/backend/src/controllers/team/team-charter.controller.js +81 -0
  22. package/dist/backend/backend/src/controllers/team/team-charter.controller.js.map +1 -0
  23. package/dist/backend/backend/src/controllers/team/team.controller.d.ts +1 -0
  24. package/dist/backend/backend/src/controllers/team/team.controller.d.ts.map +1 -1
  25. package/dist/backend/backend/src/controllers/team/team.controller.js +5 -1
  26. package/dist/backend/backend/src/controllers/team/team.controller.js.map +1 -1
  27. package/dist/backend/backend/src/controllers/team/team.routes.d.ts.map +1 -1
  28. package/dist/backend/backend/src/controllers/team/team.routes.js +3 -0
  29. package/dist/backend/backend/src/controllers/team/team.routes.js.map +1 -1
  30. package/dist/backend/backend/src/controllers/team-roster/team-roster.controller.d.ts +31 -0
  31. package/dist/backend/backend/src/controllers/team-roster/team-roster.controller.d.ts.map +1 -0
  32. package/dist/backend/backend/src/controllers/team-roster/team-roster.controller.js +68 -0
  33. package/dist/backend/backend/src/controllers/team-roster/team-roster.controller.js.map +1 -0
  34. package/dist/backend/backend/src/index.d.ts.map +1 -1
  35. package/dist/backend/backend/src/index.js +14 -1
  36. package/dist/backend/backend/src/index.js.map +1 -1
  37. package/dist/backend/backend/src/models/Team.d.ts +3 -0
  38. package/dist/backend/backend/src/models/Team.d.ts.map +1 -1
  39. package/dist/backend/backend/src/models/Team.js +3 -0
  40. package/dist/backend/backend/src/models/Team.js.map +1 -1
  41. package/dist/backend/backend/src/routes/api.routes.d.ts.map +1 -1
  42. package/dist/backend/backend/src/routes/api.routes.js +3 -0
  43. package/dist/backend/backend/src/routes/api.routes.js.map +1 -1
  44. package/dist/backend/backend/src/services/agent/resource-mode.service.d.ts +1 -0
  45. package/dist/backend/backend/src/services/agent/resource-mode.service.d.ts.map +1 -1
  46. package/dist/backend/backend/src/services/agent/resource-mode.service.js +4 -3
  47. package/dist/backend/backend/src/services/agent/resource-mode.service.js.map +1 -1
  48. package/dist/backend/backend/src/services/ai/prompt-modules/index.d.ts +1 -0
  49. package/dist/backend/backend/src/services/ai/prompt-modules/index.d.ts.map +1 -1
  50. package/dist/backend/backend/src/services/ai/prompt-modules/index.js +1 -0
  51. package/dist/backend/backend/src/services/ai/prompt-modules/index.js.map +1 -1
  52. package/dist/backend/backend/src/services/ai/prompt-modules/prompt-assembly.service.d.ts.map +1 -1
  53. package/dist/backend/backend/src/services/ai/prompt-modules/prompt-assembly.service.js +4 -0
  54. package/dist/backend/backend/src/services/ai/prompt-modules/prompt-assembly.service.js.map +1 -1
  55. package/dist/backend/backend/src/services/ai/prompt-modules/skills-reference.module.d.ts.map +1 -1
  56. package/dist/backend/backend/src/services/ai/prompt-modules/skills-reference.module.js +2 -2
  57. package/dist/backend/backend/src/services/ai/prompt-modules/skills-reference.module.js.map +1 -1
  58. package/dist/backend/backend/src/services/ai/prompt-modules/team-roster.module.d.ts +44 -0
  59. package/dist/backend/backend/src/services/ai/prompt-modules/team-roster.module.d.ts.map +1 -0
  60. package/dist/backend/backend/src/services/ai/prompt-modules/team-roster.module.js +61 -0
  61. package/dist/backend/backend/src/services/ai/prompt-modules/team-roster.module.js.map +1 -0
  62. package/dist/backend/backend/src/services/chat-v2/chat-v2.dispatcher.service.d.ts +52 -1
  63. package/dist/backend/backend/src/services/chat-v2/chat-v2.dispatcher.service.d.ts.map +1 -1
  64. package/dist/backend/backend/src/services/chat-v2/chat-v2.dispatcher.service.js +101 -29
  65. package/dist/backend/backend/src/services/chat-v2/chat-v2.dispatcher.service.js.map +1 -1
  66. package/dist/backend/backend/src/services/messaging/deferred-start-retry.d.ts +45 -0
  67. package/dist/backend/backend/src/services/messaging/deferred-start-retry.d.ts.map +1 -0
  68. package/dist/backend/backend/src/services/messaging/deferred-start-retry.js +70 -0
  69. package/dist/backend/backend/src/services/messaging/deferred-start-retry.js.map +1 -0
  70. package/dist/backend/backend/src/services/slack/slack-agent-dm.service.js +1 -1
  71. package/dist/backend/backend/src/services/slack/slack-agent-dm.service.js.map +1 -1
  72. package/dist/backend/backend/src/services/slack/slack-team-channel.service.d.ts.map +1 -1
  73. package/dist/backend/backend/src/services/slack/slack-team-channel.service.js +13 -1
  74. package/dist/backend/backend/src/services/slack/slack-team-channel.service.js.map +1 -1
  75. package/dist/backend/backend/src/services/slack/slack-typing-placeholder.service.d.ts +3 -2
  76. package/dist/backend/backend/src/services/slack/slack-typing-placeholder.service.d.ts.map +1 -1
  77. package/dist/backend/backend/src/services/slack/slack-typing-placeholder.service.js +8 -2
  78. package/dist/backend/backend/src/services/slack/slack-typing-placeholder.service.js.map +1 -1
  79. package/dist/backend/backend/src/services/team-roster/team-roster.builder.d.ts +147 -0
  80. package/dist/backend/backend/src/services/team-roster/team-roster.builder.d.ts.map +1 -0
  81. package/dist/backend/backend/src/services/team-roster/team-roster.builder.js +492 -0
  82. package/dist/backend/backend/src/services/team-roster/team-roster.builder.js.map +1 -0
  83. package/dist/backend/backend/src/services/team-roster/team-roster.service.d.ts +79 -0
  84. package/dist/backend/backend/src/services/team-roster/team-roster.service.d.ts.map +1 -0
  85. package/dist/backend/backend/src/services/team-roster/team-roster.service.js +145 -0
  86. package/dist/backend/backend/src/services/team-roster/team-roster.service.js.map +1 -0
  87. package/dist/backend/backend/src/types/index.d.ts +12 -0
  88. package/dist/backend/backend/src/types/index.d.ts.map +1 -1
  89. package/dist/backend/backend/src/types/index.js.map +1 -1
  90. package/dist/backend/build-info.json +2 -2
  91. package/dist/cli/backend/src/constants.d.ts +63 -2
  92. package/dist/cli/backend/src/constants.d.ts.map +1 -1
  93. package/dist/cli/backend/src/constants.js +48 -2
  94. package/dist/cli/backend/src/constants.js.map +1 -1
  95. package/dist/cli/backend/src/models/Team.d.ts +3 -0
  96. package/dist/cli/backend/src/models/Team.d.ts.map +1 -1
  97. package/dist/cli/backend/src/models/Team.js +3 -0
  98. package/dist/cli/backend/src/models/Team.js.map +1 -1
  99. package/dist/cli/backend/src/services/agent/resource-mode.service.d.ts +1 -0
  100. package/dist/cli/backend/src/services/agent/resource-mode.service.d.ts.map +1 -1
  101. package/dist/cli/backend/src/services/agent/resource-mode.service.js +4 -3
  102. package/dist/cli/backend/src/services/agent/resource-mode.service.js.map +1 -1
  103. package/dist/cli/backend/src/services/ai/prompt-modules/prompt-assembly.service.d.ts.map +1 -1
  104. package/dist/cli/backend/src/services/ai/prompt-modules/prompt-assembly.service.js +4 -0
  105. package/dist/cli/backend/src/services/ai/prompt-modules/prompt-assembly.service.js.map +1 -1
  106. package/dist/cli/backend/src/services/ai/prompt-modules/skills-reference.module.d.ts.map +1 -1
  107. package/dist/cli/backend/src/services/ai/prompt-modules/skills-reference.module.js +2 -2
  108. package/dist/cli/backend/src/services/ai/prompt-modules/skills-reference.module.js.map +1 -1
  109. package/dist/cli/backend/src/services/ai/prompt-modules/team-roster.module.d.ts +44 -0
  110. package/dist/cli/backend/src/services/ai/prompt-modules/team-roster.module.d.ts.map +1 -0
  111. package/dist/cli/backend/src/services/ai/prompt-modules/team-roster.module.js +61 -0
  112. package/dist/cli/backend/src/services/ai/prompt-modules/team-roster.module.js.map +1 -0
  113. package/dist/cli/backend/src/services/chat-v2/chat-v2.dispatcher.service.d.ts +52 -1
  114. package/dist/cli/backend/src/services/chat-v2/chat-v2.dispatcher.service.d.ts.map +1 -1
  115. package/dist/cli/backend/src/services/chat-v2/chat-v2.dispatcher.service.js +101 -29
  116. package/dist/cli/backend/src/services/chat-v2/chat-v2.dispatcher.service.js.map +1 -1
  117. package/dist/cli/backend/src/services/slack/slack-agent-dm.service.js +1 -1
  118. package/dist/cli/backend/src/services/slack/slack-agent-dm.service.js.map +1 -1
  119. package/dist/cli/backend/src/services/slack/slack-team-channel.service.d.ts.map +1 -1
  120. package/dist/cli/backend/src/services/slack/slack-team-channel.service.js +13 -1
  121. package/dist/cli/backend/src/services/slack/slack-team-channel.service.js.map +1 -1
  122. package/dist/cli/backend/src/services/slack/slack-typing-placeholder.service.d.ts +3 -2
  123. package/dist/cli/backend/src/services/slack/slack-typing-placeholder.service.d.ts.map +1 -1
  124. package/dist/cli/backend/src/services/slack/slack-typing-placeholder.service.js +8 -2
  125. package/dist/cli/backend/src/services/slack/slack-typing-placeholder.service.js.map +1 -1
  126. package/dist/cli/backend/src/services/team-roster/team-roster.builder.d.ts +147 -0
  127. package/dist/cli/backend/src/services/team-roster/team-roster.builder.d.ts.map +1 -0
  128. package/dist/cli/backend/src/services/team-roster/team-roster.builder.js +492 -0
  129. package/dist/cli/backend/src/services/team-roster/team-roster.builder.js.map +1 -0
  130. package/dist/cli/backend/src/services/team-roster/team-roster.service.d.ts +79 -0
  131. package/dist/cli/backend/src/services/team-roster/team-roster.service.d.ts.map +1 -0
  132. package/dist/cli/backend/src/services/team-roster/team-roster.service.js +145 -0
  133. package/dist/cli/backend/src/services/team-roster/team-roster.service.js.map +1 -0
  134. package/dist/cli/backend/src/types/index.d.ts +12 -0
  135. package/dist/cli/backend/src/types/index.d.ts.map +1 -1
  136. package/dist/cli/backend/src/types/index.js.map +1 -1
  137. package/package.json +1 -1
@@ -10,7 +10,8 @@
10
10
  *
11
11
  * @module controllers/agent-hooks/agent-hooks.controller
12
12
  */
13
- import { AGENT_STATUS_HOOK_CONSTANTS, CREDENTIAL_GUARD_CONSTANTS, TL_DELEGATION_CONSTANTS, TRACE_CONSTANTS, TURN_STATE_CONSTANTS } from '../../constants.js';
13
+ import { AGENT_STATUS_HOOK_CONSTANTS, CREDENTIAL_GUARD_CONSTANTS, ORCHESTRATOR_SESSION_NAME, TEAM_ROSTER_CONSTANTS, TL_DELEGATION_CONSTANTS, TRACE_CONSTANTS, TURN_STATE_CONSTANTS } from '../../constants.js';
14
+ import { TeamRosterService } from '../../services/team-roster/team-roster.service.js';
14
15
  import { TlDelegationService } from '../../services/tl-delegation/tl-delegation.service.js';
15
16
  import { CredentialGuardAlertService } from '../../services/monitoring/credential-guard-alerts.js';
16
17
  import { recordHookEvent } from '../../services/monitoring/agent-hook-state.js';
@@ -32,6 +33,8 @@ const SESSION_HEADER = 'x-agent-session';
32
33
  * about waiting or turns, e.g. an idle prompt)
33
34
  * - `toolUseId` / `agentId` are optional; anything but a plain identifier is a 400
34
35
  * - `source` (SessionStart) must be startup / resume / clear / compact
36
+ * - A `SessionStart` of the orchestrator after a `compact` or `clear` answers the team roster as
37
+ * `additionalContext` (the context just lost the prompt that carried it; specs/2026-10-10-team-roster.md)
35
38
  * - `SubagentSendBack` (from the subagent guard) is recorded in the session's
36
39
  * run trace only; 202 with `recorded` = whether the session had a trace
37
40
  *
@@ -115,6 +118,20 @@ export function receiveAgentHook(req, res) {
115
118
  const signal = recordHookEvent(sessionName, event, notificationType);
116
119
  const turnChanged = AgentTurnStateService.getInstance().recordHook(sessionName, event, ids);
117
120
  const recorded = signal !== null || turnChanged;
121
+ // The orchestrator's context was just compacted or cleared: the roster in
122
+ // its start prompt is gone, so hand it back (never blocks: no note on failure).
123
+ if (event === 'SessionStart' &&
124
+ sessionName === ORCHESTRATOR_SESSION_NAME &&
125
+ ids.source !== undefined &&
126
+ TEAM_ROSTER_CONSTANTS.REINJECT_SOURCES.includes(ids.source)) {
127
+ void TeamRosterService.getInstance()
128
+ .renderForPrompt()
129
+ .catch(() => '')
130
+ .then((roster) => {
131
+ res.status(202).json({ success: true, recorded, ...(roster ? { additionalContext: roster } : {}) });
132
+ });
133
+ return;
134
+ }
118
135
  // A PostToolUse with a tool name may come back with notes the hook hands
119
136
  // to Claude Code as additionalContext: an owner message waiting in the
120
137
  // queue (handed over at this tool boundary instead of at the end of the
@@ -1 +1 @@
1
- {"version":3,"file":"agent-hooks.controller.js","sourceRoot":"","sources":["../../../../../../backend/src/controllers/agent-hooks/agent-hooks.controller.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAAE,2BAA2B,EAAE,0BAA0B,EAAE,uBAAuB,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC7J,OAAO,EAAE,mBAAmB,EAAE,MAAM,uDAAuD,CAAC;AAC5F,OAAO,EAAE,2BAA2B,EAAE,MAAM,sDAAsD,CAAC;AACnG,OAAO,EAAE,eAAe,EAAE,MAAM,+CAA+C,CAAC;AAChF,OAAO,EAAE,qBAAqB,EAAoB,MAAM,+CAA+C,CAAC;AACxG,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,gDAAgD,CAAC;AACjG,OAAO,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAC;AAE7E,gFAAgF;AAChF,MAAM,cAAc,GAAG,iBAAiB,CAAC;AAEzC;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAY,EAAE,GAAa;IAC3D,MAAM,CAAC,GAAG,2BAA2B,CAAC;IACtC,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IAC/C,MAAM,WAAW,GAAG,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;IACrE,IAAI,CAAC,CAAC,CAAC,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAC/C,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,oCAAoC,EAAE,CAAC,CAAC;QACtF,OAAO;IACR,CAAC;IAED,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAkI,CAAC;IAC/J,MAAM,KAAK,GAAG,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/D,2EAA2E;IAC3E,sEAAsE;IACtE,IAAI,KAAK,KAAK,eAAe,CAAC,4BAA4B,EAAE,CAAC;QAC5D,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,qBAAqB,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QACtF,OAAO;IACR,CAAC;IACD,8EAA8E;IAC9E,8EAA8E;IAC9E,yEAAyE;IACzE,IAAI,KAAK,KAAK,0BAA0B,CAAC,aAAa,EAAE,CAAC;QACxD,MAAM,GAAG,GAAG,GAAG,CAAC,IAA6C,CAAC;QAC9D,MAAM,IAAI,GAAG,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,0BAA0B,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QACtH,IAAI,CAAC,IAAI,EAAE,CAAC;YACX,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC;YAChE,OAAO;QACR,CAAC;QACD,MAAM,OAAO,GAAG,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,IAAI,0BAA0B,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1I,MAAM,OAAO,GAAG,2BAA2B,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QACjG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;QACpF,OAAO;IACR,CAAC;IACD,IAAI,CAAE,CAAC,CAAC,MAA4B,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACtD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,CAAC;QACrE,OAAO;IACR,CAAC;IAED,IAAI,gBAAoC,CAAC;IACzC,IAAI,IAAI,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC;QACzC,IACC,OAAO,IAAI,CAAC,gBAAgB,KAAK,QAAQ;YACzC,CAAE,CAAC,CAAC,wBAA8C,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,EACjF,CAAC;YACF,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,8BAA8B,EAAE,CAAC,CAAC;YAChF,OAAO;QACR,CAAC;QACD,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC;IAC1C,CAAC;IAED,MAAM,GAAG,GAAgB,EAAE,CAAC;IAC5B,KAAK,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,SAAS,CAAU,EAAE,CAAC;QACrD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;QACxB,IAAI,KAAK,KAAK,SAAS;YAAE,SAAS;QAClC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/E,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,GAAG,EAAE,EAAE,CAAC,CAAC;YAClE,OAAO;QACR,CAAC;QACD,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAClB,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC/B,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAE,oBAAoB,CAAC,qBAA2C,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACjI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC,CAAC;YAClE,OAAO;QACR,CAAC;QACD,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC1B,CAAC;IAED,IAAI,QAA4B,CAAC;IACjC,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACjC,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,uBAAuB,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC,CAAC;YACpE,OAAO;QACR,CAAC;QACD,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IAC1B,CAAC;IAED,MAAM,MAAM,GAAG,eAAe,CAAC,WAAW,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC;IACrE,MAAM,WAAW,GAAG,qBAAqB,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,WAAW,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;IAC5F,MAAM,QAAQ,GAAG,MAAM,KAAK,IAAI,IAAI,WAAW,CAAC;IAChD,yEAAyE;IACzE,uEAAuE;IACvE,wEAAwE;IACxE,0EAA0E;IAC1E,uBAAuB;IACvB,IAAI,KAAK,KAAK,aAAa,IAAI,QAAQ,EAAE,CAAC;QACzC,IAAI,SAAS,GAAkB,IAAI,CAAC;QACpC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;YAClB,IAAI,CAAC;gBACJ,sEAAsE;gBACtE,SAAS,GAAG,aAAa,CAAC,CAAC,eAAe,CAAC,WAAW,EAAE,EAAE,WAAW,CAAC,WAAW,CAAC,EAAE,gBAAgB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YACrH,CAAC;YAAC,MAAM,CAAC;gBACR,SAAS,GAAG,IAAI,CAAC;YAClB,CAAC;QACF,CAAC;QACD,KAAK,mBAAmB,CAAC,WAAW,EAAE;aACpC,cAAc,CAAC,WAAW,EAAE,QAAQ,CAAC;aACrC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;aACjB,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;YACd,MAAM,iBAAiB,GAAG,aAAa,CAAC,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;YAC3D,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACxG,CAAC,CAAC,CAAC;QACJ,OAAO;IACR,CAAC;IACD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;AACnD,CAAC"}
1
+ {"version":3,"file":"agent-hooks.controller.js","sourceRoot":"","sources":["../../../../../../backend/src/controllers/agent-hooks/agent-hooks.controller.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Team charter endpoint (specs/2026-10-10-team-roster.md):
3
+ * `PUT /api/teams/:id/charter` with `{ charter }`.
4
+ *
5
+ * A charter is the few sentences that say what a team is responsible for.
6
+ * The orchestrator routes owner requests with it, so the team's own lead keeps
7
+ * it current. Allowed: the owner, the orchestrator, and a lead of that team.
8
+ * An empty charter clears it (the roster falls back to the description).
9
+ *
10
+ * @module controllers/team/team-charter.controller
11
+ */
12
+ import type { Request, Response } from 'express';
13
+ /**
14
+ * PUT /api/teams/:id/charter
15
+ *
16
+ * @param req - `:id` = team id; body `{ charter: string }`
17
+ * @param res - 200 `{ success, data: { teamId, charter } }`; 400 invalid text; 401/403 caller may not write it; 404 unknown team
18
+ */
19
+ export declare function setTeamCharter(req: Request, res: Response): Promise<void>;
20
+ //# sourceMappingURL=team-charter.controller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"team-charter.controller.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/controllers/team/team-charter.controller.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAQjD;;;;;GAKG;AACH,wBAAsB,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAmD/E"}
@@ -0,0 +1,81 @@
1
+ /**
2
+ * Team charter endpoint (specs/2026-10-10-team-roster.md):
3
+ * `PUT /api/teams/:id/charter` with `{ charter }`.
4
+ *
5
+ * A charter is the few sentences that say what a team is responsible for.
6
+ * The orchestrator routes owner requests with it, so the team's own lead keeps
7
+ * it current. Allowed: the owner, the orchestrator, and a lead of that team.
8
+ * An empty charter clears it (the roster falls back to the description).
9
+ *
10
+ * @module controllers/team/team-charter.controller
11
+ */
12
+ import { TEAM_ROSTER_CONSTANTS as C } from '../../constants.js';
13
+ import { StorageService } from '../../services/core/storage.service.js';
14
+ import { TeamRosterService } from '../../services/team-roster/team-roster.service.js';
15
+ import { resolveAgentCaller } from '../../utils/agent-caller.utils.js';
16
+ import { getTeamLeads } from '../../utils/team.utils.js';
17
+ import { memberSessionKeys } from '../../services/team/team-pause.registry.js';
18
+ /**
19
+ * PUT /api/teams/:id/charter
20
+ *
21
+ * @param req - `:id` = team id; body `{ charter: string }`
22
+ * @param res - 200 `{ success, data: { teamId, charter } }`; 400 invalid text; 401/403 caller may not write it; 404 unknown team
23
+ */
24
+ export async function setTeamCharter(req, res) {
25
+ try {
26
+ const body = (req.body ?? {});
27
+ if (typeof body.charter !== 'string') {
28
+ res.status(400).json({ success: false, error: 'charter must be a string (empty clears it)' });
29
+ return;
30
+ }
31
+ const charter = body.charter.replace(/\s+/g, ' ').trim();
32
+ if (charter.length > C.CHARTER_MAX_CHARS) {
33
+ res.status(400).json({ success: false, error: `charter is ${charter.length} chars; keep it to ${C.CHARTER_MAX_CHARS} (what the team owns, what it takes, what it avoids)` });
34
+ return;
35
+ }
36
+ const storage = StorageService.getInstance();
37
+ const team = (await storage.getTeams()).find((t) => t.id === req.params.id);
38
+ if (!team) {
39
+ res.status(404).json({ success: false, error: 'Team not found' });
40
+ return;
41
+ }
42
+ const caller = await resolveAgentCaller(req);
43
+ let by;
44
+ if (caller.anonymous) {
45
+ res.status(401).json({ success: false, error: 'Owner or agent credentials required' });
46
+ return;
47
+ }
48
+ else if (!caller.session) {
49
+ by = 'owner';
50
+ }
51
+ else if (caller.role === 'orchestrator') {
52
+ by = 'orchestrator';
53
+ }
54
+ else {
55
+ const lead = getTeamLeads(team).find((m) => memberSessionKeys(team.name, m).includes(caller.session));
56
+ if (!lead) {
57
+ res.status(403).json({ success: false, error: 'Only the lead of this team (or the orchestrator, or the owner) can write its charter' });
58
+ return;
59
+ }
60
+ by = caller.session;
61
+ }
62
+ team.updatedAt = new Date().toISOString();
63
+ if (charter) {
64
+ team.charter = charter;
65
+ team.charterUpdatedAt = team.updatedAt;
66
+ team.charterUpdatedBy = by;
67
+ }
68
+ else {
69
+ delete team.charter;
70
+ delete team.charterUpdatedAt;
71
+ delete team.charterUpdatedBy;
72
+ }
73
+ await storage.saveTeam(team);
74
+ TeamRosterService.getInstance().invalidate();
75
+ res.json({ success: true, data: { teamId: team.id, charter: charter || null } });
76
+ }
77
+ catch (err) {
78
+ res.status(500).json({ success: false, error: err instanceof Error ? err.message : String(err) });
79
+ }
80
+ }
81
+ //# sourceMappingURL=team-charter.controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"team-charter.controller.js","sourceRoot":"","sources":["../../../../../../backend/src/controllers/team/team-charter.controller.ts"],"names":[],"mappings":"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"}
@@ -38,6 +38,7 @@ interface TeamMemberOperationResult {
38
38
  export declare function activateAgentBySession(context: ApiContext, sessionName: string): Promise<{
39
39
  success: boolean;
40
40
  error?: string;
41
+ deferred?: boolean;
41
42
  }>;
42
43
  /**
43
44
  * Stop one member the way stop-team does (owner-stopped mark, terminate,
@@ -1 +1 @@
1
- {"version":3,"file":"team.controller.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/controllers/team/team.controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"team.controller.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/controllers/team/team.controller.ts"],"names":[],"mappings":"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"}
@@ -484,7 +484,11 @@ export async function activateAgentBySession(context, sessionName) {
484
484
  result.errorCode !== TEAM_PAUSE_CONSTANTS.ERROR_CODE) {
485
485
  reportOwnerThreadBlocking(sessionName, { kind: 'start_failed', ...(result.error ? { detail: result.error } : {}) });
486
486
  }
487
- return { success: result.success, error: result.error };
487
+ return {
488
+ success: result.success,
489
+ error: result.error,
490
+ ...(result.errorCode === RESOURCE_MODE_CONSTANTS.START_DEFERRED_ERROR_CODE ? { deferred: true } : {}),
491
+ };
488
492
  }
489
493
  catch (err) {
490
494
  reportOwnerThreadBlocking(sessionName, { kind: 'start_failed', detail: err instanceof Error ? err.message : String(err) });