crewly 1.20.191 → 1.20.192

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 (132) hide show
  1. package/config/skills/agent/core/send-message/SKILL.md +6 -0
  2. package/config/skills/agent/core/send-message/execute.sh +17 -1
  3. package/config/skills/agent/core/send-message/execute.test.sh +81 -0
  4. package/dist/backend/backend/src/constants.d.ts +46 -0
  5. package/dist/backend/backend/src/constants.d.ts.map +1 -1
  6. package/dist/backend/backend/src/constants.js +47 -1
  7. package/dist/backend/backend/src/constants.js.map +1 -1
  8. package/dist/backend/backend/src/controllers/canva/canva.controller.js +2 -2
  9. package/dist/backend/backend/src/controllers/canva/canva.controller.js.map +1 -1
  10. package/dist/backend/backend/src/controllers/cloud/cloud-device-pairing.controller.d.ts +1 -1
  11. package/dist/backend/backend/src/controllers/cloud/cloud-device-pairing.controller.js +1 -1
  12. package/dist/backend/backend/src/controllers/google/google.controller.js +2 -2
  13. package/dist/backend/backend/src/controllers/google/google.controller.js.map +1 -1
  14. package/dist/backend/backend/src/controllers/microsoft/microsoft-todo.controller.js +2 -2
  15. package/dist/backend/backend/src/controllers/microsoft/microsoft-todo.controller.js.map +1 -1
  16. package/dist/backend/backend/src/controllers/monitoring/terminal.controller.d.ts.map +1 -1
  17. package/dist/backend/backend/src/controllers/monitoring/terminal.controller.js +45 -2
  18. package/dist/backend/backend/src/controllers/monitoring/terminal.controller.js.map +1 -1
  19. package/dist/backend/backend/src/controllers/security/approvals.controller.d.ts +26 -0
  20. package/dist/backend/backend/src/controllers/security/approvals.controller.d.ts.map +1 -0
  21. package/dist/backend/backend/src/controllers/security/approvals.controller.js +73 -0
  22. package/dist/backend/backend/src/controllers/security/approvals.controller.js.map +1 -0
  23. package/dist/backend/backend/src/controllers/session/session.controller.d.ts.map +1 -1
  24. package/dist/backend/backend/src/controllers/session/session.controller.js +9 -0
  25. package/dist/backend/backend/src/controllers/session/session.controller.js.map +1 -1
  26. package/dist/backend/backend/src/controllers/slack/slack.controller.js +1 -1
  27. package/dist/backend/backend/src/controllers/slack/slack.controller.js.map +1 -1
  28. package/dist/backend/backend/src/controllers/system/usage.controller.d.ts +3 -3
  29. package/dist/backend/backend/src/controllers/system/usage.controller.js +3 -3
  30. package/dist/backend/backend/src/routes/modules/system.routes.d.ts.map +1 -1
  31. package/dist/backend/backend/src/routes/modules/system.routes.js +3 -0
  32. package/dist/backend/backend/src/routes/modules/system.routes.js.map +1 -1
  33. package/dist/backend/backend/src/services/browser/browser-approval.service.d.ts +8 -0
  34. package/dist/backend/backend/src/services/browser/browser-approval.service.d.ts.map +1 -1
  35. package/dist/backend/backend/src/services/browser/browser-approval.service.js +10 -0
  36. package/dist/backend/backend/src/services/browser/browser-approval.service.js.map +1 -1
  37. package/dist/backend/backend/src/services/chat-v2/chat-v2.dispatcher.service.d.ts +31 -0
  38. package/dist/backend/backend/src/services/chat-v2/chat-v2.dispatcher.service.d.ts.map +1 -1
  39. package/dist/backend/backend/src/services/chat-v2/chat-v2.dispatcher.service.js +28 -0
  40. package/dist/backend/backend/src/services/chat-v2/chat-v2.dispatcher.service.js.map +1 -1
  41. package/dist/backend/backend/src/services/cloud/cloud-device-pairing.client.d.ts +1 -1
  42. package/dist/backend/backend/src/services/cloud/cloud-device-pairing.client.js +1 -1
  43. package/dist/backend/backend/src/services/cloud/cloud-device-pairing.service.d.ts +1 -1
  44. package/dist/backend/backend/src/services/cloud/cloud-device-pairing.service.js +1 -1
  45. package/dist/backend/backend/src/services/decisions/decision.service.d.ts +9 -0
  46. package/dist/backend/backend/src/services/decisions/decision.service.d.ts.map +1 -1
  47. package/dist/backend/backend/src/services/decisions/decision.service.js +11 -0
  48. package/dist/backend/backend/src/services/decisions/decision.service.js.map +1 -1
  49. package/dist/backend/backend/src/services/messaging/spend-capped-delivery.d.ts +54 -0
  50. package/dist/backend/backend/src/services/messaging/spend-capped-delivery.d.ts.map +1 -0
  51. package/dist/backend/backend/src/services/messaging/spend-capped-delivery.js +65 -0
  52. package/dist/backend/backend/src/services/messaging/spend-capped-delivery.js.map +1 -0
  53. package/dist/backend/backend/src/services/monitoring/claude-session-tokens.service.d.ts +71 -1
  54. package/dist/backend/backend/src/services/monitoring/claude-session-tokens.service.d.ts.map +1 -1
  55. package/dist/backend/backend/src/services/monitoring/claude-session-tokens.service.js +149 -44
  56. package/dist/backend/backend/src/services/monitoring/claude-session-tokens.service.js.map +1 -1
  57. package/dist/backend/backend/src/services/monitoring/claude-transcript-sync.service.d.ts.map +1 -1
  58. package/dist/backend/backend/src/services/monitoring/claude-transcript-sync.service.js +9 -33
  59. package/dist/backend/backend/src/services/monitoring/claude-transcript-sync.service.js.map +1 -1
  60. package/dist/backend/backend/src/services/monitoring/model-pricing.d.ts +2 -1
  61. package/dist/backend/backend/src/services/monitoring/model-pricing.d.ts.map +1 -1
  62. package/dist/backend/backend/src/services/monitoring/model-pricing.js +13 -0
  63. package/dist/backend/backend/src/services/monitoring/model-pricing.js.map +1 -1
  64. package/dist/backend/backend/src/services/monitoring/token-usage.service.d.ts +9 -0
  65. package/dist/backend/backend/src/services/monitoring/token-usage.service.d.ts.map +1 -1
  66. package/dist/backend/backend/src/services/monitoring/token-usage.service.js +32 -3
  67. package/dist/backend/backend/src/services/monitoring/token-usage.service.js.map +1 -1
  68. package/dist/backend/backend/src/services/security/approval-activity.service.d.ts +203 -0
  69. package/dist/backend/backend/src/services/security/approval-activity.service.d.ts.map +1 -0
  70. package/dist/backend/backend/src/services/security/approval-activity.service.js +279 -0
  71. package/dist/backend/backend/src/services/security/approval-activity.service.js.map +1 -0
  72. package/dist/backend/backend/src/services/skill/skill.service.d.ts.map +1 -1
  73. package/dist/backend/backend/src/services/skill/skill.service.js +14 -3
  74. package/dist/backend/backend/src/services/skill/skill.service.js.map +1 -1
  75. package/dist/backend/backend/src/services/slack/slack-mention-resolver.d.ts +22 -0
  76. package/dist/backend/backend/src/services/slack/slack-mention-resolver.d.ts.map +1 -1
  77. package/dist/backend/backend/src/services/slack/slack-mention-resolver.js +50 -0
  78. package/dist/backend/backend/src/services/slack/slack-mention-resolver.js.map +1 -1
  79. package/dist/backend/backend/src/services/slack/slack-team-channel.service.d.ts +45 -1
  80. package/dist/backend/backend/src/services/slack/slack-team-channel.service.d.ts.map +1 -1
  81. package/dist/backend/backend/src/services/slack/slack-team-channel.service.js +214 -20
  82. package/dist/backend/backend/src/services/slack/slack-team-channel.service.js.map +1 -1
  83. package/dist/backend/backend/src/services/spend/spend-cap-command.js +1 -1
  84. package/dist/backend/backend/src/services/spend/spend-cap-command.js.map +1 -1
  85. package/dist/backend/backend/src/services/spend/spend-cap.service.d.ts +48 -1
  86. package/dist/backend/backend/src/services/spend/spend-cap.service.d.ts.map +1 -1
  87. package/dist/backend/backend/src/services/spend/spend-cap.service.js +85 -2
  88. package/dist/backend/backend/src/services/spend/spend-cap.service.js.map +1 -1
  89. package/dist/backend/backend/src/services/usage/usage-stats.service.d.ts +73 -13
  90. package/dist/backend/backend/src/services/usage/usage-stats.service.d.ts.map +1 -1
  91. package/dist/backend/backend/src/services/usage/usage-stats.service.js +137 -56
  92. package/dist/backend/backend/src/services/usage/usage-stats.service.js.map +1 -1
  93. package/dist/backend/build-info.json +2 -2
  94. package/dist/cli/backend/src/constants.d.ts +46 -0
  95. package/dist/cli/backend/src/constants.d.ts.map +1 -1
  96. package/dist/cli/backend/src/constants.js +47 -1
  97. package/dist/cli/backend/src/constants.js.map +1 -1
  98. package/dist/cli/backend/src/services/chat-v2/chat-v2.dispatcher.service.d.ts +31 -0
  99. package/dist/cli/backend/src/services/chat-v2/chat-v2.dispatcher.service.d.ts.map +1 -1
  100. package/dist/cli/backend/src/services/chat-v2/chat-v2.dispatcher.service.js +28 -0
  101. package/dist/cli/backend/src/services/chat-v2/chat-v2.dispatcher.service.js.map +1 -1
  102. package/dist/cli/backend/src/services/cloud/cloud-device-pairing.client.d.ts +1 -1
  103. package/dist/cli/backend/src/services/cloud/cloud-device-pairing.client.js +1 -1
  104. package/dist/cli/backend/src/services/decisions/decision.service.d.ts +9 -0
  105. package/dist/cli/backend/src/services/decisions/decision.service.d.ts.map +1 -1
  106. package/dist/cli/backend/src/services/decisions/decision.service.js +11 -0
  107. package/dist/cli/backend/src/services/decisions/decision.service.js.map +1 -1
  108. package/dist/cli/backend/src/services/monitoring/model-pricing.d.ts +2 -1
  109. package/dist/cli/backend/src/services/monitoring/model-pricing.d.ts.map +1 -1
  110. package/dist/cli/backend/src/services/monitoring/model-pricing.js +13 -0
  111. package/dist/cli/backend/src/services/monitoring/model-pricing.js.map +1 -1
  112. package/dist/cli/backend/src/services/monitoring/token-usage.service.d.ts +9 -0
  113. package/dist/cli/backend/src/services/monitoring/token-usage.service.d.ts.map +1 -1
  114. package/dist/cli/backend/src/services/monitoring/token-usage.service.js +32 -3
  115. package/dist/cli/backend/src/services/monitoring/token-usage.service.js.map +1 -1
  116. package/dist/cli/backend/src/services/skill/skill.service.d.ts.map +1 -1
  117. package/dist/cli/backend/src/services/skill/skill.service.js +14 -3
  118. package/dist/cli/backend/src/services/skill/skill.service.js.map +1 -1
  119. package/dist/cli/backend/src/services/slack/slack-mention-resolver.d.ts +22 -0
  120. package/dist/cli/backend/src/services/slack/slack-mention-resolver.d.ts.map +1 -1
  121. package/dist/cli/backend/src/services/slack/slack-mention-resolver.js +50 -0
  122. package/dist/cli/backend/src/services/slack/slack-mention-resolver.js.map +1 -1
  123. package/dist/cli/backend/src/services/slack/slack-team-channel.service.d.ts +45 -1
  124. package/dist/cli/backend/src/services/slack/slack-team-channel.service.d.ts.map +1 -1
  125. package/dist/cli/backend/src/services/slack/slack-team-channel.service.js +214 -20
  126. package/dist/cli/backend/src/services/slack/slack-team-channel.service.js.map +1 -1
  127. package/frontend/dist/assets/index-5b7af029.js +4955 -0
  128. package/frontend/dist/assets/index-fc715ec3.css +42 -0
  129. package/frontend/dist/index.html +2 -2
  130. package/package.json +1 -1
  131. package/frontend/dist/assets/index-20a67829.css +0 -42
  132. package/frontend/dist/assets/index-49f50b45.js +0 -4952
