github-issue-tower-defence-management 1.122.9 → 1.122.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/bin/adapter/entry-points/console/ui-dist/assets/{index-D0RwhyOM.css → index-N9M1qhkw.css} +1 -1
  3. package/bin/adapter/entry-points/console/ui-dist/index.html +2 -2
  4. package/bin/adapter/entry-points/handlers/notifySilentTmuxSessions.js +3 -2
  5. package/bin/adapter/entry-points/handlers/notifySilentTmuxSessions.js.map +1 -1
  6. package/bin/adapter/repositories/ConfigurableSilentSessionMessageComposer.js +3 -4
  7. package/bin/adapter/repositories/ConfigurableSilentSessionMessageComposer.js.map +1 -1
  8. package/bin/adapter/repositories/TranscriptRefusalTailStatusProvider.js +110 -0
  9. package/bin/adapter/repositories/TranscriptRefusalTailStatusProvider.js.map +1 -0
  10. package/bin/domain/usecases/DefaultSilentSessionMessageComposer.js +9 -13
  11. package/bin/domain/usecases/DefaultSilentSessionMessageComposer.js.map +1 -1
  12. package/bin/domain/usecases/IssueRejectionEvaluator.js +56 -12
  13. package/bin/domain/usecases/IssueRejectionEvaluator.js.map +1 -1
  14. package/bin/domain/usecases/NotifyFinishedIssuePreparationUseCase.js.map +1 -1
  15. package/bin/domain/usecases/NotifySilentLiveSessionsUseCase.js +20 -2
  16. package/bin/domain/usecases/NotifySilentLiveSessionsUseCase.js.map +1 -1
  17. package/bin/domain/usecases/adapter-interfaces/RefusalTailStatusProvider.js +3 -0
  18. package/bin/domain/usecases/adapter-interfaces/RefusalTailStatusProvider.js.map +1 -0
  19. package/package.json +5 -3
  20. package/src/adapter/entry-points/console/ui-dist/assets/{index-D0RwhyOM.css → index-N9M1qhkw.css} +1 -1
  21. package/src/adapter/entry-points/console/ui-dist/index.html +2 -2
  22. package/src/adapter/entry-points/handlers/notifySilentTmuxSessions.test.ts +1 -1
  23. package/src/adapter/entry-points/handlers/notifySilentTmuxSessions.ts +3 -2
  24. package/src/adapter/repositories/ConfigurableSilentSessionMessageComposer.test.ts +12 -5
  25. package/src/adapter/repositories/ConfigurableSilentSessionMessageComposer.ts +2 -3
  26. package/src/adapter/repositories/TranscriptRefusalTailStatusProvider.test.ts +208 -0
  27. package/src/adapter/repositories/TranscriptRefusalTailStatusProvider.ts +80 -0
  28. package/src/domain/entities/Project.ts +1 -8
  29. package/src/domain/usecases/AssignNoAssigneeIssueToManagerUseCase.test.ts +2 -2
  30. package/src/domain/usecases/DefaultSilentSessionMessageComposer.test.ts +54 -34
  31. package/src/domain/usecases/DefaultSilentSessionMessageComposer.ts +6 -23
  32. package/src/domain/usecases/IssueRejectionEvaluator.test.ts +154 -0
  33. package/src/domain/usecases/IssueRejectionEvaluator.ts +60 -14
  34. package/src/domain/usecases/NotifyFinishedIssuePreparationUseCase.ts +1 -3
  35. package/src/domain/usecases/NotifySilentLiveSessionsUseCase.test.ts +147 -0
  36. package/src/domain/usecases/NotifySilentLiveSessionsUseCase.ts +26 -1
  37. package/src/domain/usecases/adapter-interfaces/RefusalTailStatusProvider.ts +5 -0
  38. package/types/adapter/entry-points/handlers/notifySilentTmuxSessions.d.ts.map +1 -1
  39. package/types/adapter/repositories/ConfigurableSilentSessionMessageComposer.d.ts +1 -2
  40. package/types/adapter/repositories/ConfigurableSilentSessionMessageComposer.d.ts.map +1 -1
  41. package/types/adapter/repositories/TranscriptRefusalTailStatusProvider.d.ts +6 -0
  42. package/types/adapter/repositories/TranscriptRefusalTailStatusProvider.d.ts.map +1 -0
  43. package/types/domain/entities/Project.d.ts.map +1 -1
  44. package/types/domain/usecases/DefaultSilentSessionMessageComposer.d.ts +1 -3
  45. package/types/domain/usecases/DefaultSilentSessionMessageComposer.d.ts.map +1 -1
  46. package/types/domain/usecases/IssueRejectionEvaluator.d.ts.map +1 -1
  47. package/types/domain/usecases/NotifyFinishedIssuePreparationUseCase.d.ts.map +1 -1
  48. package/types/domain/usecases/NotifySilentLiveSessionsUseCase.d.ts +3 -1
  49. package/types/domain/usecases/NotifySilentLiveSessionsUseCase.d.ts.map +1 -1
  50. package/types/domain/usecases/adapter-interfaces/RefusalTailStatusProvider.d.ts +4 -0
  51. package/types/domain/usecases/adapter-interfaces/RefusalTailStatusProvider.d.ts.map +1 -0
  52. /package/bin/adapter/entry-points/console/ui-dist/assets/{index-CC-RYye2.js → index-8H0HejYa.js} +0 -0
  53. /package/src/adapter/entry-points/console/ui-dist/assets/{index-CC-RYye2.js → index-8H0HejYa.js} +0 -0
@@ -17,6 +17,7 @@ import { InteractiveLiveSessionTranscriptResolver } from './adapter-interfaces/I
17
17
  import { SessionOutputActivityRepository } from './adapter-interfaces/SessionOutputActivityRepository';
18
18
  import { SessionSubAgentActivityRepository } from './adapter-interfaces/SessionSubAgentActivityRepository';
19
19
  import { OwnerCallStatusProvider } from './adapter-interfaces/OwnerCallStatusProvider';
20
+ import { RefusalTailStatusProvider } from './adapter-interfaces/RefusalTailStatusProvider';
20
21
  import { SilentSessionNotificationRepository } from './adapter-interfaces/SilentSessionNotificationRepository';
