crewly 1.20.172 → 1.20.173

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 (70) hide show
  1. package/dist/backend/backend/src/constants.d.ts +29 -1
  2. package/dist/backend/backend/src/constants.d.ts.map +1 -1
  3. package/dist/backend/backend/src/constants.js +32 -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/relogin-state.store.d.ts +61 -0
  25. package/dist/backend/backend/src/services/harness/relogin-state.store.d.ts.map +1 -0
  26. package/dist/backend/backend/src/services/harness/relogin-state.store.js +92 -0
  27. package/dist/backend/backend/src/services/harness/relogin-state.store.js.map +1 -0
  28. package/dist/backend/backend/src/services/messaging/owner-message-watchdog.service.d.ts +26 -1
  29. package/dist/backend/backend/src/services/messaging/owner-message-watchdog.service.d.ts.map +1 -1
  30. package/dist/backend/backend/src/services/messaging/owner-message-watchdog.service.js +77 -2
  31. package/dist/backend/backend/src/services/messaging/owner-message-watchdog.service.js.map +1 -1
  32. package/dist/backend/backend/src/services/slack/slack-relogin-dm.service.d.ts +42 -19
  33. package/dist/backend/backend/src/services/slack/slack-relogin-dm.service.d.ts.map +1 -1
  34. package/dist/backend/backend/src/services/slack/slack-relogin-dm.service.js +69 -31
  35. package/dist/backend/backend/src/services/slack/slack-relogin-dm.service.js.map +1 -1
  36. package/dist/backend/backend/src/services/v3/request-status-update.subscriber.d.ts +1 -1
  37. package/dist/backend/backend/src/services/v3/request-status-update.subscriber.js +15 -15
  38. package/dist/backend/backend/src/services/v3/request-status-update.subscriber.js.map +1 -1
  39. package/dist/backend/build-info.json +2 -2
  40. package/dist/cli/backend/src/constants.d.ts +29 -1
  41. package/dist/cli/backend/src/constants.d.ts.map +1 -1
  42. package/dist/cli/backend/src/constants.js +32 -1
  43. package/dist/cli/backend/src/constants.js.map +1 -1
  44. package/dist/cli/backend/src/services/agent/oauth-relogin-monitor.service.d.ts.map +1 -1
  45. package/dist/cli/backend/src/services/agent/oauth-relogin-monitor.service.js +17 -2
  46. package/dist/cli/backend/src/services/agent/oauth-relogin-monitor.service.js.map +1 -1
  47. package/dist/cli/backend/src/services/harness/harness-exec.utils.d.ts.map +1 -1
  48. package/dist/cli/backend/src/services/harness/harness-exec.utils.js +1 -0
  49. package/dist/cli/backend/src/services/harness/harness-exec.utils.js.map +1 -1
  50. package/dist/cli/backend/src/services/harness/harness-login-probe.d.ts +65 -0
  51. package/dist/cli/backend/src/services/harness/harness-login-probe.d.ts.map +1 -0
  52. package/dist/cli/backend/src/services/harness/harness-login-probe.js +99 -0
  53. package/dist/cli/backend/src/services/harness/harness-login-probe.js.map +1 -0
  54. package/dist/cli/backend/src/services/harness/harness-relogin.service.d.ts +349 -113
  55. package/dist/cli/backend/src/services/harness/harness-relogin.service.d.ts.map +1 -1
  56. package/dist/cli/backend/src/services/harness/harness-relogin.service.js +792 -278
  57. package/dist/cli/backend/src/services/harness/harness-relogin.service.js.map +1 -1
  58. package/dist/cli/backend/src/services/harness/harness.types.d.ts +2 -0
  59. package/dist/cli/backend/src/services/harness/harness.types.d.ts.map +1 -1
  60. package/dist/cli/backend/src/services/harness/relogin-state.store.d.ts +61 -0
  61. package/dist/cli/backend/src/services/harness/relogin-state.store.d.ts.map +1 -0
  62. package/dist/cli/backend/src/services/harness/relogin-state.store.js +92 -0
  63. package/dist/cli/backend/src/services/harness/relogin-state.store.js.map +1 -0
  64. package/dist/cli/backend/src/services/messaging/owner-message-watchdog.service.d.ts +26 -1
  65. package/dist/cli/backend/src/services/messaging/owner-message-watchdog.service.d.ts.map +1 -1
  66. package/dist/cli/backend/src/services/messaging/owner-message-watchdog.service.js +77 -2
  67. package/dist/cli/backend/src/services/messaging/owner-message-watchdog.service.js.map +1 -1
  68. package/frontend/dist/assets/{index-cb23748e.js → index-36e85ac8.js} +258 -258
  69. package/frontend/dist/index.html +1 -1
  70. package/package.json +1 -1