@@ -1 +1 @@
1
- {"version":3,"file":"slack-team-channel.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/slack/slack-team-channel.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"slack-team-channel.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/slack/slack-team-channel.service.ts"],"names":[],"mappings":"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"}
@@ -42,7 +42,7 @@ import { getSlackDirectoryService } from './slack-directory.service.js';
42
42
  import { SLACK_TEAM_CHANNEL_CONSTANTS, OWNER_EVIDENCE_METADATA, SLACK_THREAD_KEY_CONSTANTS } from '../../constants.js';
43
43
  import { parseSlackThreadKey } from './slack-thread-key.js';
44
44
  import { withTopicLine } from '../orc/work-item-destination.js';
45
- import { resolveSlackMentions, extractNativeMentionIds } from './slack-mention-resolver.js';
45
+ import { resolveSlackMentions, extractNativeMentionIds, leadingNameMention } from './slack-mention-resolver.js';
46
46
  import { toSlackMrkdwn } from './slack-mrkdwn.js';
47
47
  import { renderSlackThreadContext } from './slack-thread-context.service.js';
48
48
  const EMPTY_STORE = {
@@ -128,6 +128,12 @@ export function orchestratorSyncTeamId(instanceId) {
128
128
  }
129
129
  /** Separates the orchestrator's session from the instance it runs on. */
130
130
  const ORCHESTRATOR_INSTANCE_SEPARATOR = '@';
131
+ /**
132
+ * `@here` / `@channel` / `@everyone`, as Slack delivers them (`<!here>`) or
133
+ * typed literally: a message to the whole room, so it has an addressee of its
134
+ * own and never inherits a person-to-person exchange.
135
+ */
136
+ const SLACK_BROADCAST_MENTION_RE = /<!(?:here|channel|everyone)(?:\|[^>]*)?>|(?<![\w<@])@(?:here|channel|everyone)\b/i;
131
137
  /**
132
138
  * The session the orchestrator is registered with Cloud under.
133
139
  *
@@ -1041,7 +1047,29 @@ export class SlackTeamChannelService {
1041
1047
  // lists every agent the message @'s; one addressed only elsewhere is
1042
1048
  // that machine's to handle.
1043
1049
  const isLocal = (sess) => this.deps.isLocalAgent?.(sess) ?? members.some((m) => m.sessionName === sess);
1044
- const mentionedElsewhere = (message.mentionedAgentSessions ?? []).filter((sess) => !isLocal(sess));
1050
+ // An agent named at the start of the message, with no @ ("Aria,帮我…",
1051
+ // "Aria, can you…"), is addressed — owner's rule, 2026-10-02. Only agents
1052
+ // in this room count: its local members, and the ones Cloud lists on
1053
+ // other machines.
1054
+ const namedElsewhere = [];
1055
+ if (!handoffTo) {
1056
+ const roomLocal = isAdhocMapping(mapping)
1057
+ ? candidates.filter((c) => (mapping.members ?? []).includes(c.sessionName))
1058
+ : candidates;
1059
+ const roomRemote = (message.room?.members ?? [])
1060
+ .filter((m) => !isLocal(localAgentSession(m.agentSession)) && !roomLocal.some((c) => c.sessionName === m.agentSession))
1061
+ .map((m) => ({ name: m.displayName, sessionName: m.agentSession }));
1062
+ const named = leadingNameMention(message.text ?? '', [...roomLocal, ...roomRemote]);
1063
+ if (named && roomLocal.includes(named)) {
1064
+ if (!resolved.mentions.includes(named.sessionName))
1065
+ resolved.mentions.push(named.sessionName);
1066
+ }
1067
+ else if (named) {
1068
+ namedElsewhere.push(named.sessionName);
1069
+ }
1070
+ }
1071
+ const agentsMentionedViaCloud = [...new Set([...(message.mentionedAgentSessions ?? []), ...namedElsewhere])];
1072
+ const mentionedElsewhere = agentsMentionedViaCloud.filter((sess) => !isLocal(sess));
1045
1073
  const addressedElsewhereOnly = !handoffTo && resolved.mentions.length === 0 && mentionedElsewhere.length > 0;
1046
1074
  // @-mentions of people: the owner asking a
1047
1075
  // colleague is not a question for the agents (2026-10-01,
@@ -1050,10 +1078,7 @@ export class SlackTeamChannelService {
1050
1078
  const peopleMentions = message.authorAgentSession || handoffTo
1051
1079
  ? { userIds: [], names: [] }
1052
1080
  : await this.peopleMentions(message, resolved, teams);
1053
- const addressedPeopleOnly = !addressedElsewhereOnly &&
1054
- resolved.mentions.length === 0 &&
1055
- (message.mentionedAgentSessions ?? []).length === 0 &&
1056
- peopleMentions.userIds.length + peopleMentions.names.length > 0;
1081
+ const namedPeople = [...peopleMentions.userIds, ...peopleMentions.names];
1057
1082
  // Thread correlation.
1058
1083
  const slackThreadTs = message.threadTs || message.ts;
1059
1084
  let threadId;
@@ -1061,6 +1086,28 @@ export class SlackTeamChannelService {
1061
1086
  const root = this.deps.chat.findSlackThreadRoot(mapping.chatChannelId, message.threadTs);
1062
1087
  threadId = root?.id;
1063
1088
  }
1089
+ // A message with no @ of its own may still be one person talking to
1090
+ // another: the owner answered a colleague in two messages 35 s apart,
1091
+ // only the first carried the @, and the second woke Aria (2026-10-02,
1092
+ // #personal-assistant-team). It inherits the people the conversation was
1093
+ // addressed to (specs/slack-room-presence.md "Follow-ups of a
1094
+ // person-to-person exchange").
1095
+ const hasOwnAddressee = !!message.authorAgentSession ||
1096
+ !!handoffTo ||
1097
+ resolved.mentions.length > 0 ||
1098
+ resolved.unknown.length > 0 ||
1099
+ agentsMentionedViaCloud.length > 0 ||
1100
+ namedPeople.length > 0 ||
1101
+ SLACK_BROADCAST_MENTION_RE.test(message.text ?? '');
1102
+ const exchange = hasOwnAddressee
1103
+ ? { inherit: null, recent: [] }
1104
+ : this.personExchangeOf(message, mapping.chatChannelId, threadId);
1105
+ const inherited = exchange.inherit;
1106
+ const addresseePeople = inherited ? inherited.people : namedPeople;
1107
+ const addressedPeopleOnly = !addressedElsewhereOnly &&
1108
+ resolved.mentions.length === 0 &&
1109
+ agentsMentionedViaCloud.length === 0 &&
1110
+ addresseePeople.length > 0;
1064
1111
  // A colleague agent on another machine is recorded under its display
1065
1112
  // name, as a user turn: the dispatcher delivers user turns and skips
1066
1113
  // agent turns (self-loop guard), and to this team it IS an outside voice.
@@ -1091,13 +1138,12 @@ export class SlackTeamChannelService {
1091
1138
  slackTs: message.ts,
1092
1139
  slackUserId: message.userId,
1093
1140
  ...(message.teamId ? { slackTeamId: message.teamId } : {}),
1094
- ...(peopleMentions.userIds.length + peopleMentions.names.length > 0
1095
- ? {
1096
- [SLACK_TEAM_CHANNEL_CONSTANTS.PEOPLE_MENTIONS_METADATA_KEY]: [
1097
- ...peopleMentions.userIds,
1098
- ...peopleMentions.names,
1099
- ],
1100
- }
1141
+ ...(addresseePeople.length > 0
1142
+ ? { [SLACK_TEAM_CHANNEL_CONSTANTS.PEOPLE_MENTIONS_METADATA_KEY]: addresseePeople }
1143
+ : {}),
1144
+ ...(inherited ? { [SLACK_TEAM_CHANNEL_CONSTANTS.ADDRESSEE_INHERITED_METADATA_KEY]: inherited.reason } : {}),
1145
+ ...(agentsMentionedViaCloud.length > 0
1146
+ ? { [SLACK_TEAM_CHANNEL_CONSTANTS.AGENT_MENTIONS_METADATA_KEY]: agentsMentionedViaCloud }
1101
1147
  : {}),
1102
1148
  // Marks the row as agent-authored: the commitment-approval gate must
1103
1149
  // never read a colleague agent's post as owner approval (#730).
@@ -1165,13 +1211,24 @@ export class SlackTeamChannelService {
1165
1211
  if (addressedPeopleOnly) {
1166
1212
  // Context for the agents' next turn in this thread, nothing more. No
1167
1213
  // suggestion hint either: the names were people, not typos.
1168
- this.logger.info('Slack team message addressed to people, not agents — recorded, not dispatched', {
1169
- teamId: mapping.teamId,
1170
- slackChannel: `#${mapping.slackChannelName}`,
1171
- mentionedUsers: peopleMentions.userIds,
1172
- mentionedNames: peopleMentions.names,
1173
- threaded: !!threadId,
1174
- });
1214
+ if (inherited) {
1215
+ this.logger.info('Slack team message continues a person-to-person exchange — recorded, not dispatched', {
1216
+ teamId: mapping.teamId,
1217
+ slackChannel: `#${mapping.slackChannelName}`,
1218
+ addressedTo: inherited.people,
1219
+ reason: inherited.reason,
1220
+ threaded: !!threadId,
1221
+ });
1222
+ }
1223
+ else {
1224
+ this.logger.info('Slack team message addressed to people, not agents — recorded, not dispatched', {
1225
+ teamId: mapping.teamId,
1226
+ slackChannel: `#${mapping.slackChannelName}`,
1227
+ mentionedUsers: peopleMentions.userIds,
1228
+ mentionedNames: peopleMentions.names,
1229
+ threaded: !!threadId,
1230
+ });
1231
+ }
1175
1232
  return { mapping, message: persisted, mentions: [], dispatch: null };
1176
1233
  }
1177
1234
  const planned = dispatcherForPlan?.planHuddleTargets
@@ -1265,9 +1322,17 @@ export class SlackTeamChannelService {
1265
1322
  // The thread as Slack has it — posts by agents on other machines
1266
1323
  // included — rendered per recipient so its own lines are marked.
1267
1324
  const slackContext = await message.threadContext;
1325
+ // Prompt backstop: who the message (or the exchange it may continue)
1326
+ // was meant for, when people are in the picture.
1327
+ const peopleAddressing = namedPeople.length > 0
1328
+ ? { kind: 'named-in-message', people: await this.personLabels(namedPeople, message.channelId) }
1329
+ : exchange.recent.length > 0
1330
+ ? { kind: 'recent-exchange', people: await this.personLabels(exchange.recent, message.channelId) }
1331
+ : null;
1268
1332
  dispatch = await dispatcher.dispatchMessage(channel, markAndLinkTicket(persisted, ticket), {
1269
1333
  ...dispatchOptions,
1270
1334
  ...(roster ? { channelRoster: roster } : {}),
1335
+ ...(peopleAddressing ? { peopleAddressing } : {}),
1271
1336
  ...(slackContext
1272
1337
  ? {
1273
1338
  slackContextFor: (session) => renderSlackThreadContext(slackContext, {
@@ -2120,6 +2185,135 @@ export class SlackTeamChannelService {
2120
2185
  }
2121
2186
  return { userIds: pending, names };
2122
2187
  }
2188
+ /**
2189
+ * Whether a message with no addressee of its own continues a
2190
+ * person-to-person exchange (specs/slack-room-presence.md "Follow-ups of a
2191
+ * person-to-person exchange"). Reads the huddle rows already recorded, so it
2192
+ * holds across restarts.
2193
+ *
2194
+ * - In a thread: walking back from the newest row, agents' posts and human
2195
+ * rows with no addressee (or an inherited one) are skipped; the first
2196
+ * human row with an addressee decides. People only → inherit them, while
2197
+ * that @ is within the person-exchange window (or is the same sender's
2198
+ * own message within the follow-up window); older → `recent` only. An agent (here or on
2199
+ * another machine) or `@here` → no inheritance; the most recent
2200
+ * people-only row older than that is returned as `recent`, for the
2201
+ * prompt backstop.
2202
+ * - At the top level: the channel's previous top-level row, when it came
2203
+ * within the follow-up window and was addressed to people only — inherited
2204
+ * when the same person wrote it, `recent` otherwise.
2205
+ *
2206
+ * @param message - The inbound message (no addressee of its own)
2207
+ * @param chatChannelId - Its huddle
2208
+ * @param threadId - Its huddle thread root, when the Slack thread is known here
2209
+ * @returns Inherited people (with why), and people of a recent exchange
2210
+ */
2211
+ personExchangeOf(message, chatChannelId, threadId) {
2212
+ const none = { inherit: null, recent: [] };
2213
+ const peopleOf = (m) => {
2214
+ const v = m.metadata?.[SLACK_TEAM_CHANNEL_CONSTANTS.PEOPLE_MENTIONS_METADATA_KEY];
2215
+ return Array.isArray(v) ? v.filter((x) => typeof x === 'string' && x.length > 0) : [];
2216
+ };
2217
+ const isHuman = (m) => m.senderType === 'user' && !m.metadata?.[OWNER_EVIDENCE_METADATA.REMOTE_AGENT_SESSION];
2218
+ const addressesAgent = (m) => {
2219
+ const elsewhere = m.metadata?.[SLACK_TEAM_CHANNEL_CONSTANTS.AGENT_MENTIONS_METADATA_KEY];
2220
+ return ((m.mentions?.length ?? 0) > 0 ||
2221
+ (Array.isArray(elsewhere) && elsewhere.length > 0) ||
2222
+ SLACK_BROADCAST_MENTION_RE.test(m.content ?? ''));
2223
+ };
2224
+ const seconds = (ts) => (typeof ts === 'string' ? Number.parseFloat(ts) : Number.NaN);
2225
+ const within = (m, windowMs) => {
2226
+ const gapMs = (seconds(message.ts) - seconds(m.metadata?.slackTs)) * 1000;
2227
+ return Number.isFinite(gapMs) && gapMs >= 0 && gapMs <= windowMs;
2228
+ };
2229
+ const withinWindow = (m) => within(m, this.windowMs(SLACK_TEAM_CHANNEL_CONSTANTS.PEOPLE_FOLLOWUP_WINDOW_ENV, SLACK_TEAM_CHANNEL_CONSTANTS.PEOPLE_FOLLOWUP_WINDOW_MS));
2230
+ const withinExchange = (m) => within(m, this.windowMs(SLACK_TEAM_CHANNEL_CONSTANTS.PERSON_EXCHANGE_WINDOW_ENV, SLACK_TEAM_CHANNEL_CONSTANTS.PERSON_EXCHANGE_WINDOW_MS));
2231
+ const sameSender = (m) => !!message.userId && m.metadata?.slackUserId === message.userId;
2232
+ if (message.threadTs) {
2233
+ if (!threadId || !this.deps.chat.listThreadForBridge)
2234
+ return none;
2235
+ const rows = this.deps.chat.listThreadForBridge(chatChannelId, threadId);
2236
+ let agentAddressed = false;
2237
+ for (let i = rows.length - 1; i >= 0; i--) {
2238
+ const row = rows[i];
2239
+ if (!isHuman(row) || row.metadata?.slackTs === message.ts)
2240
+ continue;
2241
+ // An inherited addressee is not an @: the exchange is timed from
2242
+ // the last explicit human-to-human @.
2243
+ if (row.metadata?.[SLACK_TEAM_CHANNEL_CONSTANTS.ADDRESSEE_INHERITED_METADATA_KEY])
2244
+ continue;
2245
+ const people = peopleOf(row);
2246
+ if (addressesAgent(row)) {
2247
+ agentAddressed = true;
2248
+ continue;
2249
+ }
2250
+ if (people.length === 0)
2251
+ continue;
2252
+ if (agentAddressed)
2253
+ return { inherit: null, recent: people };
2254
+ if (sameSender(row) && withinWindow(row))
2255
+ return { inherit: { people, reason: 'same-sender-followup' }, recent: [] };
2256
+ // An exchange that went quiet is over: the normal rules apply again.
2257
+ if (!withinExchange(row))
2258
+ return { inherit: null, recent: people };
2259
+ return { inherit: { people, reason: 'person-exchange' }, recent: [] };
2260
+ }
2261
+ return none;
2262
+ }
2263
+ const previous = this.deps.chat.findLatestSlackRoot(chatChannelId);
2264
+ if (!previous || !isHuman(previous) || addressesAgent(previous) || !withinWindow(previous))
2265
+ return none;
2266
+ const people = peopleOf(previous);
2267
+ if (people.length === 0)
2268
+ return none;
2269
+ return sameSender(previous)
2270
+ ? { inherit: { people, reason: 'same-sender-followup' }, recent: [] }
2271
+ : { inherit: null, recent: people };
2272
+ }
2273
+ /**
2274
+ * A time window, from its env override when that is a non-negative number,
2275
+ * else the default.
2276
+ *
2277
+ * @param envVar - Env var holding milliseconds
2278
+ * @param fallbackMs - Default
2279
+ * @returns Milliseconds
2280
+ */
2281
+ windowMs(envVar, fallbackMs) {
2282
+ const raw = process.env[envVar];
2283
+ const parsed = raw !== undefined && raw.trim() !== '' ? Number(raw) : Number.NaN;
2284
+ return Number.isFinite(parsed) && parsed >= 0 ? parsed : fallbackMs;
2285
+ }
2286
+ /**
2287
+ * How to name people in an agent's prompt: `Name (<@U…>)` when a name is
2288
+ * known (someone who spoke in a mapped channel, the owner, or a channel
2289
+ * member the cached directory lists), else the bare mention. Plain typed
2290
+ * names are kept as `@Name`.
2291
+ *
2292
+ * @param people - Slack user ids and/or typed names
2293
+ * @param slackChannelId - Channel, for the directory lookup
2294
+ * @returns One label per person
2295
+ */
2296
+ async personLabels(people, slackChannelId) {
2297
+ const names = new Map();
2298
+ if (people.some((p) => /^[UW][A-Z0-9]+$/.test(p))) {
2299
+ const directory = await getSlackDirectoryService()?.list(slackChannelId).catch(() => null);
2300
+ for (const e of directory ?? []) {
2301
+ const id = /^<@([UW][A-Z0-9]+)>$/.exec(e.mention ?? '')?.[1];
2302
+ if (id && e.kind === 'human' && e.name && !names.has(id))
2303
+ names.set(id, e.name);
2304
+ }
2305
+ }
2306
+ // Names people were seen under (lower-cased), for anyone the directory missed.
2307
+ for (const [name, id] of this.humanNames)
2308
+ if (!names.has(id))
2309
+ names.set(id, name);
2310
+ return people.map((p) => {
2311
+ if (!/^[UW][A-Z0-9]+$/.test(p))
2312
+ return `@${p}`;
2313
+ const name = names.get(p);
2314
+ return name ? `${name} (<@${p}>)` : `<@${p}>`;
2315
+ });
2316
+ }
2123
2317
  /**
2124
2318
  * Remember a person's names so an agent writing `@Their Name` reaches them.
2125
2319
  *