crewly 1.20.289 → 1.20.291
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/domain-sops/expert-distillation.sop.md +45 -45
- package/dist/backend/backend/src/constants.d.ts +4 -4
- package/dist/backend/backend/src/constants.d.ts.map +1 -1
- package/dist/backend/backend/src/constants.js +21 -21
- package/dist/backend/backend/src/constants.js.map +1 -1
- package/dist/backend/backend/src/controllers/bundle/bundle.controller.js +1 -1
- package/dist/backend/backend/src/controllers/bundle/bundle.controller.js.map +1 -1
- 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 +5 -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 +18 -12
- package/dist/backend/backend/src/index.js.map +1 -1
- package/dist/backend/backend/src/services/agent/active-work-briefing.service.d.ts +11 -0
- package/dist/backend/backend/src/services/agent/active-work-briefing.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/active-work-briefing.service.js +32 -11
- package/dist/backend/backend/src/services/agent/active-work-briefing.service.js.map +1 -1
- package/dist/backend/backend/src/services/agent/follow-through.service.d.ts +132 -0
- package/dist/backend/backend/src/services/agent/follow-through.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/agent/follow-through.service.js +199 -0
- package/dist/backend/backend/src/services/agent/follow-through.service.js.map +1 -0
- package/dist/backend/backend/src/services/agent/follow-through.wiring.d.ts +62 -0
- package/dist/backend/backend/src/services/agent/follow-through.wiring.d.ts.map +1 -0
- package/dist/backend/backend/src/services/agent/follow-through.wiring.js +158 -0
- package/dist/backend/backend/src/services/agent/follow-through.wiring.js.map +1 -0
- package/dist/backend/backend/src/services/agent/idle-detection.service.d.ts +24 -6
- 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 +46 -11
- package/dist/backend/backend/src/services/agent/idle-detection.service.js.map +1 -1
- package/dist/backend/backend/src/services/agent/idle-work-guard.d.ts +61 -0
- package/dist/backend/backend/src/services/agent/idle-work-guard.d.ts.map +1 -0
- package/dist/backend/backend/src/services/agent/idle-work-guard.js +81 -0
- package/dist/backend/backend/src/services/agent/idle-work-guard.js.map +1 -0
- package/dist/backend/backend/src/services/agent/stated-intent.d.ts +55 -0
- package/dist/backend/backend/src/services/agent/stated-intent.d.ts.map +1 -0
- package/dist/backend/backend/src/services/agent/stated-intent.js +142 -0
- package/dist/backend/backend/src/services/agent/stated-intent.js.map +1 -0
- package/dist/backend/backend/src/services/bundle/bundle-apply.service.js +45 -45
- package/dist/backend/backend/src/services/bundle/bundle-apply.service.js.map +1 -1
- package/dist/backend/backend/src/services/bundle/bundle-placeholders.js +7 -7
- package/dist/backend/backend/src/services/bundle/bundle-placeholders.js.map +1 -1
- package/dist/backend/backend/src/services/chat-v2/chat-v2.dispatcher.service.d.ts +3 -3
- package/dist/backend/backend/src/services/chat-v2/chat-v2.dispatcher.service.js +19 -19
- package/dist/backend/backend/src/services/chat-v2/chat-v2.dispatcher.service.js.map +1 -1
- package/dist/backend/backend/src/services/chat-v2/sqlite/message.store.d.ts +1 -1
- package/dist/backend/backend/src/services/chat-v2/sqlite/message.store.js +1 -1
- package/dist/backend/backend/src/services/messaging/owner-message-watchdog.wiring.js +2 -2
- package/dist/backend/backend/src/services/messaging/owner-message-watchdog.wiring.js.map +1 -1
- package/dist/backend/backend/src/services/messaging/owner-thread-sentinel.service.d.ts +10 -0
- package/dist/backend/backend/src/services/messaging/owner-thread-sentinel.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/messaging/owner-thread-sentinel.service.js +25 -0
- package/dist/backend/backend/src/services/messaging/owner-thread-sentinel.service.js.map +1 -1
- package/dist/backend/backend/src/services/monitoring/agent-turn-state.d.ts +16 -0
- package/dist/backend/backend/src/services/monitoring/agent-turn-state.d.ts.map +1 -1
- package/dist/backend/backend/src/services/monitoring/agent-turn-state.js +31 -0
- package/dist/backend/backend/src/services/monitoring/agent-turn-state.js.map +1 -1
- package/dist/backend/backend/src/services/onboarding/onboarding-checklist.service.js +1 -1
- package/dist/backend/backend/src/services/onboarding/onboarding-checklist.service.js.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-team-channel.service.js +1 -1
- package/dist/backend/backend/src/services/slack/slack-team-channel.service.js.map +1 -1
- package/dist/backend/backend/src/services/slack/slack-thread-context.service.js +1 -1
- package/dist/backend/backend/src/services/slack/slack-thread-context.service.js.map +1 -1
- 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 +2 -2
- package/dist/backend/backend/src/services/task-pool/task-pool.service.js.map +1 -1
- package/dist/backend/backend/src/services/v3/ticket-channel-hooks.d.ts +3 -3
- package/dist/backend/backend/src/services/v3/ticket-channel-hooks.js +7 -7
- package/dist/backend/backend/src/services/v3/ticket-channel-hooks.js.map +1 -1
- package/dist/backend/backend/src/services/v3/ticket-intake.service.d.ts +2 -2
- package/dist/backend/backend/src/services/v3/ticket-intake.service.js +1 -1
- package/dist/backend/backend/src/services/v3/ticket-review.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/v3/ticket-review.service.js +10 -5
- package/dist/backend/backend/src/services/v3/ticket-review.service.js.map +1 -1
- package/dist/backend/backend/src/services/v3/ticket-work-guard.d.ts +81 -0
- package/dist/backend/backend/src/services/v3/ticket-work-guard.d.ts.map +1 -0
- package/dist/backend/backend/src/services/v3/ticket-work-guard.js +122 -0
- package/dist/backend/backend/src/services/v3/ticket-work-guard.js.map +1 -0
- package/dist/backend/backend/src/utils/incomplete-turn.utils.js +6 -6
- package/dist/backend/backend/src/utils/incomplete-turn.utils.js.map +1 -1
- package/dist/backend/build-info.json +2 -2
- package/dist/cli/backend/src/constants.d.ts +4 -4
- package/dist/cli/backend/src/constants.d.ts.map +1 -1
- package/dist/cli/backend/src/constants.js +21 -21
- package/dist/cli/backend/src/constants.js.map +1 -1
- package/dist/cli/backend/src/services/agent/active-work-briefing.service.d.ts +11 -0
- package/dist/cli/backend/src/services/agent/active-work-briefing.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/agent/active-work-briefing.service.js +32 -11
- package/dist/cli/backend/src/services/agent/active-work-briefing.service.js.map +1 -1
- package/dist/cli/backend/src/services/agent/follow-through.service.d.ts +132 -0
- package/dist/cli/backend/src/services/agent/follow-through.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/agent/follow-through.service.js +199 -0
- package/dist/cli/backend/src/services/agent/follow-through.service.js.map +1 -0
- package/dist/cli/backend/src/services/agent/stated-intent.d.ts +55 -0
- package/dist/cli/backend/src/services/agent/stated-intent.d.ts.map +1 -0
- package/dist/cli/backend/src/services/agent/stated-intent.js +142 -0
- package/dist/cli/backend/src/services/agent/stated-intent.js.map +1 -0
- package/dist/cli/backend/src/services/bundle/bundle-apply.service.js +45 -45
- package/dist/cli/backend/src/services/bundle/bundle-apply.service.js.map +1 -1
- package/dist/cli/backend/src/services/bundle/bundle-placeholders.js +7 -7
- package/dist/cli/backend/src/services/bundle/bundle-placeholders.js.map +1 -1
- package/dist/cli/backend/src/services/chat-v2/chat-v2.dispatcher.service.d.ts +3 -3
- package/dist/cli/backend/src/services/chat-v2/chat-v2.dispatcher.service.js +19 -19
- package/dist/cli/backend/src/services/chat-v2/chat-v2.dispatcher.service.js.map +1 -1
- package/dist/cli/backend/src/services/chat-v2/sqlite/message.store.d.ts +1 -1
- package/dist/cli/backend/src/services/chat-v2/sqlite/message.store.js +1 -1
- package/dist/cli/backend/src/services/messaging/owner-thread-sentinel.service.d.ts +10 -0
- package/dist/cli/backend/src/services/messaging/owner-thread-sentinel.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/messaging/owner-thread-sentinel.service.js +25 -0
- package/dist/cli/backend/src/services/messaging/owner-thread-sentinel.service.js.map +1 -1
- package/dist/cli/backend/src/services/monitoring/agent-turn-state.d.ts +16 -0
- package/dist/cli/backend/src/services/monitoring/agent-turn-state.d.ts.map +1 -1
- package/dist/cli/backend/src/services/monitoring/agent-turn-state.js +31 -0
- package/dist/cli/backend/src/services/monitoring/agent-turn-state.js.map +1 -1
- package/dist/cli/backend/src/services/onboarding/onboarding-checklist.service.js +1 -1
- package/dist/cli/backend/src/services/onboarding/onboarding-checklist.service.js.map +1 -1
- package/dist/cli/backend/src/services/slack/slack-team-channel.service.js +1 -1
- package/dist/cli/backend/src/services/slack/slack-team-channel.service.js.map +1 -1
- package/dist/cli/backend/src/services/slack/slack-thread-context.service.js +1 -1
- package/dist/cli/backend/src/services/slack/slack-thread-context.service.js.map +1 -1
- 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 +2 -2
- package/dist/cli/backend/src/services/task-pool/task-pool.service.js.map +1 -1
- package/dist/cli/backend/src/services/v3/ticket-channel-hooks.d.ts +3 -3
- package/dist/cli/backend/src/services/v3/ticket-channel-hooks.js +7 -7
- package/dist/cli/backend/src/services/v3/ticket-channel-hooks.js.map +1 -1
- package/dist/cli/backend/src/services/v3/ticket-intake.service.d.ts +2 -2
- package/dist/cli/backend/src/services/v3/ticket-intake.service.js +1 -1
- package/dist/cli/backend/src/services/v3/ticket-review.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/v3/ticket-review.service.js +10 -5
- package/dist/cli/backend/src/services/v3/ticket-review.service.js.map +1 -1
- package/dist/cli/backend/src/services/v3/ticket-work-guard.d.ts +81 -0
- package/dist/cli/backend/src/services/v3/ticket-work-guard.d.ts.map +1 -0
- package/dist/cli/backend/src/services/v3/ticket-work-guard.js +122 -0
- package/dist/cli/backend/src/services/v3/ticket-work-guard.js.map +1 -0
- package/dist/cli/backend/src/utils/incomplete-turn.utils.js +6 -6
- package/dist/cli/backend/src/utils/incomplete-turn.utils.js.map +1 -1
- package/dist/cli/cli/src/commands/deploy-bundle.js +4 -4
- package/dist/cli/cli/src/commands/deploy-bundle.js.map +1 -1
- package/dist/cli/cli/src/commands/onboard.js +1 -1
- package/dist/cli/cli/src/commands/onboard.js.map +1 -1
- package/package.json +1 -1
- package/packages/crewly-agent/src/runtime/reply-tool-calls.ts +0 -3
|
@@ -68,6 +68,17 @@ export interface OpenRequestRow {
|
|
|
68
68
|
priority: BriefingPriority;
|
|
69
69
|
ageHours: number;
|
|
70
70
|
source?: string;
|
|
71
|
+
/** `TKT-418`, when the row is an owner ticket assigned to this agent */
|
|
72
|
+
ticket?: string;
|
|
73
|
+
/** The owner's separate deliverables with what is delivered (a request that lists several) */
|
|
74
|
+
checklist?: {
|
|
75
|
+
delivered: number;
|
|
76
|
+
total: number;
|
|
77
|
+
items: Array<{
|
|
78
|
+
text: string;
|
|
79
|
+
delivered: boolean;
|
|
80
|
+
}>;
|
|
81
|
+
};
|
|
71
82
|
}
|
|
72
83
|
/**
|
|
73
84
|
* One WorkItem row in the briefing.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"active-work-briefing.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/agent/active-work-briefing.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;
|
|
1
|
+
{"version":3,"file":"active-work-briefing.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/agent/active-work-briefing.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,6 +28,8 @@
|
|
|
28
28
|
*/
|
|
29
29
|
import { LoggerService } from '../core/logger.service.js';
|
|
30
30
|
import { ORCHESTRATOR_ROLE, ORCHESTRATOR_SESSION_NAME } from '../../constants.js';
|
|
31
|
+
import { activeAcceptance, formatTicketNumber } from '../../types/v2/ticket.types.js';
|
|
32
|
+
import { checklistProgress } from '../v3/ticket-work-guard.js';
|
|
31
33
|
/**
|
|
32
34
|
* Default per-section item caps for non-orchestrator agents.
|
|
33
35
|
* Total cap = 45 items, ~6,300 chars (~1,500 tokens).
|
|
@@ -305,17 +307,31 @@ export class ActiveWorkBriefingService {
|
|
|
305
307
|
return false;
|
|
306
308
|
if (isOrchestrator)
|
|
307
309
|
return true;
|
|
308
|
-
// Non-orchestrator agents: must be on the hook (ownerAgent === sessionName)
|
|
309
|
-
|
|
310
|
+
// Non-orchestrator agents: must be on the hook (ownerAgent === sessionName),
|
|
311
|
+
// or hold the owner's ticket (tickets set `assignee`, never `ownerAgent`:
|
|
312
|
+
// 2026-10-10 the three-video ticket was missing from the assignee's briefing).
|
|
313
|
+
return r.ownerAgent === sessionName || (typeof r.ticketNumber === 'number' && r.assignee === sessionName);
|
|
314
|
+
});
|
|
315
|
+
const rows = filtered.map((r) => {
|
|
316
|
+
const progress = checklistProgress(r);
|
|
317
|
+
return {
|
|
318
|
+
id: r.id,
|
|
319
|
+
title: this.truncateTitle(r.title),
|
|
320
|
+
status: r.status,
|
|
321
|
+
priority: r.priority,
|
|
322
|
+
ageHours: this.ageHours(r.createdAt, nowMs),
|
|
323
|
+
source: r.sourceConversationItemId,
|
|
324
|
+
...(typeof r.ticketNumber === 'number' ? { ticket: formatTicketNumber(r.ticketNumber) } : {}),
|
|
325
|
+
...(progress
|
|
326
|
+
? {
|
|
327
|
+
checklist: {
|
|
328
|
+
...progress,
|
|
329
|
+
items: activeAcceptance(r.acceptance).map((a) => ({ text: a.text, delivered: a.selfCheck === 'pass' })),
|
|
330
|
+
},
|
|
331
|
+
}
|
|
332
|
+
: {}),
|
|
333
|
+
};
|
|
310
334
|
});
|
|
311
|
-
const rows = filtered.map((r) => ({
|
|
312
|
-
id: r.id,
|
|
313
|
-
title: this.truncateTitle(r.title),
|
|
314
|
-
status: r.status,
|
|
315
|
-
priority: r.priority,
|
|
316
|
-
ageHours: this.ageHours(r.createdAt, nowMs),
|
|
317
|
-
source: r.sourceConversationItemId,
|
|
318
|
-
}));
|
|
319
335
|
rows.sort((a, b) => this.priorityRank(b.priority) - this.priorityRank(a.priority) ||
|
|
320
336
|
b.ageHours - a.ageHours);
|
|
321
337
|
return rows;
|
|
@@ -718,8 +734,13 @@ export class ActiveWorkBriefingService {
|
|
|
718
734
|
renderOpenRequests(rows, truncation, hints) {
|
|
719
735
|
const lines = ['### Open Requests'];
|
|
720
736
|
for (const row of rows) {
|
|
721
|
-
const
|
|
737
|
+
const tkt = row.ticket ? ` · ${row.ticket}` : '';
|
|
738
|
+
const progress = row.checklist ? ` · ${row.checklist.delivered} of ${row.checklist.total} delivered` : '';
|
|
739
|
+
const base = `- **${row.id}** — ${row.title} — _${row.status} · ${row.priority} · ${this.formatAge(row.ageHours)}${tkt}${progress}_`;
|
|
722
740
|
lines.push(this.appendMemoryHint(base, `req:${row.id}`, hints));
|
|
741
|
+
for (const item of row.checklist?.items ?? []) {
|
|
742
|
+
lines.push(` - [${item.delivered ? 'x' : ' '}] ${item.text}`);
|
|
743
|
+
}
|
|
723
744
|
}
|
|
724
745
|
const marker = this.renderTruncationMarker(truncation);
|
|
725
746
|
return lines.join('\n') + marker;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"active-work-briefing.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/agent/active-work-briefing.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"active-work-briefing.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/agent/active-work-briefing.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D,OAAO,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAClF,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACtF,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAgD/D;;;GAGG;AACH,MAAM,YAAY,GAAiB;IACjC,YAAY,EAAE,EAAE;IAChB,eAAe,EAAE,EAAE;IACnB,cAAc,EAAE,CAAC;IACjB,mBAAmB,EAAE,EAAE;IACvB,oBAAoB,EAAE,CAAC;CACxB,CAAC;AAEF,2DAA2D;AAC3D,MAAM,2BAA2B,GAAG,CAAC,CAAC;AAEtC;;;;GAIG;AACH,MAAM,2BAA2B,GAAG,MAAM,CAAC;AAE3C,oDAAoD;AACpD,MAAM,mCAAmC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAE3D,sDAAsD;AACtD,MAAM,eAAe,GAAG,EAAE,CAAC;AAE3B,gCAAgC;AAChC,MAAM,qBAAqB,GAAG,GAAG,CAAC;AAElC;;;;GAIG;AACH,MAAM,uBAAuB,GAA+B,IAAI,GAAG,CAAgB;IACjF,MAAM;IACN,OAAO;IACP,SAAS;IACT,SAAS;IACT,sBAAsB;CACvB,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,yBAAyB,GAAgC,IAAI,GAAG,CAAiB;IACrF,QAAQ;IACR,WAAW;IACX,UAAU;IACV,UAAU;IACV,SAAS;IACT,SAAS;IACT,WAAW;CACZ,CAAC,CAAC;AAEH,gEAAgE;AAChE,MAAM,qBAAqB,GAAmB,gBAAgB,CAAC;AA0I/D,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E;;;;;;;;;GASG;AACH,MAAM,OAAO,yBAAyB;IA0BjB;IACA;IA1BX,MAAM,CAAC,QAAQ,GAAqC,IAAI,CAAC;IACjE;;;;;;;;;;;;;OAaG;IACK,MAAM,CAAC,eAAe,GAA8C,IAAI,CAAC;IAEhE,MAAM,CAAkB;IAEzC;;;;OAIG;IACH,YACmB,qBAA4C,EAC5C,eAAuC;QADvC,0BAAqB,GAArB,qBAAqB,CAAuB;QAC5C,oBAAe,GAAf,eAAe,CAAwB;QAExD,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC,WAAW,EAAE,CAAC,qBAAqB,CAAC,2BAA2B,CAAC,CAAC;IAC/F,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACI,MAAM,CAAC,KAAK,CAAC,WAAW;QAC7B,IAAI,CAAC,yBAAyB,CAAC,eAAe,EAAE,CAAC;YAC/C,yBAAyB,CAAC,eAAe,GAAG,CAAC,KAAK,IAAI,EAAE;gBACtD,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAC;gBACpE,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,mCAAmC,CAAC,CAAC;gBAC9E,MAAM,KAAK,GAAG,IAAI,yBAAyB,CACzC,GAAG,EAAE,CAAC,cAAc,CAAC,WAAW,EAAE,EAClC,GAAG,EAAE,CAAC,eAAe,CAAC,WAAW,EAAE,CACpC,CAAC;gBACF,yBAAyB,CAAC,QAAQ,GAAG,KAAK,CAAC;gBAC3C,OAAO,KAAK,CAAC;YACf,CAAC,CAAC,EAAE,CAAC;QACP,CAAC;QACD,OAAO,yBAAyB,CAAC,eAAe,CAAC;IACnD,CAAC;IAED;;;;;;OAMG;IACI,MAAM,CAAC,aAAa;QACzB,yBAAyB,CAAC,QAAQ,GAAG,IAAI,CAAC;QAC1C,yBAAyB,CAAC,eAAe,GAAG,IAAI,CAAC;IACnD,CAAC;IAED;;;;;;OAMG;IACI,MAAM,CAAC,aAAa,CACzB,qBAA4C,EAC5C,eAAuC;QAEvC,OAAO,IAAI,yBAAyB,CAAC,qBAAqB,EAAE,eAAe,CAAC,CAAC;IAC/E,CAAC;IAED,4EAA4E;IAC5E,mBAAmB;IACnB,4EAA4E;IAE5E;;;;;;;;;OASG;IACK,WAAW,CACjB,IAAY,EACZ,SAAiC;QAEjC,MAAM,cAAc,GAAG,IAAI,KAAK,iBAAiB,CAAC;QAClD,MAAM,UAAU,GAAG,cAAc,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC,CAAC;QACpE,OAAO;YACL,YAAY,EAAE,SAAS,EAAE,YAAY,IAAI,YAAY,CAAC,YAAY,GAAG,UAAU;YAC/E,eAAe,EAAE,SAAS,EAAE,eAAe,IAAI,YAAY,CAAC,eAAe,GAAG,UAAU;YACxF,cAAc,EAAE,SAAS,EAAE,cAAc,IAAI,YAAY,CAAC,cAAc,GAAG,UAAU;YACrF,mBAAmB,EACjB,SAAS,EAAE,mBAAmB,IAAI,YAAY,CAAC,mBAAmB,GAAG,UAAU;YACjF,oBAAoB,EAClB,SAAS,EAAE,oBAAoB,IAAI,YAAY,CAAC,oBAAoB,GAAG,UAAU;SACpF,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACK,YAAY,CAAC,CAA+B;QAClD,QAAQ,CAAC,EAAE,CAAC;YACV,KAAK,QAAQ;gBACX,OAAO,CAAC,CAAC;YACX,KAAK,MAAM;gBACT,OAAO,CAAC,CAAC;YACX,KAAK,QAAQ;gBACX,OAAO,CAAC,CAAC;YACX,KAAK,KAAK;gBACR,OAAO,CAAC,CAAC;YACX;gBACE,OAAO,CAAC,CAAC;QACb,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACK,QAAQ,CAAC,SAAiB,EAAE,KAAa;QAC/C,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC;QAC9C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;YAAE,OAAO,CAAC,CAAC;QACxC,MAAM,IAAI,GAAG,KAAK,GAAG,OAAO,CAAC;QAC7B,OAAO,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChD,CAAC;IAED;;;;;;;;OAQG;IACK,kBAAkB,CACxB,QAA6C,EAC7C,GAAW;QAEX,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QAC3B,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACjE,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;;OAOG;IACK,QAAQ,CAAI,KAAU,EAAE,GAAW;QACzC,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACjC,OAAO;YACL,IAAI;YACJ,UAAU,EAAE;gBACV,eAAe,EAAE,KAAK,CAAC,MAAM;gBAC7B,GAAG;gBACH,SAAS,EAAE,KAAK,CAAC,MAAM,GAAG,GAAG;aAC9B;SACF,CAAC;IACJ,CAAC;IAED,4EAA4E;IAC5E,kCAAkC;IAClC,4EAA4E;IAE5E;;;;;;;;;;OAUG;IACK,eAAe,CACrB,QAAmB,EACnB,WAAmB,EACnB,IAAY,EACZ,KAAa;QAEb,MAAM,cAAc,GAAG,IAAI,KAAK,iBAAiB,IAAI,WAAW,KAAK,yBAAyB,CAAC;QAE/F,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;YACrC,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;gBAAE,OAAO,KAAK,CAAC;YACzD,IAAI,cAAc;gBAAE,OAAO,IAAI,CAAC;YAChC,6EAA6E;YAC7E,0EAA0E;YAC1E,+EAA+E;YAC/E,OAAO,CAAC,CAAC,UAAU,KAAK,WAAW,IAAI,CAAC,OAAO,CAAC,CAAC,YAAY,KAAK,QAAQ,IAAI,CAAC,CAAC,QAAQ,KAAK,WAAW,CAAC,CAAC;QAC5G,CAAC,CAAC,CAAC;QAEH,MAAM,IAAI,GAAqB,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAChD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;YACtC,OAAO;gBACL,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC;gBAClC,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC;gBAC3C,MAAM,EAAE,CAAC,CAAC,wBAAwB;gBAClC,GAAG,CAAC,OAAO,CAAC,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7F,GAAG,CAAC,QAAQ;oBACV,CAAC,CAAC;wBACE,SAAS,EAAE;4BACT,GAAG,QAAQ;4BACX,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,KAAK,MAAM,EAAE,CAAC,CAAC;yBACxG;qBACF;oBACH,CAAC,CAAC,EAAE,CAAC;aACR,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,CACP,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACP,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC;YAC7D,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAC1B,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,4EAA4E;IAC5E,mCAAmC;IACnC,4EAA4E;IAE5E;;;;;;;;;;;;;;OAcG;IACK,sBAAsB,CAC5B,KAAiB,EACjB,WAAmB,EACnB,IAAY,EACZ,KAAa;QAEb,MAAM,cAAc,GAAG,IAAI,KAAK,iBAAiB,IAAI,WAAW,KAAK,yBAAyB,CAAC;QAE/F,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE;YACnC,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC;gBAAE,OAAO,KAAK,CAAC;YAC5D,IAAI,cAAc;gBAAE,OAAO,IAAI,CAAC;YAEhC,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;YACpE,MAAM,UAAU,GAAG,EAAE,CAAC,MAAM,KAAK,WAAW,CAAC;YAC7C,MAAM,aAAa,GAAG,SAAS,KAAK,WAAW,CAAC;YAEhD,IAAI,CAAC,UAAU,IAAI,CAAC,aAAa;gBAAE,OAAO,KAAK,CAAC;YAChD,+DAA+D;YAC/D,IAAI,UAAU,IAAI,SAAS,IAAI,SAAS,KAAK,WAAW;gBAAE,OAAO,KAAK,CAAC;YACvE,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QAEH,MAAM,IAAI,GAAwB,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACtD,EAAE,EAAE,EAAE,CAAC,EAAE;YACT,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,KAAK,CAAC;YACnC,MAAM,EAAE,EAAE,CAAC,MAAM;YACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC;YAC5C,QAAQ,EAAE,IAAI,CAAC,wBAAwB,CAAC,EAAE,CAAC,QAAQ,CAAC;YACpD,SAAS,EAAE,EAAE,CAAC,SAAS;YACvB,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS;SACnF,CAAC,CAAC,CAAC;QAEJ,IAAI,CAAC,IAAI,CACP,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACP,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC;YAC7D,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAC1B,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;;OAWG;IACK,qBAAqB,CAC3B,KAAiB,EACjB,WAAmB,EACnB,IAAY,EACZ,KAAa;QAEb,MAAM,cAAc,GAAG,IAAI,KAAK,iBAAiB,IAAI,WAAW,KAAK,yBAAyB,CAAC;QAE/F,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE;YACnC,IAAI,EAAE,CAAC,MAAM,KAAK,qBAAqB;gBAAE,OAAO,KAAK,CAAC;YACtD,IAAI,cAAc;gBAAE,OAAO,IAAI,CAAC;YAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YAClE,OAAO,QAAQ,KAAK,WAAW,CAAC;QAClC,CAAC,CAAC,CAAC;QAEH,MAAM,IAAI,GAAuB,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACrD,EAAE,EAAE,EAAE,CAAC,EAAE;YACT,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,KAAK,CAAC;YACnC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC;YAC5C,SAAS,EAAE,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,QAAQ,EAAE,WAAW,CAAC,IAAI,SAAS;SAC1E,CAAC,CAAC,CAAC;QAEJ,wDAAwD;QACxD,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;QAC7C,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;OAUG;IACK,0BAA0B,CAChC,KAAiB,EACjB,WAAmB,EACnB,KAAa;QAEb,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE;YACnC,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC;gBAAE,OAAO,KAAK,CAAC;YAC5D,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;YACxE,OAAO,WAAW,KAAK,WAAW,CAAC;QACrC,CAAC,CAAC,CAAC;QAEH,MAAM,IAAI,GAA4B,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YAC1D,EAAE,EAAE,EAAE,CAAC,EAAE;YACT,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,KAAK,CAAC;YACnC,MAAM,EAAE,EAAE,CAAC,MAAM;YACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC;YAC5C,MAAM,EAAE,EAAE,CAAC,MAAM;SAClB,CAAC,CAAC,CAAC;QAEJ,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;QAC7C,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;;;OAYG;IACK,uBAAuB,CAC7B,KAAiB,EACjB,WAAmB,EACnB,IAAY,EACZ,KAAa,EACb,QAAgB;QAEhB,MAAM,cAAc,GAAG,IAAI,KAAK,iBAAiB,IAAI,WAAW,KAAK,yBAAyB,CAAC;QAC/F,MAAM,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;QAEhC,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE;YACnC,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;YACzE,IAAI,CAAC,UAAU;gBAAE,OAAO,KAAK,CAAC;YAC9B,MAAM,EAAE,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC;YAC1C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAAE,OAAO,KAAK,CAAC;YACvC,IAAI,EAAE,GAAG,MAAM;gBAAE,OAAO,KAAK,CAAC;YAE9B,IAAI,cAAc;gBAAE,OAAO,IAAI,CAAC;YAChC,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;YACpE,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;YACxE,OAAO,CACL,EAAE,CAAC,MAAM,KAAK,WAAW;gBACzB,SAAS,KAAK,WAAW;gBACzB,WAAW,KAAK,WAAW,CAC5B,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,MAAM,IAAI,GAA0B,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACxD,EAAE,EAAE,EAAE,CAAC,EAAE;YACT,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,KAAK,CAAC;YACnC,UAAU,EAAE,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,QAAQ,EAAE,eAAe,CAAC,IAAI,EAAE;YACvE,cAAc,EAAE,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,QAAQ,EAAE,mBAAmB,CAAC,IAAI,SAAS;SACvF,CAAC,CAAC,CAAC;QAEJ,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QACzF,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACK,wBAAwB,CAC9B,QAA6C;QAE7C,MAAM,GAAG,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC1D,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,KAAK;YAAE,OAAO,GAAG,CAAC;QACpE,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;OAKG;IACK,aAAa,CAAC,KAAa;QACjC,IAAI,KAAK,CAAC,MAAM,IAAI,eAAe;YAAE,OAAO,KAAK,CAAC;QAClD,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,eAAe,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;IACnD,CAAC;IAED;;;;;;OAMG;IACK,mBAAmB,CAAC,IAAY;QACtC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QACjD,IAAI,OAAO,CAAC,MAAM,IAAI,qBAAqB;YAAE,OAAO,OAAO,CAAC;QAC5D,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,qBAAqB,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;IAC3D,CAAC;IAED,4EAA4E;IAC5E,wBAAwB;IACxB,4EAA4E;IAE5E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACI,KAAK,CAAC,0BAA0B,CACrC,WAAmB,EACnB,IAAY,EACZ,UAA2B,EAAE;QAE7B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;QAC1C,MAAM,QAAQ,GAAG,OAAO,CAAC,wBAAwB,IAAI,mCAAmC,CAAC;QACzF,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QAElD,qDAAqD;QACrD,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC9C,IAAI,CAAC,qBAAqB,EAAE,CAAC,OAAO,EAAE;YACtC,IAAI,CAAC,eAAe,EAAE,CAAC,WAAW,EAAE;SACrC,CAAC,CAAC;QAEH,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QACjF,MAAM,kBAAkB,GAAG,IAAI,CAAC,sBAAsB,CAAC,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QAC5F,MAAM,iBAAiB,GAAG,IAAI,CAAC,qBAAqB,CAAC,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QAC1F,MAAM,sBAAsB,GAAG,IAAI,CAAC,0BAA0B,CAAC,SAAS,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;QAC9F,MAAM,uBAAuB,GAAG,IAAI,CAAC,uBAAuB,CAC1D,SAAS,EACT,WAAW,EACX,IAAI,EACJ,KAAK,EACL,QAAQ,CACT,CAAC;QAEF,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACvE,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QAChF,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QAC7E,MAAM,mBAAmB,GAAG,IAAI,CAAC,QAAQ,CAAC,sBAAsB,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAC5F,MAAM,oBAAoB,GAAG,IAAI,CAAC,QAAQ,CACxC,uBAAuB,EACvB,IAAI,CAAC,oBAAoB,CAC1B,CAAC;QAEF,MAAM,SAAS,GACb,YAAY,CAAC,UAAU,CAAC,SAAS;YACjC,eAAe,CAAC,UAAU,CAAC,SAAS;YACpC,cAAc,CAAC,UAAU,CAAC,SAAS;YACnC,mBAAmB,CAAC,UAAU,CAAC,SAAS;YACxC,oBAAoB,CAAC,UAAU,CAAC,SAAS,CAAC;QAE5C,OAAO;YACL,YAAY,EAAE,YAAY,CAAC,IAAI;YAC/B,eAAe,EAAE,eAAe,CAAC,IAAI;YACrC,cAAc,EAAE,cAAc,CAAC,IAAI;YACnC,mBAAmB,EAAE,mBAAmB,CAAC,IAAI;YAC7C,oBAAoB,EAAE,oBAAoB,CAAC,IAAI;YAC/C,UAAU,EAAE;gBACV,YAAY,EAAE,YAAY,CAAC,UAAU;gBACrC,eAAe,EAAE,eAAe,CAAC,UAAU;gBAC3C,cAAc,EAAE,cAAc,CAAC,UAAU;gBACzC,mBAAmB,EAAE,mBAAmB,CAAC,UAAU;gBACnD,oBAAoB,EAAE,oBAAoB,CAAC,UAAU;aACtD;YACD,SAAS;YACT,WAAW,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE;YAC1C,WAAW,EAAE;gBACX,QAAQ,EAAE,QAAQ,CAAC,MAAM;gBACzB,SAAS,EAAE,SAAS,CAAC,MAAM;aAC5B;SACF,CAAC;IACJ,CAAC;IAED,4EAA4E;IAC5E,sBAAsB;IACtB,4EAA4E;IAE5E;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACI,wBAAwB,CAC7B,QAA4B,EAC5B,WAAyB;QAEzB,MAAM,SAAS,GACb,QAAQ,CAAC,YAAY,CAAC,MAAM;YAC5B,QAAQ,CAAC,eAAe,CAAC,MAAM;YAC/B,QAAQ,CAAC,cAAc,CAAC,MAAM;YAC9B,QAAQ,CAAC,mBAAmB,CAAC,MAAM;YACnC,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC;QAEvC,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;YACpB,OAAO,uDAAuD,CAAC;QACjE,CAAC;QAED,MAAM,QAAQ,GAAa,CAAC,qBAAqB,CAAC,CAAC;QAEnD,uEAAuE;QACvE,0EAA0E;QAC1E,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,WAAW,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;QAElF,IAAI,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QACtC,IAAI,EAAE,CAAC,MAAM,GAAG,2BAA2B,EAAE,CAAC;YAC5C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uEAAuE,EAAE;gBACzF,KAAK,EAAE,EAAE,CAAC,MAAM;gBAChB,OAAO,EAAE,2BAA2B;aACrC,CAAC,CAAC;YACH,MAAM,OAAO,GAAa,CAAC,qBAAqB,CAAC,CAAC;YAClD,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,WAAW,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;YAChF,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QACnC,CAAC;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;;;;;;;;;OAUG;IACK,cAAc,CACpB,QAA4B,EAC5B,WAAoC,EACpC,OAAgB;QAEhB,MAAM,GAAG,GAAa,EAAE,CAAC;QAEzB,IAAI,QAAQ,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,UAAU,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC;QAC1G,CAAC;QACD,IAAI,QAAQ,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxC,GAAG,CAAC,IAAI,CACN,IAAI,CAAC,qBAAqB,CACxB,QAAQ,CAAC,eAAe,EACxB,QAAQ,CAAC,UAAU,CAAC,eAAe,EACnC,WAAW,EACX,OAAO,CACR,CACF,CAAC;QACJ,CAAC;QACD,IAAI,QAAQ,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvC,GAAG,CAAC,IAAI,CACN,IAAI,CAAC,oBAAoB,CACvB,QAAQ,CAAC,cAAc,EACvB,QAAQ,CAAC,UAAU,CAAC,cAAc,EAClC,WAAW,CACZ,CACF,CAAC;QACJ,CAAC;QACD,IAAI,QAAQ,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5C,GAAG,CAAC,IAAI,CACN,IAAI,CAAC,yBAAyB,CAC5B,QAAQ,CAAC,mBAAmB,EAC5B,QAAQ,CAAC,UAAU,CAAC,mBAAmB,EACvC,WAAW,CACZ,CACF,CAAC;QACJ,CAAC;QACD,IAAI,QAAQ,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7C,GAAG,CAAC,IAAI,CACN,IAAI,CAAC,sBAAsB,CACzB,QAAQ,CAAC,oBAAoB,EAC7B,QAAQ,CAAC,UAAU,CAAC,oBAAoB,EACxC,WAAW,CACZ,CACF,CAAC;QACJ,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;;;OAMG;IACK,sBAAsB,CAAC,UAA6B;QAC1D,IAAI,CAAC,UAAU,CAAC,SAAS;YAAE,OAAO,EAAE,CAAC;QACrC,MAAM,IAAI,GAAG,UAAU,CAAC,eAAe,GAAG,UAAU,CAAC,GAAG,CAAC;QACzD,OAAO,YAAY,IAAI,oDAAoD,CAAC;IAC9E,CAAC;IAED;;;;;;;;;OASG;IACK,gBAAgB,CAAC,IAAY,EAAE,GAAW,EAAE,KAA8B;QAChF,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QACxB,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QACvB,OAAO,GAAG,IAAI,cAAc,IAAI,IAAI,CAAC;IACvC,CAAC;IAED,uEAAuE;IAC/D,SAAS,CAAC,QAAgB;QAChC,IAAI,QAAQ,GAAG,CAAC;YAAE,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC;QACtE,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;IACpC,CAAC;IAED;;;;;;;OAOG;IACK,kBAAkB,CACxB,IAAsB,EACtB,UAA6B,EAC7B,KAA8B;QAE9B,MAAM,KAAK,GAAG,CAAC,mBAAmB,CAAC,CAAC;QACpC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjD,MAAM,QAAQ,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,SAAS,CAAC,SAAS,OAAO,GAAG,CAAC,SAAS,CAAC,KAAK,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1G,MAAM,IAAI,GAAG,OAAO,GAAG,CAAC,EAAE,QAAQ,GAAG,CAAC,KAAK,OAAO,GAAG,CAAC,MAAM,MAAM,GAAG,CAAC,QAAQ,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,GAAG,GAAG,QAAQ,GAAG,CAAC;YACrI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAO,GAAG,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;YAChE,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE,EAAE,CAAC;gBAC9C,KAAK,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YACjE,CAAC;QACH,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;QACvD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;IACnC,CAAC;IAED;;;;;;;;OAQG;IACK,qBAAqB,CAC3B,IAAyB,EACzB,UAA6B,EAC7B,KAA8B,EAC9B,OAAgB;QAEhB,MAAM,KAAK,GAAG,CAAC,sBAAsB,CAAC,CAAC;QACvC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,MAAM,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9D,MAAM,IAAI,GAAG,OAAO,GAAG,CAAC,EAAE,QAAQ,GAAG,CAAC,KAAK,OAAO,GAAG,CAAC,MAAM,MAAM,GAAG,CAAC,QAAQ,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,MAAM,GAAG,CAAC;YAC7H,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;YAC/D,IAAI,CAAC,OAAO,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;gBAChC,KAAK,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;QACvD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;IACnC,CAAC;IAED;;;;;;;OAOG;IACK,oBAAoB,CAC1B,IAAwB,EACxB,UAA6B,EAC7B,KAA8B;QAE9B,MAAM,KAAK,GAAG,CAAC,qBAAqB,CAAC,CAAC;QACtC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChE,MAAM,IAAI,GAAG,OAAO,GAAG,CAAC,EAAE,QAAQ,GAAG,CAAC,KAAK,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,SAAS,GAAG,CAAC;YAC9F,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;QACjE,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;QACvD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;IACnC,CAAC;IAED;;;;;;;OAOG;IACK,yBAAyB,CAC/B,IAA6B,EAC7B,UAA6B,EAC7B,KAA8B;QAE9B,MAAM,KAAK,GAAG,CAAC,0BAA0B,CAAC,CAAC;QAC3C,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpD,MAAM,IAAI,GAAG,OAAO,GAAG,CAAC,EAAE,QAAQ,GAAG,CAAC,KAAK,OAAO,GAAG,CAAC,MAAM,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,MAAM,GAAG,CAAC;YAC3G,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;QACjE,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;QACvD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;IACnC,CAAC;IAED;;;;;;;OAOG;IACK,sBAAsB,CAC5B,IAA2B,EAC3B,UAA6B,EAC7B,KAA8B;QAE9B,MAAM,KAAK,GAAG,CAAC,yCAAyC,CAAC,CAAC;QAC1D,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,MAAM,GAAG,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpE,MAAM,IAAI,GAAG,OAAO,GAAG,CAAC,EAAE,QAAQ,GAAG,CAAC,KAAK,GAAG,MAAM,EAAE,CAAC;YACvD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;QACjE,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;QACvD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;IACnC,CAAC"}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent follow-through guard.
|
|
3
|
+
*
|
|
4
|
+
* An agent that tells the owner "I'm doing X now" and then ends its turn has
|
|
5
|
+
* broken a promise that nothing tracked (2026-10-10, Pia, three videos: two
|
|
6
|
+
* turns ended on "I haven't started yet — the next step is …" and she was
|
|
7
|
+
* idle-stopped 24 minutes later). This service remembers the last stated
|
|
8
|
+
* intent per agent and, at turn end, nudges the agent once when nothing
|
|
9
|
+
* followed it — no tool call, no WorkItem for the work, no hand-off.
|
|
10
|
+
*
|
|
11
|
+
* Cheap by construction: text heuristics ({@link detectStatedIntent}) plus
|
|
12
|
+
* the runtime's own tool hooks; no model call. Off switch:
|
|
13
|
+
* `CREWLY_FOLLOW_THROUGH=off`.
|
|
14
|
+
*
|
|
15
|
+
* @module services/agent/follow-through.service
|
|
16
|
+
* @see specs/2026-10-10-agent-follow-through.md
|
|
17
|
+
*/
|
|
18
|
+
/** Tunables (ms). */
|
|
19
|
+
export declare const FOLLOW_THROUGH_CONSTANTS: {
|
|
20
|
+
/** A statement older than this is stale: the turn that ended now is not about it */
|
|
21
|
+
readonly MAX_AGE_MS: number;
|
|
22
|
+
/** A statement keeps its agent from being idle-stopped for this long */
|
|
23
|
+
readonly HOLD_MS: number;
|
|
24
|
+
/** Never nudge one agent more often than this, whatever it says next */
|
|
25
|
+
readonly NUDGE_COOLDOWN_MS: number;
|
|
26
|
+
/** Without tool hooks: PTY output for longer than this after the statement counts as work */
|
|
27
|
+
readonly OUTPUT_WORK_MS: 45000;
|
|
28
|
+
/** After a runtime restart the first tool call is the harness's own register-self */
|
|
29
|
+
readonly TOOLS_AFTER_RESTART: 2;
|
|
30
|
+
};
|
|
31
|
+
/** What the guard needs from the rest of the backend. */
|
|
32
|
+
export interface FollowThroughDeps {
|
|
33
|
+
/** Deliver text into the agent's conversation (wakes nothing; false when not delivered) */
|
|
34
|
+
nudgeAgent: (session: string, text: string) => Promise<boolean>;
|
|
35
|
+
/** Tool calls started after `since`; null when the runtime reports no hooks */
|
|
36
|
+
toolStartsSince: (session: string, since: number) => number | null;
|
|
37
|
+
/** Epoch ms the agent's runtime process started, when known */
|
|
38
|
+
runtimeStartedAt?: (session: string) => number | null;
|
|
39
|
+
/** Fallback without hooks: ms of PTY output after `since`; null when unknown */
|
|
40
|
+
outputSpanSince?: (session: string, since: number) => number | null;
|
|
41
|
+
/** The agent handed the work to someone or put it on the pool since `since` */
|
|
42
|
+
handedOff: (session: string, since: number) => Promise<boolean>;
|
|
43
|
+
/** The agent is waiting on an owner card / question */
|
|
44
|
+
waitingOnOwner?: (session: string) => Promise<boolean>;
|
|
45
|
+
/** Owner-stopped or team-paused agents are never nudged */
|
|
46
|
+
isHeldBack?: (session: string) => boolean;
|
|
47
|
+
now?: () => number;
|
|
48
|
+
}
|
|
49
|
+
/** What a turn end did. */
|
|
50
|
+
export type TurnEndOutcome = 'none' | 'stale' | 'worked' | 'handed_off' | 'waiting' | 'held' | 'cooldown' | 'nudged' | 'not_delivered';
|
|
51
|
+
/**
|
|
52
|
+
* @param sentence - What the agent said
|
|
53
|
+
* @returns The nudge text (harness text, English)
|
|
54
|
+
*/
|
|
55
|
+
export declare function followThroughNudge(sentence: string): string;
|
|
56
|
+
/**
|
|
57
|
+
* Tracks the last stated intent per agent and nudges once when a turn ends
|
|
58
|
+
* without following it.
|
|
59
|
+
*/
|
|
60
|
+
export declare class AgentFollowThroughService {
|
|
61
|
+
private readonly deps;
|
|
62
|
+
private readonly statements;
|
|
63
|
+
private readonly lastNudgeAt;
|
|
64
|
+
private readonly lastReplyAt;
|
|
65
|
+
private readonly logger;
|
|
66
|
+
/** @param deps - Injected behaviour */
|
|
67
|
+
constructor(deps: FollowThroughDeps);
|
|
68
|
+
private now;
|
|
69
|
+
/**
|
|
70
|
+
* An agent posted to the owner (Slack or chat). A post that states an intent
|
|
71
|
+
* is remembered; any other post supersedes the earlier statement.
|
|
72
|
+
*
|
|
73
|
+
* @param input - Agent, the post's text, whether it was an interim "working on it" mark
|
|
74
|
+
*/
|
|
75
|
+
noteAgentPost(input: {
|
|
76
|
+
agent: string;
|
|
77
|
+
text: string;
|
|
78
|
+
interim?: boolean;
|
|
79
|
+
at?: number;
|
|
80
|
+
}): void;
|
|
81
|
+
/**
|
|
82
|
+
* When the agent last posted something that was not a stated intent (an
|
|
83
|
+
* answer, a result, a question). Ticket work creation reads it.
|
|
84
|
+
*
|
|
85
|
+
* @param agent - Session
|
|
86
|
+
* @returns Epoch ms, or undefined
|
|
87
|
+
*/
|
|
88
|
+
lastRealReplyAt(agent: string): number | undefined;
|
|
89
|
+
/**
|
|
90
|
+
* Whether the agent has an unfulfilled stated intent (nudged or not) that
|
|
91
|
+
* is recent enough to keep it from being idle-stopped.
|
|
92
|
+
*
|
|
93
|
+
* @param agent - Session
|
|
94
|
+
* @returns True while one is open
|
|
95
|
+
*/
|
|
96
|
+
holdsIntent(agent: string): boolean;
|
|
97
|
+
/**
|
|
98
|
+
* Take the open statement away (the caller turns it into a WorkItem).
|
|
99
|
+
*
|
|
100
|
+
* @param agent - Session
|
|
101
|
+
* @returns The sentence, or null
|
|
102
|
+
*/
|
|
103
|
+
takeIntent(agent: string): {
|
|
104
|
+
sentence: string;
|
|
105
|
+
at: number;
|
|
106
|
+
} | null;
|
|
107
|
+
/**
|
|
108
|
+
* The agent's turn ended: nudge it once when it stated an intent that
|
|
109
|
+
* nothing followed. Never throws.
|
|
110
|
+
*
|
|
111
|
+
* @param agent - Session
|
|
112
|
+
* @returns What happened
|
|
113
|
+
*/
|
|
114
|
+
onTurnEnd(agent: string): Promise<TurnEndOutcome>;
|
|
115
|
+
/** Whether the agent did anything after the statement. */
|
|
116
|
+
private followed;
|
|
117
|
+
}
|
|
118
|
+
/** @returns The wired guard, or null before boot (and when switched off) */
|
|
119
|
+
export declare function getFollowThrough(): AgentFollowThroughService | null;
|
|
120
|
+
/** @param service - The guard to expose (null clears) */
|
|
121
|
+
export declare function setFollowThrough(service: AgentFollowThroughService | null): void;
|
|
122
|
+
/**
|
|
123
|
+
* Report an agent's post to the owner, if the guard runs. Never throws.
|
|
124
|
+
*
|
|
125
|
+
* @param input - Agent, text, interim flag
|
|
126
|
+
*/
|
|
127
|
+
export declare function reportAgentPostForFollowThrough(input: {
|
|
128
|
+
agent: string;
|
|
129
|
+
text: string;
|
|
130
|
+
interim?: boolean;
|
|
131
|
+
}): void;
|
|
132
|
+
//# sourceMappingURL=follow-through.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"follow-through.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/agent/follow-through.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent follow-through guard.
|
|
3
|
+
*
|
|
4
|
+
* An agent that tells the owner "I'm doing X now" and then ends its turn has
|
|
5
|
+
* broken a promise that nothing tracked (2026-10-10, Pia, three videos: two
|
|
6
|
+
* turns ended on "I haven't started yet — the next step is …" and she was
|
|
7
|
+
* idle-stopped 24 minutes later). This service remembers the last stated
|
|
8
|
+
* intent per agent and, at turn end, nudges the agent once when nothing
|
|
9
|
+
* followed it — no tool call, no WorkItem for the work, no hand-off.
|
|
10
|
+
*
|
|
11
|
+
* Cheap by construction: text heuristics ({@link detectStatedIntent}) plus
|
|
12
|
+
* the runtime's own tool hooks; no model call. Off switch:
|
|
13
|
+
* `CREWLY_FOLLOW_THROUGH=off`.
|
|
14
|
+
*
|
|
15
|
+
* @module services/agent/follow-through.service
|
|
16
|
+
* @see specs/2026-10-10-agent-follow-through.md
|
|
17
|
+
*/
|
|
18
|
+
import { ORCHESTRATOR_SESSION_NAME } from '../../constants.js';
|
|
19
|
+
import { LoggerService } from '../core/logger.service.js';
|
|
20
|
+
import { detectStatedIntent } from './stated-intent.js';
|
|
21
|
+
/** Tunables (ms). */
|
|
22
|
+
export const FOLLOW_THROUGH_CONSTANTS = {
|
|
23
|
+
/** A statement older than this is stale: the turn that ended now is not about it */
|
|
24
|
+
MAX_AGE_MS: 30 * 60_000,
|
|
25
|
+
/** A statement keeps its agent from being idle-stopped for this long */
|
|
26
|
+
HOLD_MS: 60 * 60_000,
|
|
27
|
+
/** Never nudge one agent more often than this, whatever it says next */
|
|
28
|
+
NUDGE_COOLDOWN_MS: 10 * 60_000,
|
|
29
|
+
/** Without tool hooks: PTY output for longer than this after the statement counts as work */
|
|
30
|
+
OUTPUT_WORK_MS: 45_000,
|
|
31
|
+
/** After a runtime restart the first tool call is the harness's own register-self */
|
|
32
|
+
TOOLS_AFTER_RESTART: 2,
|
|
33
|
+
};
|
|
34
|
+
/**
|
|
35
|
+
* @param sentence - What the agent said
|
|
36
|
+
* @returns The nudge text (harness text, English)
|
|
37
|
+
*/
|
|
38
|
+
export function followThroughNudge(sentence) {
|
|
39
|
+
return (`[FOLLOW-THROUGH] You told the owner you would do this now: "${sentence}". ` +
|
|
40
|
+
'Your turn ended without starting it. Start it now, in this turn; ' +
|
|
41
|
+
"don't reply again until there's a result or a real blocker.");
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Tracks the last stated intent per agent and nudges once when a turn ends
|
|
45
|
+
* without following it.
|
|
46
|
+
*/
|
|
47
|
+
export class AgentFollowThroughService {
|
|
48
|
+
deps;
|
|
49
|
+
statements = new Map();
|
|
50
|
+
lastNudgeAt = new Map();
|
|
51
|
+
lastReplyAt = new Map();
|
|
52
|
+
logger;
|
|
53
|
+
/** @param deps - Injected behaviour */
|
|
54
|
+
constructor(deps) {
|
|
55
|
+
this.deps = deps;
|
|
56
|
+
this.logger = LoggerService.getInstance().createComponentLogger('FollowThrough');
|
|
57
|
+
}
|
|
58
|
+
now() {
|
|
59
|
+
return this.deps.now ? this.deps.now() : Date.now();
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* An agent posted to the owner (Slack or chat). A post that states an intent
|
|
63
|
+
* is remembered; any other post supersedes the earlier statement.
|
|
64
|
+
*
|
|
65
|
+
* @param input - Agent, the post's text, whether it was an interim "working on it" mark
|
|
66
|
+
*/
|
|
67
|
+
noteAgentPost(input) {
|
|
68
|
+
if (!input.agent || input.agent === ORCHESTRATOR_SESSION_NAME)
|
|
69
|
+
return;
|
|
70
|
+
const at = input.at ?? this.now();
|
|
71
|
+
const found = detectStatedIntent(input.text);
|
|
72
|
+
if (found) {
|
|
73
|
+
this.statements.set(input.agent, { at, sentence: found.sentence, nudged: false });
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
this.statements.delete(input.agent);
|
|
77
|
+
if (!input.interim)
|
|
78
|
+
this.lastReplyAt.set(input.agent, at);
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* When the agent last posted something that was not a stated intent (an
|
|
82
|
+
* answer, a result, a question). Ticket work creation reads it.
|
|
83
|
+
*
|
|
84
|
+
* @param agent - Session
|
|
85
|
+
* @returns Epoch ms, or undefined
|
|
86
|
+
*/
|
|
87
|
+
lastRealReplyAt(agent) {
|
|
88
|
+
return this.lastReplyAt.get(agent);
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Whether the agent has an unfulfilled stated intent (nudged or not) that
|
|
92
|
+
* is recent enough to keep it from being idle-stopped.
|
|
93
|
+
*
|
|
94
|
+
* @param agent - Session
|
|
95
|
+
* @returns True while one is open
|
|
96
|
+
*/
|
|
97
|
+
holdsIntent(agent) {
|
|
98
|
+
const s = this.statements.get(agent);
|
|
99
|
+
return !!s && this.now() - s.at <= FOLLOW_THROUGH_CONSTANTS.HOLD_MS;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Take the open statement away (the caller turns it into a WorkItem).
|
|
103
|
+
*
|
|
104
|
+
* @param agent - Session
|
|
105
|
+
* @returns The sentence, or null
|
|
106
|
+
*/
|
|
107
|
+
takeIntent(agent) {
|
|
108
|
+
const s = this.statements.get(agent);
|
|
109
|
+
if (!s)
|
|
110
|
+
return null;
|
|
111
|
+
this.statements.delete(agent);
|
|
112
|
+
return { sentence: s.sentence, at: s.at };
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* The agent's turn ended: nudge it once when it stated an intent that
|
|
116
|
+
* nothing followed. Never throws.
|
|
117
|
+
*
|
|
118
|
+
* @param agent - Session
|
|
119
|
+
* @returns What happened
|
|
120
|
+
*/
|
|
121
|
+
async onTurnEnd(agent) {
|
|
122
|
+
try {
|
|
123
|
+
const s = this.statements.get(agent);
|
|
124
|
+
if (!s || s.nudged)
|
|
125
|
+
return 'none';
|
|
126
|
+
const now = this.now();
|
|
127
|
+
if (now - s.at > FOLLOW_THROUGH_CONSTANTS.MAX_AGE_MS) {
|
|
128
|
+
this.statements.delete(agent);
|
|
129
|
+
return 'stale';
|
|
130
|
+
}
|
|
131
|
+
if (this.followed(agent, s)) {
|
|
132
|
+
this.statements.delete(agent);
|
|
133
|
+
return 'worked';
|
|
134
|
+
}
|
|
135
|
+
if (await this.deps.handedOff(agent, s.at - 60_000).catch(() => false)) {
|
|
136
|
+
this.statements.delete(agent);
|
|
137
|
+
return 'handed_off';
|
|
138
|
+
}
|
|
139
|
+
if (await this.deps.waitingOnOwner?.(agent).catch(() => false))
|
|
140
|
+
return 'waiting';
|
|
141
|
+
if (this.deps.isHeldBack?.(agent))
|
|
142
|
+
return 'held';
|
|
143
|
+
// One nudge per statement; one per agent per cooldown, whatever it says next.
|
|
144
|
+
s.nudged = true;
|
|
145
|
+
const last = this.lastNudgeAt.get(agent);
|
|
146
|
+
if (last !== undefined && now - last < FOLLOW_THROUGH_CONSTANTS.NUDGE_COOLDOWN_MS)
|
|
147
|
+
return 'cooldown';
|
|
148
|
+
const ok = await this.deps.nudgeAgent(agent, followThroughNudge(s.sentence)).catch(() => false);
|
|
149
|
+
this.logger.info('Stated intent without action — agent nudged', { agent, sentence: s.sentence, delivered: ok });
|
|
150
|
+
if (!ok)
|
|
151
|
+
return 'not_delivered';
|
|
152
|
+
this.lastNudgeAt.set(agent, now);
|
|
153
|
+
return 'nudged';
|
|
154
|
+
}
|
|
155
|
+
catch (err) {
|
|
156
|
+
this.logger.debug('Follow-through check failed (non-fatal)', { agent, error: err instanceof Error ? err.message : String(err) });
|
|
157
|
+
return 'none';
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
/** Whether the agent did anything after the statement. */
|
|
161
|
+
followed(agent, s) {
|
|
162
|
+
const tools = this.deps.toolStartsSince(agent, s.at);
|
|
163
|
+
if (tools !== null) {
|
|
164
|
+
const restarted = (this.deps.runtimeStartedAt?.(agent) ?? 0) > s.at;
|
|
165
|
+
return tools >= (restarted ? FOLLOW_THROUGH_CONSTANTS.TOOLS_AFTER_RESTART : 1);
|
|
166
|
+
}
|
|
167
|
+
const span = this.deps.outputSpanSince?.(agent, s.at);
|
|
168
|
+
// No hooks and no output reading: cannot tell, so do not nag.
|
|
169
|
+
if (span === null || span === undefined)
|
|
170
|
+
return true;
|
|
171
|
+
return span >= FOLLOW_THROUGH_CONSTANTS.OUTPUT_WORK_MS;
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
// ---------------------------------------------------------------------------
|
|
175
|
+
// Singleton
|
|
176
|
+
// ---------------------------------------------------------------------------
|
|
177
|
+
let instance = null;
|
|
178
|
+
/** @returns The wired guard, or null before boot (and when switched off) */
|
|
179
|
+
export function getFollowThrough() {
|
|
180
|
+
return instance;
|
|
181
|
+
}
|
|
182
|
+
/** @param service - The guard to expose (null clears) */
|
|
183
|
+
export function setFollowThrough(service) {
|
|
184
|
+
instance = service;
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* Report an agent's post to the owner, if the guard runs. Never throws.
|
|
188
|
+
*
|
|
189
|
+
* @param input - Agent, text, interim flag
|
|
190
|
+
*/
|
|
191
|
+
export function reportAgentPostForFollowThrough(input) {
|
|
192
|
+
try {
|
|
193
|
+
instance?.noteAgentPost(input);
|
|
194
|
+
}
|
|
195
|
+
catch {
|
|
196
|
+
/* best-effort */
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
//# sourceMappingURL=follow-through.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"follow-through.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/agent/follow-through.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAwB,MAAM,2BAA2B,CAAC;AAChF,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,qBAAqB;AACrB,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACvC,oFAAoF;IACpF,UAAU,EAAE,EAAE,GAAG,MAAM;IACvB,wEAAwE;IACxE,OAAO,EAAE,EAAE,GAAG,MAAM;IACpB,wEAAwE;IACxE,iBAAiB,EAAE,EAAE,GAAG,MAAM;IAC9B,6FAA6F;IAC7F,cAAc,EAAE,MAAM;IACtB,qFAAqF;IACrF,mBAAmB,EAAE,CAAC;CACb,CAAC;AA+BX;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,QAAgB;IAClD,OAAO,CACN,+DAA+D,QAAQ,KAAK;QAC5E,mEAAmE;QACnE,6DAA6D,CAC7D,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,OAAO,yBAAyB;IAOR;IANZ,UAAU,GAAG,IAAI,GAAG,EAAqB,CAAC;IAC1C,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;IACxC,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;IACxC,MAAM,CAAkB;IAEzC,uCAAuC;IACvC,YAA6B,IAAuB;QAAvB,SAAI,GAAJ,IAAI,CAAmB;QACnD,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC,WAAW,EAAE,CAAC,qBAAqB,CAAC,eAAe,CAAC,CAAC;IAClF,CAAC;IAEO,GAAG;QACV,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;IACrD,CAAC;IAED;;;;;OAKG;IACH,aAAa,CAAC,KAAsE;QACnF,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,KAAK,yBAAyB;YAAE,OAAO;QACtE,MAAM,EAAE,GAAG,KAAK,CAAC,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;QAClC,MAAM,KAAK,GAAG,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,KAAK,EAAE,CAAC;YACX,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;YAClF,OAAO;QACR,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACpC,IAAI,CAAC,KAAK,CAAC,OAAO;YAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED;;;;;;OAMG;IACH,eAAe,CAAC,KAAa;QAC5B,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IAED;;;;;;OAMG;IACH,WAAW,CAAC,KAAa;QACxB,MAAM,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACrC,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,IAAI,wBAAwB,CAAC,OAAO,CAAC;IACrE,CAAC;IAED;;;;;OAKG;IACH,UAAU,CAAC,KAAa;QACvB,MAAM,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACrC,IAAI,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QACpB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC9B,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;IAC3C,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,SAAS,CAAC,KAAa;QAC5B,IAAI,CAAC;YACJ,MAAM,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACrC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM;gBAAE,OAAO,MAAM,CAAC;YAClC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,IAAI,GAAG,GAAG,CAAC,CAAC,EAAE,GAAG,wBAAwB,CAAC,UAAU,EAAE,CAAC;gBACtD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC9B,OAAO,OAAO,CAAC;YAChB,CAAC;YACD,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC;gBAC7B,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC9B,OAAO,QAAQ,CAAC;YACjB,CAAC;YACD,IAAI,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;gBACxE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC9B,OAAO,YAAY,CAAC;YACrB,CAAC;YACD,IAAI,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC;gBAAE,OAAO,SAAS,CAAC;YACjF,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC;gBAAE,OAAO,MAAM,CAAC;YACjD,8EAA8E;YAC9E,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC;YAChB,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACzC,IAAI,IAAI,KAAK,SAAS,IAAI,GAAG,GAAG,IAAI,GAAG,wBAAwB,CAAC,iBAAiB;gBAAE,OAAO,UAAU,CAAC;YACrG,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;YAChG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,6CAA6C,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;YAChH,IAAI,CAAC,EAAE;gBAAE,OAAO,eAAe,CAAC;YAChC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YACjC,OAAO,QAAQ,CAAC;QACjB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yCAAyC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACjI,OAAO,MAAM,CAAC;QACf,CAAC;IACF,CAAC;IAED,0DAA0D;IAClD,QAAQ,CAAC,KAAa,EAAE,CAAY;QAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QACrD,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACpB,MAAM,SAAS,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACpE,OAAO,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,wBAAwB,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChF,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QACtD,8DAA8D;QAC9D,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;QACrD,OAAO,IAAI,IAAI,wBAAwB,CAAC,cAAc,CAAC;IACxD,CAAC;CACD;AAED,8EAA8E;AAC9E,YAAY;AACZ,8EAA8E;AAE9E,IAAI,QAAQ,GAAqC,IAAI,CAAC;AAEtD,4EAA4E;AAC5E,MAAM,UAAU,gBAAgB;IAC/B,OAAO,QAAQ,CAAC;AACjB,CAAC;AAED,yDAAyD;AACzD,MAAM,UAAU,gBAAgB,CAAC,OAAyC;IACzE,QAAQ,GAAG,OAAO,CAAC;AACpB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,+BAA+B,CAAC,KAAyD;IACxG,IAAI,CAAC;QACJ,QAAQ,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC;QACR,iBAAiB;IAClB,CAAC;AACF,CAAC"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Wiring for the follow-through guard, the ticket work guard and the idle
|
|
3
|
+
* work guard onto the real backend services. Kept apart from the services so
|
|
4
|
+
* their logic stays transport-free (and testable).
|
|
5
|
+
*
|
|
6
|
+
* @module services/agent/follow-through.wiring
|
|
7
|
+
* @see specs/2026-10-10-agent-follow-through.md
|
|
8
|
+
*/
|
|
9
|
+
import { type WorkItem } from '../../types/v2/work-item.types.js';
|
|
10
|
+
import { AgentFollowThroughService } from './follow-through.service.js';
|
|
11
|
+
import { type IdleWorkGuardDeps, type ReleaseWorkDeps } from './idle-work-guard.js';
|
|
12
|
+
/**
|
|
13
|
+
* Whether the agent handed the work off or put it on the pool since `since`:
|
|
14
|
+
* a WorkItem created after that for itself (tracked), or one it delegated to
|
|
15
|
+
* a teammate (`delegatedBy` / `createdBy` / the project-ticket caller stamp).
|
|
16
|
+
*
|
|
17
|
+
* @param items - Pool items
|
|
18
|
+
* @param session - The agent
|
|
19
|
+
* @param since - Epoch ms
|
|
20
|
+
* @returns True when something covers the statement
|
|
21
|
+
*/
|
|
22
|
+
export declare function handedOffSince(items: readonly WorkItem[], session: string, since: number): boolean;
|
|
23
|
+
/** What the wiring needs from the composition root. */
|
|
24
|
+
export interface FollowThroughWiringDeps {
|
|
25
|
+
crewlyHome: string;
|
|
26
|
+
/** Deliver text into an agent's conversation */
|
|
27
|
+
sendToAgent: (session: string, text: string) => Promise<{
|
|
28
|
+
success: boolean;
|
|
29
|
+
}>;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Build the guard on the real services and expose it as the singleton.
|
|
33
|
+
* `CREWLY_FOLLOW_THROUGH=off` switches it off (nothing tracked, no nudges).
|
|
34
|
+
*
|
|
35
|
+
* @param deps - Seams
|
|
36
|
+
* @returns The guard, or null when switched off
|
|
37
|
+
*/
|
|
38
|
+
export declare function createFollowThrough(deps: FollowThroughWiringDeps): AgentFollowThroughService | null;
|
|
39
|
+
/**
|
|
40
|
+
* End of an agent's turn: nudge a stated intent nothing followed, give an
|
|
41
|
+
* unanswered owner ticket a WorkItem, then (the caller) submit answered
|
|
42
|
+
* tickets. Order matters: the WorkItem exists before the review looks.
|
|
43
|
+
* Never throws.
|
|
44
|
+
*
|
|
45
|
+
* @param session - Agent whose turn ended
|
|
46
|
+
*/
|
|
47
|
+
export declare function settleFollowThrough(session: string): Promise<void>;
|
|
48
|
+
/** Seams of the idle work guard on the real services. */
|
|
49
|
+
export declare function idleWorkGuardDeps(): IdleWorkGuardDeps;
|
|
50
|
+
/** The idle check's pending-work check on the real services. */
|
|
51
|
+
export declare function idlePendingWorkCheck(): (session: string) => Promise<string | null>;
|
|
52
|
+
/** Seams of the work release on the real services. */
|
|
53
|
+
export declare function releaseWorkDeps(): ReleaseWorkDeps;
|
|
54
|
+
/**
|
|
55
|
+
* Release what a stopping agent holds (idle stop under pressure, emergency stop).
|
|
56
|
+
*
|
|
57
|
+
* @param session - Agent being stopped
|
|
58
|
+
* @param why - Reason text
|
|
59
|
+
* @returns Ids released or created
|
|
60
|
+
*/
|
|
61
|
+
export declare function releaseWorkForStop(session: string, why: string): Promise<string[]>;
|
|
62
|
+
//# sourceMappingURL=follow-through.wiring.d.ts.map
|
|
@@ -0,0 +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,EAAkB,KAAK,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAYlF,OAAO,EAAE,yBAAyB,EAAsC,MAAM,6BAA6B,CAAC;AAC5G,OAAO,EAAkC,KAAK,iBAAiB,EAAE,KAAK,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAIpH;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,SAAS,QAAQ,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAOlG;AAED,uDAAuD;AACvD,MAAM,WAAW,uBAAuB;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,gDAAgD;IAChD,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CAC9E;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,uBAAuB,GAAG,yBAAyB,GAAG,IAAI,CAqBnG;AAID;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAqBxE;AAED,yDAAyD;AACzD,wBAAgB,iBAAiB,IAAI,iBAAiB,CAOrD;AAED,gEAAgE;AAChE,wBAAgB,oBAAoB,IAAI,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAElF;AAED,sDAAsD;AACtD,wBAAgB,eAAe,IAAI,eAAe,CAsBjD;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAElF"}
|