21
22
  import { SilentSessionCandidateStateRepository } from './adapter-interfaces/SilentSessionCandidateStateRepository';
22
23
  import { SilentSessionHubTaskStatusCacheRepository } from './adapter-interfaces/SilentSessionHubTaskStatusCacheRepository';
@@ -52,6 +53,7 @@ describe('NotifySilentLiveSessionsUseCase', () => {
52
53
  let mockSleeper: Mocked<Sleeper>;
53
54
  let mockHubTaskStatusResolver: Mocked<HubTaskStatusResolver>;
54
55
  let mockHubTaskStatusCacheRepository: Mocked<SilentSessionHubTaskStatusCacheRepository>;
56
+ let mockRefusalTailStatusProvider: Mocked<RefusalTailStatusProvider>;
55
57
  const now = new Date('2026-06-26T00:00:00Z');
56
58
  const nowEpochSeconds = Math.floor(now.getTime() / 1000);
57
59
  const GITHUB_SESSION = 'https_//github_com/HiromiShikata/repo/issues/42';
@@ -191,6 +193,11 @@ describe('NotifySilentLiveSessionsUseCase', () => {
191
193
  loadHubTaskStatus: jest.fn().mockResolvedValue(null),
192
194
  saveHubTaskStatus: jest.fn().mockResolvedValue(undefined),
193
195
  };
196
+ mockRefusalTailStatusProvider = {
197
+ listRefusalTailedSessionNames: jest
198
+ .fn()
199
+ .mockResolvedValue(new Set<string>()),
200
+ };
194
201
  useCase = new NotifySilentLiveSessionsUseCase(
195
202
  mockSnapshotProvider,
196
203
  mockTranscriptResolver,
@@ -203,6 +210,7 @@ describe('NotifySilentLiveSessionsUseCase', () => {
203
210
  mockSleeper,
204
211
  mockHubTaskStatusResolver,
205
212
  mockHubTaskStatusCacheRepository,
213
+ mockRefusalTailStatusProvider,
206
214
  );
207
215
  });
208
216
 
@@ -1477,6 +1485,145 @@ describe('NotifySilentLiveSessionsUseCase', () => {
1477
1485
  });
1478
1486
  });
1479
1487
 
1488
+ describe('refusal-tailed session gating', () => {
1489
+ it('excludes a main-stalled session whose last assistant turn is a refusal and logs one skip line', async () => {
1490
+ setupSilentMainSession(GITHUB_SESSION);
1491
+ mockRefusalTailStatusProvider.listRefusalTailedSessionNames.mockResolvedValue(
1492
+ new Set([GITHUB_SESSION]),
1493
+ );
1494
+
1495
+ await useCase.run(runParams());
1496
+
1497
+ expect(
1498
+ mockMessageComposer.composeMainStalledSection,
1499
+ ).not.toHaveBeenCalled();
1500
+ expect(
1501
+ mockNotificationRepository.sendSelfCheckNotification,
1502
+ ).not.toHaveBeenCalled();
1503
+ const skipLines = jest
1504
+ .mocked(console.log)
1505
+ .mock.calls.filter(
1506
+ (call) =>
1507
+ typeof call[0] === 'string' &&
1508
+ call[0].includes('last assistant turn was a model refusal'),
1509
+ );
1510
+ expect(skipLines).toEqual([
1511
+ [
1512
+ `Skipping ${GITHUB_SESSION}: last assistant turn was a model refusal; suppressing reminders until a non-refusal turn appears.`,
1513
+ ],
1514
+ ]);
1515
+ });
1516
+
1517
+ it('excludes a refusal-tailed session from the sub-agent reminder branch as well', async () => {
1518
+ setupLiveInteractiveSession(GITHUB_SESSION);
1519
+ const subAgents: SubAgentActivity[] = [
1520
+ {
1521
+ label: 'sub-process-1',
1522
+ silentSeconds: DEFAULT_SUBAGENT_SILENT_THRESHOLD_SECONDS,
1523
+ runningSeconds: 60,
1524
+ waitingOnExternalProcess: false,
1525
+ },
1526
+ ];
1527
+ mockSubAgentActivityRepository.listSubAgentActivitiesBySessionName.mockResolvedValue(
1528
+ new Map([[GITHUB_SESSION, subAgents]]),
1529
+ );
1530
+ mockRefusalTailStatusProvider.listRefusalTailedSessionNames.mockResolvedValue(
1531
+ new Set([GITHUB_SESSION]),
1532
+ );
1533
+
1534
+ await useCase.run(runParams());
1535
+
1536
+ expect(mockMessageComposer.composeSubAgentSection).not.toHaveBeenCalled();
1537
+ expect(
1538
+ mockNotificationRepository.sendSelfCheckNotification,
1539
+ ).not.toHaveBeenCalled();
1540
+ expect(
1541
+ mockSubAgentActivityRepository.listSubAgentActivitiesBySessionName,
1542
+ ).toHaveBeenCalledWith([], transcriptMapFor([GITHUB_SESSION]));
1543
+ });
1544
+
1545
+ it('passes the resolved transcript paths to the refusal-tail provider', async () => {
1546
+ setupSilentMainSession(GITHUB_SESSION);
1547
+
1548
+ await useCase.run(runParams());
1549
+
1550
+ expect(
1551
+ mockRefusalTailStatusProvider.listRefusalTailedSessionNames,
1552
+ ).toHaveBeenCalledWith(transcriptMapFor([GITHUB_SESSION]));
1553
+ });
1554
+
1555
+ it('notifies a session again once the provider stops reporting it (a non-refusal turn followed the refusal)', async () => {
1556
+ setupSilentMainSession(GITHUB_SESSION);
1557
+ mockRefusalTailStatusProvider.listRefusalTailedSessionNames.mockResolvedValue(
1558
+ new Set<string>(),
1559
+ );
1560
+
1561
+ await useCase.run(runParams());
1562
+
1563
+ expect(
1564
+ mockNotificationRepository.sendSelfCheckNotification,
1565
+ ).toHaveBeenCalledWith(GITHUB_SESSION, MAIN_STALLED_SECTION);
1566
+ });
1567
+
1568
+ it('excludes only the refusal-tailed session when mixed with a healthy stalled session', async () => {
1569
+ mockSnapshotProvider.getSnapshot.mockResolvedValue(
1570
+ snapshotWithSessions([GITHUB_SESSION_ALPHA, GITHUB_SESSION_BRAVO]),
1571
+ );
1572
+ mockTranscriptResolver.resolveTranscriptPaths.mockReturnValue(
1573
+ transcriptMapFor([GITHUB_SESSION_ALPHA, GITHUB_SESSION_BRAVO]),
1574
+ );
1575
+ mockSessionOutputActivityRepository.listSessionOutputActivities.mockResolvedValue(
1576
+ [
1577
+ {
1578
+ sessionName: GITHUB_SESSION_ALPHA,
1579
+ lastOutputEpochSeconds:
1580
+ nowEpochSeconds - DEFAULT_MAIN_SILENT_THRESHOLD_SECONDS,
1581
+ },
1582
+ {
1583
+ sessionName: GITHUB_SESSION_BRAVO,
1584
+ lastOutputEpochSeconds:
1585
+ nowEpochSeconds - DEFAULT_MAIN_SILENT_THRESHOLD_SECONDS,
1586
+ },
1587
+ ],
1588
+ );
1589
+ mockRefusalTailStatusProvider.listRefusalTailedSessionNames.mockResolvedValue(
1590
+ new Set([GITHUB_SESSION_ALPHA]),
1591
+ );
1592
+
1593
+ await useCase.run(runParams());
1594
+
1595
+ expect(
1596
+ mockNotificationRepository.sendSelfCheckNotification,
1597
+ ).toHaveBeenCalledTimes(1);
1598
+ expect(
1599
+ mockNotificationRepository.sendSelfCheckNotification,
1600
+ ).toHaveBeenCalledWith(GITHUB_SESSION_BRAVO, MAIN_STALLED_SECTION);
1601
+ });
1602
+
1603
+ it('keeps the existing behavior when no refusal-tail provider is configured', async () => {
1604
+ const useCaseWithoutProvider = new NotifySilentLiveSessionsUseCase(
1605
+ mockSnapshotProvider,
1606
+ mockTranscriptResolver,
1607
+ mockSessionOutputActivityRepository,
1608
+ mockSubAgentActivityRepository,
1609
+ mockOwnerCallStatusProvider,
1610
+ mockNotificationRepository,
1611
+ mockCandidateStateRepository,
1612
+ mockMessageComposer,
1613
+ mockSleeper,
1614
+ mockHubTaskStatusResolver,
1615
+ mockHubTaskStatusCacheRepository,
1616
+ );
1617
+ setupSilentMainSession(GITHUB_SESSION);
1618
+
1619
+ await useCaseWithoutProvider.run(runParams());
1620
+
1621
+ expect(
1622
+ mockNotificationRepository.sendSelfCheckNotification,
1623
+ ).toHaveBeenCalledWith(GITHUB_SESSION, MAIN_STALLED_SECTION);
1624
+ });
1625
+ });
1626
+
1480
1627
  describe('isGitHubIssueOrPullRequestSessionName', () => {
1481
1628
  it('accepts the encoded form of a github.com issue URL session name', () => {
1482
1629
  expect(
@@ -3,6 +3,7 @@ import { InteractiveLiveSession } from '../entities/InteractiveLiveSession';
3
3
  import { LiveSessionProcessSnapshotProvider } from './adapter-interfaces/LiveSessionProcessSnapshotProvider';
4
4
  import { InteractiveLiveSessionTranscriptResolver } from './adapter-interfaces/InteractiveLiveSessionTranscriptResolver';
5
5
  import { OwnerCallStatusProvider } from './adapter-interfaces/OwnerCallStatusProvider';
6
+ import { RefusalTailStatusProvider } from './adapter-interfaces/RefusalTailStatusProvider';
6
7
  import { SessionOutputActivityRepository } from './adapter-interfaces/SessionOutputActivityRepository';
7
8
  import { SessionSubAgentActivityRepository } from './adapter-interfaces/SessionSubAgentActivityRepository';
8
9
  import { SilentSessionMessageComposer } from './adapter-interfaces/SilentSessionMessageComposer';
@@ -79,6 +80,7 @@ export class NotifySilentLiveSessionsUseCase {
79
80
  private readonly sleeper: Sleeper,
80
81
  private readonly hubTaskStatusResolver: HubTaskStatusResolver | null = null,
81
82
  private readonly hubTaskStatusCacheRepository: SilentSessionHubTaskStatusCacheRepository | null = null,
83
+ private readonly refusalTailStatusProvider: RefusalTailStatusProvider | null = null,
82
84
  ) {}
83
85
 
84
86
  run = async (params: {
@@ -111,8 +113,31 @@ export class NotifySilentLiveSessionsUseCase {
111
113
  interactiveSessions,
112
114
  );
113
115
 
116
+ // A session whose most recent assistant turn is a model refusal is
117
+ // excluded from ALL reminder candidates (main-stall and sub-agent
118
+ // branches alike): each reminder delivery re-sends the full session
119
+ // context to the API and is guaranteed to produce another refusal, so
120
+ // reminding such a session only burns tokens. The gate is state-based
121
+ // (no time windows) and self-clears once a non-refusal assistant turn
122
+ // appears after the refusal.
123
+ const refusalTailedSessionNames =
124
+ this.refusalTailStatusProvider === null
125
+ ? new Set<string>()
126
+ : await this.refusalTailStatusProvider.listRefusalTailedSessionNames(
127
+ transcriptPathBySessionName,
128
+ );
129
+ const monitoredSessions = interactiveSessions.filter((session) => {
130
+ if (!refusalTailedSessionNames.has(session.sessionName)) {
131
+ return true;
132
+ }
133
+ console.log(
134
+ `Skipping ${session.sessionName}: last assistant turn was a model refusal; suppressing reminders until a non-refusal turn appears.`,
135
+ );
136
+ return false;
137
+ });
138
+
114
139
  const snapshots = await this.collectSnapshots(
115
- interactiveSessions,
140
+ monitoredSessions,
116
141
  transcriptPathBySessionName,
117
142
  params.now,
118
143
  );
@@ -0,0 +1,5 @@
1
+ export interface RefusalTailStatusProvider {
2
+ listRefusalTailedSessionNames: (
3
+ transcriptPathBySessionName: Map<string, string>,
4
+ ) => Promise<Set<string>>;
5
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"notifySilentTmuxSessions.d.ts","sourceRoot":"","sources":["../../../../src/adapter/entry-points/handlers/notifySilentTmuxSessions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gEAAgE,CAAC;AAGpG,OAAO,EAAE,oBAAoB,EAAE,MAAM,kEAAkE,CAAC;AACxG,OAAO,EAEL,qBAAqB,EAQtB,MAAM,0DAA0D,CAAC;AAclE,OAAO,EAEL,6BAA6B,EAC9B,MAAM,6DAA6D,CAAC;AAKrE,MAAM,MAAM,8BAA8B,GAAG;IAC3C,OAAO,EAAE,OAAO,CAAC;IACjB,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAC5C,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,2BAA2B,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3C,2BAA2B,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3C,+BAA+B,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/C,0BAA0B,EAAE,MAAM,CAAC;IACnC,+BAA+B,EAAE,MAAM,CAAC;IACxC,8BAA8B,EAAE,MAAM,CAAC;IACvC,+BAA+B,EAAE,MAAM,CAAC;IACxC,cAAc,EAAE,MAAM,CAAC;IACvB,qCAAqC,EAAE,MAAM,CAAC;IAC9C,8BAA8B,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9C,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,qBAAqB,EAAE,qBAAqB,GAAG,IAAI,CAAC;IACpD,+BAA+B,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/C,4BAA4B,EAAE,MAAM,CAAC;IACrC,gBAAgB,EAAE,6BAA6B,CAAC;IAChD,GAAG,EAAE,IAAI,CAAC;CACX,CAAC;AAqCF,eAAO,MAAM,wBAAwB,GACnC,QAAQ,8BAA8B,KACrC,OAAO,CAAC,IAAI,CA2Ed,CAAC;AAEF,eAAO,MAAM,0CAA0C;;;;;;;;CAS7C,CAAC"}
1
+ {"version":3,"file":"notifySilentTmuxSessions.d.ts","sourceRoot":"","sources":["../../../../src/adapter/entry-points/handlers/notifySilentTmuxSessions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gEAAgE,CAAC;AAGpG,OAAO,EAAE,oBAAoB,EAAE,MAAM,kEAAkE,CAAC;AACxG,OAAO,EAEL,qBAAqB,EAQtB,MAAM,0DAA0D,CAAC;AAelE,OAAO,EAEL,6BAA6B,EAC9B,MAAM,6DAA6D,CAAC;AAKrE,MAAM,MAAM,8BAA8B,GAAG;IAC3C,OAAO,EAAE,OAAO,CAAC;IACjB,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAC5C,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,2BAA2B,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3C,2BAA2B,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3C,+BAA+B,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/C,0BAA0B,EAAE,MAAM,CAAC;IACnC,+BAA+B,EAAE,MAAM,CAAC;IACxC,8BAA8B,EAAE,MAAM,CAAC;IACvC,+BAA+B,EAAE,MAAM,CAAC;IACxC,cAAc,EAAE,MAAM,CAAC;IACvB,qCAAqC,EAAE,MAAM,CAAC;IAC9C,8BAA8B,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9C,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,qBAAqB,EAAE,qBAAqB,GAAG,IAAI,CAAC;IACpD,+BAA+B,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/C,4BAA4B,EAAE,MAAM,CAAC;IACrC,gBAAgB,EAAE,6BAA6B,CAAC;IAChD,GAAG,EAAE,IAAI,CAAC;CACX,CAAC;AAqCF,eAAO,MAAM,wBAAwB,GACnC,QAAQ,8BAA8B,KACrC,OAAO,CAAC,IAAI,CA2Ed,CAAC;AAEF,eAAO,MAAM,0CAA0C;;;;;;;;CAS7C,CAAC"}
@@ -10,8 +10,7 @@ export type SilentSessionMessageTemplates = {
10
10
  export declare class ConfigurableSilentSessionMessageComposer implements SilentSessionMessageComposer {
11
11
  private readonly templates;
12
12
  private readonly fallback;
13
- private readonly ownerCallMarker;
14
- constructor(templates: SilentSessionMessageTemplates, fallback: SilentSessionMessageComposer, ownerCallMarker?: string | null);
13
+ constructor(templates: SilentSessionMessageTemplates, fallback: SilentSessionMessageComposer);
15
14
  composeMainStalledSection: (mainSilentSeconds: number) => string;
16
15
  composeMainStalledWithStaleOwnerCallSection: (mainSilentSeconds: number, unansweredOwnerCallAgeSeconds: number) => string;
17
16
  composeSubAgentSection: (stallSections: SubAgentStallSections) => string;
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigurableSilentSessionMessageComposer.d.ts","sourceRoot":"","sources":["../../../src/adapter/repositories/ConfigurableSilentSessionMessageComposer.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,4BAA4B,EAC5B,qBAAqB,EACtB,MAAM,uEAAuE,CAAC;AAQ/E,MAAM,MAAM,6BAA6B,GAAG;IAC1C,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,gCAAgC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChD,yBAAyB,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,yBAAyB,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,gCAAgC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChD,gCAAgC,EAAE,MAAM,GAAG,IAAI,CAAC;CACjD,CAAC;AAOF,qBAAa,wCAAyC,YAAW,4BAA4B;IAEzF,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,eAAe;gBAFf,SAAS,EAAE,6BAA6B,EACxC,QAAQ,EAAE,4BAA4B,EACtC,eAAe,GAAE,MAAM,GAAG,IAAW;IAGxD,yBAAyB,GAAI,mBAAmB,MAAM,KAAG,MAAM,CAO7D;IAEF,2CAA2C,GACzC,mBAAmB,MAAM,EACzB,+BAA+B,MAAM,KACpC,MAAM,CAUP;IAEF,sBAAsB,GAAI,eAAe,qBAAqB,KAAG,MAAM,CA4CrE;IAEF,OAAO,CAAC,kBAAkB,CAkBxB;IAEF,OAAO,CAAC,yBAAyB,CAkB/B;CACH"}
1
+ {"version":3,"file":"ConfigurableSilentSessionMessageComposer.d.ts","sourceRoot":"","sources":["../../../src/adapter/repositories/ConfigurableSilentSessionMessageComposer.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,4BAA4B,EAC5B,qBAAqB,EACtB,MAAM,uEAAuE,CAAC;AAQ/E,MAAM,MAAM,6BAA6B,GAAG;IAC1C,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,gCAAgC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChD,yBAAyB,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,yBAAyB,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,gCAAgC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChD,gCAAgC,EAAE,MAAM,GAAG,IAAI,CAAC;CACjD,CAAC;AAOF,qBAAa,wCAAyC,YAAW,4BAA4B;IAEzF,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBADR,SAAS,EAAE,6BAA6B,EACxC,QAAQ,EAAE,4BAA4B;IAGzD,yBAAyB,GAAI,mBAAmB,MAAM,KAAG,MAAM,CAO7D;IAEF,2CAA2C,GACzC,mBAAmB,MAAM,EACzB,+BAA+B,MAAM,KACpC,MAAM,CAUP;IAEF,sBAAsB,GAAI,eAAe,qBAAqB,KAAG,MAAM,CA4CrE;IAEF,OAAO,CAAC,kBAAkB,CAkBxB;IAEF,OAAO,CAAC,yBAAyB,CAkB/B;CACH"}
@@ -0,0 +1,6 @@
1
+ import { RefusalTailStatusProvider } from '../../domain/usecases/adapter-interfaces/RefusalTailStatusProvider';
2
+ export declare class TranscriptRefusalTailStatusProvider implements RefusalTailStatusProvider {
3
+ listRefusalTailedSessionNames: (transcriptPathBySessionName: Map<string, string>) => Promise<Set<string>>;
4
+ private isTranscriptRefusalTailed;
5
+ }
6
+ //# sourceMappingURL=TranscriptRefusalTailStatusProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TranscriptRefusalTailStatusProvider.d.ts","sourceRoot":"","sources":["../../../src/adapter/repositories/TranscriptRefusalTailStatusProvider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,oEAAoE,CAAC;AA6B/G,qBAAa,mCAAoC,YAAW,yBAAyB;IAQnF,6BAA6B,GAC3B,6BAA6B,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,KAC/C,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAQrB;IAEF,OAAO,CAAC,yBAAyB,CA4B/B;CACH"}
@@ -1 +1 @@
1
- {"version":3,"file":"Project.d.ts","sourceRoot":"","sources":["../../../src/domain/entities/Project.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG,WAAW,CAAC;AACtC,MAAM,MAAM,WAAW,GAAG;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EACD,MAAM,GACN,MAAM,GACN,OAAO,GACP,QAAQ,GACR,QAAQ,GACR,KAAK,GACL,MAAM,GACN,QAAQ,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AACF,MAAM,MAAM,OAAO,GAAG;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IAEb,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,WAAW,EAAE,CAAC;KACzB,CAAC;IACF,cAAc,EAAE;QACd,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;KACjB,GAAG,IAAI,CAAC;IACT,cAAc,EAAE;QACd,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;KACjB,GAAG,IAAI,CAAC;IACT,KAAK,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE,WAAW,EAAE,CAAC;QACvB,uBAAuB,EAAE;YACvB,EAAE,EAAE,MAAM,CAAC;YACX,IAAI,EAAE,MAAM,CAAC;SACd,CAAC;KACH,GAAG,IAAI,CAAC;IACT,0BAA0B,EAAE;QAC1B,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;KACjB,GAAG,IAAI,CAAC;IACT,gCAAgC,EAAE;QAChC,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;KACjB,GAAG,IAAI,CAAC;IACT,iCAAiC,EAAE;QACjC,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;KACjB,GAAG,IAAI,CAAC;CACV,CAAC"}
1
+ {"version":3,"file":"Project.d.ts","sourceRoot":"","sources":["../../../src/domain/entities/Project.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG,WAAW,CAAC;AACtC,MAAM,MAAM,WAAW,GAAG;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EACH,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,GAAG,QAAQ,CAAC;IAC9E,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AACF,MAAM,MAAM,OAAO,GAAG;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IAEb,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,WAAW,EAAE,CAAC;KACzB,CAAC;IACF,cAAc,EAAE;QACd,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;KACjB,GAAG,IAAI,CAAC;IACT,cAAc,EAAE;QACd,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;KACjB,GAAG,IAAI,CAAC;IACT,KAAK,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE,WAAW,EAAE,CAAC;QACvB,uBAAuB,EAAE;YACvB,EAAE,EAAE,MAAM,CAAC;YACX,IAAI,EAAE,MAAM,CAAC;SACd,CAAC;KACH,GAAG,IAAI,CAAC;IACT,0BAA0B,EAAE;QAC1B,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;KACjB,GAAG,IAAI,CAAC;IACT,gCAAgC,EAAE;QAChC,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;KACjB,GAAG,IAAI,CAAC;IACT,iCAAiC,EAAE;QACjC,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;KACjB,GAAG,IAAI,CAAC;CACV,CAAC"}
@@ -1,8 +1,6 @@
1
1
  import { SilentSessionMessageComposer, SubAgentStallSections } from './adapter-interfaces/SilentSessionMessageComposer';
2
- export declare const composeOwnerCallFormatGuidance: (ownerCallMarker: string | null) => string;
2
+ export declare const composeOwnerCallFormatGuidance: () => string;
3
3
  export declare class DefaultSilentSessionMessageComposer implements SilentSessionMessageComposer {
4
- private readonly ownerCallMarker;
5
- constructor(ownerCallMarker?: string | null);
6
4
  composeMainStalledSection: (mainSilentSeconds: number) => string;
7
5
  composeMainStalledWithStaleOwnerCallSection: (mainSilentSeconds: number, unansweredOwnerCallAgeSeconds: number) => string;
8
6
  composeSubAgentSection: (stallSections: SubAgentStallSections) => string;
@@ -1 +1 @@
1
- {"version":3,"file":"DefaultSilentSessionMessageComposer.d.ts","sourceRoot":"","sources":["../../../src/domain/usecases/DefaultSilentSessionMessageComposer.ts"],"names":[],"mappings":"AACA,OAAO,EACL,4BAA4B,EAC5B,qBAAqB,EACtB,MAAM,mDAAmD,CAAC;AAwC3D,eAAO,MAAM,8BAA8B,GACzC,iBAAiB,MAAM,GAAG,IAAI,KAC7B,MAMF,CAAC;AAmCF,qBAAa,mCAAoC,YAAW,4BAA4B;IAC1E,OAAO,CAAC,QAAQ,CAAC,eAAe;gBAAf,eAAe,GAAE,MAAM,GAAG,IAAW;IAElE,yBAAyB,GAAI,mBAAmB,MAAM,KAAG,MAAM,CAE7D;IAEF,2CAA2C,GACzC,mBAAmB,MAAM,EACzB,+BAA+B,MAAM,KACpC,MAAM,CAMP;IAEF,sBAAsB,GAAI,eAAe,qBAAqB,KAAG,MAAM,CAWrE;CACH"}
1
+ {"version":3,"file":"DefaultSilentSessionMessageComposer.d.ts","sourceRoot":"","sources":["../../../src/domain/usecases/DefaultSilentSessionMessageComposer.ts"],"names":[],"mappings":"AACA,OAAO,EACL,4BAA4B,EAC5B,qBAAqB,EACtB,MAAM,mDAAmD,CAAC;AAwC3D,eAAO,MAAM,8BAA8B,QAAO,MAEjD,CAAC;AA2BF,qBAAa,mCAAoC,YAAW,4BAA4B;IACtF,yBAAyB,GAAI,mBAAmB,MAAM,KAAG,MAAM,CAE7D;IAEF,2CAA2C,GACzC,mBAAmB,MAAM,EACzB,+BAA+B,MAAM,KACpC,MAAM,CAKP;IAEF,sBAAsB,GAAI,eAAe,qBAAqB,KAAG,MAAM,CAWrE;CACH"}
@@ -1 +1 @@
1
- {"version":3,"file":"IssueRejectionEvaluator.d.ts","sourceRoot":"","sources":["../../../src/domain/usecases/IssueRejectionEvaluator.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EAEhB,MAAM,sCAAsC,CAAC;AAE9C,MAAM,MAAM,oBAAoB,GAC5B,wBAAwB,GACxB,8BAA8B,GAC9B,uBAAuB,GACvB,yBAAyB,GACzB,kCAAkC,GAClC,+BAA+B,GAC/B,iCAAiC,GACjC,qCAAqC,CAAC;AAE1C,MAAM,MAAM,iBAAiB,GAAG;IAC9B,UAAU,EAAE;QAAE,IAAI,EAAE,oBAAoB,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC7D,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAQ5B,iBAAiB,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;CACrC,CAAC;AAEF,qBAAa,uBAAuB;IAEhC,OAAO,CAAC,QAAQ,CAAC,eAAe;gBAAf,eAAe,EAAE,IAAI,CACpC,eAAe,EACb,oBAAoB,GACpB,oBAAoB,GACpB,gCAAgC,GAChC,iCAAiC,CACpC;IAGH,QAAQ,GACN,OAAO;QACL,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,IAAI,EAAE,OAAO,CAAC;KACf,EACD,uBAAsB,MAAM,EAAO,EACnC,UAAS,eAAoB,KAC5B,OAAO,CAAC,iBAAiB,CAAC,CAkH3B;IAEF,OAAO,CAAC,uBAAuB,CAQ7B;IAQF,OAAO,CAAC,sBAAsB,CAY5B;IAEF,OAAO,CAAC,4BAA4B,CAYlC;IAEF,OAAO,CAAC,mBAAmB,CAIwC;CACpE"}
1
+ {"version":3,"file":"IssueRejectionEvaluator.d.ts","sourceRoot":"","sources":["../../../src/domain/usecases/IssueRejectionEvaluator.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EAEhB,MAAM,sCAAsC,CAAC;AAE9C,MAAM,MAAM,oBAAoB,GAC5B,wBAAwB,GACxB,8BAA8B,GAC9B,uBAAuB,GACvB,yBAAyB,GACzB,kCAAkC,GAClC,+BAA+B,GAC/B,iCAAiC,GACjC,qCAAqC,CAAC;AAE1C,MAAM,MAAM,iBAAiB,GAAG;IAC9B,UAAU,EAAE;QAAE,IAAI,EAAE,oBAAoB,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC7D,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAQ5B,iBAAiB,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;CACrC,CAAC;AAEF,qBAAa,uBAAuB;IAEhC,OAAO,CAAC,QAAQ,CAAC,eAAe;gBAAf,eAAe,EAAE,IAAI,CACpC,eAAe,EACb,oBAAoB,GACpB,oBAAoB,GACpB,gCAAgC,GAChC,iCAAiC,CACpC;IAGH,QAAQ,GACN,OAAO;QACL,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,IAAI,EAAE,OAAO,CAAC;KACf,EACD,uBAAsB,MAAM,EAAO,EACnC,UAAS,eAAoB,KAC5B,OAAO,CAAC,iBAAiB,CAAC,CAqI3B;IAKF,OAAO,CAAC,uBAAuB,CAgB7B;IAcF,OAAO,CAAC,sBAAsB,CAsB5B;IAEF,OAAO,CAAC,4BAA4B,CAYlC;IAEF,OAAO,CAAC,mBAAmB,CAIwC;CACpE"}
@@ -1 +1 @@
1
- {"version":3,"file":"NotifyFinishedIssuePreparationUseCase.d.ts","sourceRoot":"","sources":["../../../src/domain/usecases/NotifyFinishedIssuePreparationUseCase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AACrF,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAa3E,qBAAa,kBAAmB,SAAQ,KAAK;gBAC/B,QAAQ,EAAE,MAAM;CAI7B;AACD,qBAAa,uBAAwB,SAAQ,KAAK;gBAE9C,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,GAAG,IAAI,EAC5B,cAAc,EAAE,MAAM,GAAG,IAAI;CAOhC;AAMD,qBAAa,qCAAqC;IAK9C,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,eAAe;IAahC,OAAO,CAAC,QAAQ,CAAC,sBAAsB;IAIvC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAtBpC,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAA0B;IAClE,OAAO,CAAC,QAAQ,CAAC,+BAA+B,CAAkC;gBAG/D,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EAAE,UAAU,CAAC,EACtD,eAAe,EAAE,IAAI,CACpC,eAAe,EACb,KAAK,GACL,QAAQ,GACR,cAAc,GACd,oBAAoB,GACpB,mBAAmB,GACnB,oBAAoB,GACpB,gCAAgC,GAChC,oBAAoB,GACpB,iCAAiC,GACjC,qBAAqB,CACxB,EACgB,sBAAsB,EAAE,IAAI,CAC3C,sBAAsB,EACtB,sBAAsB,GAAG,eAAe,CACzC,EACgB,iBAAiB,EAAE,IAAI,CACtC,iBAAiB,EACjB,gBAAgB,CACjB;IAQH,GAAG,GAAU,QAAQ;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;QACjB,sBAAsB,EAAE,MAAM,CAAC;QAC/B,iCAAiC,EAAE,MAAM,GAAG,IAAI,CAAC;QACjD,mBAAmB,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QACtC,oBAAoB,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QACvC,uBAAuB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;KACzD,KAAG,OAAO,CAAC,IAAI,CAAC,CAsMf;IAEF,OAAO,CAAC,eAAe,CAIgD;IAEvE,OAAO,CAAC,iBAAiB,CA+BvB;IAEF,OAAO,CAAC,qBAAqB,CAuB3B;IAEF,OAAO,CAAC,gCAAgC,CAoBtC;IAEF,OAAO,CAAC,uBAAuB,CAQ7B;IAEF,OAAO,CAAC,+BAA+B,CAgCrC;CACH"}
1
+ {"version":3,"file":"NotifyFinishedIssuePreparationUseCase.d.ts","sourceRoot":"","sources":["../../../src/domain/usecases/NotifyFinishedIssuePreparationUseCase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AACrF,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAa3E,qBAAa,kBAAmB,SAAQ,KAAK;gBAC/B,QAAQ,EAAE,MAAM;CAI7B;AACD,qBAAa,uBAAwB,SAAQ,KAAK;gBAE9C,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,GAAG,IAAI,EAC5B,cAAc,EAAE,MAAM,GAAG,IAAI;CAOhC;AAID,qBAAa,qCAAqC;IAK9C,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,eAAe;IAahC,OAAO,CAAC,QAAQ,CAAC,sBAAsB;IAIvC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAtBpC,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAA0B;IAClE,OAAO,CAAC,QAAQ,CAAC,+BAA+B,CAAkC;gBAG/D,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EAAE,UAAU,CAAC,EACtD,eAAe,EAAE,IAAI,CACpC,eAAe,EACb,KAAK,GACL,QAAQ,GACR,cAAc,GACd,oBAAoB,GACpB,mBAAmB,GACnB,oBAAoB,GACpB,gCAAgC,GAChC,oBAAoB,GACpB,iCAAiC,GACjC,qBAAqB,CACxB,EACgB,sBAAsB,EAAE,IAAI,CAC3C,sBAAsB,EACtB,sBAAsB,GAAG,eAAe,CACzC,EACgB,iBAAiB,EAAE,IAAI,CACtC,iBAAiB,EACjB,gBAAgB,CACjB;IAQH,GAAG,GAAU,QAAQ;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;QACjB,sBAAsB,EAAE,MAAM,CAAC;QAC/B,iCAAiC,EAAE,MAAM,GAAG,IAAI,CAAC;QACjD,mBAAmB,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QACtC,oBAAoB,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QACvC,uBAAuB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;KACzD,KAAG,OAAO,CAAC,IAAI,CAAC,CAsMf;IAEF,OAAO,CAAC,eAAe,CAIgD;IAEvE,OAAO,CAAC,iBAAiB,CA+BvB;IAEF,OAAO,CAAC,qBAAqB,CAuB3B;IAEF,OAAO,CAAC,gCAAgC,CAoBtC;IAEF,OAAO,CAAC,uBAAuB,CAQ7B;IAEF,OAAO,CAAC,+BAA+B,CAgCrC;CACH"}
@@ -1,6 +1,7 @@
1
1
  import { LiveSessionProcessSnapshotProvider } from './adapter-interfaces/LiveSessionProcessSnapshotProvider';
2
2
  import { InteractiveLiveSessionTranscriptResolver } from './adapter-interfaces/InteractiveLiveSessionTranscriptResolver';
3
3
  import { OwnerCallStatusProvider } from './adapter-interfaces/OwnerCallStatusProvider';
4
+ import { RefusalTailStatusProvider } from './adapter-interfaces/RefusalTailStatusProvider';
4
5
  import { SessionOutputActivityRepository } from './adapter-interfaces/SessionOutputActivityRepository';
5
6
  import { SessionSubAgentActivityRepository } from './adapter-interfaces/SessionSubAgentActivityRepository';
6
7
  import { SilentSessionMessageComposer } from './adapter-interfaces/SilentSessionMessageComposer';
@@ -31,8 +32,9 @@ export declare class NotifySilentLiveSessionsUseCase {
31
32
  private readonly sleeper;
32
33
  private readonly hubTaskStatusResolver;
33
34
  private readonly hubTaskStatusCacheRepository;
35
+ private readonly refusalTailStatusProvider;
34
36
  private readonly resolveInteractiveLiveSessions;
35
- constructor(liveSessionProcessSnapshotProvider: LiveSessionProcessSnapshotProvider, interactiveLiveSessionTranscriptResolver: InteractiveLiveSessionTranscriptResolver, sessionOutputActivityRepository: SessionOutputActivityRepository, subAgentActivityRepository: SessionSubAgentActivityRepository, ownerCallStatusProvider: OwnerCallStatusProvider, notificationRepository: SilentSessionNotificationRepository, candidateStateRepository: SilentSessionCandidateStateRepository, messageComposer: SilentSessionMessageComposer, sleeper: Sleeper, hubTaskStatusResolver?: HubTaskStatusResolver | null, hubTaskStatusCacheRepository?: SilentSessionHubTaskStatusCacheRepository | null);
37
+ constructor(liveSessionProcessSnapshotProvider: LiveSessionProcessSnapshotProvider, interactiveLiveSessionTranscriptResolver: InteractiveLiveSessionTranscriptResolver, sessionOutputActivityRepository: SessionOutputActivityRepository, subAgentActivityRepository: SessionSubAgentActivityRepository, ownerCallStatusProvider: OwnerCallStatusProvider, notificationRepository: SilentSessionNotificationRepository, candidateStateRepository: SilentSessionCandidateStateRepository, messageComposer: SilentSessionMessageComposer, sleeper: Sleeper, hubTaskStatusResolver?: HubTaskStatusResolver | null, hubTaskStatusCacheRepository?: SilentSessionHubTaskStatusCacheRepository | null, refusalTailStatusProvider?: RefusalTailStatusProvider | null);
36
38
  run: (params: {
37
39
  mainSilentThresholdSeconds: number;
38
40
  unansweredOwnerCallGraceSeconds: number;
@@ -1 +1 @@
1
- {"version":3,"file":"NotifySilentLiveSessionsUseCase.d.ts","sourceRoot":"","sources":["../../../src/domain/usecases/NotifySilentLiveSessionsUseCase.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kCAAkC,EAAE,MAAM,yDAAyD,CAAC;AAC7G,OAAO,EAAE,wCAAwC,EAAE,MAAM,+DAA+D,CAAC;AACzH,OAAO,EAAE,uBAAuB,EAAE,MAAM,8CAA8C,CAAC;AACvF,OAAO,EAAE,+BAA+B,EAAE,MAAM,sDAAsD,CAAC;AACvG,OAAO,EAAE,iCAAiC,EAAE,MAAM,wDAAwD,CAAC;AAC3G,OAAO,EAAE,4BAA4B,EAAE,MAAM,mDAAmD,CAAC;AACjG,OAAO,EAAE,mCAAmC,EAAE,MAAM,0DAA0D,CAAC;AAC/G,OAAO,EAAE,qCAAqC,EAAE,MAAM,4DAA4D,CAAC;AACnH,OAAO,EAAE,yCAAyC,EAAE,MAAM,gEAAgE,CAAC;AAC3H,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAGvE,eAAO,MAAM,qCAAqC,QAAU,CAAC;AAK7D,eAAO,MAAM,2CAA2C,QAAU,CAAC;AACnE,eAAO,MAAM,yCAAyC,QAAS,CAAC;AAChE,eAAO,MAAM,0CAA0C,QAAU,CAAC;AAClE,eAAO,MAAM,oCAAoC,KAAK,CAAC;AACvD,eAAO,MAAM,iDAAiD,QAAU,CAAC;AACzE,eAAO,MAAM,yCAAyC,QAAS,CAAC;AAQhE,eAAO,MAAM,mCAAmC,GAC9C,aAAa,MAAM,KAClB,MAAM,GAAG,IAWX,CAAC;AAKF,eAAO,MAAM,qCAAqC,GAChD,aAAa,MAAM,KAClB,OACkE,CAAC;AAEtE,MAAM,MAAM,qBAAqB,GAAG,IAAI,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;AAS3E,qBAAa,+BAA+B;IAKxC,OAAO,CAAC,QAAQ,CAAC,kCAAkC;IACnD,OAAO,CAAC,QAAQ,CAAC,wCAAwC;IACzD,OAAO,CAAC,QAAQ,CAAC,+BAA+B;IAChD,OAAO,CAAC,QAAQ,CAAC,0BAA0B;IAC3C,OAAO,CAAC,QAAQ,CAAC,uBAAuB;IACxC,OAAO,CAAC,QAAQ,CAAC,sBAAsB;IACvC,OAAO,CAAC,QAAQ,CAAC,wBAAwB;IACzC,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,qBAAqB;IACtC,OAAO,CAAC,QAAQ,CAAC,4BAA4B;IAd/C,OAAO,CAAC,QAAQ,CAAC,8BAA8B,CACD;gBAG3B,kCAAkC,EAAE,kCAAkC,EACtE,wCAAwC,EAAE,wCAAwC,EAClF,+BAA+B,EAAE,+BAA+B,EAChE,0BAA0B,EAAE,iCAAiC,EAC7D,uBAAuB,EAAE,uBAAuB,EAChD,sBAAsB,EAAE,mCAAmC,EAC3D,wBAAwB,EAAE,qCAAqC,EAC/D,eAAe,EAAE,4BAA4B,EAC7C,OAAO,EAAE,OAAO,EAChB,qBAAqB,GAAE,qBAAqB,GAAG,IAAW,EAC1D,4BAA4B,GAAE,yCAAyC,GAAG,IAAW;IAGxG,GAAG,GAAU,QAAQ;QACnB,0BAA0B,EAAE,MAAM,CAAC;QACnC,+BAA+B,EAAE,MAAM,CAAC;QACxC,8BAA8B,EAAE,MAAM,CAAC;QACvC,+BAA+B,EAAE,MAAM,CAAC;QACxC,cAAc,EAAE,MAAM,CAAC;QACvB,qCAAqC,EAAE,MAAM,CAAC;QAC9C,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;QACnC,4BAA4B,EAAE,MAAM,CAAC;QACrC,GAAG,EAAE,IAAI,CAAC;KACX,KAAG,OAAO,CAAC,IAAI,CAAC,CA6Ff;IAEF,OAAO,CAAC,eAAe,CAiErB;IAEF,OAAO,CAAC,yBAAyB,CA0C/B;IAEF,OAAO,CAAC,sBAAsB,CAImC;IAEjE,OAAO,CAAC,gBAAgB,CAmDtB;IAEF,OAAO,CAAC,gBAAgB,CAqEtB;IAEF,OAAO,CAAC,+BAA+B,CAsBrC;CACH"}
1
+ {"version":3,"file":"NotifySilentLiveSessionsUseCase.d.ts","sourceRoot":"","sources":["../../../src/domain/usecases/NotifySilentLiveSessionsUseCase.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export interface RefusalTailStatusProvider {
2
+ listRefusalTailedSessionNames: (transcriptPathBySessionName: Map<string, string>) => Promise<Set<string>>;
3
+ }
4
+ //# sourceMappingURL=RefusalTailStatusProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RefusalTailStatusProvider.d.ts","sourceRoot":"","sources":["../../../../src/domain/usecases/adapter-interfaces/RefusalTailStatusProvider.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,yBAAyB;IACxC,6BAA6B,EAAE,CAC7B,2BAA2B,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,KAC7C,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;CAC3B"}