crewly 1.20.172 → 1.20.174

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 (78) hide show
  1. package/dist/backend/backend/src/constants.d.ts +38 -1
  2. package/dist/backend/backend/src/constants.d.ts.map +1 -1
  3. package/dist/backend/backend/src/constants.js +41 -1
  4. package/dist/backend/backend/src/constants.js.map +1 -1
  5. package/dist/backend/backend/src/index.d.ts.map +1 -1
  6. package/dist/backend/backend/src/index.js +34 -2
  7. package/dist/backend/backend/src/index.js.map +1 -1
  8. package/dist/backend/backend/src/services/agent/oauth-relogin-monitor.service.d.ts.map +1 -1
  9. package/dist/backend/backend/src/services/agent/oauth-relogin-monitor.service.js +17 -2
  10. package/dist/backend/backend/src/services/agent/oauth-relogin-monitor.service.js.map +1 -1
  11. package/dist/backend/backend/src/services/harness/harness-exec.utils.d.ts.map +1 -1
  12. package/dist/backend/backend/src/services/harness/harness-exec.utils.js +1 -0
  13. package/dist/backend/backend/src/services/harness/harness-exec.utils.js.map +1 -1
  14. package/dist/backend/backend/src/services/harness/harness-login-probe.d.ts +65 -0
  15. package/dist/backend/backend/src/services/harness/harness-login-probe.d.ts.map +1 -0
  16. package/dist/backend/backend/src/services/harness/harness-login-probe.js +99 -0
  17. package/dist/backend/backend/src/services/harness/harness-login-probe.js.map +1 -0
  18. package/dist/backend/backend/src/services/harness/harness-relogin.service.d.ts +349 -113
  19. package/dist/backend/backend/src/services/harness/harness-relogin.service.d.ts.map +1 -1
  20. package/dist/backend/backend/src/services/harness/harness-relogin.service.js +792 -278
  21. package/dist/backend/backend/src/services/harness/harness-relogin.service.js.map +1 -1
  22. package/dist/backend/backend/src/services/harness/harness.types.d.ts +2 -0
  23. package/dist/backend/backend/src/services/harness/harness.types.d.ts.map +1 -1
  24. package/dist/backend/backend/src/services/harness/login-broker.service.d.ts +6 -0
  25. package/dist/backend/backend/src/services/harness/login-broker.service.d.ts.map +1 -1
  26. package/dist/backend/backend/src/services/harness/login-broker.service.js +32 -1
  27. package/dist/backend/backend/src/services/harness/login-broker.service.js.map +1 -1
  28. package/dist/backend/backend/src/services/harness/relogin-state.store.d.ts +61 -0
  29. package/dist/backend/backend/src/services/harness/relogin-state.store.d.ts.map +1 -0
  30. package/dist/backend/backend/src/services/harness/relogin-state.store.js +92 -0
  31. package/dist/backend/backend/src/services/harness/relogin-state.store.js.map +1 -0
  32. package/dist/backend/backend/src/services/messaging/owner-message-watchdog.service.d.ts +26 -1
  33. package/dist/backend/backend/src/services/messaging/owner-message-watchdog.service.d.ts.map +1 -1
  34. package/dist/backend/backend/src/services/messaging/owner-message-watchdog.service.js +77 -2
  35. package/dist/backend/backend/src/services/messaging/owner-message-watchdog.service.js.map +1 -1
  36. package/dist/backend/backend/src/services/slack/slack-relogin-dm.service.d.ts +42 -19
  37. package/dist/backend/backend/src/services/slack/slack-relogin-dm.service.d.ts.map +1 -1
  38. package/dist/backend/backend/src/services/slack/slack-relogin-dm.service.js +69 -31
  39. package/dist/backend/backend/src/services/slack/slack-relogin-dm.service.js.map +1 -1
  40. package/dist/backend/backend/src/services/v3/request-status-update.subscriber.d.ts +1 -1
  41. package/dist/backend/backend/src/services/v3/request-status-update.subscriber.js +15 -15
  42. package/dist/backend/backend/src/services/v3/request-status-update.subscriber.js.map +1 -1
  43. package/dist/backend/build-info.json +2 -2
  44. package/dist/cli/backend/src/constants.d.ts +38 -1
  45. package/dist/cli/backend/src/constants.d.ts.map +1 -1
  46. package/dist/cli/backend/src/constants.js +41 -1
  47. package/dist/cli/backend/src/constants.js.map +1 -1
  48. package/dist/cli/backend/src/services/agent/oauth-relogin-monitor.service.d.ts.map +1 -1
  49. package/dist/cli/backend/src/services/agent/oauth-relogin-monitor.service.js +17 -2
  50. package/dist/cli/backend/src/services/agent/oauth-relogin-monitor.service.js.map +1 -1
  51. package/dist/cli/backend/src/services/harness/harness-exec.utils.d.ts.map +1 -1
  52. package/dist/cli/backend/src/services/harness/harness-exec.utils.js +1 -0
  53. package/dist/cli/backend/src/services/harness/harness-exec.utils.js.map +1 -1
  54. package/dist/cli/backend/src/services/harness/harness-login-probe.d.ts +65 -0
  55. package/dist/cli/backend/src/services/harness/harness-login-probe.d.ts.map +1 -0
  56. package/dist/cli/backend/src/services/harness/harness-login-probe.js +99 -0
  57. package/dist/cli/backend/src/services/harness/harness-login-probe.js.map +1 -0
  58. package/dist/cli/backend/src/services/harness/harness-relogin.service.d.ts +349 -113
  59. package/dist/cli/backend/src/services/harness/harness-relogin.service.d.ts.map +1 -1
  60. package/dist/cli/backend/src/services/harness/harness-relogin.service.js +792 -278
  61. package/dist/cli/backend/src/services/harness/harness-relogin.service.js.map +1 -1
  62. package/dist/cli/backend/src/services/harness/harness.types.d.ts +2 -0
  63. package/dist/cli/backend/src/services/harness/harness.types.d.ts.map +1 -1
  64. package/dist/cli/backend/src/services/harness/login-broker.service.d.ts +6 -0
  65. package/dist/cli/backend/src/services/harness/login-broker.service.d.ts.map +1 -1
  66. package/dist/cli/backend/src/services/harness/login-broker.service.js +32 -1
  67. package/dist/cli/backend/src/services/harness/login-broker.service.js.map +1 -1
  68. package/dist/cli/backend/src/services/harness/relogin-state.store.d.ts +61 -0
  69. package/dist/cli/backend/src/services/harness/relogin-state.store.d.ts.map +1 -0
  70. package/dist/cli/backend/src/services/harness/relogin-state.store.js +92 -0
  71. package/dist/cli/backend/src/services/harness/relogin-state.store.js.map +1 -0
  72. package/dist/cli/backend/src/services/messaging/owner-message-watchdog.service.d.ts +26 -1
  73. package/dist/cli/backend/src/services/messaging/owner-message-watchdog.service.d.ts.map +1 -1
  74. package/dist/cli/backend/src/services/messaging/owner-message-watchdog.service.js +77 -2
  75. package/dist/cli/backend/src/services/messaging/owner-message-watchdog.service.js.map +1 -1
  76. package/frontend/dist/assets/{index-cb23748e.js → index-36e85ac8.js} +258 -258
  77. package/frontend/dist/index.html +1 -1
  78. package/package.json +1 -1
