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

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 (39) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/README.md +1 -1
  3. package/bin/adapter/repositories/FileSystemInteractiveLiveSessionTranscriptResolver.js +36 -27
  4. package/bin/adapter/repositories/FileSystemInteractiveLiveSessionTranscriptResolver.js.map +1 -1
  5. package/bin/adapter/repositories/FileSystemSessionRecordReader.js +69 -0
  6. package/bin/adapter/repositories/FileSystemSessionRecordReader.js.map +1 -0
  7. package/bin/adapter/repositories/LocalProcessLiveSessionProcessSnapshotProvider.js +9 -2
  8. package/bin/adapter/repositories/LocalProcessLiveSessionProcessSnapshotProvider.js.map +1 -1
  9. package/bin/domain/usecases/ResolveInteractiveLiveSessionsUseCase.js +15 -0
  10. package/bin/domain/usecases/ResolveInteractiveLiveSessionsUseCase.js.map +1 -1
  11. package/bin/domain/usecases/adapter-interfaces/SessionRecordReader.js +3 -0
  12. package/bin/domain/usecases/adapter-interfaces/SessionRecordReader.js.map +1 -0
  13. package/package.json +1 -1
  14. package/src/adapter/repositories/FileSystemInteractiveLiveSessionTranscriptResolver.test.ts +107 -26
  15. package/src/adapter/repositories/FileSystemInteractiveLiveSessionTranscriptResolver.ts +49 -29
  16. package/src/adapter/repositories/FileSystemSessionRecordReader.test.ts +59 -0
  17. package/src/adapter/repositories/FileSystemSessionRecordReader.ts +31 -0
  18. package/src/adapter/repositories/LocalProcessLiveSessionProcessSnapshotProvider.test.ts +51 -0
  19. package/src/adapter/repositories/LocalProcessLiveSessionProcessSnapshotProvider.ts +10 -1
  20. package/src/domain/entities/InteractiveLiveSession.ts +1 -0
  21. package/src/domain/entities/LiveSessionProcessSnapshot.ts +1 -0
  22. package/src/domain/usecases/NotifySilentLiveSessionsUseCase.test.ts +4 -0
  23. package/src/domain/usecases/ResolveInteractiveLiveSessionsUseCase.test.ts +66 -59
  24. package/src/domain/usecases/ResolveInteractiveLiveSessionsUseCase.ts +19 -0
  25. package/src/domain/usecases/adapter-interfaces/SessionRecordReader.ts +3 -0
  26. package/types/adapter/repositories/FileSystemInteractiveLiveSessionTranscriptResolver.d.ts +4 -11
  27. package/types/adapter/repositories/FileSystemInteractiveLiveSessionTranscriptResolver.d.ts.map +1 -1
  28. package/types/adapter/repositories/FileSystemSessionRecordReader.d.ts +5 -0
  29. package/types/adapter/repositories/FileSystemSessionRecordReader.d.ts.map +1 -0
  30. package/types/adapter/repositories/LocalProcessLiveSessionProcessSnapshotProvider.d.ts +3 -1
  31. package/types/adapter/repositories/LocalProcessLiveSessionProcessSnapshotProvider.d.ts.map +1 -1
  32. package/types/domain/entities/InteractiveLiveSession.d.ts +1 -0
  33. package/types/domain/entities/InteractiveLiveSession.d.ts.map +1 -1
  34. package/types/domain/entities/LiveSessionProcessSnapshot.d.ts +1 -0
  35. package/types/domain/entities/LiveSessionProcessSnapshot.d.ts.map +1 -1
  36. package/types/domain/usecases/ResolveInteractiveLiveSessionsUseCase.d.ts +1 -0
  37. package/types/domain/usecases/ResolveInteractiveLiveSessionsUseCase.d.ts.map +1 -1
  38. package/types/domain/usecases/adapter-interfaces/SessionRecordReader.d.ts +4 -0
  39. package/types/domain/usecases/adapter-interfaces/SessionRecordReader.d.ts.map +1 -0
@@ -1,18 +1,11 @@
1
1
  import { InteractiveLiveSession } from '../../domain/entities/InteractiveLiveSession';
