crewly 1.20.360 → 1.20.362
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/roles/team-leader/prompt.md +1 -1
- package/config/roles/team-leader/tl-addon.md +1 -1
- package/config/skills/team-leader/delegate-task/SKILL.md +21 -6
- package/config/skills/team-leader/delegate-task/execute.sh +12 -1
- package/dist/backend/backend/src/constants.d.ts +155 -6
- package/dist/backend/backend/src/constants.d.ts.map +1 -1
- package/dist/backend/backend/src/constants.js +155 -6
- package/dist/backend/backend/src/constants.js.map +1 -1
- package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.js +7 -4
- package/dist/backend/backend/src/controllers/task-pool/task-pool.controller.js.map +1 -1
- package/dist/backend/backend/src/index.d.ts.map +1 -1
- package/dist/backend/backend/src/index.js +58 -3
- package/dist/backend/backend/src/index.js.map +1 -1
- package/dist/backend/backend/src/services/agent/boot-pressure.d.ts +19 -3
- package/dist/backend/backend/src/services/agent/boot-pressure.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/boot-pressure.js +30 -7
- package/dist/backend/backend/src/services/agent/boot-pressure.js.map +1 -1
- package/dist/backend/backend/src/services/agent/follow-through.wiring.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/follow-through.wiring.js +2 -0
- package/dist/backend/backend/src/services/agent/follow-through.wiring.js.map +1 -1
- package/dist/backend/backend/src/services/agent/handover-interrupted.d.ts +76 -0
- package/dist/backend/backend/src/services/agent/handover-interrupted.d.ts.map +1 -0
- package/dist/backend/backend/src/services/agent/handover-interrupted.js +139 -0
- package/dist/backend/backend/src/services/agent/handover-interrupted.js.map +1 -0
- package/dist/backend/backend/src/services/agent/handover-pointers.d.ts +4 -0
- package/dist/backend/backend/src/services/agent/handover-pointers.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/handover-pointers.js +11 -4
- package/dist/backend/backend/src/services/agent/handover-pointers.js.map +1 -1
- package/dist/backend/backend/src/services/agent/idle-work-guard.d.ts +3 -1
- package/dist/backend/backend/src/services/agent/idle-work-guard.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/idle-work-guard.js +2 -0
- package/dist/backend/backend/src/services/agent/idle-work-guard.js.map +1 -1
- package/dist/backend/backend/src/services/agent/resource-mode-protection.d.ts +5 -1
- package/dist/backend/backend/src/services/agent/resource-mode-protection.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/resource-mode-protection.js +6 -1
- package/dist/backend/backend/src/services/agent/resource-mode-protection.js.map +1 -1
- package/dist/backend/backend/src/services/agent/runtime-session-recovery.d.ts +7 -0
- package/dist/backend/backend/src/services/agent/runtime-session-recovery.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/runtime-session-recovery.js +18 -1
- package/dist/backend/backend/src/services/agent/runtime-session-recovery.js.map +1 -1
- package/dist/backend/backend/src/services/chat-v2/chat-v2.singleton.d.ts +8 -0
- package/dist/backend/backend/src/services/chat-v2/chat-v2.singleton.d.ts.map +1 -1
- package/dist/backend/backend/src/services/chat-v2/chat-v2.singleton.js +10 -0
- package/dist/backend/backend/src/services/chat-v2/chat-v2.singleton.js.map +1 -1
- package/dist/backend/backend/src/services/open-items/open-item-extractor.d.ts +43 -2
- package/dist/backend/backend/src/services/open-items/open-item-extractor.d.ts.map +1 -1
- package/dist/backend/backend/src/services/open-items/open-item-extractor.js +124 -13
- package/dist/backend/backend/src/services/open-items/open-item-extractor.js.map +1 -1
- package/dist/backend/backend/src/services/open-items/open-items.service.d.ts +40 -1
- package/dist/backend/backend/src/services/open-items/open-items.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/open-items/open-items.service.js +76 -3
- package/dist/backend/backend/src/services/open-items/open-items.service.js.map +1 -1
- package/dist/backend/backend/src/services/open-items/open-items.wiring.d.ts +8 -0
- package/dist/backend/backend/src/services/open-items/open-items.wiring.d.ts.map +1 -1
- package/dist/backend/backend/src/services/open-items/open-items.wiring.js +19 -1
- package/dist/backend/backend/src/services/open-items/open-items.wiring.js.map +1 -1
- package/dist/backend/backend/src/services/orc/owner-completion-report.service.d.ts +35 -19
- package/dist/backend/backend/src/services/orc/owner-completion-report.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/orc/owner-completion-report.service.js +60 -63
- package/dist/backend/backend/src/services/orc/owner-completion-report.service.js.map +1 -1
- package/dist/backend/backend/src/services/orc/owner-completion-report.text.d.ts +86 -0
- package/dist/backend/backend/src/services/orc/owner-completion-report.text.d.ts.map +1 -0
- package/dist/backend/backend/src/services/orc/owner-completion-report.text.js +170 -0
- package/dist/backend/backend/src/services/orc/owner-completion-report.text.js.map +1 -0
- package/dist/backend/backend/src/services/orc/owner-completion-report.wiring.d.ts +24 -0
- package/dist/backend/backend/src/services/orc/owner-completion-report.wiring.d.ts.map +1 -1
- package/dist/backend/backend/src/services/orc/owner-completion-report.wiring.js +38 -1
- package/dist/backend/backend/src/services/orc/owner-completion-report.wiring.js.map +1 -1
- package/dist/backend/backend/src/services/orc/reply-destination.wiring.d.ts +2 -0
- package/dist/backend/backend/src/services/orc/reply-destination.wiring.d.ts.map +1 -1
- package/dist/backend/backend/src/services/orc/reply-destination.wiring.js +8 -3
- package/dist/backend/backend/src/services/orc/reply-destination.wiring.js.map +1 -1
- package/dist/backend/backend/src/services/orc/work-item-destination.d.ts +76 -0
- package/dist/backend/backend/src/services/orc/work-item-destination.d.ts.map +1 -1
- package/dist/backend/backend/src/services/orc/work-item-destination.js +83 -3
- package/dist/backend/backend/src/services/orc/work-item-destination.js.map +1 -1
- package/dist/backend/backend/src/services/orc/work-item-destination.wiring.d.ts +31 -2
- package/dist/backend/backend/src/services/orc/work-item-destination.wiring.d.ts.map +1 -1
- package/dist/backend/backend/src/services/orc/work-item-destination.wiring.js +38 -0
- package/dist/backend/backend/src/services/orc/work-item-destination.wiring.js.map +1 -1
- package/dist/backend/backend/src/services/stall/background-run-detector.d.ts +56 -0
- package/dist/backend/backend/src/services/stall/background-run-detector.d.ts.map +1 -0
- package/dist/backend/backend/src/services/stall/background-run-detector.js +93 -0
- package/dist/backend/backend/src/services/stall/background-run-detector.js.map +1 -0
- package/dist/backend/backend/src/services/stall/claim-check.d.ts +60 -0
- package/dist/backend/backend/src/services/stall/claim-check.d.ts.map +1 -0
- package/dist/backend/backend/src/services/stall/claim-check.js +98 -0
- package/dist/backend/backend/src/services/stall/claim-check.js.map +1 -0
- package/dist/backend/backend/src/services/stall/in-flight-runs.store.d.ts +110 -0
- package/dist/backend/backend/src/services/stall/in-flight-runs.store.d.ts.map +1 -0
- package/dist/backend/backend/src/services/stall/in-flight-runs.store.js +109 -0
- package/dist/backend/backend/src/services/stall/in-flight-runs.store.js.map +1 -0
- package/dist/backend/backend/src/services/stall/stall-watcher.service.d.ts +456 -0
- package/dist/backend/backend/src/services/stall/stall-watcher.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/stall/stall-watcher.service.js +854 -0
- package/dist/backend/backend/src/services/stall/stall-watcher.service.js.map +1 -0
- package/dist/backend/backend/src/services/stall/stall-watcher.wiring.d.ts +98 -0
- package/dist/backend/backend/src/services/stall/stall-watcher.wiring.d.ts.map +1 -0
- package/dist/backend/backend/src/services/stall/stall-watcher.wiring.js +217 -0
- package/dist/backend/backend/src/services/stall/stall-watcher.wiring.js.map +1 -0
- package/dist/backend/backend/src/services/task-pool/task-pool.service.d.ts +53 -0
- package/dist/backend/backend/src/services/task-pool/task-pool.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/task-pool/task-pool.service.js +162 -15
- package/dist/backend/backend/src/services/task-pool/task-pool.service.js.map +1 -1
- package/dist/backend/backend/src/services/tl-delegation/tl-delegation.service.js +1 -1
- package/dist/backend/backend/src/services/tl-delegation/tl-delegation.service.js.map +1 -1
- package/dist/backend/backend/src/types/v2/open-item.types.d.ts +2 -0
- package/dist/backend/backend/src/types/v2/open-item.types.d.ts.map +1 -1
- package/dist/backend/build-info.json +2 -2
- package/dist/cli/backend/src/constants.d.ts +155 -6
- package/dist/cli/backend/src/constants.d.ts.map +1 -1
- package/dist/cli/backend/src/constants.js +155 -6
- package/dist/cli/backend/src/constants.js.map +1 -1
- package/dist/cli/backend/src/services/agent/boot-pressure.d.ts +19 -3
- package/dist/cli/backend/src/services/agent/boot-pressure.d.ts.map +1 -1
- package/dist/cli/backend/src/services/agent/boot-pressure.js +30 -7
- package/dist/cli/backend/src/services/agent/boot-pressure.js.map +1 -1
- package/dist/cli/backend/src/services/agent/handover-interrupted.d.ts +76 -0
- package/dist/cli/backend/src/services/agent/handover-interrupted.d.ts.map +1 -0
- package/dist/cli/backend/src/services/agent/handover-interrupted.js +139 -0
- package/dist/cli/backend/src/services/agent/handover-interrupted.js.map +1 -0
- package/dist/cli/backend/src/services/agent/handover-pointers.d.ts +4 -0
- package/dist/cli/backend/src/services/agent/handover-pointers.d.ts.map +1 -1
- package/dist/cli/backend/src/services/agent/handover-pointers.js +11 -4
- package/dist/cli/backend/src/services/agent/handover-pointers.js.map +1 -1
- package/dist/cli/backend/src/services/agent/runtime-session-recovery.d.ts +7 -0
- package/dist/cli/backend/src/services/agent/runtime-session-recovery.d.ts.map +1 -1
- package/dist/cli/backend/src/services/agent/runtime-session-recovery.js +18 -1
- package/dist/cli/backend/src/services/agent/runtime-session-recovery.js.map +1 -1
- package/dist/cli/backend/src/services/chat-v2/chat-v2.singleton.d.ts +8 -0
- package/dist/cli/backend/src/services/chat-v2/chat-v2.singleton.d.ts.map +1 -1
- package/dist/cli/backend/src/services/chat-v2/chat-v2.singleton.js +10 -0
- package/dist/cli/backend/src/services/chat-v2/chat-v2.singleton.js.map +1 -1
- package/dist/cli/backend/src/services/open-items/open-item-extractor.d.ts +43 -2
- package/dist/cli/backend/src/services/open-items/open-item-extractor.d.ts.map +1 -1
- package/dist/cli/backend/src/services/open-items/open-item-extractor.js +124 -13
- package/dist/cli/backend/src/services/open-items/open-item-extractor.js.map +1 -1
- package/dist/cli/backend/src/services/open-items/open-items.service.d.ts +40 -1
- package/dist/cli/backend/src/services/open-items/open-items.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/open-items/open-items.service.js +76 -3
- package/dist/cli/backend/src/services/open-items/open-items.service.js.map +1 -1
- package/dist/cli/backend/src/services/orc/work-item-destination.d.ts +76 -0
- package/dist/cli/backend/src/services/orc/work-item-destination.d.ts.map +1 -1
- package/dist/cli/backend/src/services/orc/work-item-destination.js +83 -3
- package/dist/cli/backend/src/services/orc/work-item-destination.js.map +1 -1
- package/dist/cli/backend/src/services/task-pool/task-pool.service.d.ts +53 -0
- package/dist/cli/backend/src/services/task-pool/task-pool.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/task-pool/task-pool.service.js +162 -15
- package/dist/cli/backend/src/services/task-pool/task-pool.service.js.map +1 -1
- package/dist/cli/backend/src/types/v2/open-item.types.d.ts +2 -0
- package/dist/cli/backend/src/types/v2/open-item.types.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -15,6 +15,8 @@
|
|
|
15
15
|
export interface BootPressureSnapshot {
|
|
16
16
|
usedPercent: number;
|
|
17
17
|
freeMB: number;
|
|
18
|
+
/** Physical memory; scales the free floor on small machines (0 or absent: not scaled) */
|
|
19
|
+
totalMB?: number;
|
|
18
20
|
swapUsedPercent: number;
|
|
19
21
|
osPressure: boolean;
|
|
20
22
|
/** ResourceModeService is in pressure mode */
|
|
@@ -33,11 +35,25 @@ export interface BootPressureThresholds {
|
|
|
33
35
|
* @returns Effective thresholds
|
|
34
36
|
*/
|
|
35
37
|
export declare function bootPressureThresholds(env?: NodeJS.ProcessEnv): BootPressureThresholds;
|
|
38
|
+
/**
|
|
39
|
+
* The free-memory floor for this machine: the configured floor, capped at
|
|
40
|
+
* MIN_FREE_FRACTION of physical memory. A fixed 3 GB floor reads an 8 GB
|
|
41
|
+
* laptop as tight on every boot (2026-10-17: the Air held Fern back while
|
|
42
|
+
* its own health check said memory was fine).
|
|
43
|
+
*
|
|
44
|
+
* @param snapshot - Reading (its totalMB scales the floor)
|
|
45
|
+
* @param thresholds - Effective thresholds
|
|
46
|
+
* @returns Floor in MB
|
|
47
|
+
*/
|
|
48
|
+
export declare function effectiveMinFreeMB(snapshot: BootPressureSnapshot, thresholds: BootPressureThresholds): number;
|
|
36
49
|
/**
|
|
37
50
|
* Why the snapshot is tight for the boot, or null when it is calm. Tight:
|
|
38
|
-
* pressure mode,
|
|
39
|
-
*
|
|
40
|
-
*
|
|
51
|
+
* pressure mode, the OS pressure flag, free memory under the floor, or swap
|
|
52
|
+
* at or above the threshold while free memory is also under twice the
|
|
53
|
+
* floor. Swap fill alone does not count: macOS grows its swap file on
|
|
54
|
+
* demand, so a small swap file sits near full on a healthy machine. An
|
|
55
|
+
* unreadable snapshot (null) is calm: a boot must not stall on a reading
|
|
56
|
+
* that failed.
|
|
41
57
|
*
|
|
42
58
|
* @param snapshot - Reading, or null when unavailable
|
|
43
59
|
* @param thresholds - Effective thresholds
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"boot-pressure.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/agent/boot-pressure.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAMH,oEAAoE;AACpE,MAAM,WAAW,oBAAoB;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,OAAO,CAAC;IACpB,8CAA8C;IAC9C,YAAY,EAAE,OAAO,CAAC;CACtB;AAED,2DAA2D;AAC3D,MAAM,WAAW,sBAAsB;IACtC,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;CACxB;AAcD;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,sBAAsB,CAMnG;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CACjC,QAAQ,EAAE,oBAAoB,GAAG,IAAI,EACrC,UAAU,GAAE,sBAAiD,GAC3D,MAAM,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"boot-pressure.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/agent/boot-pressure.ts"],"names":[],"mappings":"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"}
|
|
@@ -38,11 +38,29 @@ export function bootPressureThresholds(env = process.env) {
|
|
|
38
38
|
launchSpacingMs: envInt(env[BOOT_PRESSURE_CONSTANTS.ENV_LAUNCH_SPACING_MS], BOOT_PRESSURE_CONSTANTS.MIN_LAUNCH_SPACING_MS),
|
|
39
39
|
};
|
|
40
40
|
}
|
|
41
|
+
/**
|
|
42
|
+
* The free-memory floor for this machine: the configured floor, capped at
|
|
43
|
+
* MIN_FREE_FRACTION of physical memory. A fixed 3 GB floor reads an 8 GB
|
|
44
|
+
* laptop as tight on every boot (2026-10-17: the Air held Fern back while
|
|
45
|
+
* its own health check said memory was fine).
|
|
46
|
+
*
|
|
47
|
+
* @param snapshot - Reading (its totalMB scales the floor)
|
|
48
|
+
* @param thresholds - Effective thresholds
|
|
49
|
+
* @returns Floor in MB
|
|
50
|
+
*/
|
|
51
|
+
export function effectiveMinFreeMB(snapshot, thresholds) {
|
|
52
|
+
if (!snapshot.totalMB || snapshot.totalMB <= 0)
|
|
53
|
+
return thresholds.minFreeMB;
|
|
54
|
+
return Math.min(thresholds.minFreeMB, Math.round(snapshot.totalMB * BOOT_PRESSURE_CONSTANTS.MIN_FREE_FRACTION));
|
|
55
|
+
}
|
|
41
56
|
/**
|
|
42
57
|
* Why the snapshot is tight for the boot, or null when it is calm. Tight:
|
|
43
|
-
* pressure mode,
|
|
44
|
-
*
|
|
45
|
-
*
|
|
58
|
+
* pressure mode, the OS pressure flag, free memory under the floor, or swap
|
|
59
|
+
* at or above the threshold while free memory is also under twice the
|
|
60
|
+
* floor. Swap fill alone does not count: macOS grows its swap file on
|
|
61
|
+
* demand, so a small swap file sits near full on a healthy machine. An
|
|
62
|
+
* unreadable snapshot (null) is calm: a boot must not stall on a reading
|
|
63
|
+
* that failed.
|
|
46
64
|
*
|
|
47
65
|
* @param snapshot - Reading, or null when unavailable
|
|
48
66
|
* @param thresholds - Effective thresholds
|
|
@@ -51,13 +69,17 @@ export function bootPressureThresholds(env = process.env) {
|
|
|
51
69
|
export function bootPressureReason(snapshot, thresholds = bootPressureThresholds()) {
|
|
52
70
|
if (!snapshot)
|
|
53
71
|
return null;
|
|
72
|
+
const floor = effectiveMinFreeMB(snapshot, thresholds);
|
|
54
73
|
const why = [];
|
|
55
74
|
if (snapshot.pressureMode)
|
|
56
75
|
why.push('pressure mode');
|
|
57
|
-
if (snapshot.
|
|
58
|
-
why.push(
|
|
59
|
-
if (snapshot.freeMB <
|
|
60
|
-
why.push(`free ${snapshot.freeMB}MB < ${
|
|
76
|
+
if (snapshot.osPressure)
|
|
77
|
+
why.push('OS memory pressure');
|
|
78
|
+
if (snapshot.freeMB < floor)
|
|
79
|
+
why.push(`free ${snapshot.freeMB}MB < ${floor}MB`);
|
|
80
|
+
else if (snapshot.swapUsedPercent >= thresholds.swapUsedPercent && snapshot.freeMB < floor * 2) {
|
|
81
|
+
why.push(`swap ${snapshot.swapUsedPercent}% >= ${thresholds.swapUsedPercent}% with free ${snapshot.freeMB}MB < ${floor * 2}MB`);
|
|
82
|
+
}
|
|
61
83
|
if (why.length === 0)
|
|
62
84
|
return null;
|
|
63
85
|
return `${why.join(', ')} (used=${snapshot.usedPercent}% free=${snapshot.freeMB}MB swap=${snapshot.swapUsedPercent}% osPressure=${snapshot.osPressure})`;
|
|
@@ -77,6 +99,7 @@ export function readBootPressureSnapshot() {
|
|
|
77
99
|
return {
|
|
78
100
|
usedPercent: mem.usedPercent,
|
|
79
101
|
freeMB: mem.freeMB,
|
|
102
|
+
totalMB: mem.totalMB,
|
|
80
103
|
swapUsedPercent: mem.swapUsedPercent ?? 0,
|
|
81
104
|
osPressure: mem.pressureElevated === true,
|
|
82
105
|
pressureMode: rm.getMode() === 'pressure',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"boot-pressure.js","sourceRoot":"","sources":["../../../../../../backend/src/services/agent/boot-pressure.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"boot-pressure.js","sourceRoot":"","sources":["../../../../../../backend/src/services/agent/boot-pressure.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"follow-through.wiring.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/agent/follow-through.wiring.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAA+C,KAAK,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAc/G,OAAO,EAAE,yBAAyB,EAAgE,MAAM,6BAA6B,CAAC;AACtI,OAAO,EAAkC,KAAK,iBAAiB,EAAE,KAAK,eAAe,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"follow-through.wiring.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/agent/follow-through.wiring.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,6 +23,7 @@ import { formatReminderAge, isPastReminderCutoff, reminderAgeMs } from '../orc/h
|
|
|
23
23
|
import { PtyActivityTrackerService } from './pty-activity-tracker.service.js';
|
|
24
24
|
import { AgentFollowThroughService, FOLLOW_THROUGH_CONSTANTS, getFollowThrough, setFollowThrough } from './follow-through.service.js';
|
|
25
25
|
import { holdReasonFor, releaseHeldWork } from './idle-work-guard.js';
|
|
26
|
+
import { getStallWatcher } from '../stall/stall-watcher.service.js';
|
|
26
27
|
const logger = LoggerService.getInstance().createComponentLogger('FollowThroughWiring');
|
|
27
28
|
/**
|
|
28
29
|
* Whether the agent handed the work off or put it on the pool since `since`:
|
|
@@ -188,6 +189,7 @@ export function idleWorkGuardDeps() {
|
|
|
188
189
|
listTickets: () => RequestService.getInstance().listAll(),
|
|
189
190
|
owesOwner: (session) => getOwnerThreadSentinel()?.owesOwner(session) ?? false,
|
|
190
191
|
holdsIntent: (session) => getFollowThrough()?.holdsIntent(session) ?? false,
|
|
192
|
+
holdsBackgroundRun: (session) => getStallWatcher()?.protectedRunReason(session) !== null && getStallWatcher() !== null,
|
|
191
193
|
owedAgeMs: (session) => {
|
|
192
194
|
const ages = [getOwnerThreadSentinel()?.owedAgeMs(session) ?? null, getFollowThrough()?.intentAgeMs(session) ?? null].filter((a) => a !== null);
|
|
193
195
|
return ages.length > 0 ? Math.min(...ages) : null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"follow-through.wiring.js","sourceRoot":"","sources":["../../../../../../backend/src/services/agent/follow-through.wiring.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,2BAA2B,EAAiB,MAAM,mCAAmC,CAAC;AAC/G,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC1F,OAAO,EAAE,sBAAsB,EAAE,MAAM,+CAA+C,CAAC;AACvF,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,yBAAyB,EAAE,MAAM,yCAAyC,CAAC;AACpF,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AACpG,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AACtI,OAAO,EAAE,aAAa,EAAE,eAAe,EAAgD,MAAM,sBAAsB,CAAC;AAEpH,MAAM,MAAM,GAAG,aAAa,CAAC,WAAW,EAAE,CAAC,qBAAqB,CAAC,qBAAqB,CAAC,CAAC;AAExF;;;;;;;;;GASG;AACH,MAAM,UAAU,cAAc,CAAC,KAA0B,EAAE,OAAe,EAAE,KAAa;IACxF,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE;QACxB,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,KAAK;YAAE,OAAO,KAAK,CAAC;QACnD,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,IAAI,EAAE,CAA4B,CAAC;QACzD,IAAI,EAAE,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;YAC3B,wEAAwE;YACxE,wEAAwE;YACxE,MAAM,OAAO,GAAG,EAAE,CAAC,MAAM,KAAK,QAAQ,IAAI,EAAE,CAAC,MAAM,KAAK,UAAU,IAAI,EAAE,CAAC,MAAM,KAAK,WAAW,IAAI,EAAE,CAAC,MAAM,KAAK,SAAS,CAAC;YAC3H,IAAI,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,CAAC,gBAAgB,CAAC,KAAK,QAAQ,CAAC;gBAAE,OAAO,IAAI,CAAC;QACxE,CAAC;QACD,OAAO,CAAC,CAAC,aAAa,CAAC,KAAK,OAAO,IAAI,CAAC,CAAC,WAAW,CAAC,KAAK,OAAO,IAAI,CAAC,CAAC,wBAAwB,CAAC,8BAA8B,CAAC,KAAK,OAAO,CAAC;IAC7I,CAAC,CAAC,CAAC;AACJ,CAAC;AASD;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAA6B;IAChE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,KAAK;QAAE,OAAO,IAAI,CAAC;IAC7F,MAAM,SAAS,GAAG,qBAAqB,CAAC,WAAW,EAAE,CAAC;IACtD,MAAM,OAAO,GAAG,yBAAyB,CAAC,WAAW,EAAE,CAAC;IACxD,MAAM,OAAO,GAAG,IAAI,yBAAyB,CAAC;QAC7C,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO;QACpF,eAAe,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC;QAC9E,gBAAgB,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,SAAS,CAAC,gBAAgB,CAAC,OAAO,CAAC;QAClE,eAAe,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;YACnC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC;gBAAE,OAAO,IAAI,CAAC;YAC/C,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC;QACzE,CAAC;QACD,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,cAAc,CAAC,MAAM,eAAe,CAAC,WAAW,EAAE,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC;QACtH,cAAc,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACjC,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,OAAO,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,yBAAyB,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;YAClJ,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QACxB,CAAC;QACD,UAAU,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,mBAAmB,CAAC,OAAO,CAAC;QAClF,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,wBAAwB,CAAC,QAAQ;QAC1H,MAAM,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,CAAC,kBAAkB,CAAC,OAAO,EAAE,QAAQ,CAAC;QACpE,MAAM,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,kBAAkB,CAAC,UAAU,CAAC;KACtD,CAAC,CAAC;IACH,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC1B,yEAAyE;IACzE,IAAI,UAAU;QAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IAC1C,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE;QAC7B,KAAK,OAAO,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAC7C,CAAC,EAAE,wBAAwB,CAAC,iBAAiB,CAAC,CAAC;IAC/C,UAAU,CAAC,KAAK,EAAE,EAAE,CAAC;IACrB,OAAO,OAAO,CAAC;AAChB,CAAC;AAED,IAAI,UAAU,GAA0C,IAAI,CAAC;AAE7D,6DAA6D;AAC7D,MAAM,CAAC,MAAM,oBAAoB,GAAG,eAAe,CAAC;AAEpD;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,OAAe,EAAE,QAAgB;IACzE,MAAM,IAAI,GAAG,eAAe,CAAC,WAAW,EAAE,CAAC;IAC3C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;IACrC,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CACpB,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,KAAK,OAAO,IAAK,EAAE,CAAC,QAAgD,EAAE,CAAC,gBAAgB,CAAC,KAAK,oBAAoB,IAAI,CAAC,2BAA2B,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,CACjL,CAAC;IACF,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC,EAAE,CAAC;IACzB,MAAM,KAAK,GAAG,mBAAmB,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;IACzD,+FAA+F;IAC/F,IAAI,yBAAyB,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,oBAAoB,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;QAAE,OAAO,IAAI,CAAC;IAClG,MAAM,EAAE,GAAG,cAAc,CAAC;QACzB,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,OAAO;QACd,MAAM,EAAE,OAAO;QACf,KAAK;QACL,WAAW,EAAE,gBAAgB,CAAC,QAAQ,CAAC;QACvC,QAAQ,EAAE,EAAE,cAAc,EAAE,oBAAoB,EAAE;KAClD,CAAC,CAAC;IACH,MAAM,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,CAAC;IACtD,OAAO,EAAE,CAAC,EAAE,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAAgB;IAChD,OAAO,CACN,wBAAwB,QAAQ,0FAA0F;QAC1H,0EAA0E,CAC1E,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,UAAkB;IAC1D,MAAM,IAAI,GAAG,eAAe,CAAC,WAAW,EAAE,CAAC;IAC3C,IAAI,CAAC;QACJ,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,uBAAuB,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC;IACzF,CAAC;IAAC,MAAM,CAAC;QACR,MAAM,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAC5E,CAAC;AACF,CAAC;AAED,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;AAEnC;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,OAAe;IACxD,IAAI,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC;QAAE,OAAO;IAClC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACtB,IAAI,CAAC;QACJ,MAAM,KAAK,GAAG,gBAAgB,EAAE,CAAC;QACjC,MAAM,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;QAChC,MAAM,IAAI,GAAG,eAAe,CAAC,WAAW,EAAE,CAAC;QAC3C,MAAM,OAAO,GAAG,MAAM,qBAAqB,CAAC,OAAO,EAAE;YACpD,WAAW,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,OAAO,EAAE;YACzD,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE;YACvC,WAAW,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC;YAC7E,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC,sBAAsB,EAAE,EAAE,aAAa,CAAC,QAAQ,EAAE,KAAK,CAAC;YACjG,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,IAAI,KAAK;YAC1D,eAAe,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,eAAe,CAAC,KAAK,CAAC;SACzD,CAAC,CAAC;QACH,KAAK,MAAM,CAAC,IAAI,OAAO;YAAE,MAAM,CAAC,IAAI,CAAC,8DAA8D,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IAChI,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,MAAM,CAAC,KAAK,CAAC,0CAA0C,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChI,CAAC;YAAS,CAAC;QACV,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC1B,CAAC;AACF,CAAC;AAED,yDAAyD;AACzD,MAAM,UAAU,iBAAiB;IAChC,OAAO;QACN,aAAa,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC,WAAW,EAAE;QAChE,WAAW,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,OAAO,EAAE;QACzD,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,sBAAsB,EAAE,EAAE,SAAS,CAAC,OAAO,CAAC,IAAI,KAAK;QAC7E,WAAW,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,gBAAgB,EAAE,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,KAAK;QAC3E,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE;YACtB,MAAM,IAAI,GAAG,CAAC,sBAAsB,EAAE,EAAE,SAAS,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,gBAAgB,EAAE,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;YAC7J,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACnD,CAAC;KACD,CAAC;AACH,CAAC;AAED,gEAAgE;AAChE,MAAM,UAAU,oBAAoB;IACnC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,iBAAiB,EAAE,CAAC,CAAC;AACjE,CAAC;AAED,mFAAmF;AACnF,MAAM,eAAe,GAAG,IAAI,GAAG,EAAkC,CAAC;AAElE,sDAAsD;AACtD,MAAM,UAAU,eAAe;IAC9B,MAAM,IAAI,GAAG,eAAe,CAAC,WAAW,EAAE,CAAC;IAC3C,OAAO;QACN,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE;QACvC,WAAW,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,MAAM,CAAC;QACzD,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YAC7B,MAAM,MAAM,GAAG,gBAAgB,EAAE,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;YACvD,IAAI,CAAC,MAAM;gBAAE,OAAO,IAAI,CAAC;YACzB,gEAAgE;YAChE,IAAI,MAAM,CAAC,UAAU;gBAAE,OAAO,MAAM,CAAC,UAAU,CAAC;YAChD,6FAA6F;YAC7F,oEAAoE;YACpE,MAAM,KAAK,GAAG,mBAAmB,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;YAChE,MAAM,IAAI,GAAG,yBAAyB,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;YAC9G,IAAI,IAAI;gBAAE,OAAO,2BAA2B,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/E,MAAM,EAAE,GAAG,cAAc,CAAC;gBACzB,IAAI,EAAE,UAAU;gBAChB,KAAK,EAAE,QAAQ;gBACf,MAAM,EAAE,OAAO;gBACf,KAAK,EAAE,mBAAmB,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE;gBACxD,WAAW,EACV,wBAAwB,MAAM,CAAC,QAAQ,wDAAwD;oBAC/F,4EAA4E;gBAC7E,QAAQ,EAAE,EAAE,cAAc,EAAE,eAAe,EAAE;aAC7C,CAAC,CAAC;YACH,MAAM,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,CAAC;YACtD,OAAO,EAAE,CAAC,EAAE,CAAC;QACd,CAAC;QACD,WAAW,EAAE,CAAC,OAAO,EAAE,EAAE;YACxB,MAAM,OAAO,GAAG,sBAAsB,EAAE,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC;YACnE,IAAI,CAAC,OAAO;gBAAE,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC3C,wEAAwE;YACxE,4EAA4E;YAC5E,2EAA2E;YAC3E,oEAAoE;YACpE,MAAM,OAAO,GAAG,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACjD,IAAI,OAAO;gBAAE,OAAO,OAAO,CAAC;YAC5B,MAAM,GAAG,GAAG,CAAC,KAAK,IAA4B,EAAE;gBAC/C,4EAA4E;gBAC5E,0EAA0E;gBAC1E,oEAAoE;gBACpE,qEAAqE;gBACrE,MAAM,KAAK,GAAG,mBAAmB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;gBAC7D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;gBAC1C,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE;oBACrC,MAAM,IAAI,GAAG,EAAE,CAAC,QAA+C,CAAC;oBAChE,OAAO,IAAI,EAAE,CAAC,YAAY,CAAC,KAAK,OAAO,CAAC,GAAG;2BACvC,CAAC,IAAI,EAAE,CAAC,YAAY,CAAC,KAAK,SAAS,IAAI,IAAI,EAAE,CAAC,gBAAgB,CAAC,KAAK,eAAe,IAAI,EAAE,CAAC,MAAM,KAAK,OAAO,IAAI,EAAE,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;gBACzI,CAAC,CAAC,IAAI,yBAAyB,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;gBACvF,IAAI,QAAQ,EAAE,CAAC;oBACd,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;oBAChC,OAAO,2BAA2B,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC9E,CAAC;gBACD,MAAM,EAAE,GAAG,cAAc,CAAC;oBACzB,IAAI,EAAE,UAAU;oBAChB,KAAK,EAAE,QAAQ;oBACf,MAAM,EAAE,OAAO;oBACf,KAAK;oBACL,WAAW,EAAE,4BAA4B,OAAO,CAAC,IAAI,iIAAiI;oBACtL,QAAQ,EAAE,EAAE,cAAc,EAAE,eAAe,EAAE,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE;iBACtE,CAAC,CAAC;gBACH,MAAM,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,CAAC;gBACtD,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;gBAC1B,OAAO,EAAE,CAAC,EAAE,CAAC;YACd,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;YACxD,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACtC,OAAO,GAAG,CAAC;QACZ,CAAC;KACD,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAA0B,EAAE,OAAe;IAC3E,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACzB,6GAA6G;IAC7G,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,KAAK,OAAO,IAAI,EAAE,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;IACnI,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACrC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;QAC3C,MAAM,GAAG,GAAG,aAAa,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC/C,OAAO,KAAK,EAAE,CAAC,KAAK,GAAG,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,iBAAiB,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IACvF,CAAC,CAAC,CAAC;IACH,OAAO,CACN,uNAAuN;QACvN,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;QAChB,qKAAqK,CACrK,CAAC;AACH,CAAC;AAED,2EAA2E;AAC3E,MAAM,CAAC,MAAM,oBAAoB,GAAG,kBAAkB,CAAC;AAoBvD,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;AAEpC;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,OAAe,EAAE,GAAW,EAAE,IAAsB;IACjG,IAAI,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC;QAAE,OAAO,KAAK,CAAC;IACzC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACvB,IAAI,CAAC;QACJ,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;YAAE,OAAO,KAAK,CAAC;QAC3C,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,kBAAkB,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACzD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,MAAM,IAAI,CAAC,aAAa,EAAE,EAAE,OAAO,CAAC,CAAC;QACvE,IAAI,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC;QAC5B,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC9D,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;YAAE,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAChE,MAAM,CAAC,IAAI,CAAC,sDAAsD,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;QACtF,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC5B,OAAO,IAAI,CAAC;IACb,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,MAAM,CAAC,IAAI,CAAC,kDAAkD,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACtI,OAAO,KAAK,CAAC;IACd,CAAC;YAAS,CAAC;QACV,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC;AACF,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAe,EAAE,GAAW;IAC9D,OAAO,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,eAAe,EAAE,CAAC,CAAC;AACzD,CAAC"}
|
|
1
|
+
{"version":3,"file":"follow-through.wiring.js","sourceRoot":"","sources":["../../../../../../backend/src/services/agent/follow-through.wiring.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Work a restart cut off inside an agent's Claude Code conversation
|
|
3
|
+
* (crewly#1361). A `tool_use` block whose `tool_use_id` never received a
|
|
4
|
+
* `tool_result` before the transcript ends was still running when the process
|
|
5
|
+
* died: a sub-agent (Task / Agent tool) or a background / long-running shell
|
|
6
|
+
* command. Neither survives the restart, but the agent's last words in the
|
|
7
|
+
* transcript say the work is "still in progress", so a resumed agent waited on
|
|
8
|
+
* it for 16 hours. The handover lists these calls as interrupted, near its
|
|
9
|
+
* top and again under "Open work", so the new conversation restarts them or
|
|
10
|
+
* reports them lost instead of waiting.
|
|
11
|
+
*
|
|
12
|
+
* @module services/agent/handover-interrupted
|
|
13
|
+
*/
|
|
14
|
+
/** A `tool_use` block of the transcript that has not received its result (yet). */
|
|
15
|
+
export interface PendingToolCall {
|
|
16
|
+
/** `tool_use.id` */
|
|
17
|
+
id: string;
|
|
18
|
+
/** Tool name ("Task", "Agent", "Bash", …) */
|
|
19
|
+
name: string;
|
|
20
|
+
/** `tool_use.input` as recorded */
|
|
21
|
+
input: unknown;
|
|
22
|
+
}
|
|
23
|
+
/** One interrupted call, as the handover describes it. */
|
|
24
|
+
export interface InterruptedWork {
|
|
25
|
+
kind: 'sub-agent' | 'background-command';
|
|
26
|
+
/** What it was doing: the sub-agent's description and prompt head, or the command head (clipped) */
|
|
27
|
+
text: string;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Whether a pending call is long-running work that dies with the process: a
|
|
31
|
+
* sub-agent, or a shell command run in the background or that looks like a
|
|
32
|
+
* render / encode / build ({@link HANDOVER_CONSTANTS.LONG_COMMAND_PATTERN}).
|
|
33
|
+
* A short command that merely had no result yet (the last `cat` before the
|
|
34
|
+
* cut) is not listed: nothing was lost but its output.
|
|
35
|
+
*
|
|
36
|
+
* @param call - Pending tool call
|
|
37
|
+
* @returns The interrupted work it stands for, or null
|
|
38
|
+
*/
|
|
39
|
+
export declare function interruptedFromCall(call: PendingToolCall): InterruptedWork | null;
|
|
40
|
+
/**
|
|
41
|
+
* The interrupted work among the calls still pending at the end of a
|
|
42
|
+
* transcript, oldest first, at most {@link HANDOVER_CONSTANTS.INTERRUPTED_MAX_ITEMS}.
|
|
43
|
+
*
|
|
44
|
+
* @param pending - Tool calls without a result, in transcript order
|
|
45
|
+
* @returns Interrupted sub-agents and background commands
|
|
46
|
+
*
|
|
47
|
+
* @example
|
|
48
|
+
* interruptedWork([{ id: 't1', name: 'Task', input: { description: 'Make v4', prompt: '…' } }])
|
|
49
|
+
* // → [{ kind: 'sub-agent', text: 'Make v4: …' }]
|
|
50
|
+
*/
|
|
51
|
+
export declare function interruptedWork(pending: readonly PendingToolCall[]): InterruptedWork[];
|
|
52
|
+
/**
|
|
53
|
+
* One bullet of the section.
|
|
54
|
+
*
|
|
55
|
+
* @param item - Interrupted work
|
|
56
|
+
* @returns The line
|
|
57
|
+
*/
|
|
58
|
+
export declare function interruptedLine(item: InterruptedWork): string;
|
|
59
|
+
/**
|
|
60
|
+
* The "Interrupted by the restart" section of a handover: factual, one bullet
|
|
61
|
+
* per call, nothing about mechanics.
|
|
62
|
+
*
|
|
63
|
+
* @param items - Interrupted work
|
|
64
|
+
* @returns Markdown, or '' when nothing was interrupted
|
|
65
|
+
*/
|
|
66
|
+
export declare function formatInterruptedSection(items: readonly InterruptedWork[]): string;
|
|
67
|
+
/**
|
|
68
|
+
* Read the interrupted work back out of a handover body that carries the
|
|
69
|
+
* section (the pointers header is written by a different module and lists
|
|
70
|
+
* the same items under "Open work").
|
|
71
|
+
*
|
|
72
|
+
* @param body - Handover body
|
|
73
|
+
* @returns The items, in order; [] when the section is absent
|
|
74
|
+
*/
|
|
75
|
+
export declare function interruptedFromHandoverBody(body: string): InterruptedWork[];
|
|
76
|
+
//# sourceMappingURL=handover-interrupted.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handover-interrupted.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/agent/handover-interrupted.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAMH,mFAAmF;AACnF,MAAM,WAAW,eAAe;IAC/B,oBAAoB;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,6CAA6C;IAC7C,IAAI,EAAE,MAAM,CAAC;IACb,mCAAmC;IACnC,KAAK,EAAE,OAAO,CAAC;CACf;AAED,0DAA0D;AAC1D,MAAM,WAAW,eAAe;IAC/B,IAAI,EAAE,WAAW,GAAG,oBAAoB,CAAC;IACzC,oGAAoG;IACpG,IAAI,EAAE,MAAM,CAAC;CACb;AA2BD;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,eAAe,GAAG,eAAe,GAAG,IAAI,CAcjF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,SAAS,eAAe,EAAE,GAAG,eAAe,EAAE,CAQtF;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM,CAI7D;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,SAAS,eAAe,EAAE,GAAG,MAAM,CAGlF;AAED;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,EAAE,CAe3E"}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Work a restart cut off inside an agent's Claude Code conversation
|
|
3
|
+
* (crewly#1361). A `tool_use` block whose `tool_use_id` never received a
|
|
4
|
+
* `tool_result` before the transcript ends was still running when the process
|
|
5
|
+
* died: a sub-agent (Task / Agent tool) or a background / long-running shell
|
|
6
|
+
* command. Neither survives the restart, but the agent's last words in the
|
|
7
|
+
* transcript say the work is "still in progress", so a resumed agent waited on
|
|
8
|
+
* it for 16 hours. The handover lists these calls as interrupted, near its
|
|
9
|
+
* top and again under "Open work", so the new conversation restarts them or
|
|
10
|
+
* reports them lost instead of waiting.
|
|
11
|
+
*
|
|
12
|
+
* @module services/agent/handover-interrupted
|
|
13
|
+
*/
|
|
14
|
+
import { HANDOVER_CONSTANTS } from '../../constants.js';
|
|
15
|
+
const C = HANDOVER_CONSTANTS;
|
|
16
|
+
/**
|
|
17
|
+
* Clip to one line of at most {@link HANDOVER_CONSTANTS.INTERRUPTED_TEXT_MAX_CHARS}
|
|
18
|
+
* characters, without a trailing full stop (the bullet adds its own sentence).
|
|
19
|
+
*
|
|
20
|
+
* @param text - Text
|
|
21
|
+
* @returns One line
|
|
22
|
+
*/
|
|
23
|
+
function clip(text) {
|
|
24
|
+
const flat = text.replace(/\s+/g, ' ').trim().replace(/[.。]+$/u, '');
|
|
25
|
+
return flat.length > C.INTERRUPTED_TEXT_MAX_CHARS ? `${flat.slice(0, C.INTERRUPTED_TEXT_MAX_CHARS)}…` : flat;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* A string field of a tool input object, or ''.
|
|
29
|
+
*
|
|
30
|
+
* @param input - `tool_use.input`
|
|
31
|
+
* @param key - Field name
|
|
32
|
+
* @returns The field when it is a string
|
|
33
|
+
*/
|
|
34
|
+
function field(input, key) {
|
|
35
|
+
if (!input || typeof input !== 'object')
|
|
36
|
+
return '';
|
|
37
|
+
const v = input[key];
|
|
38
|
+
return typeof v === 'string' ? v : '';
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Whether a pending call is long-running work that dies with the process: a
|
|
42
|
+
* sub-agent, or a shell command run in the background or that looks like a
|
|
43
|
+
* render / encode / build ({@link HANDOVER_CONSTANTS.LONG_COMMAND_PATTERN}).
|
|
44
|
+
* A short command that merely had no result yet (the last `cat` before the
|
|
45
|
+
* cut) is not listed: nothing was lost but its output.
|
|
46
|
+
*
|
|
47
|
+
* @param call - Pending tool call
|
|
48
|
+
* @returns The interrupted work it stands for, or null
|
|
49
|
+
*/
|
|
50
|
+
export function interruptedFromCall(call) {
|
|
51
|
+
if (C.SUBAGENT_TOOLS.includes(call.name)) {
|
|
52
|
+
const description = field(call.input, 'description');
|
|
53
|
+
const prompt = field(call.input, 'prompt');
|
|
54
|
+
const text = clip([description, prompt].filter(Boolean).join(': ') || call.name);
|
|
55
|
+
return { kind: 'sub-agent', text };
|
|
56
|
+
}
|
|
57
|
+
if (C.SHELL_TOOLS.includes(call.name)) {
|
|
58
|
+
const command = field(call.input, 'command');
|
|
59
|
+
const background = !!call.input && typeof call.input === 'object' && call.input.run_in_background === true;
|
|
60
|
+
if (!background && !C.LONG_COMMAND_PATTERN.test(command))
|
|
61
|
+
return null;
|
|
62
|
+
return { kind: 'background-command', text: clip(command || call.name) };
|
|
63
|
+
}
|
|
64
|
+
return null;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* The interrupted work among the calls still pending at the end of a
|
|
68
|
+
* transcript, oldest first, at most {@link HANDOVER_CONSTANTS.INTERRUPTED_MAX_ITEMS}.
|
|
69
|
+
*
|
|
70
|
+
* @param pending - Tool calls without a result, in transcript order
|
|
71
|
+
* @returns Interrupted sub-agents and background commands
|
|
72
|
+
*
|
|
73
|
+
* @example
|
|
74
|
+
* interruptedWork([{ id: 't1', name: 'Task', input: { description: 'Make v4', prompt: '…' } }])
|
|
75
|
+
* // → [{ kind: 'sub-agent', text: 'Make v4: …' }]
|
|
76
|
+
*/
|
|
77
|
+
export function interruptedWork(pending) {
|
|
78
|
+
const out = [];
|
|
79
|
+
for (const call of pending) {
|
|
80
|
+
const item = interruptedFromCall(call);
|
|
81
|
+
if (item)
|
|
82
|
+
out.push(item);
|
|
83
|
+
if (out.length >= C.INTERRUPTED_MAX_ITEMS)
|
|
84
|
+
break;
|
|
85
|
+
}
|
|
86
|
+
return out;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* One bullet of the section.
|
|
90
|
+
*
|
|
91
|
+
* @param item - Interrupted work
|
|
92
|
+
* @returns The line
|
|
93
|
+
*/
|
|
94
|
+
export function interruptedLine(item) {
|
|
95
|
+
return item.kind === 'sub-agent'
|
|
96
|
+
? `${C.SUBAGENT_LINE_PREFIX}${item.text}${C.SUBAGENT_LINE_SUFFIX}`
|
|
97
|
+
: `${C.COMMAND_LINE_PREFIX}${item.text}${C.COMMAND_LINE_SUFFIX}`;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* The "Interrupted by the restart" section of a handover: factual, one bullet
|
|
101
|
+
* per call, nothing about mechanics.
|
|
102
|
+
*
|
|
103
|
+
* @param items - Interrupted work
|
|
104
|
+
* @returns Markdown, or '' when nothing was interrupted
|
|
105
|
+
*/
|
|
106
|
+
export function formatInterruptedSection(items) {
|
|
107
|
+
if (items.length === 0)
|
|
108
|
+
return '';
|
|
109
|
+
return [C.INTERRUPTED_HEADING, '', ...items.map(interruptedLine)].join('\n');
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Read the interrupted work back out of a handover body that carries the
|
|
113
|
+
* section (the pointers header is written by a different module and lists
|
|
114
|
+
* the same items under "Open work").
|
|
115
|
+
*
|
|
116
|
+
* @param body - Handover body
|
|
117
|
+
* @returns The items, in order; [] when the section is absent
|
|
118
|
+
*/
|
|
119
|
+
export function interruptedFromHandoverBody(body) {
|
|
120
|
+
const start = body.indexOf(C.INTERRUPTED_HEADING);
|
|
121
|
+
if (start === -1)
|
|
122
|
+
return [];
|
|
123
|
+
const out = [];
|
|
124
|
+
for (const raw of body.slice(start + C.INTERRUPTED_HEADING.length).split('\n')) {
|
|
125
|
+
const line = raw.trim();
|
|
126
|
+
if (!line)
|
|
127
|
+
continue;
|
|
128
|
+
if (!line.startsWith('- '))
|
|
129
|
+
break;
|
|
130
|
+
if (line.startsWith(C.SUBAGENT_LINE_PREFIX) && line.endsWith(C.SUBAGENT_LINE_SUFFIX)) {
|
|
131
|
+
out.push({ kind: 'sub-agent', text: line.slice(C.SUBAGENT_LINE_PREFIX.length, line.length - C.SUBAGENT_LINE_SUFFIX.length) });
|
|
132
|
+
}
|
|
133
|
+
else if (line.startsWith(C.COMMAND_LINE_PREFIX) && line.endsWith(C.COMMAND_LINE_SUFFIX)) {
|
|
134
|
+
out.push({ kind: 'background-command', text: line.slice(C.COMMAND_LINE_PREFIX.length, line.length - C.COMMAND_LINE_SUFFIX.length) });
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
return out;
|
|
138
|
+
}
|
|
139
|
+
//# sourceMappingURL=handover-interrupted.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handover-interrupted.js","sourceRoot":"","sources":["../../../../../../backend/src/services/agent/handover-interrupted.ts"],"names":[],"mappings":"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"}
|
|
@@ -49,6 +49,10 @@ export declare function suggestedSkillsFor(role?: string): string[];
|
|
|
49
49
|
* Prepend the pointer header to a handover body. Does nothing when the body
|
|
50
50
|
* already starts with one (chained handovers carry no second copy).
|
|
51
51
|
*
|
|
52
|
+
* Work the restart interrupted (a sub-agent or background command the body's
|
|
53
|
+
* "Interrupted by the restart" section lists, crewly#1361) is repeated under
|
|
54
|
+
* "Open work": it is the agent's to restart or report, not background.
|
|
55
|
+
*
|
|
52
56
|
* @param body - Handover body (the transcript tail)
|
|
53
57
|
* @param opts - Session, optional role, optional CREWLY_HOME and open work override (tests)
|
|
54
58
|
* @returns Header plus body, redacted
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handover-pointers.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/agent/handover-pointers.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"handover-pointers.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/agent/handover-pointers.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AASH,sCAAsC;AACtC,MAAM,WAAW,gBAAgB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CACf;AAID;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,GAAE,MAA4B,GAAG,gBAAgB,EAAE,CAkBlH;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAKxD;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAM1D;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CACnC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,gBAAgB,EAAE,CAAA;CAAE,GAC9F,MAAM,CAYR;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAK1D"}
|
|
@@ -12,6 +12,7 @@ import * as path from 'path';
|
|
|
12
12
|
import { redactSecrets } from '../../utils/secret-redactor.js';
|
|
13
13
|
import { getCrewlyHomePath } from '../core/crewly-home.utils.js';
|
|
14
14
|
import { HANDOVER_POINTERS_CONSTANTS } from '../../constants.js';
|
|
15
|
+
import { interruptedFromHandoverBody } from './handover-interrupted.js';
|
|
15
16
|
const C = HANDOVER_POINTERS_CONSTANTS;
|
|
16
17
|
/**
|
|
17
18
|
* Mask secrets (keys, tokens, bearer headers, `NAME=value` secrets) in text
|
|
@@ -85,6 +86,10 @@ export function suggestedSkillsFor(role) {
|
|
|
85
86
|
* Prepend the pointer header to a handover body. Does nothing when the body
|
|
86
87
|
* already starts with one (chained handovers carry no second copy).
|
|
87
88
|
*
|
|
89
|
+
* Work the restart interrupted (a sub-agent or background command the body's
|
|
90
|
+
* "Interrupted by the restart" section lists, crewly#1361) is repeated under
|
|
91
|
+
* "Open work": it is the agent's to restart or report, not background.
|
|
92
|
+
*
|
|
88
93
|
* @param body - Handover body (the transcript tail)
|
|
89
94
|
* @param opts - Session, optional role, optional CREWLY_HOME and open work override (tests)
|
|
90
95
|
* @returns Header plus body, redacted
|
|
@@ -93,13 +98,15 @@ export function withHandoverPointers(body, opts) {
|
|
|
93
98
|
if (body.includes(C.START_MARK))
|
|
94
99
|
return body;
|
|
95
100
|
const open = opts.openWork ?? readOpenWorkSync(opts.sessionName, opts.crewlyHome);
|
|
101
|
+
const interrupted = interruptedFromHandoverBody(body);
|
|
96
102
|
const links = findArtifactLinks(body);
|
|
97
103
|
const lines = [C.START_MARK, '## Open work', ''];
|
|
98
|
-
if (open.length === 0)
|
|
104
|
+
if (open.length === 0 && interrupted.length === 0)
|
|
99
105
|
lines.push('None open for you (no WorkItems in flight).');
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
106
|
+
for (const w of open)
|
|
107
|
+
lines.push(`- ${w.id} — ${w.title} (${w.status})`);
|
|
108
|
+
for (const i of interrupted)
|
|
109
|
+
lines.push(`- Interrupted by the restart (${i.kind === 'sub-agent' ? 'sub-agent' : 'background command'}, not running now): ${i.text}`);
|
|
103
110
|
if (links.length)
|
|
104
111
|
lines.push('', 'Mentioned in the conversation: ' + links.join(', '));
|
|
105
112
|
lines.push('', `## Suggested skills`, '', `Call the Skill tool for: ${suggestedSkillsFor(opts.role).join(', ')}.`, C.END_MARK, '');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handover-pointers.js","sourceRoot":"","sources":["../../../../../../backend/src/services/agent/handover-pointers.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"handover-pointers.js","sourceRoot":"","sources":["../../../../../../backend/src/services/agent/handover-pointers.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,7 +17,7 @@ import type { Request } from '../../types/v2/request.types.js';
|
|
|
17
17
|
/** WorkItem statuses that mean "this agent owes this work". */
|
|
18
18
|
export declare const HELD_WORK_STATUSES: ReadonlySet<WorkItemStatus>;
|
|
19
19
|
/** Why an agent must not be idle-stopped. */
|
|
20
|
-
export type HoldReason = 'work_item' | 'ticket' | 'promise' | 'stated_intent' | 'fresh_promise';
|
|
20
|
+
export type HoldReason = 'work_item' | 'ticket' | 'promise' | 'stated_intent' | 'fresh_promise' | 'background_run';
|
|
21
21
|
/**
|
|
22
22
|
* A promise or stated intent younger than this is kept even under memory
|
|
23
23
|
* pressure (the emergency stop is the only thing that overrides it): stopping
|
|
@@ -33,6 +33,8 @@ export interface IdleWorkGuardDeps {
|
|
|
33
33
|
owesOwner: (session: string) => boolean;
|
|
34
34
|
/** An unfulfilled "I'm doing X now" */
|
|
35
35
|
holdsIntent: (session: string) => boolean;
|
|
36
|
+
/** A background run the agent announced is still expected (stall watcher, crewly#1363) */
|
|
37
|
+
holdsBackgroundRun?: (session: string) => boolean;
|
|
36
38
|
/** Age in ms of the newest promise / stated intent / unanswered owner message, or null */
|
|
37
39
|
owedAgeMs?: (session: string) => number | null;
|
|
38
40
|
now?: () => number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"idle-work-guard.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/agent/idle-work-guard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAClF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAC;AAE/D,+DAA+D;AAC/D,eAAO,MAAM,kBAAkB,EAAE,WAAW,CAAC,cAAc,CAA0E,CAAC;AAKtI,6CAA6C;AAC7C,MAAM,MAAM,UAAU,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,GAAG,eAAe,GAAG,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"idle-work-guard.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/agent/idle-work-guard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAClF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAC;AAE/D,+DAA+D;AAC/D,eAAO,MAAM,kBAAkB,EAAE,WAAW,CAAC,cAAc,CAA0E,CAAC;AAKtI,6CAA6C;AAC7C,MAAM,MAAM,UAAU,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,GAAG,eAAe,GAAG,eAAe,GAAG,gBAAgB,CAAC;AAEnH;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,QAAc,CAAC;AAE5C,4BAA4B;AAC5B,MAAM,WAAW,iBAAiB;IACjC,aAAa,EAAE,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IACzC,WAAW,EAAE,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IACtC,qEAAqE;IACrE,SAAS,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;IACxC,uCAAuC;IACvC,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;IAC1C,0FAA0F;IAC1F,kBAAkB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;IAClD,0FAA0F;IAC1F,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IAC/C,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACnB;AAED,wGAAwG;AACxG,eAAO,MAAM,sBAAsB,QAAmB,CAAC;AAEvD;;;;;;GAMG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAuBxG;AAED,0CAA0C;AAC1C,MAAM,WAAW,eAAe;IAC/B,aAAa,EAAE,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IACzC,iEAAiE;IACjE,WAAW,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACnE,uFAAuF;IACvF,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACzD,+FAA+F;IAC/F,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CAC1D;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAkB5G"}
|
|
@@ -40,6 +40,8 @@ export async function holdReasonFor(session, deps) {
|
|
|
40
40
|
return 'promise';
|
|
41
41
|
if (deps.holdsIntent(session))
|
|
42
42
|
return 'stated_intent';
|
|
43
|
+
if (deps.holdsBackgroundRun?.(session))
|
|
44
|
+
return 'background_run';
|
|
43
45
|
const items = await deps.listWorkItems();
|
|
44
46
|
if (items.some((wi) => wi.target === session && HELD_WORK_STATUSES.has(wi.status)))
|
|
45
47
|
return 'work_item';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"idle-work-guard.js","sourceRoot":"","sources":["../../../../../../backend/src/services/agent/idle-work-guard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAKH,+DAA+D;AAC/D,MAAM,CAAC,MAAM,kBAAkB,GAAgC,IAAI,GAAG,CAAiB,CAAC,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC;AAEtI,mEAAmE;AACnE,MAAM,oBAAoB,GAAwB,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;AAKxF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,GAAG,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"idle-work-guard.js","sourceRoot":"","sources":["../../../../../../backend/src/services/agent/idle-work-guard.ts"],"names":[],"mappings":"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"}
|