github-issue-tower-defence-management 1.114.0 → 1.114.2

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 (45) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/README.md +2 -2
  3. package/bin/adapter/repositories/FileSystemInteractiveLiveSessionTranscriptResolver.js +36 -27
  4. package/bin/adapter/repositories/FileSystemInteractiveLiveSessionTranscriptResolver.js.map +1 -1
  5. package/bin/adapter/repositories/FileSystemSessionOutputActivityRepository.js +14 -14
  6. package/bin/adapter/repositories/FileSystemSessionOutputActivityRepository.js.map +1 -1
  7. package/bin/adapter/repositories/FileSystemSessionRecordReader.js +69 -0
  8. package/bin/adapter/repositories/FileSystemSessionRecordReader.js.map +1 -0
  9. package/bin/adapter/repositories/LocalProcessLiveSessionProcessSnapshotProvider.js +9 -2
  10. package/bin/adapter/repositories/LocalProcessLiveSessionProcessSnapshotProvider.js.map +1 -1
  11. package/bin/domain/usecases/ResolveInteractiveLiveSessionsUseCase.js +43 -0
  12. package/bin/domain/usecases/ResolveInteractiveLiveSessionsUseCase.js.map +1 -1
  13. package/bin/domain/usecases/adapter-interfaces/SessionRecordReader.js +3 -0
  14. package/bin/domain/usecases/adapter-interfaces/SessionRecordReader.js.map +1 -0
  15. package/package.json +1 -1
  16. package/src/adapter/repositories/FileSystemInteractiveLiveSessionTranscriptResolver.test.ts +153 -26
  17. package/src/adapter/repositories/FileSystemInteractiveLiveSessionTranscriptResolver.ts +49 -29
  18. package/src/adapter/repositories/FileSystemSessionOutputActivityRepository.test.ts +57 -5
  19. package/src/adapter/repositories/FileSystemSessionOutputActivityRepository.ts +14 -14
  20. package/src/adapter/repositories/FileSystemSessionRecordReader.test.ts +59 -0
  21. package/src/adapter/repositories/FileSystemSessionRecordReader.ts +31 -0
  22. package/src/adapter/repositories/LocalProcessLiveSessionProcessSnapshotProvider.test.ts +51 -0
  23. package/src/adapter/repositories/LocalProcessLiveSessionProcessSnapshotProvider.ts +10 -1
  24. package/src/domain/entities/InteractiveLiveSession.ts +1 -0
  25. package/src/domain/entities/LiveSessionProcessSnapshot.ts +1 -0
  26. package/src/domain/usecases/NotifySilentLiveSessionsUseCase.test.ts +4 -0
  27. package/src/domain/usecases/ResolveInteractiveLiveSessionsUseCase.test.ts +142 -59
  28. package/src/domain/usecases/ResolveInteractiveLiveSessionsUseCase.ts +50 -0
  29. package/src/domain/usecases/adapter-interfaces/SessionRecordReader.ts +3 -0
  30. package/types/adapter/repositories/FileSystemInteractiveLiveSessionTranscriptResolver.d.ts +4 -11
  31. package/types/adapter/repositories/FileSystemInteractiveLiveSessionTranscriptResolver.d.ts.map +1 -1
  32. package/types/adapter/repositories/FileSystemSessionOutputActivityRepository.d.ts +8 -5
  33. package/types/adapter/repositories/FileSystemSessionOutputActivityRepository.d.ts.map +1 -1
  34. package/types/adapter/repositories/FileSystemSessionRecordReader.d.ts +5 -0
  35. package/types/adapter/repositories/FileSystemSessionRecordReader.d.ts.map +1 -0
  36. package/types/adapter/repositories/LocalProcessLiveSessionProcessSnapshotProvider.d.ts +3 -1
  37. package/types/adapter/repositories/LocalProcessLiveSessionProcessSnapshotProvider.d.ts.map +1 -1
  38. package/types/domain/entities/InteractiveLiveSession.d.ts +1 -0
  39. package/types/domain/entities/InteractiveLiveSession.d.ts.map +1 -1
  40. package/types/domain/entities/LiveSessionProcessSnapshot.d.ts +1 -0
  41. package/types/domain/entities/LiveSessionProcessSnapshot.d.ts.map +1 -1
  42. package/types/domain/usecases/ResolveInteractiveLiveSessionsUseCase.d.ts +13 -0
  43. package/types/domain/usecases/ResolveInteractiveLiveSessionsUseCase.d.ts.map +1 -1
  44. package/types/domain/usecases/adapter-interfaces/SessionRecordReader.d.ts +4 -0
  45. package/types/domain/usecases/adapter-interfaces/SessionRecordReader.d.ts.map +1 -0
