crewly 1.20.278 → 1.20.280
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/skills/agent/core/reply/SKILL.md +3 -0
- package/config/skills/agent/core/reply/execute.sh +23 -1
- package/config/skills/agent/core/reply/execute.test.sh +11 -0
- package/dist/backend/backend/src/constants.d.ts +115 -0
- package/dist/backend/backend/src/constants.d.ts.map +1 -1
- package/dist/backend/backend/src/constants.js +115 -0
- package/dist/backend/backend/src/constants.js.map +1 -1
- package/dist/backend/backend/src/controllers/chat/agent-reply.controller.d.ts +10 -0
- package/dist/backend/backend/src/controllers/chat/agent-reply.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/chat/agent-reply.controller.js +25 -0
- package/dist/backend/backend/src/controllers/chat/agent-reply.controller.js.map +1 -1
- package/dist/backend/backend/src/index.d.ts.map +1 -1
- package/dist/backend/backend/src/index.js +207 -3
- package/dist/backend/backend/src/index.js.map +1 -1
- package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/agent-registration.service.js +4 -2
- package/dist/backend/backend/src/services/agent/agent-registration.service.js.map +1 -1
- package/dist/backend/backend/src/services/agent/idle-detection.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/idle-detection.service.js +7 -0
- package/dist/backend/backend/src/services/agent/idle-detection.service.js.map +1 -1
- package/dist/backend/backend/src/services/agent/resource-mode.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/resource-mode.service.js +4 -1
- package/dist/backend/backend/src/services/agent/resource-mode.service.js.map +1 -1
- package/dist/backend/backend/src/services/briefing/briefing-cards.d.ts +99 -0
- package/dist/backend/backend/src/services/briefing/briefing-cards.d.ts.map +1 -0
- package/dist/backend/backend/src/services/briefing/briefing-cards.js +156 -0
- package/dist/backend/backend/src/services/briefing/briefing-cards.js.map +1 -0
- package/dist/backend/backend/src/services/briefing/briefing.service.d.ts +8 -0
- package/dist/backend/backend/src/services/briefing/briefing.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/briefing/briefing.service.js +31 -9
- package/dist/backend/backend/src/services/briefing/briefing.service.js.map +1 -1
- package/dist/backend/backend/src/services/chat-v2/chat-v2.service.d.ts +33 -1
- package/dist/backend/backend/src/services/chat-v2/chat-v2.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/chat-v2/chat-v2.service.js +33 -0
- package/dist/backend/backend/src/services/chat-v2/chat-v2.service.js.map +1 -1
- package/dist/backend/backend/src/services/chat-v2/sqlite/message.store.d.ts +21 -0
- package/dist/backend/backend/src/services/chat-v2/sqlite/message.store.d.ts.map +1 -1
- package/dist/backend/backend/src/services/chat-v2/sqlite/message.store.js +37 -0
- package/dist/backend/backend/src/services/chat-v2/sqlite/message.store.js.map +1 -1
- package/dist/backend/backend/src/services/cloud/cloud-talk-inbound.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/cloud/cloud-talk-inbound.service.js +4 -0
- package/dist/backend/backend/src/services/cloud/cloud-talk-inbound.service.js.map +1 -1
- package/dist/backend/backend/src/services/drive/drive-agent.service.d.ts +244 -0
- package/dist/backend/backend/src/services/drive/drive-agent.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/drive/drive-agent.service.js +444 -0
- package/dist/backend/backend/src/services/drive/drive-agent.service.js.map +1 -0
- package/dist/backend/backend/src/services/drive/drive-briefing-snapshot.d.ts +172 -0
- package/dist/backend/backend/src/services/drive/drive-briefing-snapshot.d.ts.map +1 -0
- package/dist/backend/backend/src/services/drive/drive-briefing-snapshot.js +301 -0
- package/dist/backend/backend/src/services/drive/drive-briefing-snapshot.js.map +1 -0
- package/dist/backend/backend/src/services/drive/drive-briefing-sync.service.d.ts +112 -0
- package/dist/backend/backend/src/services/drive/drive-briefing-sync.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/drive/drive-briefing-sync.service.js +247 -0
- package/dist/backend/backend/src/services/drive/drive-briefing-sync.service.js.map +1 -0
- package/dist/backend/backend/src/services/drive/drive-briefing.contract.d.ts +88 -0
- package/dist/backend/backend/src/services/drive/drive-briefing.contract.d.ts.map +1 -0
- package/dist/backend/backend/src/services/drive/drive-briefing.contract.js +18 -0
- package/dist/backend/backend/src/services/drive/drive-briefing.contract.js.map +1 -0
- package/dist/backend/backend/src/services/drive/drive-briefing.wiring.d.ts +73 -0
- package/dist/backend/backend/src/services/drive/drive-briefing.wiring.d.ts.map +1 -0
- package/dist/backend/backend/src/services/drive/drive-briefing.wiring.js +131 -0
- package/dist/backend/backend/src/services/drive/drive-briefing.wiring.js.map +1 -0
- package/dist/backend/backend/src/services/drive/drive-cloud.contract.d.ts +99 -0
- package/dist/backend/backend/src/services/drive/drive-cloud.contract.d.ts.map +1 -0
- package/dist/backend/backend/src/services/drive/drive-cloud.contract.js +118 -0
- package/dist/backend/backend/src/services/drive/drive-cloud.contract.js.map +1 -0
- package/dist/backend/backend/src/services/drive/drive-conversation.store.d.ts +86 -0
- package/dist/backend/backend/src/services/drive/drive-conversation.store.d.ts.map +1 -0
- package/dist/backend/backend/src/services/drive/drive-conversation.store.js +102 -0
- package/dist/backend/backend/src/services/drive/drive-conversation.store.js.map +1 -0
- package/dist/backend/backend/src/services/drive/drive-keep-warm.d.ts +72 -0
- package/dist/backend/backend/src/services/drive/drive-keep-warm.d.ts.map +1 -0
- package/dist/backend/backend/src/services/drive/drive-keep-warm.js +109 -0
- package/dist/backend/backend/src/services/drive/drive-keep-warm.js.map +1 -0
- package/dist/backend/backend/src/services/drive/drive-recall.d.ts +65 -0
- package/dist/backend/backend/src/services/drive/drive-recall.d.ts.map +1 -0
- package/dist/backend/backend/src/services/drive/drive-recall.js +91 -0
- package/dist/backend/backend/src/services/drive/drive-recall.js.map +1 -0
- package/dist/backend/backend/src/services/drive/drive-row.utils.d.ts +19 -0
- package/dist/backend/backend/src/services/drive/drive-row.utils.d.ts.map +1 -0
- package/dist/backend/backend/src/services/drive/drive-row.utils.js +20 -0
- package/dist/backend/backend/src/services/drive/drive-row.utils.js.map +1 -0
- package/dist/backend/backend/src/services/messaging/owner-hook-message.d.ts.map +1 -1
- package/dist/backend/backend/src/services/messaging/owner-hook-message.js +11 -5
- package/dist/backend/backend/src/services/messaging/owner-hook-message.js.map +1 -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 +14 -2
- package/dist/backend/backend/src/services/open-items/open-items.service.js.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-agent-dm.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-agent-dm.service.js +4 -0
- package/dist/backend/backend/src/services/slack/slack-agent-dm.service.js.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-initializer.d.ts.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-initializer.js +2 -1
- package/dist/backend/backend/src/services/slack/slack-initializer.js.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-team-channel.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-team-channel.service.js +7 -1
- package/dist/backend/backend/src/services/slack/slack-team-channel.service.js.map +1 -1
- package/dist/backend/backend/src/services/talk/talk-live-token.service.d.ts +23 -7
- package/dist/backend/backend/src/services/talk/talk-live-token.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/talk/talk-live-token.service.js +78 -40
- package/dist/backend/backend/src/services/talk/talk-live-token.service.js.map +1 -1
- package/dist/backend/build-info.json +2 -2
- package/dist/cli/backend/src/constants.d.ts +115 -0
- package/dist/cli/backend/src/constants.d.ts.map +1 -1
- package/dist/cli/backend/src/constants.js +115 -0
- package/dist/cli/backend/src/constants.js.map +1 -1
- package/dist/cli/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/agent/agent-registration.service.js +4 -2
- package/dist/cli/backend/src/services/agent/agent-registration.service.js.map +1 -1
- package/dist/cli/backend/src/services/agent/resource-mode.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/agent/resource-mode.service.js +4 -1
- package/dist/cli/backend/src/services/agent/resource-mode.service.js.map +1 -1
- package/dist/cli/backend/src/services/chat-v2/chat-v2.service.d.ts +33 -1
- package/dist/cli/backend/src/services/chat-v2/chat-v2.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/chat-v2/chat-v2.service.js +33 -0
- package/dist/cli/backend/src/services/chat-v2/chat-v2.service.js.map +1 -1
- package/dist/cli/backend/src/services/chat-v2/sqlite/message.store.d.ts +21 -0
- package/dist/cli/backend/src/services/chat-v2/sqlite/message.store.d.ts.map +1 -1
- package/dist/cli/backend/src/services/chat-v2/sqlite/message.store.js +37 -0
- package/dist/cli/backend/src/services/chat-v2/sqlite/message.store.js.map +1 -1
- package/dist/cli/backend/src/services/drive/drive-keep-warm.d.ts +72 -0
- package/dist/cli/backend/src/services/drive/drive-keep-warm.d.ts.map +1 -0
- package/dist/cli/backend/src/services/drive/drive-keep-warm.js +109 -0
- package/dist/cli/backend/src/services/drive/drive-keep-warm.js.map +1 -0
- package/dist/cli/backend/src/services/drive/drive-row.utils.d.ts +19 -0
- package/dist/cli/backend/src/services/drive/drive-row.utils.d.ts.map +1 -0
- package/dist/cli/backend/src/services/drive/drive-row.utils.js +20 -0
- package/dist/cli/backend/src/services/drive/drive-row.utils.js.map +1 -0
- 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 +14 -2
- package/dist/cli/backend/src/services/open-items/open-items.service.js.map +1 -1
- package/dist/cli/backend/src/services/slack/slack-agent-dm.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/slack/slack-agent-dm.service.js +4 -0
- package/dist/cli/backend/src/services/slack/slack-agent-dm.service.js.map +1 -1
- package/dist/cli/backend/src/services/slack/slack-team-channel.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/slack/slack-team-channel.service.js +7 -1
- package/dist/cli/backend/src/services/slack/slack-team-channel.service.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"idle-detection.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/agent/idle-detection.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAaH,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAChF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"idle-detection.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/agent/idle-detection.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAaH,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAChF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAKxE;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,EAAE,WAAW,CAAC,cAAc,CAA+D,CAAC;AAE9H,qDAAqD;AACrD,MAAM,MAAM,gBAAgB,GAAG,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAEzE;;;;;;;GAOG;AACH,qBAAa,oBAAoB;IAChC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAqC;IAC5D,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,KAAK,CAA+C;IAC5D,OAAO,CAAC,wBAAwB,CAAyC;IACzE,OAAO,CAAC,gBAAgB,CAAiC;IAIzD,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,iBAAiB,CAAuB;IAChD,OAAO,CAAC,mBAAmB,CAAuB;IAClD,OAAO,CAAC,kBAAkB,CAAuB;IACjD,OAAO,CAAC,uBAAuB,CAAK;IACpC,OAAO,CAAC,gBAAgB,CAAK;IAE7B,OAAO;IAIP;;;;OAIG;IACH,2BAA2B,CAAC,OAAO,EAAE,wBAAwB,GAAG,IAAI;IAIpE;;;;;OAKG;IACH,mBAAmB,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI,GAAG,IAAI;IAIzD;;;;OAIG;IACH,MAAM,CAAC,WAAW,IAAI,oBAAoB;IAO1C;;OAEG;IACH,MAAM,CAAC,aAAa,IAAI,IAAI;IAO5B;;OAEG;IACH,KAAK,IAAI,IAAI;IAeb;;;;;;;;;;OAUG;IACH,OAAO,CAAC,OAAO;IA2Ef;;;;;OAKG;IACH,QAAQ,IAAI;QACX,SAAS,EAAE,OAAO,CAAC;QACnB,UAAU,EAAE,OAAO,CAAC;QACpB,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;QACjC,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;QACnC,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;QAClC,uBAAuB,EAAE,MAAM,CAAC;QAChC,gBAAgB,EAAE,MAAM,CAAC;KACzB;IAYD;;OAEG;IACH,IAAI,IAAI,IAAI;IAQZ;;;;OAIG;IACH,SAAS,IAAI,OAAO;IAIpB,4CAA4C;IAC5C,WAAW,EAAE,MAAM;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;QAChB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,gBAAgB,CAAC,EAAE,OAAO,CAAC;KAC3B,CAAkB;IAEnB;;;;;OAKG;IACH,OAAO,CAAC,aAAa;IAIrB;;;;OAIG;IACG,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAwNnC;;;;;;OAMG;YACW,cAAc;IAS5B;;;;;;;;OAQG;YACW,kBAAkB;IAehC;;;;;;;;OAQG;IACG,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC;CAuE5C"}
|
|
@@ -20,6 +20,7 @@ import { getMemoryStats } from '../core/system-health.util.js';
|
|
|
20
20
|
import { ResourceModeService, RESOURCE_MODE_CONSTANTS, memoryIsTightFor } from './resource-mode.service.js';
|
|
21
21
|
import { effectiveRuntimeType } from '../runtime-fallback/effective-runtime.js';
|
|
22
22
|
import { reportOwnerThreadBlocking } from '../messaging/owner-thread-sentinel.service.js';
|
|
23
|
+
import { isDriveWarm } from '../drive/drive-keep-warm.js';
|
|
23
24
|
/**
|
|
24
25
|
* WorkItem statuses that mean "work is waiting for this agent" (not yet
|
|
25
26
|
* running): an agent targeted by one is kept alive by the idle check. A
|
|
@@ -279,6 +280,10 @@ export class IdleDetectionService {
|
|
|
279
280
|
if (AGENT_SUSPEND_CONSTANTS.ALWAYS_ON_ROLES.includes(member.role)) {
|
|
280
281
|
continue;
|
|
281
282
|
}
|
|
283
|
+
// The owner is talking to it in Drive mode: keep it warm (specs/2026-10-09-drive-mode-v3.md §5)
|
|
284
|
+
if (isDriveWarm(member.sessionName)) {
|
|
285
|
+
continue;
|
|
286
|
+
}
|
|
282
287
|
// Skip agents already being suspended or rehydrated
|
|
283
288
|
if (suspendService.isSuspended(member.sessionName) || suspendService.isRehydrating(member.sessionName)) {
|
|
284
289
|
continue;
|
|
@@ -496,6 +501,8 @@ export class IdleDetectionService {
|
|
|
496
501
|
if (AGENT_SUSPEND_CONSTANTS.ALWAYS_ON_ROLES.includes(member.role)) {
|
|
497
502
|
continue;
|
|
498
503
|
}
|
|
504
|
+
// Drive mode keep-warm deliberately does NOT apply here: the
|
|
505
|
+
// emergency memory-pressure stop always wins (specs/2026-10-09-drive-mode-v3.md §5).
|
|
499
506
|
// Only stop agents that are idle.
|
|
500
507
|
// NOTE: Intentionally checks member.workingStatus directly instead of
|
|
501
508
|
// ActivityMonitorService. This is the emergency OOM path — ActivityMonitorService
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"idle-detection.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/agent/idle-detection.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"idle-detection.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/agent/idle-detection.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource-mode.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/agent/resource-mode.service.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;
|
|
1
|
+
{"version":3,"file":"resource-mode.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/agent/resource-mode.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,6 +10,7 @@ import os from 'os';
|
|
|
10
10
|
import { LoggerService } from '../core/logger.service.js';
|
|
11
11
|
import { getMemoryStats } from '../core/system-health.util.js';
|
|
12
12
|
import { AGENT_SUSPEND_CONSTANTS } from '../../constants.js';
|
|
13
|
+
import { isDriveWarm } from '../drive/drive-keep-warm.js';
|
|
13
14
|
export const RESOURCE_MODE_CONSTANTS = {
|
|
14
15
|
DEFAULT_MAX_RUNNING_AGENTS: 6,
|
|
15
16
|
DEFAULT_IDLE_TIMEOUT_MINUTES: 10,
|
|
@@ -297,7 +298,9 @@ export class ResourceModeService {
|
|
|
297
298
|
.filter((r) => !r.busy
|
|
298
299
|
&& !waiting.has(r.sessionName)
|
|
299
300
|
&& !AGENT_SUSPEND_CONSTANTS.ALWAYS_ON_ROLES.includes(r.role)
|
|
300
|
-
&& !this.deps.hasOwnerMessage(r.sessionName)
|
|
301
|
+
&& !this.deps.hasOwnerMessage(r.sessionName)
|
|
302
|
+
// Kept warm for the owner's Drive mode session (specs/2026-10-09-drive-mode-v3.md §5)
|
|
303
|
+
&& !isDriveWarm(r.sessionName))
|
|
301
304
|
.sort((a, b) => b.idleMs - a.idleMs);
|
|
302
305
|
const owes = (r) => {
|
|
303
306
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource-mode.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/agent/resource-mode.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"resource-mode.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/agent/resource-mode.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Which decision cards and reply questions are still worth reading out in
|
|
3
|
+
* Drive mode (specs/2026-10-08-drive-mode.md §6). The briefing queue is read
|
|
4
|
+
* only when the owner asks ("anything waiting for me?"), and then only the
|
|
5
|
+
* live items: the phone test of 2026-10-08 read mostly stale cards,
|
|
6
|
+
* duplicates and questions already answered in their thread.
|
|
7
|
+
*
|
|
8
|
+
* Left out:
|
|
9
|
+
* - a card past its deadline (plus a grace) or asked too long ago;
|
|
10
|
+
* - a card or question the owner already answered — replied in the card's
|
|
11
|
+
* thread, or wrote in its conversation after it was asked;
|
|
12
|
+
* - a duplicate: an older card (or question) from the same asker whose
|
|
13
|
+
* question is nearly the same as a newer one.
|
|
14
|
+
*
|
|
15
|
+
* Pure functions; the owner's last turn per conversation comes from chat-v2.
|
|
16
|
+
*
|
|
17
|
+
* @module services/briefing/briefing-cards
|
|
18
|
+
*/
|
|
19
|
+
import type { OwnerDecision } from '../../types/decision.types.js';
|
|
20
|
+
/** When the owner last wrote in a conversation (all time). */
|
|
21
|
+
export interface OwnerTurnMark {
|
|
22
|
+
channelId: string;
|
|
23
|
+
/** Thread root id; '' for a DM */
|
|
24
|
+
root: string;
|
|
25
|
+
lastAt: number;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* The key of a conversation: a DM channel, or one thread of a channel.
|
|
29
|
+
*
|
|
30
|
+
* @param channelId - chat-v2 channel
|
|
31
|
+
* @param root - Thread root id ('' for a DM)
|
|
32
|
+
* @returns Key
|
|
33
|
+
*/
|
|
34
|
+
export declare function conversationKey(channelId: string, root: string): string;
|
|
35
|
+
/**
|
|
36
|
+
* Owner turn marks as a lookup.
|
|
37
|
+
*
|
|
38
|
+
* @param marks - Marks
|
|
39
|
+
* @returns Key → epoch ms
|
|
40
|
+
*/
|
|
41
|
+
export declare function ownerLastIndex(marks: readonly OwnerTurnMark[]): Map<string, number>;
|
|
42
|
+
/**
|
|
43
|
+
* Character-bigram similarity of two questions (Dice, 0–1), ignoring
|
|
44
|
+
* punctuation, markup and case.
|
|
45
|
+
*
|
|
46
|
+
* @param a - Question
|
|
47
|
+
* @param b - Question
|
|
48
|
+
* @returns Similarity
|
|
49
|
+
*/
|
|
50
|
+
export declare function questionSimilarity(a: string, b: string): number;
|
|
51
|
+
/** What the card filter needs. */
|
|
52
|
+
export interface CardContext {
|
|
53
|
+
now: number;
|
|
54
|
+
/** The conversation key of a card (its open item's chat ref), or null */
|
|
55
|
+
conversationOf: (d: OwnerDecision) => string | null;
|
|
56
|
+
/** When the owner last wrote in a conversation (epoch ms), or 0 */
|
|
57
|
+
ownerLastAt: (conversationKey: string) => number;
|
|
58
|
+
}
|
|
59
|
+
/** Why a card is not read out. */
|
|
60
|
+
export type CardDropReason = 'not_pending' | 'snoozed' | 'expired' | 'stale' | 'answered' | 'duplicate';
|
|
61
|
+
/** The result of {@link liveCards}. */
|
|
62
|
+
export interface LiveCards {
|
|
63
|
+
/** Live cards, newest first */
|
|
64
|
+
live: OwnerDecision[];
|
|
65
|
+
dropped: Array<{
|
|
66
|
+
id: string;
|
|
67
|
+
reason: CardDropReason;
|
|
68
|
+
}>;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* The cards worth reading out.
|
|
72
|
+
*
|
|
73
|
+
* @param decisions - Open / parked cards
|
|
74
|
+
* @param ctx - Clock and conversation lookups
|
|
75
|
+
* @returns Live cards and why the others were dropped
|
|
76
|
+
*/
|
|
77
|
+
export declare function liveCards(decisions: readonly OwnerDecision[], ctx: CardContext): LiveCards;
|
|
78
|
+
/** A reply question as the filter sees it. */
|
|
79
|
+
export interface QuestionLike {
|
|
80
|
+
id: string;
|
|
81
|
+
agent: string;
|
|
82
|
+
text: string;
|
|
83
|
+
/** ISO */
|
|
84
|
+
createdAt: string;
|
|
85
|
+
/** Its conversation key, or null */
|
|
86
|
+
conversation: string | null;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Reply questions worth reading out: not answered in their conversation
|
|
90
|
+
* (the owner wrote there after it was asked), not stale, and not a repeat of
|
|
91
|
+
* a live card or a newer question from the same agent.
|
|
92
|
+
*
|
|
93
|
+
* @param questions - Open reply questions
|
|
94
|
+
* @param cards - Live cards
|
|
95
|
+
* @param ctx - Clock and the owner's last turn per conversation
|
|
96
|
+
* @returns Ids of the questions to keep
|
|
97
|
+
*/
|
|
98
|
+
export declare function liveQuestionIds(questions: readonly QuestionLike[], cards: readonly OwnerDecision[], ctx: Pick<CardContext, 'now' | 'ownerLastAt'>): Set<string>;
|
|
99
|
+
//# sourceMappingURL=briefing-cards.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"briefing-cards.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/briefing/briefing-cards.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAKnE,8DAA8D;AAC9D,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,kCAAkC;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAEvE;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,SAAS,aAAa,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAOnF;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAgB/D;AAED,kCAAkC;AAClC,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,yEAAyE;IACzE,cAAc,EAAE,CAAC,CAAC,EAAE,aAAa,KAAK,MAAM,GAAG,IAAI,CAAC;IACpD,mEAAmE;IACnE,WAAW,EAAE,CAAC,eAAe,EAAE,MAAM,KAAK,MAAM,CAAC;CAClD;AAED,kCAAkC;AAClC,MAAM,MAAM,cAAc,GAAG,aAAa,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,UAAU,GAAG,WAAW,CAAC;AAExG,uCAAuC;AACvC,MAAM,WAAW,SAAS;IACxB,+BAA+B;IAC/B,IAAI,EAAE,aAAa,EAAE,CAAC;IACtB,OAAO,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,cAAc,CAAA;KAAE,CAAC,CAAC;CACxD;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,SAAS,EAAE,SAAS,aAAa,EAAE,EAAE,GAAG,EAAE,WAAW,GAAG,SAAS,CA2C1F;AAED,8CAA8C;AAC9C,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,UAAU;IACV,SAAS,EAAE,MAAM,CAAC;IAClB,oCAAoC;IACpC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,SAAS,YAAY,EAAE,EAAE,KAAK,EAAE,SAAS,aAAa,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE,KAAK,GAAG,aAAa,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,CAa/J"}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Which decision cards and reply questions are still worth reading out in
|
|
3
|
+
* Drive mode (specs/2026-10-08-drive-mode.md §6). The briefing queue is read
|
|
4
|
+
* only when the owner asks ("anything waiting for me?"), and then only the
|
|
5
|
+
* live items: the phone test of 2026-10-08 read mostly stale cards,
|
|
6
|
+
* duplicates and questions already answered in their thread.
|
|
7
|
+
*
|
|
8
|
+
* Left out:
|
|
9
|
+
* - a card past its deadline (plus a grace) or asked too long ago;
|
|
10
|
+
* - a card or question the owner already answered — replied in the card's
|
|
11
|
+
* thread, or wrote in its conversation after it was asked;
|
|
12
|
+
* - a duplicate: an older card (or question) from the same asker whose
|
|
13
|
+
* question is nearly the same as a newer one.
|
|
14
|
+
*
|
|
15
|
+
* Pure functions; the owner's last turn per conversation comes from chat-v2.
|
|
16
|
+
*
|
|
17
|
+
* @module services/briefing/briefing-cards
|
|
18
|
+
*/
|
|
19
|
+
import { BRIEFING_CONSTANTS } from '../../constants.js';
|
|
20
|
+
import { speakable } from './briefing.utils.js';
|
|
21
|
+
const C = BRIEFING_CONSTANTS;
|
|
22
|
+
/**
|
|
23
|
+
* The key of a conversation: a DM channel, or one thread of a channel.
|
|
24
|
+
*
|
|
25
|
+
* @param channelId - chat-v2 channel
|
|
26
|
+
* @param root - Thread root id ('' for a DM)
|
|
27
|
+
* @returns Key
|
|
28
|
+
*/
|
|
29
|
+
export function conversationKey(channelId, root) {
|
|
30
|
+
return `${channelId}|${root}`;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Owner turn marks as a lookup.
|
|
34
|
+
*
|
|
35
|
+
* @param marks - Marks
|
|
36
|
+
* @returns Key → epoch ms
|
|
37
|
+
*/
|
|
38
|
+
export function ownerLastIndex(marks) {
|
|
39
|
+
const out = new Map();
|
|
40
|
+
for (const m of marks) {
|
|
41
|
+
const key = conversationKey(m.channelId, m.root);
|
|
42
|
+
out.set(key, Math.max(out.get(key) ?? 0, m.lastAt));
|
|
43
|
+
}
|
|
44
|
+
return out;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Character-bigram similarity of two questions (Dice, 0–1), ignoring
|
|
48
|
+
* punctuation, markup and case.
|
|
49
|
+
*
|
|
50
|
+
* @param a - Question
|
|
51
|
+
* @param b - Question
|
|
52
|
+
* @returns Similarity
|
|
53
|
+
*/
|
|
54
|
+
export function questionSimilarity(a, b) {
|
|
55
|
+
const norm = (s) => speakable(s).toLowerCase().replace(/[\s\p{P}\p{S}]+/gu, '');
|
|
56
|
+
const grams = (s) => {
|
|
57
|
+
const m = new Map();
|
|
58
|
+
for (let i = 0; i < s.length - 1; i++)
|
|
59
|
+
m.set(s.slice(i, i + 2), (m.get(s.slice(i, i + 2)) ?? 0) + 1);
|
|
60
|
+
return m;
|
|
61
|
+
};
|
|
62
|
+
const x = norm(a);
|
|
63
|
+
const y = norm(b);
|
|
64
|
+
if (!x || !y)
|
|
65
|
+
return 0;
|
|
66
|
+
if (x === y)
|
|
67
|
+
return 1;
|
|
68
|
+
const gx = grams(x);
|
|
69
|
+
const gy = grams(y);
|
|
70
|
+
let overlap = 0;
|
|
71
|
+
for (const [g, n] of gx)
|
|
72
|
+
overlap += Math.min(n, gy.get(g) ?? 0);
|
|
73
|
+
return (2 * overlap) / (Math.max(1, x.length - 1) + Math.max(1, y.length - 1));
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* The cards worth reading out.
|
|
77
|
+
*
|
|
78
|
+
* @param decisions - Open / parked cards
|
|
79
|
+
* @param ctx - Clock and conversation lookups
|
|
80
|
+
* @returns Live cards and why the others were dropped
|
|
81
|
+
*/
|
|
82
|
+
export function liveCards(decisions, ctx) {
|
|
83
|
+
const dropped = [];
|
|
84
|
+
const askedAt = (d) => Date.parse(d.askedAt ?? d.createdAt) || 0;
|
|
85
|
+
const candidates = [];
|
|
86
|
+
for (const d of decisions) {
|
|
87
|
+
if (d.status !== 'open' && d.status !== 'parked') {
|
|
88
|
+
dropped.push({ id: d.id, reason: 'not_pending' });
|
|
89
|
+
continue;
|
|
90
|
+
}
|
|
91
|
+
const remindAt = d.remindAt ? Date.parse(d.remindAt) : NaN;
|
|
92
|
+
if (!Number.isNaN(remindAt) && remindAt > ctx.now) {
|
|
93
|
+
dropped.push({ id: d.id, reason: 'snoozed' });
|
|
94
|
+
continue;
|
|
95
|
+
}
|
|
96
|
+
const asked = askedAt(d);
|
|
97
|
+
// A card the owner asked to be reminded of counts from the reminder.
|
|
98
|
+
const since = Number.isNaN(remindAt) ? asked : Math.max(asked, remindAt);
|
|
99
|
+
const deadline = Date.parse(d.deadline);
|
|
100
|
+
if (d.status === 'open' && Number.isNaN(remindAt) && !Number.isNaN(deadline) && ctx.now - deadline > C.CARD_STALE_AFTER_DEADLINE_MS) {
|
|
101
|
+
dropped.push({ id: d.id, reason: 'expired' });
|
|
102
|
+
continue;
|
|
103
|
+
}
|
|
104
|
+
if (ctx.now - since > C.CARD_MAX_AGE_MS) {
|
|
105
|
+
dropped.push({ id: d.id, reason: 'stale' });
|
|
106
|
+
continue;
|
|
107
|
+
}
|
|
108
|
+
const repliedAt = d.ownerRepliedAt ? Date.parse(d.ownerRepliedAt) : NaN;
|
|
109
|
+
const conv = ctx.conversationOf(d);
|
|
110
|
+
const lastOwner = conv ? ctx.ownerLastAt(conv) : 0;
|
|
111
|
+
if ((!Number.isNaN(repliedAt) && repliedAt >= asked) || (lastOwner > 0 && lastOwner > asked)) {
|
|
112
|
+
dropped.push({ id: d.id, reason: 'answered' });
|
|
113
|
+
continue;
|
|
114
|
+
}
|
|
115
|
+
candidates.push(d);
|
|
116
|
+
}
|
|
117
|
+
candidates.sort((a, b) => askedAt(b) - askedAt(a) || b.id.localeCompare(a.id));
|
|
118
|
+
const live = [];
|
|
119
|
+
for (const d of candidates) {
|
|
120
|
+
const dup = live.find((k) => k.asker === d.asker && questionSimilarity(k.question, d.question) >= C.CARD_DUPLICATE_SIMILARITY);
|
|
121
|
+
if (dup)
|
|
122
|
+
dropped.push({ id: d.id, reason: 'duplicate' });
|
|
123
|
+
else
|
|
124
|
+
live.push(d);
|
|
125
|
+
}
|
|
126
|
+
return { live, dropped };
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Reply questions worth reading out: not answered in their conversation
|
|
130
|
+
* (the owner wrote there after it was asked), not stale, and not a repeat of
|
|
131
|
+
* a live card or a newer question from the same agent.
|
|
132
|
+
*
|
|
133
|
+
* @param questions - Open reply questions
|
|
134
|
+
* @param cards - Live cards
|
|
135
|
+
* @param ctx - Clock and the owner's last turn per conversation
|
|
136
|
+
* @returns Ids of the questions to keep
|
|
137
|
+
*/
|
|
138
|
+
export function liveQuestionIds(questions, cards, ctx) {
|
|
139
|
+
const keep = [];
|
|
140
|
+
const similar = (a, b) => questionSimilarity(a, b) >= C.CARD_DUPLICATE_SIMILARITY;
|
|
141
|
+
const sorted = [...questions].sort((a, b) => Date.parse(b.createdAt) - Date.parse(a.createdAt));
|
|
142
|
+
for (const q of sorted) {
|
|
143
|
+
const at = Date.parse(q.createdAt) || 0;
|
|
144
|
+
if (ctx.now - at > C.CARD_MAX_AGE_MS)
|
|
145
|
+
continue;
|
|
146
|
+
if (q.conversation && ctx.ownerLastAt(q.conversation) > at)
|
|
147
|
+
continue;
|
|
148
|
+
if (cards.some((d) => d.asker === q.agent && similar(d.question, q.text)))
|
|
149
|
+
continue;
|
|
150
|
+
if (keep.some((k) => k.agent === q.agent && similar(k.text, q.text)))
|
|
151
|
+
continue;
|
|
152
|
+
keep.push(q);
|
|
153
|
+
}
|
|
154
|
+
return new Set(keep.map((q) => q.id));
|
|
155
|
+
}
|
|
156
|
+
//# sourceMappingURL=briefing-cards.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"briefing-cards.js","sourceRoot":"","sources":["../../../../../../backend/src/services/briefing/briefing-cards.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,6 +16,11 @@
|
|
|
16
16
|
* `voice`), the agent's own conversation (recorded and dispatched like a
|
|
17
17
|
* Talk message, tagged voice), and the ticket review (accept / send back).
|
|
18
18
|
*
|
|
19
|
+
* Only live items are listed (see `briefing-cards.ts`): stale, expired and
|
|
20
|
+
* duplicate cards, and cards / questions the owner already answered in their
|
|
21
|
+
* conversation, are left out. Drive mode reads this queue only when the owner
|
|
22
|
+
* asks for it ("anything waiting for me?").
|
|
23
|
+
*
|
|
19
24
|
* Sensitive items (deploy, money, delete, email…) need two calls: the first
|
|
20
25
|
* returns `needs_confirmation` with a one-time token, the second must repeat
|
|
21
26
|
* the same answer with `confirm: true` and that token.
|
|
@@ -32,6 +37,7 @@ import type { AgentRosterEntry } from '../cloud/conversation-ingest.contract.js'
|
|
|
32
37
|
import { type ComponentLogger } from '../core/logger.service.js';
|
|
33
38
|
import type { BriefingStateStore } from './briefing-state.store.js';
|
|
34
39
|
import { type BriefingActionResult, type BriefingAnswerInput, type BriefingItem, type BriefingQueue } from './briefing.types.js';
|
|
40
|
+
import { type OwnerTurnMark } from './briefing-cards.js';
|
|
35
41
|
/** The decision operations used (DecisionService). */
|
|
36
42
|
export interface BriefingDecisions {
|
|
37
43
|
list(which?: 'open' | 'all'): Promise<OwnerDecision[]>;
|
|
@@ -64,6 +70,8 @@ export interface BriefingDeps {
|
|
|
64
70
|
dismissOpenItem: (requestId: string, itemId: string) => Promise<unknown>;
|
|
65
71
|
/** Agents on this machine (names, teams) */
|
|
66
72
|
roster: () => Promise<AgentRosterEntry[]>;
|
|
73
|
+
/** When the owner last wrote in each conversation (chat-v2), to drop answered items */
|
|
74
|
+
ownerTurns?: () => Promise<OwnerTurnMark[]>;
|
|
67
75
|
/**
|
|
68
76
|
* Post the owner's words to an agent exactly like an owner message from
|
|
69
77
|
* Talk (recorded in chat-v2, ticket intake, dispatched; tagged voice).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"briefing.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/briefing/briefing.service.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"briefing.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/briefing/briefing.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,6 +16,11 @@
|
|
|
16
16
|
* `voice`), the agent's own conversation (recorded and dispatched like a
|
|
17
17
|
* Talk message, tagged voice), and the ticket review (accept / send back).
|
|
18
18
|
*
|
|
19
|
+
* Only live items are listed (see `briefing-cards.ts`): stale, expired and
|
|
20
|
+
* duplicate cards, and cards / questions the owner already answered in their
|
|
21
|
+
* conversation, are left out. Drive mode reads this queue only when the owner
|
|
22
|
+
* asks for it ("anything waiting for me?").
|
|
23
|
+
*
|
|
19
24
|
* Sensitive items (deploy, money, delete, email…) need two calls: the first
|
|
20
25
|
* returns `needs_confirmation` with a one-time token, the second must repeat
|
|
21
26
|
* the same answer with `confirm: true` and that token.
|
|
@@ -28,6 +33,7 @@ import { randomBytes } from 'crypto';
|
|
|
28
33
|
import { BRIEFING_CONSTANTS, ORCHESTRATOR_SESSION_NAME } from '../../constants.js';
|
|
29
34
|
import { LoggerService } from '../core/logger.service.js';
|
|
30
35
|
import { BriefingError, } from './briefing.types.js';
|
|
36
|
+
import { conversationKey, liveCards, liveQuestionIds, ownerLastIndex } from './briefing-cards.js';
|
|
31
37
|
import { clip, orderBriefing, parseLaterTime, sensitiveReason, speakable, spokenSummary } from './briefing.utils.js';
|
|
32
38
|
const C = BRIEFING_CONSTANTS;
|
|
33
39
|
/** Decision statuses still waiting on the owner. */
|
|
@@ -126,31 +132,47 @@ export class BriefingService {
|
|
|
126
132
|
/** Everything waiting, unfiltered, with stored state. */
|
|
127
133
|
async gather() {
|
|
128
134
|
const now = this.now();
|
|
129
|
-
const [roster, state, decisions, requests, reviews] = await Promise.all([
|
|
135
|
+
const [roster, state, decisions, requests, reviews, turns] = await Promise.all([
|
|
130
136
|
this.deps.roster().catch(() => []),
|
|
131
137
|
this.deps.store.read(),
|
|
132
138
|
(this.deps.decisions()?.list('open') ?? Promise.resolve([])).catch(() => []),
|
|
133
139
|
this.deps.listRequests().catch(() => []),
|
|
134
140
|
this.deps.listReviewTickets().catch(() => []),
|
|
141
|
+
(this.deps.ownerTurns?.() ?? Promise.resolve([])).catch(() => []),
|
|
135
142
|
]);
|
|
136
143
|
const who = (session) => {
|
|
137
144
|
const s = session || ORCHESTRATOR_SESSION_NAME;
|
|
138
145
|
const r = roster.find((a) => a.agentSession === s);
|
|
139
146
|
return { name: r?.displayName || s, ...(r?.teamName ? { team: r.teamName } : {}) };
|
|
140
147
|
};
|
|
148
|
+
// What the owner already did in each conversation: an item asked before
|
|
149
|
+
// the owner's last word there was answered (or read) in it.
|
|
150
|
+
const ownerIdx = ownerLastIndex(turns);
|
|
151
|
+
const ownerLastAt = (key) => ownerIdx.get(key) ?? ownerIdx.get(`${key.split('|')[0]}|`) ?? 0;
|
|
152
|
+
const chatConversation = (chatRef) => chatRef?.channelId ? conversationKey(chatRef.channelId, chatRef.threadRootId ?? '') : null;
|
|
153
|
+
const requestById = new Map(requests.map((r) => [r.id, r]));
|
|
154
|
+
const { live, dropped } = liveCards(decisions, {
|
|
155
|
+
now: now.getTime(),
|
|
156
|
+
conversationOf: (d) => (d.requestRef ? chatConversation(requestById.get(d.requestRef.requestId)?.chatRef) : null),
|
|
157
|
+
ownerLastAt,
|
|
158
|
+
});
|
|
159
|
+
if (dropped.length > 0)
|
|
160
|
+
this.logger.debug('Briefing: cards left out', { count: dropped.length });
|
|
161
|
+
const questions = requests.flatMap((r) => (r.openItems ?? [])
|
|
162
|
+
.filter((it) => it.type === 'question' && OPEN_QUESTION_STATUSES.has(it.status) && !it.decisionId && r.chatRef)
|
|
163
|
+
.map((it) => ({ r, it, id: `q:${r.id}:${it.id}` })));
|
|
164
|
+
const keepQuestions = liveQuestionIds(questions.map((q) => ({ id: q.id, agent: q.it.agent, text: q.it.text, createdAt: q.it.createdAt, conversation: chatConversation(q.r.chatRef) })), live, { now: now.getTime(), ownerLastAt });
|
|
141
165
|
const out = [];
|
|
142
|
-
for (const d of
|
|
166
|
+
for (const d of live) {
|
|
143
167
|
const item = decisionItem(d, who(d.system ? ORCHESTRATOR_SESSION_NAME : d.asker), now);
|
|
144
168
|
if (item)
|
|
145
169
|
out.push({ item, state: state.items[item.id] ?? {}, decision: d });
|
|
146
170
|
}
|
|
147
|
-
for (const r of
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
out.push({ item, state: state.items[item.id] ?? {}, request: r });
|
|
153
|
-
}
|
|
171
|
+
for (const { r, it, id } of questions) {
|
|
172
|
+
if (!keepQuestions.has(id))
|
|
173
|
+
continue;
|
|
174
|
+
const item = questionItem(r, it, who(it.agent));
|
|
175
|
+
out.push({ item, state: state.items[item.id] ?? {}, request: r });
|
|
154
176
|
}
|
|
155
177
|
for (const t of reviews) {
|
|
156
178
|
const item = reviewItem(t, who(t.assignee ?? t.reply?.by), now);
|