crewly 1.20.306 → 1.20.307
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.
- package/config/hooks/agent-status/report.sh +39 -1
- package/dist/backend/backend/src/constants.d.ts +54 -0
- package/dist/backend/backend/src/constants.d.ts.map +1 -1
- package/dist/backend/backend/src/constants.js +54 -0
- package/dist/backend/backend/src/constants.js.map +1 -1
- package/dist/backend/backend/src/controllers/agent-hooks/agent-hooks.controller.d.ts +2 -1
- package/dist/backend/backend/src/controllers/agent-hooks/agent-hooks.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/agent-hooks/agent-hooks.controller.js +18 -1
- package/dist/backend/backend/src/controllers/agent-hooks/agent-hooks.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/board/board.controller.d.ts +23 -0
- package/dist/backend/backend/src/controllers/board/board.controller.d.ts.map +1 -0
- package/dist/backend/backend/src/controllers/board/board.controller.js +48 -0
- package/dist/backend/backend/src/controllers/board/board.controller.js.map +1 -0
- package/dist/backend/backend/src/controllers/board/board.routes.d.ts +15 -0
- package/dist/backend/backend/src/controllers/board/board.routes.d.ts.map +1 -0
- package/dist/backend/backend/src/controllers/board/board.routes.js +21 -0
- package/dist/backend/backend/src/controllers/board/board.routes.js.map +1 -0
- package/dist/backend/backend/src/controllers/browser/browser.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/browser/browser.controller.js +2 -0
- package/dist/backend/backend/src/controllers/browser/browser.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/chat/chat.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/chat/chat.controller.js +5 -0
- package/dist/backend/backend/src/controllers/chat/chat.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/slack/slack.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/slack/slack.controller.js +3 -0
- package/dist/backend/backend/src/controllers/slack/slack.controller.js.map +1 -1
- package/dist/backend/backend/src/index.d.ts +9 -0
- package/dist/backend/backend/src/index.d.ts.map +1 -1
- package/dist/backend/backend/src/index.js +46 -0
- package/dist/backend/backend/src/index.js.map +1 -1
- package/dist/backend/backend/src/routes/api.routes.d.ts.map +1 -1
- package/dist/backend/backend/src/routes/api.routes.js +3 -0
- package/dist/backend/backend/src/routes/api.routes.js.map +1 -1
- package/dist/backend/backend/src/services/board/board-activity.normalizer.d.ts +85 -0
- package/dist/backend/backend/src/services/board/board-activity.normalizer.d.ts.map +1 -0
- package/dist/backend/backend/src/services/board/board-activity.normalizer.js +241 -0
- package/dist/backend/backend/src/services/board/board-activity.normalizer.js.map +1 -0
- package/dist/backend/backend/src/services/board/board-activity.tracker.d.ts +154 -0
- package/dist/backend/backend/src/services/board/board-activity.tracker.d.ts.map +1 -0
- package/dist/backend/backend/src/services/board/board-activity.tracker.js +322 -0
- package/dist/backend/backend/src/services/board/board-activity.tracker.js.map +1 -0
- package/dist/backend/backend/src/services/board/board-outcome-phrases.d.ts +43 -0
- package/dist/backend/backend/src/services/board/board-outcome-phrases.d.ts.map +1 -0
- package/dist/backend/backend/src/services/board/board-outcome-phrases.js +76 -0
- package/dist/backend/backend/src/services/board/board-outcome-phrases.js.map +1 -0
- package/dist/backend/backend/src/services/board/board-push.service.d.ts +114 -0
- package/dist/backend/backend/src/services/board/board-push.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/board/board-push.service.js +312 -0
- package/dist/backend/backend/src/services/board/board-push.service.js.map +1 -0
- package/dist/backend/backend/src/services/board/board-redact.d.ts +90 -0
- package/dist/backend/backend/src/services/board/board-redact.d.ts.map +1 -0
- package/dist/backend/backend/src/services/board/board-redact.js +359 -0
- package/dist/backend/backend/src/services/board/board-redact.js.map +1 -0
- package/dist/backend/backend/src/services/board/board-snapshot.builder.d.ts +176 -0
- package/dist/backend/backend/src/services/board/board-snapshot.builder.d.ts.map +1 -0
- package/dist/backend/backend/src/services/board/board-snapshot.builder.js +342 -0
- package/dist/backend/backend/src/services/board/board-snapshot.builder.js.map +1 -0
- package/dist/backend/backend/src/services/board/board-usage.d.ts +20 -0
- package/dist/backend/backend/src/services/board/board-usage.d.ts.map +1 -0
- package/dist/backend/backend/src/services/board/board-usage.js +82 -0
- package/dist/backend/backend/src/services/board/board-usage.js.map +1 -0
- package/dist/backend/backend/src/services/board/board.service.d.ts +60 -0
- package/dist/backend/backend/src/services/board/board.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/board/board.service.js +82 -0
- package/dist/backend/backend/src/services/board/board.service.js.map +1 -0
- package/dist/backend/backend/src/services/board/board.sources.d.ts +25 -0
- package/dist/backend/backend/src/services/board/board.sources.d.ts.map +1 -0
- package/dist/backend/backend/src/services/board/board.sources.js +293 -0
- package/dist/backend/backend/src/services/board/board.sources.js.map +1 -0
- package/dist/backend/backend/src/services/board/board.types.d.ts +117 -0
- package/dist/backend/backend/src/services/board/board.types.d.ts.map +1 -0
- package/dist/backend/backend/src/services/board/board.types.js +8 -0
- package/dist/backend/backend/src/services/board/board.types.js.map +1 -0
- package/dist/backend/backend/src/services/google/google-reauth-notifier.service.d.ts +13 -0
- package/dist/backend/backend/src/services/google/google-reauth-notifier.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/google/google-reauth-notifier.service.js +15 -0
- package/dist/backend/backend/src/services/google/google-reauth-notifier.service.js.map +1 -1
- package/dist/backend/build-info.json +2 -2
- package/dist/cli/backend/src/constants.d.ts +54 -0
- package/dist/cli/backend/src/constants.d.ts.map +1 -1
- package/dist/cli/backend/src/constants.js +54 -0
- package/dist/cli/backend/src/constants.js.map +1 -1
- package/package.json +1 -1
|
@@ -335,6 +335,7 @@ export class CrewlyServer {
|
|
|
335
335
|
/** Gaps in this backend's life are told to the owner (crewly#1015 §12) */
|
|
336
336
|
livenessMonitor = null;
|
|
337
337
|
waitingItemsSync = null;
|
|
338
|
+
ownerBoard = null;
|
|
338
339
|
/** Epoch ms of the last shutdown signal acted on (dedups process-group delivery) */
|
|
339
340
|
lastShutdownSignalAt = 0;
|
|
340
341
|
/** Interrupted turns loaded at boot, resumed once their agents are back */
|
|
@@ -3872,6 +3873,9 @@ export class CrewlyServer {
|
|
|
3872
3873
|
// "Waiting on you" (§F): tickets in 待验收 go to Crewly Cloud as text
|
|
3873
3874
|
// snapshots, so the portal lists them for every machine.
|
|
3874
3875
|
void this.startWaitingItemsSync();
|
|
3876
|
+
// Owner board (crewly#1247): outcomes + live activity, pushed to Cloud
|
|
3877
|
+
// every 60 s and on change. CREWLY_BOARD_PUSH=0 turns the push off.
|
|
3878
|
+
void this.startOwnerBoard();
|
|
3875
3879
|
// V3-only as of spec 2026-05-06-task-management-v1-deprecation.md.
|
|
3876
3880
|
// The legacy `TaskTrackingService.startAutoSync()` is gone — V3
|
|
3877
3881
|
// task-pool reconciler owns lifecycle cleanup now.
|
|
@@ -5454,6 +5458,47 @@ export class CrewlyServer {
|
|
|
5454
5458
|
});
|
|
5455
5459
|
}
|
|
5456
5460
|
}
|
|
5461
|
+
/**
|
|
5462
|
+
* Start the owner board: the local `GET /api/board` always works; the push
|
|
5463
|
+
* to Crewly Cloud runs while the machine is signed in. Never throws.
|
|
5464
|
+
*/
|
|
5465
|
+
async startOwnerBoard() {
|
|
5466
|
+
try {
|
|
5467
|
+
const [{ BoardService, setBoardService }, { createProductionBoardSources }, { CloudClientService }, { getBoardActivity }] = await Promise.all([
|
|
5468
|
+
import('./services/board/board.service.js'),
|
|
5469
|
+
import('./services/board/board.sources.js'),
|
|
5470
|
+
import('./services/cloud/cloud-client.service.js'),
|
|
5471
|
+
import('./services/board/board-activity.tracker.js'),
|
|
5472
|
+
]);
|
|
5473
|
+
const cloud = CloudClientService.getInstance();
|
|
5474
|
+
// Project roots turn file paths into repo-relative ones
|
|
5475
|
+
getBoardActivity().setRootsResolver((session) => this.boardProjectRoots(session));
|
|
5476
|
+
const service = new BoardService({
|
|
5477
|
+
sources: createProductionBoardSources({ storage: this.storageService }),
|
|
5478
|
+
cloud: { getToken: () => cloud.getToken(), getCloudUrl: () => cloud.getCloudUrl(), tryRefreshToken: () => cloud.tryRefreshToken() },
|
|
5479
|
+
});
|
|
5480
|
+
setBoardService(service);
|
|
5481
|
+
service.start();
|
|
5482
|
+
this.ownerBoard = service;
|
|
5483
|
+
}
|
|
5484
|
+
catch (error) {
|
|
5485
|
+
this.logger.warn('Owner board not started (non-fatal)', { error: error instanceof Error ? error.message : String(error) });
|
|
5486
|
+
}
|
|
5487
|
+
}
|
|
5488
|
+
/** Cached project paths for the board's relative file paths. */
|
|
5489
|
+
boardRootsCache = { at: 0, roots: [] };
|
|
5490
|
+
boardProjectRoots(_session) {
|
|
5491
|
+
if (Date.now() - this.boardRootsCache.at > 60_000) {
|
|
5492
|
+
this.boardRootsCache.at = Date.now();
|
|
5493
|
+
void this.storageService
|
|
5494
|
+
.getProjects()
|
|
5495
|
+
.then((projects) => {
|
|
5496
|
+
this.boardRootsCache.roots = projects.map((p) => p.path).filter(Boolean);
|
|
5497
|
+
})
|
|
5498
|
+
.catch(() => undefined);
|
|
5499
|
+
}
|
|
5500
|
+
return this.boardRootsCache.roots;
|
|
5501
|
+
}
|
|
5457
5502
|
/**
|
|
5458
5503
|
* Load interrupted turns left by the previous shutdown (fresh ones only).
|
|
5459
5504
|
*/
|
|
@@ -6761,6 +6806,7 @@ export class CrewlyServer {
|
|
|
6761
6806
|
this.cloudDisconnectNotice?.stop();
|
|
6762
6807
|
this.conversationCloudSync?.stop();
|
|
6763
6808
|
this.waitingItemsSync?.stop();
|
|
6809
|
+
this.ownerBoard?.stop();
|
|
6764
6810
|
// Safe restart: stop delivering, wait for agents mid-turn, persist the rest.
|
|
6765
6811
|
// Runs before the force-exit timer below, which only bounds the teardown.
|
|
6766
6812
|
await this.drainInFlightTurns(options.reason ?? 'shutdown', options.drain !== false);
|