@@ -1,6 +1,7 @@
1
1
  import { LocalCommandRunner } from '../../domain/usecases/adapter-interfaces/LocalCommandRunner';
2
2
  import { LiveSessionProcessSnapshotProvider } from '../../domain/usecases/adapter-interfaces/LiveSessionProcessSnapshotProvider';
3
3
  import { ProcessEnvironReader } from '../../domain/usecases/adapter-interfaces/ProcessEnvironReader';
4
+ import { SessionRecordReader } from '../../domain/usecases/adapter-interfaces/SessionRecordReader';
4
5
  import { LiveSessionProcessSnapshot } from '../../domain/entities/LiveSessionProcessSnapshot';
5
6
  /**
6
7
  * Builds a live-session process snapshot from the local host: it lists the live
@@ -12,7 +13,8 @@ import { LiveSessionProcessSnapshot } from '../../domain/entities/LiveSessionPro
12
13
  export declare class LocalProcessLiveSessionProcessSnapshotProvider implements LiveSessionProcessSnapshotProvider {
13
14
  private readonly localCommandRunner;
14
15
  private readonly environReader;
15
- constructor(localCommandRunner: LocalCommandRunner, environReader: ProcessEnvironReader);
16
+ private readonly sessionRecordReader;
17
+ constructor(localCommandRunner: LocalCommandRunner, environReader: ProcessEnvironReader, sessionRecordReader?: SessionRecordReader);
16
18
  getSnapshot: () => Promise<LiveSessionProcessSnapshot>;
17
19
  private listSessionNames;
18
20
  private listPanePids;
@@ -1 +1 @@
1
- {"version":3,"file":"LocalProcessLiveSessionProcessSnapshotProvider.d.ts","sourceRoot":"","sources":["../../../src/adapter/repositories/LocalProcessLiveSessionProcessSnapshotProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,6DAA6D,CAAC;AACjG,OAAO,EAAE,kCAAkC,EAAE,MAAM,6EAA6E,CAAC;AACjI,OAAO,EAAE,oBAAoB,EAAE,MAAM,+DAA+D,CAAC;AACrG,OAAO,EAGL,0BAA0B,EAC3B,MAAM,kDAAkD,CAAC;AAK1D;;;;;;GAMG;AACH,qBAAa,8CAA+C,YAAW,kCAAkC;IAErG,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,aAAa;gBADb,kBAAkB,EAAE,kBAAkB,EACtC,aAAa,EAAE,oBAAoB;IAGtD,WAAW,QAAa,OAAO,CAAC,0BAA0B,CAAC,CASzD;IAEF,OAAO,CAAC,gBAAgB,CAYtB;IAEF,OAAO,CAAC,YAAY,CAYlB;IAEF,OAAO,CAAC,aAAa,CA2BnB;CACH"}
1
+ {"version":3,"file":"LocalProcessLiveSessionProcessSnapshotProvider.d.ts","sourceRoot":"","sources":["../../../src/adapter/repositories/LocalProcessLiveSessionProcessSnapshotProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,6DAA6D,CAAC;AACjG,OAAO,EAAE,kCAAkC,EAAE,MAAM,6EAA6E,CAAC;AACjI,OAAO,EAAE,oBAAoB,EAAE,MAAM,+DAA+D,CAAC;AACrG,OAAO,EAAE,mBAAmB,EAAE,MAAM,8DAA8D,CAAC;AACnG,OAAO,EAGL,0BAA0B,EAC3B,MAAM,kDAAkD,CAAC;AAM1D;;;;;;GAMG;AACH,qBAAa,8CAA+C,YAAW,kCAAkC;IAErG,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,mBAAmB;gBAFnB,kBAAkB,EAAE,kBAAkB,EACtC,aAAa,EAAE,oBAAoB,EACnC,mBAAmB,GAAE,mBAAyD;IAGjG,WAAW,QAAa,OAAO,CAAC,0BAA0B,CAAC,CASzD;IAEF,OAAO,CAAC,gBAAgB,CAYtB;IAEF,OAAO,CAAC,YAAY,CAYlB;IAEF,OAAO,CAAC,aAAa,CAiCnB;CACH"}
@@ -1,6 +1,7 @@
1
1
  export type InteractiveLiveSession = {
2
2
  sessionName: string;
3
3
  sessionId: string;
4
+ candidateSessionIds: string[];
4
5
  configDir: string;
5
6
  };
6
7
  //# sourceMappingURL=InteractiveLiveSession.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"InteractiveLiveSession.d.ts","sourceRoot":"","sources":["../../../src/domain/entities/InteractiveLiveSession.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,sBAAsB,GAAG;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC"}
1
+ {"version":3,"file":"InteractiveLiveSession.d.ts","sourceRoot":"","sources":["../../../src/domain/entities/InteractiveLiveSession.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,sBAAsB,GAAG;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC"}
@@ -7,6 +7,7 @@ export type LiveSessionProcessInfo = {
7
7
  ppid: number;
8
8
  commandLine: string;
9
9
  sessionId: string | null;
10
+ currentSessionId: string | null;
10
11
  configDir: string | null;
11
12
  };
12
13
  export type LiveSessionProcessSnapshot = {
@@ -1 +1 @@
1
- {"version":3,"file":"LiveSessionProcessSnapshot.d.ts","sourceRoot":"","sources":["../../../src/domain/entities/LiveSessionProcessSnapshot.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,sBAAsB,GAAG;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,QAAQ,EAAE,sBAAsB,EAAE,CAAC;IACnC,SAAS,EAAE,sBAAsB,EAAE,CAAC;CACrC,CAAC"}
1
+ {"version":3,"file":"LiveSessionProcessSnapshot.d.ts","sourceRoot":"","sources":["../../../src/domain/entities/LiveSessionProcessSnapshot.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,sBAAsB,GAAG;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,QAAQ,EAAE,sBAAsB,EAAE,CAAC;IACnC,SAAS,EAAE,sBAAsB,EAAE,CAAC;CACrC,CAAC"}
@@ -18,6 +18,19 @@ export declare const OWNER_HANDOVER_COMMAND_MARKER = "Take ownership of";
18
18
  */
