github-issue-tower-defence-management 1.148.17 → 1.148.18

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 CHANGED
@@ -1,3 +1,10 @@
1
+ ## [1.148.18](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/compare/v1.148.17...v1.148.18) (2026-08-12)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * **owner-call:** wake a session whose owner call was never delivered ([#1501](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/issues/1501)) ([c6577ab](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/commit/c6577aba03075ae332ae01472eccac92d32a9273))
7
+
1
8
  ## [1.148.17](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/compare/v1.148.16...v1.148.17) (2026-08-12)
2
9
 
3
10
 
@@ -151,6 +151,8 @@ const isOwnerEnqueuedReply = (parsed) => {
151
151
  };
152
152
  const TRANSCRIPT_FILE_EXTENSION = '.jsonl';
153
153
  const OWNER_REPLY_MARKER_FILE_EXTENSION = '.reply_ts';
154
+ const SUPPRESSED_OWNER_CALL_MARKER_FILE_EXTENSION = '.suppress_ts';
155
+ const APPROVED_OWNER_CALL_MARKER_FILE_EXTENSION = '.call_ts';
154
156
  const UNSAFE_SESSION_ID_CHARACTER_PATTERN = /[^A-Za-z0-9._-]/g;
155
157
  class TranscriptOwnerCallStatusProvider {
156
158
  constructor(ownerCallMarker, ownerReplyMarkerDirectory = null) {
@@ -221,6 +223,9 @@ class TranscriptOwnerCallStatusProvider {
221
223
  if (lastOwnerCallEpochMs === null) {
222
224
  return null;
223
225
  }
226
+ if (this.isCallSuppressedUndelivered(transcriptPath, lastOwnerCallEpochMs)) {
227
+ return null;
228
+ }
224
229
  const markerReplyEpochMs = this.readOwnerReplyMarkerEpochMs(transcriptPath);
225
230
  const resolvedReplyEpochMs = markerReplyEpochMs !== null &&
226
231
  (lastOwnerReplyEpochMs === null ||
@@ -237,7 +242,23 @@ class TranscriptOwnerCallStatusProvider {
237
242
  // file, and reading it here keeps this decision and the owner's own view of it from diverging.
238
243
  // The transcript-derived value still stands on its own: an absent, unreadable, or older marker
239
244
  // changes nothing, so a fresh host with no markers yet behaves exactly as before.
240
- this.readOwnerReplyMarkerEpochMs = (transcriptPath) => {
245
+ this.readOwnerReplyMarkerEpochMs = (transcriptPath) => this.readMarkerEpochMs(transcriptPath, OWNER_REPLY_MARKER_FILE_EXTENSION);
246
+ // The format gate the owner's sessions run under can hold an owner call instead of delivering
247
+ // it, and it records that decision beside the reply marker: the held call's timestamp in the
248
+ // suppression marker, and the timestamp of any call it later approved in the approval marker. A
249
+ // held call the approval marker does not name never reached the owner, so treating it as a wait
250
+ // on the owner would silence the session's stall reminder for good — the session would keep its
251
+ // task and never be woken again. Such a call is therefore not an outstanding owner call here. A
252
+ // delivered call, and a newer call the suppression marker does not name, are untouched.
253
+ this.isCallSuppressedUndelivered = (transcriptPath, ownerCallEpochMs) => {
254
+ const suppressedEpochMs = this.readMarkerEpochMs(transcriptPath, SUPPRESSED_OWNER_CALL_MARKER_FILE_EXTENSION);
255
+ if (suppressedEpochMs === null || suppressedEpochMs !== ownerCallEpochMs) {
256
+ return false;
257
+ }
258
+ const approvedEpochMs = this.readMarkerEpochMs(transcriptPath, APPROVED_OWNER_CALL_MARKER_FILE_EXTENSION);
259
+ return approvedEpochMs !== suppressedEpochMs;
260
+ };
261
+ this.readMarkerEpochMs = (transcriptPath, markerFileExtension) => {
241
262
  if (this.ownerReplyMarkerDirectory === null) {
242
263
  return null;
243
264
  }
@@ -248,7 +269,7 @@ class TranscriptOwnerCallStatusProvider {
248
269
  const safeSessionId = sessionId.replace(UNSAFE_SESSION_ID_CHARACTER_PATTERN, '_');
249
270
  let markerContent;
250
271
  try {
251
- markerContent = fs.readFileSync(path.join(this.ownerReplyMarkerDirectory, `${safeSessionId}${OWNER_REPLY_MARKER_FILE_EXTENSION}`), 'utf8');
272
+ markerContent = fs.readFileSync(path.join(this.ownerReplyMarkerDirectory, `${safeSessionId}${markerFileExtension}`), 'utf8');
252
273
  }
253
274
  catch {
254
275
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"TranscriptOwnerCallStatusProvider.js","sourceRoot":"","sources":["../../../src/adapter/repositories/TranscriptOwnerCallStatusProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TranscriptOwnerCallStatusProvider.js","sourceRoot":"","sources":["../../../src/adapter/repositories/TranscriptOwnerCallStatusProvider.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "github-issue-tower-defence-management",
3
- "version": "1.148.17",
3
+ "version": "1.148.18",
4
4
  "description": "",
5
5
  "main": "bin/index.js",
6
6
  "scripts": {
@@ -595,6 +595,107 @@ describe('TranscriptOwnerCallStatusProvider', () => {
595
595
 
596
596
  expect(result.has(sessionName)).toBe(true);
597
597
  });
598
+
599
+ const writeCallGateMarker = (
600
+ markerDirectory: string,
601
+ transcriptFileName: string,
602
+ extension: string,
603
+ timestamp: string,
604
+ ): void => {
605
+ fs.mkdirSync(markerDirectory, { recursive: true });
606
+ fs.writeFileSync(
607
+ path.join(
608
+ markerDirectory,
609
+ `${transcriptFileName.replace(/\.jsonl$/, '')}${extension}`,
610
+ ),
611
+ `${timestamp}\n`,
612
+ 'utf8',
613
+ );
614
+ };
615
+
616
+ it('does not report a session as waiting when the format gate suppressed that owner call and never approved it', async () => {
617
+ const transcriptPath = writeTranscript('workbench.jsonl', [
618
+ ownerReply('2026-06-27T10:00:00.000Z'),
619
+ assistantWithMarker('2026-06-27T10:05:00.000Z'),
620
+ ]);
621
+ const markerDirectory = path.join(rootDirectory, 'markers');
622
+ writeCallGateMarker(
623
+ markerDirectory,
624
+ 'workbench.jsonl',
625
+ '.suppress_ts',
626
+ '2026-06-27T10:05:00.000Z',
627
+ );
628
+ const provider = new TranscriptOwnerCallStatusProvider(
629
+ '<<OWNER_CALL>>',
630
+ markerDirectory,
631
+ );
632
+
633
+ const result =
634
+ await provider.listUnansweredOwnerCallEpochSecondsBySessionName(
635
+ new Map([[sessionName, transcriptPath]]),
636
+ );
637
+
638
+ expect(result.has(sessionName)).toBe(false);
639
+ });
640
+
641
+ it('reports a session as waiting when the suppressed owner call was afterwards approved', async () => {
642
+ const transcriptPath = writeTranscript('workbench.jsonl', [
643
+ ownerReply('2026-06-27T10:00:00.000Z'),
644
+ assistantWithMarker('2026-06-27T10:05:00.000Z'),
645
+ ]);
646
+ const markerDirectory = path.join(rootDirectory, 'markers');
647
+ writeCallGateMarker(
648
+ markerDirectory,
649
+ 'workbench.jsonl',
650
+ '.suppress_ts',
651
+ '2026-06-27T10:05:00.000Z',
652
+ );
653
+ writeCallGateMarker(
654
+ markerDirectory,
655
+ 'workbench.jsonl',
656
+ '.call_ts',
657
+ '2026-06-27T10:05:00.000Z',
658
+ );
659
+ const provider = new TranscriptOwnerCallStatusProvider(
660
+ '<<OWNER_CALL>>',
661
+ markerDirectory,
662
+ );
663
+
664
+ const result =
665
+ await provider.listUnansweredOwnerCallEpochSecondsBySessionName(
666
+ new Map([[sessionName, transcriptPath]]),
667
+ );
668
+
669
+ expect(result.has(sessionName)).toBe(true);
670
+ });
671
+
672
+ it('reports a session as waiting when the suppression marker names an earlier call than the latest one', async () => {
673
+ const transcriptPath = writeTranscript('workbench.jsonl', [
674
+ ownerReply('2026-06-27T10:00:00.000Z'),
675
+ assistantWithMarker('2026-06-27T10:05:00.000Z'),
676
+ assistantWithMarker('2026-06-27T10:20:00.000Z'),
677
+ ]);
678
+ const markerDirectory = path.join(rootDirectory, 'markers');
679
+ writeCallGateMarker(
680
+ markerDirectory,
681
+ 'workbench.jsonl',
682
+ '.suppress_ts',
683
+ '2026-06-27T10:05:00.000Z',
684
+ );
685
+ const provider = new TranscriptOwnerCallStatusProvider(
686
+ '<<OWNER_CALL>>',
687
+ markerDirectory,
688
+ );
689
+
690
+ const result =
691
+ await provider.listUnansweredOwnerCallEpochSecondsBySessionName(
692
+ new Map([[sessionName, transcriptPath]]),
693
+ );
694
+
695
+ expect(result.get(sessionName)).toBe(
696
+ Math.floor(Date.parse('2026-06-27T10:20:00.000Z') / 1000),
697
+ );
698
+ });
598
699
  });
599
700
 
600
701
  describe('ownerCallMarkerFamilyResolve', () => {
@@ -135,6 +135,8 @@ const isOwnerEnqueuedReply = (parsed: Record<string, unknown>): boolean => {
135
135
 
136
136
  const TRANSCRIPT_FILE_EXTENSION = '.jsonl';
137
137
  const OWNER_REPLY_MARKER_FILE_EXTENSION = '.reply_ts';
138
+ const SUPPRESSED_OWNER_CALL_MARKER_FILE_EXTENSION = '.suppress_ts';
139
+ const APPROVED_OWNER_CALL_MARKER_FILE_EXTENSION = '.call_ts';
138
140
  const UNSAFE_SESSION_ID_CHARACTER_PATTERN = /[^A-Za-z0-9._-]/g;
139
141
 
140
142
  export class TranscriptOwnerCallStatusProvider implements OwnerCallStatusProvider {
@@ -231,6 +233,11 @@ export class TranscriptOwnerCallStatusProvider implements OwnerCallStatusProvide
231
233
  if (lastOwnerCallEpochMs === null) {
232
234
  return null;
233
235
  }
236
+ if (
237
+ this.isCallSuppressedUndelivered(transcriptPath, lastOwnerCallEpochMs)
238
+ ) {
239
+ return null;
240
+ }
234
241
  const markerReplyEpochMs = this.readOwnerReplyMarkerEpochMs(transcriptPath);
235
242
  const resolvedReplyEpochMs =
236
243
  markerReplyEpochMs !== null &&
@@ -251,6 +258,37 @@ export class TranscriptOwnerCallStatusProvider implements OwnerCallStatusProvide
251
258
  // changes nothing, so a fresh host with no markers yet behaves exactly as before.
252
259
  private readOwnerReplyMarkerEpochMs = (
253
260
  transcriptPath: string,
261
+ ): number | null =>
262
+ this.readMarkerEpochMs(transcriptPath, OWNER_REPLY_MARKER_FILE_EXTENSION);
263
+
264
+ // The format gate the owner's sessions run under can hold an owner call instead of delivering
265
+ // it, and it records that decision beside the reply marker: the held call's timestamp in the
266
+ // suppression marker, and the timestamp of any call it later approved in the approval marker. A
267
+ // held call the approval marker does not name never reached the owner, so treating it as a wait
268
+ // on the owner would silence the session's stall reminder for good — the session would keep its
269
+ // task and never be woken again. Such a call is therefore not an outstanding owner call here. A
270
+ // delivered call, and a newer call the suppression marker does not name, are untouched.
271
+ private isCallSuppressedUndelivered = (
272
+ transcriptPath: string,
273
+ ownerCallEpochMs: number,
274
+ ): boolean => {
275
+ const suppressedEpochMs = this.readMarkerEpochMs(
276
+ transcriptPath,
277
+ SUPPRESSED_OWNER_CALL_MARKER_FILE_EXTENSION,
278
+ );
279
+ if (suppressedEpochMs === null || suppressedEpochMs !== ownerCallEpochMs) {
280
+ return false;
281
+ }
282
+ const approvedEpochMs = this.readMarkerEpochMs(
283
+ transcriptPath,
284
+ APPROVED_OWNER_CALL_MARKER_FILE_EXTENSION,
285
+ );
286
+ return approvedEpochMs !== suppressedEpochMs;
287
+ };
288
+
289
+ private readMarkerEpochMs = (
290
+ transcriptPath: string,
291
+ markerFileExtension: string,
254
292
  ): number | null => {
255
293
  if (this.ownerReplyMarkerDirectory === null) {
256
294
  return null;
@@ -268,7 +306,7 @@ export class TranscriptOwnerCallStatusProvider implements OwnerCallStatusProvide
268
306
  markerContent = fs.readFileSync(
269
307
  path.join(
270
308
  this.ownerReplyMarkerDirectory,
271
- `${safeSessionId}${OWNER_REPLY_MARKER_FILE_EXTENSION}`,
309
+ `${safeSessionId}${markerFileExtension}`,
272
310
  ),
273
311
  'utf8',
274
312
  );
@@ -7,5 +7,7 @@ export declare class TranscriptOwnerCallStatusProvider implements OwnerCallStatu
7
7
  listUnansweredOwnerCallEpochSecondsBySessionName: (transcriptPathBySessionName: Map<string, string>) => Promise<Map<string, number>>;
8
8
  private findUnansweredOwnerCallEpochMs;
9
9
  private readOwnerReplyMarkerEpochMs;
10
+ private isCallSuppressedUndelivered;
11
+ private readMarkerEpochMs;
10
12
  }
11
13
  //# sourceMappingURL=TranscriptOwnerCallStatusProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TranscriptOwnerCallStatusProvider.d.ts","sourceRoot":"","sources":["../../../src/adapter/repositories/TranscriptOwnerCallStatusProvider.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,uBAAuB,EAAE,MAAM,kEAAkE,CAAC;AA6F3G,eAAO,MAAM,4BAA4B,GAAI,QAAQ,MAAM,KAAG,MAAM,EAMtD,CAAC;AAsCf,qBAAa,iCAAkC,YAAW,uBAAuB;IAK7E,OAAO,CAAC,QAAQ,CAAC,yBAAyB;IAJ5C,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAW;gBAG/C,eAAe,EAAE,MAAM,GAAG,IAAI,EACb,yBAAyB,GAAE,MAAM,GAAG,IAAW;IAQlE,gDAAgD,GAC9C,6BAA6B,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,KAC/C,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAqB7B;IAEF,OAAO,CAAC,8BAA8B,CAmEpC;IAOF,OAAO,CAAC,2BAA2B,CA2BjC;CACH"}
1
+ {"version":3,"file":"TranscriptOwnerCallStatusProvider.d.ts","sourceRoot":"","sources":["../../../src/adapter/repositories/TranscriptOwnerCallStatusProvider.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,uBAAuB,EAAE,MAAM,kEAAkE,CAAC;AA6F3G,eAAO,MAAM,4BAA4B,GAAI,QAAQ,MAAM,KAAG,MAAM,EAMtD,CAAC;AAwCf,qBAAa,iCAAkC,YAAW,uBAAuB;IAK7E,OAAO,CAAC,QAAQ,CAAC,yBAAyB;IAJ5C,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAW;gBAG/C,eAAe,EAAE,MAAM,GAAG,IAAI,EACb,yBAAyB,GAAE,MAAM,GAAG,IAAW;IAQlE,gDAAgD,GAC9C,6BAA6B,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,KAC/C,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAqB7B;IAEF,OAAO,CAAC,8BAA8B,CAwEpC;IAOF,OAAO,CAAC,2BAA2B,CAGyC;IAS5E,OAAO,CAAC,2BAA2B,CAgBjC;IAEF,OAAO,CAAC,iBAAiB,CA4BvB;CACH"}