@@ -344,6 +344,17 @@ export class OwnerMessageWatchdogService {
344
344
  async evaluate(entry) {
345
345
  const now = this.now();
346
346
  const age = now - entry.receivedAt;
347
+ if (entry.stage === 'login_wait') {
348
+ // Parked until the login is back. If the agent stopped needing a
349
+ // sign-in without our hearing of it (signed in on the machine), go on.
350
+ if (age > C.LOGIN_WAIT_DROP_MS) {
351
+ this.finish(entry, 'login never came back');
352
+ return;
353
+ }
354
+ if (!this.deps.loginRequired?.(entry.responsible))
355
+ await this.runNudge(entry, age, true);
356
+ return;
357
+ }
347
358
  if (age > C.STALE_DROP_MS) {
348
359
  this.logger.warn('Owner message unanswered for hours (restored after downtime) — dropped without a note', {
349
360
  key: entry.key,
@@ -392,9 +403,9 @@ export class OwnerMessageWatchdogService {
392
403
  const visible = entry.surface === 'chat' ? entry.interimAt !== undefined : (this.deps.hasVisiblePlaceholder?.(entry) ?? false);
393
404
  return visible && this.deps.isBusy(entry.responsible);
394
405
  }
395
- async runNudge(entry, age) {
406
+ async runNudge(entry, age, ignoreLogin = false) {
396
407
  const waited = Math.floor(age / 60000);
397
- const login = this.deps.loginRequired?.(entry.responsible) ?? null;
408
+ const login = ignoreLogin ? null : (this.deps.loginRequired?.(entry.responsible) ?? null);
398
409
  let outcome;
399
410
  if (login) {
400
411
  outcome = { outcome: 'blocked', reason: 'login' };
@@ -409,6 +420,24 @@ export class OwnerMessageWatchdogService {
409
420
  }
410
421
  if (!this.entries.has(entry.key))
411
422
  return; // answered while nudging
423
+ if (outcome.outcome === 'blocked' && outcome.reason === 'login' && login) {
424
+ // Tell the owner once, then keep the message: it is re-delivered when
425
+ // the login is back instead of being dropped with the note.
426
+ const first = entry.stage !== 'login_wait' && entry.loginRuntime === undefined;
427
+ entry.stage = 'login_wait';
428
+ entry.loginRuntime = login.runtimeCmd;
429
+ entry.nudgedAt = this.now();
430
+ this.persist();
431
+ this.logger.warn('Owner message waits on a sign-in — kept for re-delivery after the login', {
432
+ key: entry.key,
433
+ responsible: entry.responsible,
434
+ runtime: login.runtimeCmd,
435
+ waitedMinutes: waited,
436
+ });
437
+ if (first)
438
+ await this.postLoginNote(entry);
439
+ return;
440
+ }
412
441
  entry.stage = 'nudged';
413
442
  entry.nudgedAt = this.now();
414
443
  entry.busyAfterNudge = false;
@@ -484,6 +513,52 @@ export class OwnerMessageWatchdogService {
484
513
  return fill(C.NOTE_BUSY_CAP_TEXT, { name, waited });
485
514
  return fill(C.NOTE_SILENT_TEXT, { name, waited });
486
515
  }
516
+ /**
517
+ * Post the "signed out" note for a message without finishing it.
518
+ *
519
+ * @param entry - The message
520
+ */
521
+ async postLoginNote(entry) {
522
+ const text = this.noteText(entry, 'blocked');
523
+ let posted = false;
524
+ try {
525
+ posted = await this.deps.postNote(entry, text);
526
+ }
527
+ catch (err) {
528
+ this.logger.warn('Owner message note could not be posted', { key: entry.key, error: err instanceof Error ? err.message : String(err) });
529
+ }
530
+ this.logger.warn('Owner message unanswered — told the owner it waits on a sign-in', { key: entry.key, responsible: entry.responsible, posted });
531
+ }
532
+ /**
533
+ * A runtime's login is back: re-deliver every message that waited on it
534
+ * (or on one of the restarted agents), waking the agent when needed. The
535
+ * normal timeline (note if still silent) continues from there.
536
+ *
537
+ * @param match - Runtime word ("claude") and/or the agents that were restarted
538
+ * @returns How many messages were re-delivered
539
+ */
540
+ async resumeAfterLogin(match) {
541
+ const sessions = new Set(match.sessions ?? []);
542
+ let n = 0;
543
+ for (const entry of [...this.entries.values()]) {
544
+ if (!this.entries.has(entry.key))
545
+ continue;
546
+ const parked = entry.stage === 'login_wait' && match.runtimeCmd !== undefined && entry.loginRuntime === match.runtimeCmd;
547
+ const restarted = sessions.has(entry.responsible) && entry.stage !== 'nudged';
548
+ if (!parked && !restarted)
549
+ continue;
550
+ try {
551
+ await this.runNudge(entry, this.now() - entry.receivedAt, true);
552
+ n += 1;
553
+ }
554
+ catch (err) {
555
+ this.logger.warn('Re-delivery after sign-in failed', { key: entry.key, error: err instanceof Error ? err.message : String(err) });
556
+ }
557
+ }
558
+ if (n > 0)
559
+ this.logger.info('Owner messages re-delivered after a sign-in', { count: n, runtime: match.runtimeCmd });
560
+ return n;
561
+ }
487
562
  noteRecentAnswer(threadKey) {
488
563
  const now = this.now();
489
564
  this.recentAnswers.delete(threadKey);
@@ -1 +1 @@
1
- {"version":3,"file":"owner-message-watchdog.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/messaging/owner-message-watchdog.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"owner-message-watchdog.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/messaging/owner-message-watchdog.service.ts"],"names":[],"mappings":"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"}
@@ -2,29 +2,30 @@
2
2
  * Slack side of the harness re-login (onboarding Phase 2).
3
3
  *
4
4
  * - {@link SlackReloginDmService.sendToOwner}: DM the owner (the person who
5
- * installed the Slack app) through the master bot. The DM channel is
6
- * remembered so replies can be matched to it. When the owner id is not
7
- * known, falls back to the owner-notification path
8
- * (`SlackService.sendNotification`, the most recent master-bot DM).
9
- * - {@link SlackReloginDmService.isOwnerDmReply}: whether an inbound message
10
- * is the owner writing in that DM — or in their DM with the orchestrator's
11
- * own bot ("Crewly Orc"), where they usually talk to the orc — so the Slack
12
- * bridge may offer it to the re-login coordinator before anything else
13
- * (logging, thread store, orc).
5
+ * installed the Slack app) from **this machine's own orchestrator bot**
6
+ * ("Crewly Orc (<machine>)") when it is installed, else through the master
7
+ * bot, else the owner-notification path. The conversation it landed in is
8
+ * returned so the coordinator takes the code only from there.
9
+ * - {@link SlackReloginDmService.ownerDmScope}: whether an inbound message is
10
+ * the owner writing in their DM with the orc's bot / the master bot
11
+ * (`orc`) or with another agent's bot (`agent`), so the Slack bridge may
12
+ * offer it to the re-login coordinator before anything else (logging,
13
+ * thread store, orc). This runs in the backend: it works with no agent
14
+ * awake.
14
15
  * - An owner-requested login (「重新登录 claude」) answers in the conversation
15
16
  * and thread it was asked in, under the bot that conversation belongs to
16
- * ({@link ReloginReplyTarget}); the master-bot DM is the fallback.
17
+ * ({@link ReloginReplyTarget}).
17
18
  *
18
19
  * @module services/slack/slack-relogin-dm.service
19
20
  */
20
21
  import type { SlackIncomingMessage, SlackNotification, SlackOutgoingMessage } from '../../types/slack.types.js';
21
- import type { HarnessReloginService, ReloginOwnerNotifier, ReloginReplyTarget } from '../harness/harness-relogin.service.js';
22
+ import type { HarnessReloginService, OwnerReplyScope, ReloginDelivery, ReloginOwnerNotifier, ReloginReplyTarget } from '../harness/harness-relogin.service.js';
22
23
  /** The slice of SlackService this adapter uses. */
23
24
  export interface ReloginDmSlackApi {
24
25
  isConnected(): boolean;
25
26
  getOwnerUserId: (() => string | null) | null;
26
27
  isAgentOwnedConversation: ((channelId: string) => boolean) | null;
27
- openDirectMessage(userId: string): Promise<string>;
28
+ openDirectMessage(userId: string, botToken?: string): Promise<string>;
28
29
  sendMessage(message: SlackOutgoingMessage): Promise<string>;
29
30
  sendNotification(notification: SlackNotification): Promise<void>;
30
31
  }
@@ -70,11 +71,19 @@ export declare class SlackReloginDmService implements ReloginOwnerNotifier {
70
71
  /**
71
72
  * DM the owner. Never logs the text.
72
73
  *
74
+ * Without a target the DM goes to the owner's DM with **this machine's
75
+ * own orchestrator bot** ("Crewly Orc (<machine>)") when it is installed:
76
+ * Cloud routes a reply there back to this machine (rule 1, the agent's
77
+ * app), whereas a reply in the shared master-bot DM goes to the account's
78
+ * primary machine — on a second machine the owner's `login` / code would
79
+ * never arrive. The master-bot DM is the fallback, then the
80
+ * owner-notification path.
81
+ *
73
82
  * @param text - Message (plain text with Slack mrkdwn emphasis; escaped here)
74
- * @param target - Conversation to answer in; absent/unusable = the master-bot DM
75
- * @returns True when Slack accepted it
83
+ * @param target - Conversation to answer in; absent/unusable = this machine's DM with the owner
84
+ * @returns Where it was delivered, true when delivered somewhere unknown, false when not
76
85
  */
77
- sendToOwner(text: string, target?: ReloginReplyTarget | null): Promise<boolean>;
86
+ sendToOwner(text: string, target?: ReloginReplyTarget | null): Promise<ReloginDelivery>;
78
87
  /**
79
88
  * Post into a specific conversation (the thread the owner asked in).
80
89
  *
@@ -85,9 +94,23 @@ export declare class SlackReloginDmService implements ReloginOwnerNotifier {
85
94
  */
86
95
  private sendToTarget;
87
96
  /**
88
- * Whether a message is the owner writing in their DM with the master bot
89
- * (the DM the re-login messages went to, when known) or in their DM with
90
- * the orchestrator's own bot.
97
+ * Which of the owner's DMs a message is in, for the re-login:
98
+ * - `orc`: their DM with the master bot (the DM the re-login messages went
99
+ * to, when known) or with the orchestrator's own bot, where they talk to
100
+ * the orc;
101
+ * - `agent`: their DM with another agent's own bot (e.g. answering the
102
+ * watchdog's "Ella hasn't replied: Claude Code is signed out. Reply
103
+ * `login`" note there) — only replies that belong to a login are taken
104
+ * from it;
105
+ * - null: not an owner DM (a channel, another user, an agent's post).
106
+ *
107
+ * @param message - Inbound Slack message
108
+ * @returns The scope, or null
109
+ */
110
+ ownerDmScope(message: SlackIncomingMessage): OwnerReplyScope | null;
111
+ /**
112
+ * Whether a message is the owner writing in one of their DMs the re-login
113
+ * listens to (see {@link ownerDmScope}).
91
114
  *
92
115
  * @param message - Inbound Slack message
93
116
  * @returns True for the owner's DM reply
@@ -135,5 +158,5 @@ export declare function resolveOrcTurnReplyTarget(origin: OrcTurnOriginLike | un
135
158
  * bridge.setInboundInterceptor(createReloginReplyInterceptor(dm, getHarnessReloginService()));
136
159
  * ```
137
160
  */
138
- export declare function createReloginReplyInterceptor(dm: Pick<SlackReloginDmService, 'isOwnerDmReply' | 'replyTargetOf'>, coordinator: Pick<HarnessReloginService, 'handleOwnerReply'>): (message: SlackIncomingMessage) => boolean;
161
+ export declare function createReloginReplyInterceptor(dm: Pick<SlackReloginDmService, 'ownerDmScope' | 'replyTargetOf'>, coordinator: Pick<HarnessReloginService, 'handleOwnerReply'>): (message: SlackIncomingMessage) => boolean;
139
162
  //# sourceMappingURL=slack-relogin-dm.service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"slack-relogin-dm.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/slack/slack-relogin-dm.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"slack-relogin-dm.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/slack/slack-relogin-dm.service.ts"],"names":[],"mappings":"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"}
@@ -2,18 +2,19 @@
2
2
  * Slack side of the harness re-login (onboarding Phase 2).
3
3
  *
4
4
  * - {@link SlackReloginDmService.sendToOwner}: DM the owner (the person who
5
- * installed the Slack app) through the master bot. The DM channel is
6
- * remembered so replies can be matched to it. When the owner id is not
7
- * known, falls back to the owner-notification path
8
- * (`SlackService.sendNotification`, the most recent master-bot DM).
9
- * - {@link SlackReloginDmService.isOwnerDmReply}: whether an inbound message
10
- * is the owner writing in that DM — or in their DM with the orchestrator's
11
- * own bot ("Crewly Orc"), where they usually talk to the orc — so the Slack
12
- * bridge may offer it to the re-login coordinator before anything else
13
- * (logging, thread store, orc).
5
+ * installed the Slack app) from **this machine's own orchestrator bot**
6
+ * ("Crewly Orc (<machine>)") when it is installed, else through the master
7
+ * bot, else the owner-notification path. The conversation it landed in is
8
+ * returned so the coordinator takes the code only from there.
9
+ * - {@link SlackReloginDmService.ownerDmScope}: whether an inbound message is
10
+ * the owner writing in their DM with the orc's bot / the master bot
11
+ * (`orc`) or with another agent's bot (`agent`), so the Slack bridge may
12
+ * offer it to the re-login coordinator before anything else (logging,
13
+ * thread store, orc). This runs in the backend: it works with no agent
14
+ * awake.
14
15
  * - An owner-requested login (「重新登录 claude」) answers in the conversation
15
16
  * and thread it was asked in, under the bot that conversation belongs to
16
- * ({@link ReloginReplyTarget}); the master-bot DM is the fallback.
17
+ * ({@link ReloginReplyTarget}).
17
18
  *
18
19
  * @module services/slack/slack-relogin-dm.service
19
20
  */
@@ -82,9 +83,17 @@ export class SlackReloginDmService {
82
83
  /**
83
84
  * DM the owner. Never logs the text.
84
85
  *
86
+ * Without a target the DM goes to the owner's DM with **this machine's
87
+ * own orchestrator bot** ("Crewly Orc (<machine>)") when it is installed:
88
+ * Cloud routes a reply there back to this machine (rule 1, the agent's
89
+ * app), whereas a reply in the shared master-bot DM goes to the account's
90
+ * primary machine — on a second machine the owner's `login` / code would
91
+ * never arrive. The master-bot DM is the fallback, then the
92
+ * owner-notification path.
93
+ *
85
94
  * @param text - Message (plain text with Slack mrkdwn emphasis; escaped here)
86
- * @param target - Conversation to answer in; absent/unusable = the master-bot DM
87
- * @returns True when Slack accepted it
95
+ * @param target - Conversation to answer in; absent/unusable = this machine's DM with the owner
96
+ * @returns Where it was delivered, true when delivered somewhere unknown, false when not
88
97
  */
89
98
  async sendToOwner(text, target) {
90
99
  const slack = this.getSlack();
@@ -92,14 +101,27 @@ export class SlackReloginDmService {
92
101
  return false;
93
102
  const escaped = escapeSlackText(text);
94
103
  if (target && (await this.sendToTarget(slack, escaped, target)))
95
- return true;
104
+ return target;
96
105
  const ownerId = slack.getOwnerUserId?.() ?? null;
97
106
  if (ownerId) {
107
+ const orcToken = this.getAgentBotToken(ORCHESTRATOR_SESSION_NAME);
108
+ if (orcToken) {
109
+ try {
110
+ const channelId = await slack.openDirectMessage(ownerId, orcToken);
111
+ await slack.sendMessage({ channelId, text: escaped, botToken: orcToken, unfurlLinks: false, unfurlMedia: false, skipChatV2Mirror: true });
112
+ return { channelId, agentSession: ORCHESTRATOR_SESSION_NAME };
113
+ }
114
+ catch (error) {
115
+ this.logger.warn("Could not DM the owner from this machine's orchestrator bot; using the master bot", {
116
+ error: error instanceof Error ? error.message : String(error),
117
+ });
118
+ }
119
+ }
98
120
  try {
99
121
  const channelId = await slack.openDirectMessage(ownerId);
100
122
  await slack.sendMessage({ channelId, text: escaped, unfurlLinks: false, unfurlMedia: false, skipChatV2Mirror: true });
101
123
  this.dmChannelId = channelId;
102
- return true;
124
+ return { channelId };
103
125
  }
104
126
  catch (error) {
105
127
  this.logger.warn('Could not DM the owner directly; using the owner-notification path', {
@@ -108,7 +130,7 @@ export class SlackReloginDmService {
108
130
  }
109
131
  }
110
132
  try {
111
- await slack.sendNotification({ type: 'agent_error', title: 'Login needed', message: escaped, urgency: 'high', timestamp: this.now().toISOString() });
133
+ await slack.sendNotification({ type: 'agent_error', title: 'Sign-in needed', message: escaped, urgency: 'high', timestamp: this.now().toISOString() });
112
134
  return true;
113
135
  }
114
136
  catch (error) {
@@ -150,32 +172,47 @@ export class SlackReloginDmService {
150
172
  }
151
173
  }
152
174
  /**
153
- * Whether a message is the owner writing in their DM with the master bot
154
- * (the DM the re-login messages went to, when known) or in their DM with
155
- * the orchestrator's own bot.
175
+ * Which of the owner's DMs a message is in, for the re-login:
176
+ * - `orc`: their DM with the master bot (the DM the re-login messages went
177
+ * to, when known) or with the orchestrator's own bot, where they talk to
178
+ * the orc;
179
+ * - `agent`: their DM with another agent's own bot (e.g. answering the
180
+ * watchdog's "Ella hasn't replied: Claude Code is signed out. Reply
181
+ * `login`" note there) — only replies that belong to a login are taken
182
+ * from it;
183
+ * - null: not an owner DM (a channel, another user, an agent's post).
156
184
  *
157
185
  * @param message - Inbound Slack message
158
- * @returns True for the owner's DM reply
186
+ * @returns The scope, or null
159
187
  */
160
- isOwnerDmReply(message) {
188
+ ownerDmScope(message) {
161
189
  if (message.authorAgentSession || message.handoffTo)
162
- return false;
190
+ return null;
163
191
  if (!message.channelId?.startsWith(DM_CHANNEL_PREFIX))
164
- return false;
192
+ return null;
165
193
  const slack = this.getSlack();
166
194
  const ownerId = slack.getOwnerUserId?.() ?? null;
167
195
  if (ownerId && message.userId !== ownerId)
168
- return false;
196
+ return null;
169
197
  // The owner's DM with the orc's own bot: where they talk to the orc
170
- // (2026-09-26: 「帮我重新登陆claude code」 was written there). Other
171
- // agents' DMs stay theirs.
198
+ // (2026-09-26: 「帮我重新登陆claude code」 was written there).
172
199
  if (message.agentSession)
173
- return message.agentSession === ORCHESTRATOR_SESSION_NAME;
200
+ return message.agentSession === ORCHESTRATOR_SESSION_NAME ? 'orc' : 'agent';
174
201
  if (slack.isAgentOwnedConversation?.(message.channelId))
175
- return false;
202
+ return null;
176
203
  if (this.dmChannelId && message.channelId !== this.dmChannelId)
177
- return false;
178
- return true;
204
+ return null;
205
+ return 'orc';
206
+ }
207
+ /**
208
+ * Whether a message is the owner writing in one of their DMs the re-login
209
+ * listens to (see {@link ownerDmScope}).
210
+ *
211
+ * @param message - Inbound Slack message
212
+ * @returns True for the owner's DM reply
213
+ */
214
+ isOwnerDmReply(message) {
215
+ return this.ownerDmScope(message) !== null;
179
216
  }
180
217
  }
181
218
  /**
@@ -229,9 +266,10 @@ export function createReloginReplyInterceptor(dm, coordinator) {
229
266
  return (message) => {
230
267
  if (message.hasFiles || !message.text)
231
268
  return false;
232
- if (!dm.isOwnerDmReply(message))
269
+ const scope = dm.ownerDmScope(message);
270
+ if (!scope)
233
271
  return false;
234
- return coordinator.handleOwnerReply(message.text, dm.replyTargetOf(message));
272
+ return coordinator.handleOwnerReply(message.text, dm.replyTargetOf(message), scope);
235
273
  };
236
274
  }
237
275
  //# sourceMappingURL=slack-relogin-dm.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"slack-relogin-dm.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/slack/slack-relogin-dm.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"slack-relogin-dm.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/slack/slack-relogin-dm.service.ts"],"names":[],"mappings":"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"}
@@ -145,7 +145,7 @@ export declare class RequestStatusUpdateSubscriber {
145
145
  * "still 3 blocked" message.
146
146
  *
147
147
  * Bug shape (2026-05-09 dogfood): a Slack thread received 7+ identical
148
- * "⏳ 还在做。已完成 0/4, 进行中 0, 排队 0, 卡住 3" messages over the
148
+ * "⏳ Still working. Done 0/4, in progress 0, queued 0, stuck 3" messages over the
149
149
  * day because the WI state genuinely hadn't moved (Plan WI was wedged
150
150
  * blocked) but the heartbeat cadence faithfully kept firing. Plain-
151
151
  * language UX rule: a "no change" heartbeat IS noise, not signal.
@@ -182,7 +182,7 @@ export class RequestStatusUpdateSubscriber {
182
182
  * "still 3 blocked" message.
183
183
  *
184
184
  * Bug shape (2026-05-09 dogfood): a Slack thread received 7+ identical
185
- * "⏳ 还在做。已完成 0/4, 进行中 0, 排队 0, 卡住 3" messages over the
185
+ * "⏳ Still working. Done 0/4, in progress 0, queued 0, stuck 3" messages over the
186
186
  * day because the WI state genuinely hadn't moved (Plan WI was wedged
187
187
  * blocked) but the heartbeat cadence faithfully kept firing. Plain-
188
188
  * language UX rule: a "no change" heartbeat IS noise, not signal.
@@ -457,17 +457,17 @@ export class RequestStatusUpdateSubscriber {
457
457
  const targetShort = humanizeAgentName(wi.target);
458
458
  switch (eventType) {
459
459
  case 'task:done_by_worker':
460
- return `✅ ${targetShort} 完成了「${titleShort}」, 等下一步。`;
460
+ return `✅ ${targetShort} finished "${titleShort}" — waiting for the next step.`;
461
461
  case 'task:verified':
462
- return `🟢 「${titleShort}」已通过检查。`;
462
+ return `🟢 "${titleShort}" passed its check.`;
463
463
  case 'task:rejected':
464
- return `🔁 「${titleShort}」检查未通过, 让 ${targetShort} 重做。`;
464
+ return `🔁 "${titleShort}" didn't pass its check; ${targetShort} is redoing it.`;
465
465
  case 'task:blocked':
466
- return `⛔ 「${titleShort}」卡住了 (target=${targetShort})。我会跟进。`;
466
+ return `⛔ "${titleShort}" is stuck (${targetShort}). I'll follow up.`;
467
467
  case 'task:failed':
468
- return `❌ 「${titleShort}」失败 (target=${targetShort})。我会跟进或转交。`;
468
+ return `❌ "${titleShort}" failed (${targetShort}). I'll follow up or hand it to someone else.`;
469
469
  default:
470
- return `更新: 「${titleShort}」状态变化 (${eventType})。`;
470
+ return `Update: "${titleShort}" changed status (${eventType}).`;
471
471
  }
472
472
  }
473
473
  buildHeartbeatText(_request, childWIs) {
@@ -482,7 +482,7 @@ export class RequestStatusUpdateSubscriber {
482
482
  };
483
483
  for (const wi of childWIs) {
484
484
  const s = wi.status;
485
- // #813: done_by_worker is reported, not reviewed — never count it as 已完成.
485
+ // #813: done_by_worker is reported, not reviewed — never count it as done.
486
486
  if (s === 'done_by_worker')
487
487
  counts.review++;
488
488
  else if (s === 'done' || s === 'verified')
@@ -500,17 +500,17 @@ export class RequestStatusUpdateSubscriber {
500
500
  }
501
501
  // Only surface the failed/cancelled bucket when it's non-zero.
502
502
  // Hiding it unconditionally (the original shape) was the bug —
503
- // 4 cancelled WIs rendered as "0/4, 进行中 0, 排队 0, 卡住 0",
503
+ // 4 cancelled WIs rendered as "0/4, in progress 0, queued 0, stuck 0",
504
504
  // which reads as "everything vanished" rather than "everything
505
505
  // got cancelled". The all-terminal guard in runHeartbeat now
506
506
  // intercepts the pure-cancelled case, but a mixed Request with
507
507
  // some cancelled and some still in-flight would still hit this
508
508
  // path, so include the count for honesty.
509
- const tail = counts.failed > 0 ? `, 取消/失败 ${counts.failed}` : '';
510
- const review = counts.review > 0 ? `待验收 ${counts.review}, ` : '';
511
- return (`⏳ 还在做。已完成 ${counts.done}/${childWIs.length}, ${review}` +
512
- `进行中 ${counts.running}, 排队 ${counts.queued}, 卡住 ${counts.blocked}${tail}。` +
513
- ` 我会在有变化时再更新。`);
509
+ const tail = counts.failed > 0 ? `, cancelled/failed ${counts.failed}` : '';
510
+ const review = counts.review > 0 ? `to review ${counts.review}, ` : '';
511
+ return (`⏳ Still working. Done ${counts.done}/${childWIs.length}, ${review}` +
512
+ `in progress ${counts.running}, queued ${counts.queued}, stuck ${counts.blocked}${tail}.` +
513
+ ` I'll update you when something changes.`);
514
514
  }
515
515
  /**
516
516
  * Close a Request whose every child WI has reached a terminal status
@@ -612,7 +612,7 @@ export class RequestStatusUpdateSubscriber {
612
612
  */
613
613
  function humanizeAgentName(sessionName) {
614
614
  if (!sessionName)
615
- return '团队';
615
+ return 'the team';
616
616
  if (sessionName === 'crewly-orc')
617
617
  return 'Orc';
618
618
  // crewly-product-leo-21a5477e → 'Leo'