instar 1.3.461 → 1.3.462

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.
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/commands/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAcH,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAS3D,OAAO,EAAE,eAAe,EAAiC,MAAM,iCAAiC,CAAC;AAuBjG,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAGvD,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAiG7D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAsBtD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,gBAAgB,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAC1C,OAAO,CAUT;AAyID,UAAU,YAAY;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;2DACuD;IACvD,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AA65BD,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,eAAe,EACzB,cAAc,EAAE,cAAc,EAC9B,YAAY,CAAC,EAAE,YAAY,EAC3B,WAAW,CAAC,EAAE,WAAW,EACzB,WAAW,CAAC,EAAE,WAAW,EACzB,iBAAiB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,EAGvE,UAAU,CAAC,EAAE,MAAM,OAAO,8BAA8B,EAAE,WAAW,GAAG,IAAI,EAK5E,qBAAqB,CAAC,EAAE,MAAM,OAAO,gCAAgC,EAAE,kBAAkB,GAAG,IAAI,EAKhG,mBAAmB,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,GAAG,SAAS,GACpD,IAAI,CA0UN;AA2lBD,wBAAsB,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CA85UtE;AAED,wBAAsB,UAAU,CAAC,OAAO,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAsDzE;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAuD5E"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/commands/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAcH,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAS3D,OAAO,EAAE,eAAe,EAAiC,MAAM,iCAAiC,CAAC;AAuBjG,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAGvD,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAkG7D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAsBtD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,gBAAgB,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAC1C,OAAO,CAUT;AAyID,UAAU,YAAY;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;2DACuD;IACvD,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AA65BD,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,eAAe,EACzB,cAAc,EAAE,cAAc,EAC9B,YAAY,CAAC,EAAE,YAAY,EAC3B,WAAW,CAAC,EAAE,WAAW,EACzB,WAAW,CAAC,EAAE,WAAW,EACzB,iBAAiB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,EAGvE,UAAU,CAAC,EAAE,MAAM,OAAO,8BAA8B,EAAE,WAAW,GAAG,IAAI,EAK5E,qBAAqB,CAAC,EAAE,MAAM,OAAO,gCAAgC,EAAE,kBAAkB,GAAG,IAAI,EAKhG,mBAAmB,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,GAAG,SAAS,GACpD,IAAI,CA0UN;AA2lBD,wBAAsB,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CA+5UtE;AAED,wBAAsB,UAAU,CAAC,OAAO,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAsDzE;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAuD5E"}
@@ -52,6 +52,7 @@ import { TopicMemory } from '../memory/TopicMemory.js';
52
52
  import { SemanticMemory } from '../memory/SemanticMemory.js';
53
53
  import { WorkingMemoryAssembler } from '../memory/WorkingMemoryAssembler.js';
54
54
  import { QuotaTracker } from '../monitoring/QuotaTracker.js';
55
+ import { sendConsolidatedWithSelfHeal } from '../monitoring/sentinelConsolidatedSend.js';
55
56
  import { AccountSwitcher } from '../monitoring/AccountSwitcher.js';
56
57
  import { QuotaNotifier } from '../monitoring/QuotaNotifier.js';
57
58
  import { QuotaManager } from '../monitoring/QuotaManager.js';
@@ -6444,19 +6445,12 @@ export async function startServer(options) {
6444
6445
  // Consolidated Telegram delivery — reuses the existing system (lifeline)
6445
6446
  // topic. When telegramEscalation is off, this callback is never invoked.
6446
6447
  const localTelegram = telegram;
6448
+ // Self-healing consolidated delivery: if the lifeline/system topic was
6449
+ // deleted on the Telegram side, recreate it and retry instead of silently
6450
+ // swallowing the "message thread not found" error (incident 2026-06-09:
6451
+ // 41 stall escalations black-holed against a dead lifeline topic).
6447
6452
  const sendConsolidated = localTelegram
6448
- ? async (text) => {
6449
- const topicId = localTelegram.getLifelineTopicId();
6450
- if (!topicId)
6451
- return false;
6452
- try {
6453
- await localTelegram.sendToTopic(topicId, text);
6454
- return true;
6455
- }
6456
- catch {
6457
- return false;
6458
- }
6459
- }
6453
+ ? (text) => sendConsolidatedWithSelfHeal(localTelegram, text, (line) => console.warn(pc.yellow(` [sentinel-notify] ${line}`)))
6460
6454
  : undefined;
6461
6455
  const telegramEscalation = config.monitoring?.sentinelTelegramEscalation === true;
6462
6456
  const notifier = new SentinelNotifier({ log: logSink, sendConsolidated }, { telegramEscalation });
@@ -9026,18 +9020,7 @@ export async function startServer(options) {
9026
9020
  }
9027
9021
  catch { /* best-effort */ }
9028
9022
  };
9029
- const send = async (text) => {
9030
- const topicId = localTg.getLifelineTopicId();
9031
- if (!topicId)
9032
- return false;
9033
- try {
9034
- await localTg.sendToTopic(topicId, text);
9035
- return true;
9036
- }
9037
- catch {
9038
- return false;
9039
- }
9040
- };
9023
+ const send = (text) => sendConsolidatedWithSelfHeal(localTg, text, (line) => console.warn(pc.yellow(` [stop-notify] ${line}`)));
9041
9024
  const { SentinelNotifier } = await import('../monitoring/SentinelNotifier.js');
9042
9025
  const stopSink = new SentinelNotifier({ log: stopLog, sendConsolidated: send }, { telegramEscalation: true });
9043
9026
  const { StopNotifier } = await import('../monitoring/StopNotifier.js');