github-issue-tower-defence-management 1.122.3 → 1.122.5
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/CHANGELOG.md +15 -0
- package/README.md +8 -4
- package/bin/adapter/entry-points/console/consoleDoneStore.js +19 -5
- package/bin/adapter/entry-points/console/consoleDoneStore.js.map +1 -1
- package/bin/adapter/entry-points/handlers/HandleScheduledEventUseCaseHandler.js +14 -2
- package/bin/adapter/entry-points/handlers/HandleScheduledEventUseCaseHandler.js.map +1 -1
- package/bin/adapter/entry-points/handlers/consoleListsWriter.js +2 -0
- package/bin/adapter/entry-points/handlers/consoleListsWriter.js.map +1 -1
- package/bin/adapter/entry-points/handlers/notifySilentTmuxSessions.js +4 -2
- package/bin/adapter/entry-points/handlers/notifySilentTmuxSessions.js.map +1 -1
- package/bin/adapter/repositories/ConfigurableSilentSessionMessageComposer.js +12 -7
- package/bin/adapter/repositories/ConfigurableSilentSessionMessageComposer.js.map +1 -1
- package/bin/adapter/repositories/FileSystemSilentSessionCandidateStateRepository.js +60 -11
- package/bin/adapter/repositories/FileSystemSilentSessionCandidateStateRepository.js.map +1 -1
- package/bin/adapter/repositories/NoUnansweredOwnerCallStatusProvider.js +2 -2
- package/bin/adapter/repositories/NoUnansweredOwnerCallStatusProvider.js.map +1 -1
- package/bin/adapter/repositories/ProcessListSessionSubAgentActivityRepository.js +1 -0
- package/bin/adapter/repositories/ProcessListSessionSubAgentActivityRepository.js.map +1 -1
- package/bin/adapter/repositories/TranscriptOwnerCallStatusProvider.js +14 -11
- package/bin/adapter/repositories/TranscriptOwnerCallStatusProvider.js.map +1 -1
- package/bin/adapter/repositories/TranscriptSessionSubAgentActivityRepository.js +64 -7
- package/bin/adapter/repositories/TranscriptSessionSubAgentActivityRepository.js.map +1 -1
- package/bin/domain/usecases/DefaultSilentSessionMessageComposer.js +18 -7
- package/bin/domain/usecases/DefaultSilentSessionMessageComposer.js.map +1 -1
- package/bin/domain/usecases/NotifySilentLiveSessionsUseCase.js +64 -19
- package/bin/domain/usecases/NotifySilentLiveSessionsUseCase.js.map +1 -1
- package/package.json +1 -1
- package/src/adapter/entry-points/console/consoleDoneStore.test.ts +38 -0
- package/src/adapter/entry-points/console/consoleDoneStore.ts +29 -4
- package/src/adapter/entry-points/handlers/HandleScheduledEventUseCaseHandler.ts +11 -0
- package/src/adapter/entry-points/handlers/consoleListsWriter.test.ts +72 -0
- package/src/adapter/entry-points/handlers/consoleListsWriter.ts +3 -0
- package/src/adapter/entry-points/handlers/notifySilentTmuxSessions.test.ts +46 -7
- package/src/adapter/entry-points/handlers/notifySilentTmuxSessions.ts +6 -0
- package/src/adapter/repositories/ConfigurableSilentSessionMessageComposer.test.ts +102 -37
- package/src/adapter/repositories/ConfigurableSilentSessionMessageComposer.ts +22 -17
- package/src/adapter/repositories/FileSystemInteractiveLiveSessionTranscriptResolver.test.ts +1 -1
- package/src/adapter/repositories/FileSystemSilentSessionCandidateStateRepository.test.ts +223 -0
- package/src/adapter/repositories/FileSystemSilentSessionCandidateStateRepository.ts +94 -10
- package/src/adapter/repositories/NoUnansweredOwnerCallStatusProvider.test.ts +7 -6
- package/src/adapter/repositories/NoUnansweredOwnerCallStatusProvider.ts +3 -3
- package/src/adapter/repositories/ProcessListSessionSubAgentActivityRepository.test.ts +12 -2
- package/src/adapter/repositories/ProcessListSessionSubAgentActivityRepository.ts +1 -0
- package/src/adapter/repositories/TranscriptOwnerCallStatusProvider.test.ts +99 -49
- package/src/adapter/repositories/TranscriptOwnerCallStatusProvider.ts +24 -14
- package/src/adapter/repositories/TranscriptSessionSubAgentActivityRepository.test.ts +196 -4
- package/src/adapter/repositories/TranscriptSessionSubAgentActivityRepository.ts +91 -7
- package/src/domain/entities/LiveSessionActivitySnapshot.ts +2 -1
- package/src/domain/usecases/DefaultSilentSessionMessageComposer.test.ts +187 -51
- package/src/domain/usecases/DefaultSilentSessionMessageComposer.ts +32 -15
- package/src/domain/usecases/NotifySilentLiveSessionsUseCase.test.ts +356 -28
- package/src/domain/usecases/NotifySilentLiveSessionsUseCase.ts +94 -26
- package/src/domain/usecases/adapter-interfaces/OwnerCallStatusProvider.ts +2 -2
- package/src/domain/usecases/adapter-interfaces/SilentSessionCandidateStateRepository.ts +8 -0
- package/src/domain/usecases/adapter-interfaces/SilentSessionMessageComposer.ts +7 -6
- package/types/adapter/entry-points/console/consoleDoneStore.d.ts +2 -0
- package/types/adapter/entry-points/console/consoleDoneStore.d.ts.map +1 -1
- package/types/adapter/entry-points/handlers/HandleScheduledEventUseCaseHandler.d.ts.map +1 -1
- package/types/adapter/entry-points/handlers/consoleListsWriter.d.ts.map +1 -1
- package/types/adapter/entry-points/handlers/notifySilentTmuxSessions.d.ts +2 -0
- package/types/adapter/entry-points/handlers/notifySilentTmuxSessions.d.ts.map +1 -1
- package/types/adapter/repositories/ConfigurableSilentSessionMessageComposer.d.ts +4 -3
- package/types/adapter/repositories/ConfigurableSilentSessionMessageComposer.d.ts.map +1 -1
- package/types/adapter/repositories/FileSystemSilentSessionCandidateStateRepository.d.ts +13 -2
- package/types/adapter/repositories/FileSystemSilentSessionCandidateStateRepository.d.ts.map +1 -1
- package/types/adapter/repositories/NoUnansweredOwnerCallStatusProvider.d.ts +1 -1
- package/types/adapter/repositories/NoUnansweredOwnerCallStatusProvider.d.ts.map +1 -1
- package/types/adapter/repositories/ProcessListSessionSubAgentActivityRepository.d.ts.map +1 -1
- package/types/adapter/repositories/TranscriptOwnerCallStatusProvider.d.ts +2 -2
- package/types/adapter/repositories/TranscriptOwnerCallStatusProvider.d.ts.map +1 -1
- package/types/adapter/repositories/TranscriptSessionSubAgentActivityRepository.d.ts +5 -1
- package/types/adapter/repositories/TranscriptSessionSubAgentActivityRepository.d.ts.map +1 -1
- package/types/domain/entities/LiveSessionActivitySnapshot.d.ts +2 -1
- package/types/domain/entities/LiveSessionActivitySnapshot.d.ts.map +1 -1
- package/types/domain/usecases/DefaultSilentSessionMessageComposer.d.ts +3 -3
- package/types/domain/usecases/DefaultSilentSessionMessageComposer.d.ts.map +1 -1
- package/types/domain/usecases/NotifySilentLiveSessionsUseCase.d.ts +4 -1
- package/types/domain/usecases/NotifySilentLiveSessionsUseCase.d.ts.map +1 -1
- package/types/domain/usecases/adapter-interfaces/OwnerCallStatusProvider.d.ts +1 -1
- package/types/domain/usecases/adapter-interfaces/OwnerCallStatusProvider.d.ts.map +1 -1
- package/types/domain/usecases/adapter-interfaces/SilentSessionCandidateStateRepository.d.ts +8 -0
- package/types/domain/usecases/adapter-interfaces/SilentSessionCandidateStateRepository.d.ts.map +1 -1
- package/types/domain/usecases/adapter-interfaces/SilentSessionMessageComposer.d.ts +5 -4
- package/types/domain/usecases/adapter-interfaces/SilentSessionMessageComposer.d.ts.map +1 -1
|
@@ -14,6 +14,7 @@ import { IssueRepository } from './adapter-interfaces/IssueRepository';
|
|
|
14
14
|
import { ResolveInteractiveLiveSessionsUseCase } from './ResolveInteractiveLiveSessionsUseCase';
|
|
15
15
|
|
|
16
16
|
export const DEFAULT_MAIN_SILENT_THRESHOLD_SECONDS = 10 * 60;
|
|
17
|
+
export const DEFAULT_UNANSWERED_OWNER_CALL_GRACE_SECONDS = 60 * 60;
|
|
17
18
|
export const DEFAULT_SUBAGENT_SILENT_THRESHOLD_SECONDS = 5 * 60;
|
|
18
19
|
export const DEFAULT_SUBAGENT_RUNNING_THRESHOLD_SECONDS = 15 * 60;
|
|
19
20
|
export const DEFAULT_NOTIFICATION_STAGGER_SECONDS = 25;
|
|
@@ -54,6 +55,8 @@ export type HubTaskStatusResolver = Pick<IssueRepository, 'getIssueByUrl'>;
|
|
|
54
55
|
type NotifyCandidate = {
|
|
55
56
|
sessionName: string;
|
|
56
57
|
message: string;
|
|
58
|
+
newlyAnnouncedRunningLabels: string[];
|
|
59
|
+
retainedAnnouncedRunningLabels: string[];
|
|
57
60
|
};
|
|
58
61
|
|
|
59
62
|
export class NotifySilentLiveSessionsUseCase {
|
|
@@ -76,6 +79,7 @@ export class NotifySilentLiveSessionsUseCase {
|
|
|
76
79
|
|
|
77
80
|
run = async (params: {
|
|
78
81
|
mainSilentThresholdSeconds: number;
|
|
82
|
+
unansweredOwnerCallGraceSeconds: number;
|
|
79
83
|
subAgentSilentThresholdSeconds: number;
|
|
80
84
|
subAgentRunningThresholdSeconds: number;
|
|
81
85
|
staggerSeconds: number;
|
|
@@ -111,9 +115,9 @@ export class NotifySilentLiveSessionsUseCase {
|
|
|
111
115
|
|
|
112
116
|
const candidates: NotifyCandidate[] = [];
|
|
113
117
|
for (const sessionSnapshot of snapshots) {
|
|
114
|
-
const
|
|
115
|
-
if (
|
|
116
|
-
candidates.push(
|
|
118
|
+
const candidate = await this.composeCandidate(sessionSnapshot, params);
|
|
119
|
+
if (candidate !== null) {
|
|
120
|
+
candidates.push(candidate);
|
|
117
121
|
}
|
|
118
122
|
}
|
|
119
123
|
candidates.sort((left, right) =>
|
|
@@ -165,6 +169,16 @@ export class NotifySilentLiveSessionsUseCase {
|
|
|
165
169
|
);
|
|
166
170
|
sentCount += 1;
|
|
167
171
|
console.log(`Notified ${candidate.sessionName}.`);
|
|
172
|
+
if (candidate.newlyAnnouncedRunningLabels.length > 0) {
|
|
173
|
+
await this.candidateStateRepository.saveAnnouncedRunningSubAgentLabels({
|
|
174
|
+
sessionName: candidate.sessionName,
|
|
175
|
+
labels: [
|
|
176
|
+
...candidate.retainedAnnouncedRunningLabels,
|
|
177
|
+
...candidate.newlyAnnouncedRunningLabels,
|
|
178
|
+
],
|
|
179
|
+
now: params.now,
|
|
180
|
+
});
|
|
181
|
+
}
|
|
168
182
|
}
|
|
169
183
|
};
|
|
170
184
|
|
|
@@ -312,8 +326,8 @@ export class NotifySilentLiveSessionsUseCase {
|
|
|
312
326
|
transcriptPathBySessionName,
|
|
313
327
|
);
|
|
314
328
|
|
|
315
|
-
const
|
|
316
|
-
await this.ownerCallStatusProvider.
|
|
329
|
+
const unansweredOwnerCallEpochSecondsBySessionName =
|
|
330
|
+
await this.ownerCallStatusProvider.listUnansweredOwnerCallEpochSecondsBySessionName(
|
|
317
331
|
transcriptPathBySessionName,
|
|
318
332
|
);
|
|
319
333
|
|
|
@@ -324,50 +338,73 @@ export class NotifySilentLiveSessionsUseCase {
|
|
|
324
338
|
lastOutputEpochSeconds === undefined
|
|
325
339
|
? null
|
|
326
340
|
: nowEpochSeconds - lastOutputEpochSeconds;
|
|
341
|
+
const unansweredOwnerCallEpochSeconds =
|
|
342
|
+
unansweredOwnerCallEpochSecondsBySessionName.get(sessionName);
|
|
327
343
|
return {
|
|
328
344
|
sessionName,
|
|
329
345
|
mainSilentSeconds,
|
|
330
346
|
subAgents: subAgentsBySessionName.get(sessionName) ?? [],
|
|
331
|
-
|
|
332
|
-
|
|
347
|
+
unansweredOwnerCallAgeSeconds:
|
|
348
|
+
unansweredOwnerCallEpochSeconds === undefined
|
|
349
|
+
? null
|
|
350
|
+
: nowEpochSeconds - unansweredOwnerCallEpochSeconds,
|
|
333
351
|
};
|
|
334
352
|
});
|
|
335
353
|
};
|
|
336
354
|
|
|
337
|
-
private
|
|
355
|
+
private composeCandidate = async (
|
|
338
356
|
snapshot: LiveSessionActivitySnapshot,
|
|
339
357
|
thresholds: {
|
|
340
358
|
mainSilentThresholdSeconds: number;
|
|
359
|
+
unansweredOwnerCallGraceSeconds: number;
|
|
341
360
|
subAgentSilentThresholdSeconds: number;
|
|
342
361
|
subAgentRunningThresholdSeconds: number;
|
|
362
|
+
now: Date;
|
|
343
363
|
},
|
|
344
|
-
):
|
|
364
|
+
): Promise<NotifyCandidate | null> => {
|
|
345
365
|
const sections: string[] = [];
|
|
346
366
|
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
snapshot.
|
|
350
|
-
|
|
351
|
-
|
|
367
|
+
const mainSilentSeconds = snapshot.mainSilentSeconds;
|
|
368
|
+
const unansweredOwnerCallAgeSeconds =
|
|
369
|
+
snapshot.unansweredOwnerCallAgeSeconds;
|
|
370
|
+
const suppressedByRecentOwnerCall =
|
|
371
|
+
unansweredOwnerCallAgeSeconds !== null &&
|
|
372
|
+
unansweredOwnerCallAgeSeconds <
|
|
373
|
+
thresholds.unansweredOwnerCallGraceSeconds;
|
|
374
|
+
const mainTriggered =
|
|
375
|
+
mainSilentSeconds !== null &&
|
|
376
|
+
mainSilentSeconds >= thresholds.mainSilentThresholdSeconds &&
|
|
377
|
+
!suppressedByRecentOwnerCall;
|
|
378
|
+
if (mainTriggered) {
|
|
352
379
|
sections.push(
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
380
|
+
unansweredOwnerCallAgeSeconds !== null
|
|
381
|
+
? this.messageComposer.composeMainStalledWithStaleOwnerCallSection(
|
|
382
|
+
mainSilentSeconds,
|
|
383
|
+
unansweredOwnerCallAgeSeconds,
|
|
384
|
+
)
|
|
385
|
+
: this.messageComposer.composeMainStalledSection(mainSilentSeconds),
|
|
356
386
|
);
|
|
357
387
|
}
|
|
358
388
|
|
|
359
|
-
const
|
|
389
|
+
const idleSubAgents = snapshot.subAgents.filter(
|
|
390
|
+
(subAgent) =>
|
|
391
|
+
!subAgent.waitingOnExternalProcess &&
|
|
392
|
+
subAgent.silentSeconds >= thresholds.subAgentSilentThresholdSeconds,
|
|
393
|
+
);
|
|
394
|
+
const longRunningSubAgents = snapshot.subAgents.filter(
|
|
360
395
|
(subAgent) =>
|
|
361
|
-
subAgent.silentSeconds >= thresholds.subAgentSilentThresholdSeconds ||
|
|
362
396
|
subAgent.runningSeconds >= thresholds.subAgentRunningThresholdSeconds,
|
|
363
397
|
);
|
|
364
|
-
|
|
398
|
+
const retainedAnnouncedRunningLabels =
|
|
399
|
+
await this.reconcileAnnouncedRunningLabels(snapshot, thresholds.now);
|
|
400
|
+
const newlyLongRunningSubAgents = longRunningSubAgents.filter(
|
|
401
|
+
(subAgent) => !retainedAnnouncedRunningLabels.includes(subAgent.label),
|
|
402
|
+
);
|
|
403
|
+
if (idleSubAgents.length > 0 || newlyLongRunningSubAgents.length > 0) {
|
|
365
404
|
sections.push(
|
|
366
|
-
this.messageComposer.composeSubAgentSection(
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
subAgentRunningThresholdSeconds:
|
|
370
|
-
thresholds.subAgentRunningThresholdSeconds,
|
|
405
|
+
this.messageComposer.composeSubAgentSection({
|
|
406
|
+
idleSubAgents,
|
|
407
|
+
longRunningSubAgents: newlyLongRunningSubAgents,
|
|
371
408
|
}),
|
|
372
409
|
);
|
|
373
410
|
}
|
|
@@ -375,6 +412,37 @@ export class NotifySilentLiveSessionsUseCase {
|
|
|
375
412
|
if (sections.length === 0) {
|
|
376
413
|
return null;
|
|
377
414
|
}
|
|
378
|
-
return
|
|
415
|
+
return {
|
|
416
|
+
sessionName: snapshot.sessionName,
|
|
417
|
+
message: sections.join('\n\n'),
|
|
418
|
+
newlyAnnouncedRunningLabels: newlyLongRunningSubAgents.map(
|
|
419
|
+
(subAgent) => subAgent.label,
|
|
420
|
+
),
|
|
421
|
+
retainedAnnouncedRunningLabels,
|
|
422
|
+
};
|
|
423
|
+
};
|
|
424
|
+
|
|
425
|
+
private reconcileAnnouncedRunningLabels = async (
|
|
426
|
+
snapshot: LiveSessionActivitySnapshot,
|
|
427
|
+
now: Date,
|
|
428
|
+
): Promise<string[]> => {
|
|
429
|
+
const announcedLabels =
|
|
430
|
+
await this.candidateStateRepository.loadAnnouncedRunningSubAgentLabels({
|
|
431
|
+
sessionName: snapshot.sessionName,
|
|
432
|
+
});
|
|
433
|
+
const currentLabels = new Set(
|
|
434
|
+
snapshot.subAgents.map((subAgent) => subAgent.label),
|
|
435
|
+
);
|
|
436
|
+
const retainedLabels = Array.from(announcedLabels).filter((label) =>
|
|
437
|
+
currentLabels.has(label),
|
|
438
|
+
);
|
|
439
|
+
if (retainedLabels.length !== announcedLabels.size) {
|
|
440
|
+
await this.candidateStateRepository.saveAnnouncedRunningSubAgentLabels({
|
|
441
|
+
sessionName: snapshot.sessionName,
|
|
442
|
+
labels: retainedLabels,
|
|
443
|
+
now,
|
|
444
|
+
});
|
|
445
|
+
}
|
|
446
|
+
return retainedLabels;
|
|
379
447
|
};
|
|
380
448
|
}
|
|
@@ -7,4 +7,12 @@ export interface SilentSessionCandidateStateRepository {
|
|
|
7
7
|
sessionNames: string[];
|
|
8
8
|
now: Date;
|
|
9
9
|
}) => Promise<void>;
|
|
10
|
+
loadAnnouncedRunningSubAgentLabels: (params: {
|
|
11
|
+
sessionName: string;
|
|
12
|
+
}) => Promise<Set<string>>;
|
|
13
|
+
saveAnnouncedRunningSubAgentLabels: (params: {
|
|
14
|
+
sessionName: string;
|
|
15
|
+
labels: string[];
|
|
16
|
+
now: Date;
|
|
17
|
+
}) => Promise<void>;
|
|
10
18
|
}
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import { SubAgentActivity } from '../../entities/LiveSessionActivitySnapshot';
|
|
2
2
|
|
|
3
|
-
export type
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
export type SubAgentStallSections = {
|
|
4
|
+
idleSubAgents: SubAgentActivity[];
|
|
5
|
+
longRunningSubAgents: SubAgentActivity[];
|
|
6
6
|
};
|
|
7
7
|
|
|
8
8
|
export interface SilentSessionMessageComposer {
|
|
9
9
|
composeMainStalledSection: (mainSilentSeconds: number) => string;
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
composeMainStalledWithStaleOwnerCallSection: (
|
|
11
|
+
mainSilentSeconds: number,
|
|
12
|
+
unansweredOwnerCallAgeSeconds: number,
|
|
13
13
|
) => string;
|
|
14
|
+
composeSubAgentSection: (sections: SubAgentStallSections) => string;
|
|
14
15
|
}
|
|
@@ -7,4 +7,6 @@ export declare const readDoneProjectItemIds: (consoleDataOutputDir: string, pjco
|
|
|
7
7
|
export declare const recordDoneProjectItemId: (consoleDataOutputDir: string, pjcode: string, tab: string, projectItemId: string) => void;
|
|
8
8
|
export declare const CONSOLE_DONE_TAB_NAMES: string[];
|
|
9
9
|
export declare const recordDoneProjectItemIdAcrossTabs: (consoleDataOutputDir: string, pjcode: string, projectItemId: string) => void;
|
|
10
|
+
export declare const resetDoneProjectItemIds: (consoleDataOutputDir: string, pjcode: string, tab: string) => void;
|
|
11
|
+
export declare const resetDoneProjectItemIdsAcrossTabs: (consoleDataOutputDir: string, pjcode: string) => void;
|
|
10
12
|
//# sourceMappingURL=consoleDoneStore.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consoleDoneStore.d.ts","sourceRoot":"","sources":["../../../../src/adapter/entry-points/console/consoleDoneStore.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,sBAAsB,eAAe,CAAC;AAEnD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B,CAAC;AAqBF,eAAO,MAAM,kBAAkB,GAC7B,sBAAsB,MAAM,EAC5B,QAAQ,MAAM,EACd,KAAK,MAAM,KACV,MACmE,CAAC;
|
|
1
|
+
{"version":3,"file":"consoleDoneStore.d.ts","sourceRoot":"","sources":["../../../../src/adapter/entry-points/console/consoleDoneStore.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,sBAAsB,eAAe,CAAC;AAEnD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B,CAAC;AAqBF,eAAO,MAAM,kBAAkB,GAC7B,sBAAsB,MAAM,EAC5B,QAAQ,MAAM,EACd,KAAK,MAAM,KACV,MACmE,CAAC;AAYvE,eAAO,MAAM,sBAAsB,GACjC,sBAAsB,MAAM,EAC5B,QAAQ,MAAM,EACd,KAAK,MAAM,KACV,MAAM,EASR,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAClC,sBAAsB,MAAM,EAC5B,QAAQ,MAAM,EACd,KAAK,MAAM,EACX,eAAe,MAAM,KACpB,IAaF,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,MAAM,EAQ1C,CAAC;AAEF,eAAO,MAAM,iCAAiC,GAC5C,sBAAsB,MAAM,EAC5B,QAAQ,MAAM,EACd,eAAe,MAAM,KACpB,IAIF,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAClC,sBAAsB,MAAM,EAC5B,QAAQ,MAAM,EACd,KAAK,MAAM,KACV,IAGF,CAAC;AAEF,eAAO,MAAM,iCAAiC,GAC5C,sBAAsB,MAAM,EAC5B,QAAQ,MAAM,KACb,IAIF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HandleScheduledEventUseCaseHandler.d.ts","sourceRoot":"","sources":["../../../../src/adapter/entry-points/handlers/HandleScheduledEventUseCaseHandler.ts"],"names":[],"mappings":"AAkCA,OAAO,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAiD3D,qBAAa,kCAAkC;IAC7C,MAAM,GACJ,gBAAgB,MAAM,EACtB,UAAU,OAAO,KAChB,OAAO,CAAC;QACT,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,EAAE,KAAK,EAAE,CAAC;QAChB,SAAS,EAAE,OAAO,CAAC;QACnB,eAAe,EAAE,IAAI,EAAE,CAAC;KACzB,GAAG,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"HandleScheduledEventUseCaseHandler.d.ts","sourceRoot":"","sources":["../../../../src/adapter/entry-points/handlers/HandleScheduledEventUseCaseHandler.ts"],"names":[],"mappings":"AAkCA,OAAO,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAiD3D,qBAAa,kCAAkC;IAC7C,MAAM,GACJ,gBAAgB,MAAM,EACtB,UAAU,OAAO,KAChB,OAAO,CAAC;QACT,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,EAAE,KAAK,EAAE,CAAC;QAChB,SAAS,EAAE,OAAO,CAAC;QACnB,eAAe,EAAE,IAAI,EAAE,CAAC;KACzB,GAAG,IAAI,CAAC,CA8kBP;CACH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consoleListsWriter.d.ts","sourceRoot":"","sources":["../../../../src/adapter/entry-points/handlers/consoleListsWriter.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"consoleListsWriter.d.ts","sourceRoot":"","sources":["../../../../src/adapter/entry-points/handlers/consoleListsWriter.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAQhE,MAAM,MAAM,wBAAwB,GAAG;IACrC,oBAAoB,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAChD,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAClC,aAAa,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACzC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,wBAAwB,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACrD,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAWF,eAAO,MAAM,wBAAwB,GAAI,MAAM,IAAI,KAAG,MACR,CAAC;AAU/C,eAAO,MAAM,iBAAiB,GAAI,QAAQ,wBAAwB,KAAG,IAyBpE,CAAC"}
|
|
@@ -11,6 +11,7 @@ export type NotifySilentTmuxSessionsParams = {
|
|
|
11
11
|
subAgentProcessMatchPattern: string | null;
|
|
12
12
|
subAgentTranscriptRootDirectory: string | null;
|
|
13
13
|
mainSilentThresholdSeconds: number;
|
|
14
|
+
unansweredOwnerCallGraceSeconds: number;
|
|
14
15
|
subAgentSilentThresholdSeconds: number;
|
|
15
16
|
subAgentRunningThresholdSeconds: number;
|
|
16
17
|
staggerSeconds: number;
|
|
@@ -26,6 +27,7 @@ export type NotifySilentTmuxSessionsParams = {
|
|
|
26
27
|
export declare const notifySilentTmuxSessions: (params: NotifySilentTmuxSessionsParams) => Promise<void>;
|
|
27
28
|
export declare const DEFAULT_NOTIFY_SILENT_TMUX_SESSIONS_PARAMS: {
|
|
28
29
|
readonly mainSilentThresholdSeconds: number;
|
|
30
|
+
readonly unansweredOwnerCallGraceSeconds: number;
|
|
29
31
|
readonly subAgentSilentThresholdSeconds: number;
|
|
30
32
|
readonly subAgentRunningThresholdSeconds: number;
|
|
31
33
|
readonly staggerSeconds: 25;
|
|
@@ -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,
|
|
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,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { SilentSessionMessageComposer, SubAgentStallThresholds } from '../../domain/usecases/adapter-interfaces/SilentSessionMessageComposer';
|
|
1
|
+
import { SilentSessionMessageComposer, SubAgentStallSections } from '../../domain/usecases/adapter-interfaces/SilentSessionMessageComposer';
|
|
3
2
|
export type SilentSessionMessageTemplates = {
|
|
4
3
|
mainStalledMessage: string | null;
|
|
4
|
+
mainStalledStaleOwnerCallMessage: string | null;
|
|
5
5
|
subAgentIdleMessageHeader: string | null;
|
|
6
6
|
subAgentIdleMessageFooter: string | null;
|
|
7
7
|
subAgentLongRunningMessageHeader: string | null;
|
|
@@ -13,7 +13,8 @@ export declare class ConfigurableSilentSessionMessageComposer implements SilentS
|
|
|
13
13
|
private readonly ownerCallMarker;
|
|
14
14
|
constructor(templates: SilentSessionMessageTemplates, fallback: SilentSessionMessageComposer, ownerCallMarker?: string | null);
|
|
15
15
|
composeMainStalledSection: (mainSilentSeconds: number) => string;
|
|
16
|
-
|
|
16
|
+
composeMainStalledWithStaleOwnerCallSection: (mainSilentSeconds: number, unansweredOwnerCallAgeSeconds: number) => string;
|
|
17
|
+
composeSubAgentSection: (stallSections: SubAgentStallSections) => string;
|
|
17
18
|
private composeIdleSection;
|
|
18
19
|
private composeLongRunningSection;
|
|
19
20
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConfigurableSilentSessionMessageComposer.d.ts","sourceRoot":"","sources":["../../../src/adapter/repositories/ConfigurableSilentSessionMessageComposer.ts"],"names":[],"mappings":"
|
|
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,5 +1,6 @@
|
|
|
1
1
|
import { SilentSessionCandidateStateRepository } from '../../domain/usecases/adapter-interfaces/SilentSessionCandidateStateRepository';
|
|
2
2
|
export declare const DEFAULT_STATE_RETENTION_WINDOW_SECONDS: number;
|
|
3
|
+
export declare const ANNOUNCED_RUNNING_RETENTION_WINDOW_SECONDS: number;
|
|
3
4
|
export declare class FileSystemSilentSessionCandidateStateRepository implements SilentSessionCandidateStateRepository {
|
|
4
5
|
private readonly stateFilePath;
|
|
5
6
|
private readonly retentionWindowSeconds;
|
|
@@ -12,7 +13,17 @@ export declare class FileSystemSilentSessionCandidateStateRepository implements
|
|
|
12
13
|
sessionNames: string[];
|
|
13
14
|
now: Date;
|
|
14
15
|
}) => Promise<void>;
|
|
15
|
-
|
|
16
|
-
|
|
16
|
+
loadAnnouncedRunningSubAgentLabels: (params: {
|
|
17
|
+
sessionName: string;
|
|
18
|
+
}) => Promise<Set<string>>;
|
|
19
|
+
saveAnnouncedRunningSubAgentLabels: (params: {
|
|
20
|
+
sessionName: string;
|
|
21
|
+
labels: string[];
|
|
22
|
+
now: Date;
|
|
23
|
+
}) => Promise<void>;
|
|
24
|
+
private readState;
|
|
25
|
+
private readCandidateEntries;
|
|
26
|
+
private readAnnouncedRunningEntries;
|
|
27
|
+
private writeState;
|
|
17
28
|
}
|
|
18
29
|
//# sourceMappingURL=FileSystemSilentSessionCandidateStateRepository.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileSystemSilentSessionCandidateStateRepository.d.ts","sourceRoot":"","sources":["../../../src/adapter/repositories/FileSystemSilentSessionCandidateStateRepository.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,qCAAqC,EAAE,MAAM,gFAAgF,CAAC;
|
|
1
|
+
{"version":3,"file":"FileSystemSilentSessionCandidateStateRepository.d.ts","sourceRoot":"","sources":["../../../src/adapter/repositories/FileSystemSilentSessionCandidateStateRepository.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,qCAAqC,EAAE,MAAM,gFAAgF,CAAC;AAgBvI,eAAO,MAAM,sCAAsC,QAAU,CAAC;AAC9D,eAAO,MAAM,0CAA0C,QAAe,CAAC;AAOvE,qBAAa,+CAAgD,YAAW,qCAAqC;IAEzG,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,sBAAsB;gBADtB,aAAa,GAAE,MAA+B,EAC9C,sBAAsB,GAAE,MAA+C;IAG1F,+BAA+B,GAAU,QAAQ;QAC/C,GAAG,EAAE,IAAI,CAAC;QACV,oBAAoB,EAAE,MAAM,CAAC;KAC9B,KAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAYtB;IAEF,yBAAyB,GAAU,QAAQ;QACzC,YAAY,EAAE,MAAM,EAAE,CAAC;QACvB,GAAG,EAAE,IAAI,CAAC;KACX,KAAG,OAAO,CAAC,IAAI,CAAC,CAwBf;IAEF,kCAAkC,GAAU,QAAQ;QAClD,WAAW,EAAE,MAAM,CAAC;KACrB,KAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAKtB;IAEF,kCAAkC,GAAU,QAAQ;QAClD,WAAW,EAAE,MAAM,CAAC;QACpB,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,GAAG,EAAE,IAAI,CAAC;KACX,KAAG,OAAO,CAAC,IAAI,CAAC,CAiBf;IAEF,OAAO,CAAC,SAAS,CAiBf;IAEF,OAAO,CAAC,oBAAoB,CAqB1B;IAEF,OAAO,CAAC,2BAA2B,CA8BjC;IAEF,OAAO,CAAC,UAAU,CAYhB;CACH"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { OwnerCallStatusProvider } from '../../domain/usecases/adapter-interfaces/OwnerCallStatusProvider';
|
|
2
2
|
export declare class NoUnansweredOwnerCallStatusProvider implements OwnerCallStatusProvider {
|
|
3
|
-
|
|
3
|
+
listUnansweredOwnerCallEpochSecondsBySessionName: (_transcriptPathBySessionName: Map<string, string>) => Promise<Map<string, number>>;
|
|
4
4
|
}
|
|
5
5
|
//# sourceMappingURL=NoUnansweredOwnerCallStatusProvider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NoUnansweredOwnerCallStatusProvider.d.ts","sourceRoot":"","sources":["../../../src/adapter/repositories/NoUnansweredOwnerCallStatusProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,kEAAkE,CAAC;AAE3G,qBAAa,mCAAoC,YAAW,uBAAuB;IACjF,
|
|
1
|
+
{"version":3,"file":"NoUnansweredOwnerCallStatusProvider.d.ts","sourceRoot":"","sources":["../../../src/adapter/repositories/NoUnansweredOwnerCallStatusProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,kEAAkE,CAAC;AAE3G,qBAAa,mCAAoC,YAAW,uBAAuB;IACjF,gDAAgD,GAC9C,8BAA8B,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,KAChD,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAE7B;CACH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProcessListSessionSubAgentActivityRepository.d.ts","sourceRoot":"","sources":["../../../src/adapter/repositories/ProcessListSessionSubAgentActivityRepository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mDAAmD,CAAC;AACrF,OAAO,EAAE,iCAAiC,EAAE,MAAM,4EAA4E,CAAC;AAC/H,OAAO,EAAE,qBAAqB,EAAE,MAAM,gEAAgE,CAAC;AACvG,OAAO,EAAE,6BAA6B,EAAE,MAAM,wEAAwE,CAAC;AAEvH,qBAAa,4CAA6C,YAAW,iCAAiC;IAKlG,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,qBAAqB;IALxC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAgB;gBAG1C,YAAY,EAAE,MAAM,GAAG,IAAI,EACV,aAAa,EAAE,qBAAqB,EACpC,qBAAqB,EAAE,6BAA6B;IAQvE,mCAAmC,GACjC,cAAc,MAAM,EAAE,KACrB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"ProcessListSessionSubAgentActivityRepository.d.ts","sourceRoot":"","sources":["../../../src/adapter/repositories/ProcessListSessionSubAgentActivityRepository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mDAAmD,CAAC;AACrF,OAAO,EAAE,iCAAiC,EAAE,MAAM,4EAA4E,CAAC;AAC/H,OAAO,EAAE,qBAAqB,EAAE,MAAM,gEAAgE,CAAC;AACvG,OAAO,EAAE,6BAA6B,EAAE,MAAM,wEAAwE,CAAC;AAEvH,qBAAa,4CAA6C,YAAW,iCAAiC;IAKlG,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,qBAAqB;IALxC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAgB;gBAG1C,YAAY,EAAE,MAAM,GAAG,IAAI,EACV,aAAa,EAAE,qBAAqB,EACpC,qBAAqB,EAAE,6BAA6B;IAQvE,mCAAmC,GACjC,cAAc,MAAM,EAAE,KACrB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAkCzC;CACH"}
|
|
@@ -2,7 +2,7 @@ import { OwnerCallStatusProvider } from '../../domain/usecases/adapter-interface
|
|
|
2
2
|
export declare class TranscriptOwnerCallStatusProvider implements OwnerCallStatusProvider {
|
|
3
3
|
private readonly ownerCallMarker;
|
|
4
4
|
constructor(ownerCallMarker: string | null);
|
|
5
|
-
|
|
6
|
-
private
|
|
5
|
+
listUnansweredOwnerCallEpochSecondsBySessionName: (transcriptPathBySessionName: Map<string, string>) => Promise<Map<string, number>>;
|
|
6
|
+
private findUnansweredOwnerCallEpochMs;
|
|
7
7
|
}
|
|
8
8
|
//# sourceMappingURL=TranscriptOwnerCallStatusProvider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TranscriptOwnerCallStatusProvider.d.ts","sourceRoot":"","sources":["../../../src/adapter/repositories/TranscriptOwnerCallStatusProvider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,kEAAkE,CAAC;AAyF3G,qBAAa,iCAAkC,YAAW,uBAAuB;IACnE,OAAO,CAAC,QAAQ,CAAC,eAAe;gBAAf,eAAe,EAAE,MAAM,GAAG,IAAI;IAE3D,
|
|
1
|
+
{"version":3,"file":"TranscriptOwnerCallStatusProvider.d.ts","sourceRoot":"","sources":["../../../src/adapter/repositories/TranscriptOwnerCallStatusProvider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,kEAAkE,CAAC;AAyF3G,qBAAa,iCAAkC,YAAW,uBAAuB;IACnE,OAAO,CAAC,QAAQ,CAAC,eAAe;gBAAf,eAAe,EAAE,MAAM,GAAG,IAAI;IAE3D,gDAAgD,GAC9C,6BAA6B,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,KAC/C,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAsB7B;IAEF,OAAO,CAAC,8BAA8B,CAsDpC;CACH"}
|
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
import { SubAgentActivity } from '../../domain/entities/LiveSessionActivitySnapshot';
|
|
2
2
|
import { SessionSubAgentActivityRepository } from '../../domain/usecases/adapter-interfaces/SessionSubAgentActivityRepository';
|
|
3
|
+
import { SubAgentProcessLister } from '../../domain/usecases/adapter-interfaces/SubAgentProcessLister';
|
|
3
4
|
import { SubAgentTranscriptDirectoryResolver } from '../../domain/usecases/adapter-interfaces/SubAgentTranscriptDirectoryResolver';
|
|
5
|
+
export declare const normalizeCommandFragment: (command: string) => string;
|
|
4
6
|
export declare class TranscriptSessionSubAgentActivityRepository implements SessionSubAgentActivityRepository {
|
|
5
7
|
private readonly directoryResolver;
|
|
8
|
+
private readonly processLister;
|
|
6
9
|
private readonly now;
|
|
7
|
-
constructor(directoryResolver: SubAgentTranscriptDirectoryResolver, now: Date);
|
|
10
|
+
constructor(directoryResolver: SubAgentTranscriptDirectoryResolver, processLister: SubAgentProcessLister, now: Date);
|
|
8
11
|
listSubAgentActivitiesBySessionName: (sessionNames: string[], transcriptPathBySessionName: Map<string, string>) => Promise<Map<string, SubAgentActivity[]>>;
|
|
9
12
|
private collectActivities;
|
|
10
13
|
private toActivity;
|
|
14
|
+
private hasLiveMatchingProcess;
|
|
11
15
|
}
|
|
12
16
|
//# sourceMappingURL=TranscriptSessionSubAgentActivityRepository.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TranscriptSessionSubAgentActivityRepository.d.ts","sourceRoot":"","sources":["../../../src/adapter/repositories/TranscriptSessionSubAgentActivityRepository.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mDAAmD,CAAC;AACrF,OAAO,EAAE,iCAAiC,EAAE,MAAM,4EAA4E,CAAC;AAC/H,OAAO,EAAE,mCAAmC,EAAE,MAAM,8EAA8E,CAAC;
|
|
1
|
+
{"version":3,"file":"TranscriptSessionSubAgentActivityRepository.d.ts","sourceRoot":"","sources":["../../../src/adapter/repositories/TranscriptSessionSubAgentActivityRepository.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mDAAmD,CAAC;AACrF,OAAO,EAAE,iCAAiC,EAAE,MAAM,4EAA4E,CAAC;AAC/H,OAAO,EAAE,qBAAqB,EAAE,MAAM,gEAAgE,CAAC;AACvG,OAAO,EAAE,mCAAmC,EAAE,MAAM,8EAA8E,CAAC;AAuBnI,eAAO,MAAM,wBAAwB,GAAI,SAAS,MAAM,KAAG,MAIR,CAAC;AAwGpD,qBAAa,2CAA4C,YAAW,iCAAiC;IAEjG,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAFH,iBAAiB,EAAE,mCAAmC,EACtD,aAAa,EAAE,qBAAqB,EACpC,GAAG,EAAE,IAAI;IAG5B,mCAAmC,GACjC,cAAc,MAAM,EAAE,EACtB,6BAA6B,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,KAC/C,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAiCzC;IAEF,OAAO,CAAC,iBAAiB,CA6BvB;IAEF,OAAO,CAAC,UAAU,CAkChB;IAEF,OAAO,CAAC,sBAAsB,CAiB5B;CACH"}
|
|
@@ -2,11 +2,12 @@ export type SubAgentActivity = {
|
|
|
2
2
|
label: string;
|
|
3
3
|
silentSeconds: number;
|
|
4
4
|
runningSeconds: number;
|
|
5
|
+
waitingOnExternalProcess: boolean;
|
|
5
6
|
};
|
|
6
7
|
export type LiveSessionActivitySnapshot = {
|
|
7
8
|
sessionName: string;
|
|
8
9
|
mainSilentSeconds: number | null;
|
|
9
10
|
subAgents: SubAgentActivity[];
|
|
10
|
-
|
|
11
|
+
unansweredOwnerCallAgeSeconds: number | null;
|
|
11
12
|
};
|
|
12
13
|
//# sourceMappingURL=LiveSessionActivitySnapshot.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LiveSessionActivitySnapshot.d.ts","sourceRoot":"","sources":["../../../src/domain/entities/LiveSessionActivitySnapshot.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"LiveSessionActivitySnapshot.d.ts","sourceRoot":"","sources":["../../../src/domain/entities/LiveSessionActivitySnapshot.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,wBAAwB,EAAE,OAAO,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACxC,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,SAAS,EAAE,gBAAgB,EAAE,CAAC;IAC9B,6BAA6B,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9C,CAAC"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { SilentSessionMessageComposer, SubAgentStallThresholds } from './adapter-interfaces/SilentSessionMessageComposer';
|
|
1
|
+
import { SilentSessionMessageComposer, SubAgentStallSections } from './adapter-interfaces/SilentSessionMessageComposer';
|
|
3
2
|
export declare const composeOwnerCallFormatGuidance: (ownerCallMarker: string | null) => string;
|
|
4
3
|
export declare class DefaultSilentSessionMessageComposer implements SilentSessionMessageComposer {
|
|
5
4
|
private readonly ownerCallMarker;
|
|
6
5
|
constructor(ownerCallMarker?: string | null);
|
|
7
6
|
composeMainStalledSection: (mainSilentSeconds: number) => string;
|
|
8
|
-
|
|
7
|
+
composeMainStalledWithStaleOwnerCallSection: (mainSilentSeconds: number, unansweredOwnerCallAgeSeconds: number) => string;
|
|
8
|
+
composeSubAgentSection: (stallSections: SubAgentStallSections) => string;
|
|
9
9
|
}
|
|
10
10
|
//# sourceMappingURL=DefaultSilentSessionMessageComposer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DefaultSilentSessionMessageComposer.d.ts","sourceRoot":"","sources":["../../../src/domain/usecases/DefaultSilentSessionMessageComposer.ts"],"names":[],"mappings":"
|
|
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;AAgCF,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"}
|
|
@@ -10,6 +10,7 @@ import { SilentSessionHubTaskStatusCacheRepository } from './adapter-interfaces/
|
|
|
10
10
|
import { Sleeper } from './adapter-interfaces/Sleeper';
|
|
11
11
|
import { IssueRepository } from './adapter-interfaces/IssueRepository';
|
|
12
12
|
export declare const DEFAULT_MAIN_SILENT_THRESHOLD_SECONDS: number;
|
|
13
|
+
export declare const DEFAULT_UNANSWERED_OWNER_CALL_GRACE_SECONDS: number;
|
|
13
14
|
export declare const DEFAULT_SUBAGENT_SILENT_THRESHOLD_SECONDS: number;
|
|
14
15
|
export declare const DEFAULT_SUBAGENT_RUNNING_THRESHOLD_SECONDS: number;
|
|
15
16
|
export declare const DEFAULT_NOTIFICATION_STAGGER_SECONDS = 25;
|
|
@@ -34,6 +35,7 @@ export declare class NotifySilentLiveSessionsUseCase {
|
|
|
34
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);
|
|
35
36
|
run: (params: {
|
|
36
37
|
mainSilentThresholdSeconds: number;
|
|
38
|
+
unansweredOwnerCallGraceSeconds: number;
|
|
37
39
|
subAgentSilentThresholdSeconds: number;
|
|
38
40
|
subAgentRunningThresholdSeconds: number;
|
|
39
41
|
staggerSeconds: number;
|
|
@@ -46,6 +48,7 @@ export declare class NotifySilentLiveSessionsUseCase {
|
|
|
46
48
|
private tryResolveAndCacheHubTask;
|
|
47
49
|
private isResolvedStatusActive;
|
|
48
50
|
private collectSnapshots;
|
|
49
|
-
private
|
|
51
|
+
private composeCandidate;
|
|
52
|
+
private reconcileAnnouncedRunningLabels;
|
|
50
53
|
}
|
|
51
54
|
//# sourceMappingURL=NotifySilentLiveSessionsUseCase.d.ts.map
|
|
@@ -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;AAC7D,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;
|
|
1
|
+
{"version":3,"file":"NotifySilentLiveSessionsUseCase.d.ts","sourceRoot":"","sources":["../../../src/domain/usecases/NotifySilentLiveSessionsUseCase.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export interface OwnerCallStatusProvider {
|
|
2
|
-
|
|
2
|
+
listUnansweredOwnerCallEpochSecondsBySessionName: (transcriptPathBySessionName: Map<string, string>) => Promise<Map<string, number>>;
|
|
3
3
|
}
|
|
4
4
|
//# sourceMappingURL=OwnerCallStatusProvider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OwnerCallStatusProvider.d.ts","sourceRoot":"","sources":["../../../../src/domain/usecases/adapter-interfaces/OwnerCallStatusProvider.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,uBAAuB;IACtC,
|
|
1
|
+
{"version":3,"file":"OwnerCallStatusProvider.d.ts","sourceRoot":"","sources":["../../../../src/domain/usecases/adapter-interfaces/OwnerCallStatusProvider.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,uBAAuB;IACtC,gDAAgD,EAAE,CAChD,2BAA2B,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,KAC7C,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACnC"}
|
|
@@ -7,5 +7,13 @@ export interface SilentSessionCandidateStateRepository {
|
|
|
7
7
|
sessionNames: string[];
|
|
8
8
|
now: Date;
|
|
9
9
|
}) => Promise<void>;
|
|
10
|
+
loadAnnouncedRunningSubAgentLabels: (params: {
|
|
11
|
+
sessionName: string;
|
|
12
|
+
}) => Promise<Set<string>>;
|
|
13
|
+
saveAnnouncedRunningSubAgentLabels: (params: {
|
|
14
|
+
sessionName: string;
|
|
15
|
+
labels: string[];
|
|
16
|
+
now: Date;
|
|
17
|
+
}) => Promise<void>;
|
|
10
18
|
}
|
|
11
19
|
//# sourceMappingURL=SilentSessionCandidateStateRepository.d.ts.map
|
package/types/domain/usecases/adapter-interfaces/SilentSessionCandidateStateRepository.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SilentSessionCandidateStateRepository.d.ts","sourceRoot":"","sources":["../../../../src/domain/usecases/adapter-interfaces/SilentSessionCandidateStateRepository.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,qCAAqC;IACpD,+BAA+B,EAAE,CAAC,MAAM,EAAE;QACxC,GAAG,EAAE,IAAI,CAAC;QACV,oBAAoB,EAAE,MAAM,CAAC;KAC9B,KAAK,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3B,yBAAyB,EAAE,CAAC,MAAM,EAAE;QAClC,YAAY,EAAE,MAAM,EAAE,CAAC;QACvB,GAAG,EAAE,IAAI,CAAC;KACX,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACrB"}
|
|
1
|
+
{"version":3,"file":"SilentSessionCandidateStateRepository.d.ts","sourceRoot":"","sources":["../../../../src/domain/usecases/adapter-interfaces/SilentSessionCandidateStateRepository.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,qCAAqC;IACpD,+BAA+B,EAAE,CAAC,MAAM,EAAE;QACxC,GAAG,EAAE,IAAI,CAAC;QACV,oBAAoB,EAAE,MAAM,CAAC;KAC9B,KAAK,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3B,yBAAyB,EAAE,CAAC,MAAM,EAAE;QAClC,YAAY,EAAE,MAAM,EAAE,CAAC;QACvB,GAAG,EAAE,IAAI,CAAC;KACX,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpB,kCAAkC,EAAE,CAAC,MAAM,EAAE;QAC3C,WAAW,EAAE,MAAM,CAAC;KACrB,KAAK,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3B,kCAAkC,EAAE,CAAC,MAAM,EAAE;QAC3C,WAAW,EAAE,MAAM,CAAC;QACpB,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,GAAG,EAAE,IAAI,CAAC;KACX,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACrB"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { SubAgentActivity } from '../../entities/LiveSessionActivitySnapshot';
|
|
2
|
-
export type
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
export type SubAgentStallSections = {
|
|
3
|
+
idleSubAgents: SubAgentActivity[];
|
|
4
|
+
longRunningSubAgents: SubAgentActivity[];
|
|
5
5
|
};
|
|
6
6
|
export interface SilentSessionMessageComposer {
|
|
7
7
|
composeMainStalledSection: (mainSilentSeconds: number) => string;
|
|
8
|
-
|
|
8
|
+
composeMainStalledWithStaleOwnerCallSection: (mainSilentSeconds: number, unansweredOwnerCallAgeSeconds: number) => string;
|
|
9
|
+
composeSubAgentSection: (sections: SubAgentStallSections) => string;
|
|
9
10
|
}
|
|
10
11
|
//# sourceMappingURL=SilentSessionMessageComposer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SilentSessionMessageComposer.d.ts","sourceRoot":"","sources":["../../../../src/domain/usecases/adapter-interfaces/SilentSessionMessageComposer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAE9E,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"SilentSessionMessageComposer.d.ts","sourceRoot":"","sources":["../../../../src/domain/usecases/adapter-interfaces/SilentSessionMessageComposer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAE9E,MAAM,MAAM,qBAAqB,GAAG;IAClC,aAAa,EAAE,gBAAgB,EAAE,CAAC;IAClC,oBAAoB,EAAE,gBAAgB,EAAE,CAAC;CAC1C,CAAC;AAEF,MAAM,WAAW,4BAA4B;IAC3C,yBAAyB,EAAE,CAAC,iBAAiB,EAAE,MAAM,KAAK,MAAM,CAAC;IACjE,2CAA2C,EAAE,CAC3C,iBAAiB,EAAE,MAAM,EACzB,6BAA6B,EAAE,MAAM,KAClC,MAAM,CAAC;IACZ,sBAAsB,EAAE,CAAC,QAAQ,EAAE,qBAAqB,KAAK,MAAM,CAAC;CACrE"}
|