@@ -106,7 +106,8 @@ import { ContextWindowMonitorService } from './services/agent/context-window-mon
106
106
  import { OAuthReloginMonitorService } from './services/agent/oauth-relogin-monitor.service.js';
107
107
  import { OrcReplyRouteService } from './services/orc/orc-reply-route.service.js';
108
108
  import { ReloginAgentResumerService } from './services/agent/relogin-agent-resumer.service.js';
109
- import { getHarnessReloginService } from './services/harness/harness-relogin.service.js';
109
+ import { getHarnessReloginService, harnessCommandWord } from './services/harness/harness-relogin.service.js';
110
+ import { getHarnessService } from './services/harness/harness.service.js';
110
111
  import { SlackReloginDmService, createReloginReplyInterceptor } from './services/slack/slack-relogin-dm.service.js';
111
112
  import { getSlackAgentIdentityService } from './services/slack/slack-agent-identity.service.js';
112
113
  import { getChatV2Service } from './services/chat-v2/chat-v2.singleton.js';
@@ -1864,6 +1865,28 @@ export class CrewlyServer {
1864
1865
  clearActivity: (sessionName) => PtyActivityTrackerService.getInstance().clearSession(sessionName),
1865
1866
  }));
1866
1867
  OAuthReloginMonitorService.getInstance().setHarnessExpiryHandler((report) => relogin.reportExpiry(report));
1868
+ // Agent-free re-login: every configured agent (running or not)
1869
+ // counts, so a machine whose agents are all stopped or stuck is
1870
+ // still checked; agents flagged at a sign-in screen are resumed
1871
+ // after a dashboard sign-in; what waited is re-delivered.
1872
+ relogin.setAgentLister(async () => {
1873
+ const agents = [];
1874
+ const orcHarness = await getHarnessService().orc.get().catch(() => null);
1875
+ if (orcHarness)
1876
+ agents.push({ sessionName: ORCHESTRATOR_SESSION_NAME, harnessId: orcHarness, displayName: 'Crewly Orc' });
1877
+ for (const team of await this.storageService.getTeams()) {
1878
+ for (const m of team.members ?? []) {
1879
+ if (m.sessionName && m.runtimeType)
1880
+ agents.push({ sessionName: m.sessionName, harnessId: m.runtimeType, displayName: m.name });
1881
+ }
1882
+ }
1883
+ return agents;
1884
+ });
1885
+ relogin.setSessionNeedsLogin((sessionName) => Boolean(OAuthReloginMonitorService.getInstance().getLoginRequired(sessionName)));
1886
+ relogin.setLoginRestoredHandler(async (harnessId, resumed) => {
1887
+ const { getOwnerMessageWatchdog } = await import('./services/messaging/owner-message-watchdog.service.js');
1888
+ return (await getOwnerMessageWatchdog()?.resumeAfterLogin({ runtimeCmd: harnessCommandWord(harnessId), sessions: resumed })) ?? 0;
1889
+ });
1867
1890
  getSlackOrchestratorBridge().setInboundInterceptor(createReloginReplyInterceptor(reloginDm, relogin));
1868
1891
  relogin.start();
1869
1892
  this.logger.info('Harness re-login over Slack wired');
@@ -4450,7 +4473,16 @@ export class CrewlyServer {
4450
4473
  this.messageQueueService.enqueue(input);
4451
4474
  },
4452
4475
  isBusy: (session) => activity.getObservedWorkingStatus(session) === 'in_progress',
4453
- loginRequired: (session) => OAuthReloginMonitorService.getInstance().getLoginRequired(session) ?? null,
4476
+ // A live session at a sign-in screen, or any agent (even a stopped
4477
+ // one) whose harness is confirmed signed out: waking it would only
4478
+ // park it on the same dead login.
4479
+ loginRequired: (session) => {
4480
+ const flagged = OAuthReloginMonitorService.getInstance().getLoginRequired(session);
4481
+ if (flagged)
4482
+ return flagged;
4483
+ const harnessId = getHarnessReloginService().signedOutHarnessOf(session);
4484
+ return harnessId ? { runtimeType: harnessId } : null;
4485
+ },
4454
4486
  displayNameOf: (session) => (session === ORCHESTRATOR_SESSION_NAME ? 'Orc' : names.get(session) ?? session),
4455
4487
  slack: () => getSlackService(),
4456
4488
  owesThread: (slackChannelId, threadTs) => getSlackTypingPlaceholderService()?.owesThread(slackChannelId, threadTs) ?? false,