19
19
  export declare class ResolveInteractiveLiveSessionsUseCase {
20
20
  resolve: (snapshot: LiveSessionProcessSnapshot) => InteractiveLiveSession[];
21
+ /**
22
+ * Collects the distinct session ids that may name the actively-written
23
+ * transcript on disk, in priority order. The rotated current session id
24
+ * recorded for the interactive process is first, because for a resumed or
25
+ * compacted session the id rotates and the live transcript is named by the
26
+ * current id. The interactive process's own launch id follows, then the
27
+ * distinct ids propagated to its descendant processes. For a `--resume`
28
+ * session these ids coincide, yielding a single id; for a non-resume session
29
+ * the own (launch) id names no transcript and the live transcript is named by
30
+ * the descendant-propagated id, which is included here so the resolver can
31
+ * find the actively-written file.
32
+ */
33
+ private collectCandidateSessionIds;
21
34
  private findInteractiveProcess;
22
35
  }
23
36
  //# sourceMappingURL=ResolveInteractiveLiveSessionsUseCase.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ResolveInteractiveLiveSessionsUseCase.d.ts","sourceRoot":"","sources":["../../../src/domain/usecases/ResolveInteractiveLiveSessionsUseCase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAEL,0BAA0B,EAC3B,MAAM,wCAAwC,CAAC;AAOhD,eAAO,MAAM,6BAA6B,sBAAsB,CAAC;AAejE;;;;;;;;;;;;;;GAcG;AACH,qBAAa,qCAAqC;IAChD,OAAO,GACL,UAAU,0BAA0B,KACnC,sBAAsB,EAAE,CA+BzB;IAEF,OAAO,CAAC,sBAAsB,CA0B5B;CACH"}
1
+ {"version":3,"file":"ResolveInteractiveLiveSessionsUseCase.d.ts","sourceRoot":"","sources":["../../../src/domain/usecases/ResolveInteractiveLiveSessionsUseCase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAEL,0BAA0B,EAC3B,MAAM,wCAAwC,CAAC;AAOhD,eAAO,MAAM,6BAA6B,sBAAsB,CAAC;AAejE;;;;;;;;;;;;;;GAcG;AACH,qBAAa,qCAAqC;IAChD,OAAO,GACL,UAAU,0BAA0B,KACnC,sBAAsB,EAAE,CAoCzB;IAEF;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,0BAA0B,CA+BhC;IAEF,OAAO,CAAC,sBAAsB,CA0B5B;CACH"}
@@ -0,0 +1,4 @@
1
+ export interface SessionRecordReader {
2
+ readCurrentSessionId: (configDir: string, pid: number) => string | null;
3
+ }
4
+ //# sourceMappingURL=SessionRecordReader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SessionRecordReader.d.ts","sourceRoot":"","sources":["../../../../src/domain/usecases/adapter-interfaces/SessionRecordReader.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,mBAAmB;IAClC,oBAAoB,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;CACzE"}