2
2
  import { InteractiveLiveSessionTranscriptResolver } from '../../domain/usecases/adapter-interfaces/InteractiveLiveSessionTranscriptResolver';
3
- /**
4
- * Resolves the real transcript path of an interactive Claude Code session from
5
- * the session id and config directory taken from the session's process
6
- * environment. The transcript lives at
7
- * `<configDir>/projects/<cwd-slug>/<sessionId>.jsonl`; this resolver scans the
8
- * `projects` subdirectories for a file named `<sessionId>.jsonl` and returns the
9
- * most recently modified match. Because resolution is keyed on the process
10
- * session id rather than on a session name or issue URL, a plain-named session
11
- * (for example one named `workbench`) resolves just as well as an issue-url
12
- * named one.
13
- */
14
3
  export declare class FileSystemInteractiveLiveSessionTranscriptResolver implements InteractiveLiveSessionTranscriptResolver {
4
+ private readonly sharedProjectsDirectory;
5
+ constructor(sharedProjectsDirectory?: string);
15
6
  resolveTranscriptPaths: (sessions: InteractiveLiveSession[]) => Map<string, string>;
16
7
  private resolveTranscriptPath;
8
+ private listProjectsDirectories;
9
+ private listCandidatePaths;
17
10
  }
18
11
  //# sourceMappingURL=FileSystemInteractiveLiveSessionTranscriptResolver.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FileSystemInteractiveLiveSessionTranscriptResolver.d.ts","sourceRoot":"","sources":["../../../src/adapter/repositories/FileSystemInteractiveLiveSessionTranscriptResolver.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,8CAA8C,CAAC;AACtF,OAAO,EAAE,wCAAwC,EAAE,MAAM,mFAAmF,CAAC;AAW7I;;;;;;;;;;GAUG;AACH,qBAAa,kDAAmD,YAAW,wCAAwC;IACjH,sBAAsB,GACpB,UAAU,sBAAsB,EAAE,KACjC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CASpB;IAEF,OAAO,CAAC,qBAAqB,CAkC3B;CACH"}
1
+ {"version":3,"file":"FileSystemInteractiveLiveSessionTranscriptResolver.d.ts","sourceRoot":"","sources":["../../../src/adapter/repositories/FileSystemInteractiveLiveSessionTranscriptResolver.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,sBAAsB,EAAE,MAAM,8CAA8C,CAAC;AACtF,OAAO,EAAE,wCAAwC,EAAE,MAAM,mFAAmF,CAAC;AAc7I,qBAAa,kDAAmD,YAAW,wCAAwC;IAE/G,OAAO,CAAC,QAAQ,CAAC,uBAAuB;gBAAvB,uBAAuB,GAAE,MAAyC;IAGrF,sBAAsB,GACpB,UAAU,sBAAsB,EAAE,KACjC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CASpB;IAEF,OAAO,CAAC,qBAAqB,CAyB3B;IAEF,OAAO,CAAC,uBAAuB,CAM7B;IAEF,OAAO,CAAC,kBAAkB,CAsBxB;CACH"}
@@ -0,0 +1,5 @@
1
+ import { SessionRecordReader } from '../../domain/usecases/adapter-interfaces/SessionRecordReader';
2
+ export declare class FileSystemSessionRecordReader implements SessionRecordReader {
3
+ readCurrentSessionId: (configDir: string, pid: number) => string | null;
4
+ }
5
+ //# sourceMappingURL=FileSystemSessionRecordReader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileSystemSessionRecordReader.d.ts","sourceRoot":"","sources":["../../../src/adapter/repositories/FileSystemSessionRecordReader.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,8DAA8D,CAAC;AAKnG,qBAAa,6BAA8B,YAAW,mBAAmB;IACvE,oBAAoB,GAAI,WAAW,MAAM,EAAE,KAAK,MAAM,KAAG,MAAM,GAAG,IAAI,CAqBpE;CACH"}
@@ -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,7 @@ 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
+ private collectCandidateSessionIds;
21
22
  private findInteractiveProcess;
22
23
  }
23
24
  //# 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,CAiCzB;IAEF,OAAO,CAAC,0BAA0B,CAehC;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"}