@integrity-labs/agt-cli 0.28.1192 → 0.28.1194
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/dist/bin/agt.js +6 -6
- package/dist/{chunk-UUO7QTLC.js → chunk-2HAH3TZ4.js} +15 -1
- package/dist/{chunk-UUO7QTLC.js.map → chunk-2HAH3TZ4.js.map} +1 -1
- package/dist/{chunk-TCPX64GU.js → chunk-DPXWD2HJ.js} +44 -11
- package/dist/{chunk-TCPX64GU.js.map → chunk-DPXWD2HJ.js.map} +1 -1
- package/dist/{chunk-NJ2AUTIO.js → chunk-KL35IHP2.js} +3 -3
- package/dist/{chunk-DXLSLT5G.js → chunk-MLIFIEIF.js} +2 -2
- package/dist/{chunk-UQYIFOWE.js → chunk-WUYF7RDA.js} +2 -2
- package/dist/{claude-code-updater-EOJQHUZ2.js → claude-code-updater-DLTAAQOT.js} +3 -3
- package/dist/{claude-pair-runtime-WKTA3HNF.js → claude-pair-runtime-XAUZPAUP.js} +3 -3
- package/dist/lib/manager-worker.js +91 -28
- package/dist/lib/manager-worker.js.map +1 -1
- package/dist/mcp/direct-chat-channel.js +5 -2
- package/dist/mcp/index.js +2 -0
- package/dist/mcp/origami.js +2 -0
- package/dist/mcp/slack-channel.js +5 -2
- package/dist/mcp/telegram-channel.js +111 -15
- package/dist/{persistent-session-5MGJGJIB.js → persistent-session-TV4FIBN4.js} +4 -4
- package/dist/{responsiveness-probe-J4CBYZS3.js → responsiveness-probe-BBAAYANU.js} +4 -4
- package/dist/{session-auth-dead-7CSZHNBK.js → session-auth-dead-JMYATIQN.js} +3 -3
- package/package.json +1 -1
- /package/dist/{chunk-NJ2AUTIO.js.map → chunk-KL35IHP2.js.map} +0 -0
- /package/dist/{chunk-DXLSLT5G.js.map → chunk-MLIFIEIF.js.map} +0 -0
- /package/dist/{chunk-UQYIFOWE.js.map → chunk-WUYF7RDA.js.map} +0 -0
- /package/dist/{claude-code-updater-EOJQHUZ2.js.map → claude-code-updater-DLTAAQOT.js.map} +0 -0
- /package/dist/{claude-pair-runtime-WKTA3HNF.js.map → claude-pair-runtime-XAUZPAUP.js.map} +0 -0
- /package/dist/{persistent-session-5MGJGJIB.js.map → persistent-session-TV4FIBN4.js.map} +0 -0
- /package/dist/{responsiveness-probe-J4CBYZS3.js.map → responsiveness-probe-BBAAYANU.js.map} +0 -0
- /package/dist/{session-auth-dead-7CSZHNBK.js.map → session-auth-dead-JMYATIQN.js.map} +0 -0
|
@@ -46749,6 +46749,8 @@ var FORCED_UPDATE_HARD_DEADLINE_MS = 15 * 6e4;
|
|
|
46749
46749
|
|
|
46750
46750
|
// ../core/dist/host-keys/rotation.js
|
|
46751
46751
|
var HOST_KEY_ROTATION_GRACE_MS = 5 * 6e4;
|
|
46752
|
+
var HOST_KEY_ROTATION_RETRY_MS = 5 * 6e4;
|
|
46753
|
+
var HOST_SELF_ROTATION_STALE_MINT_MS = 2 * 6e4;
|
|
46752
46754
|
var HOST_KEY_ROTATION_GRACE_MAX_MS = 60 * 6e4;
|
|
46753
46755
|
|
|
46754
46756
|
// ../core/dist/teams/team-slug.js
|
|
@@ -47673,6 +47675,7 @@ function oldestPendingMarkerAgeMs(dir, now = Date.now(), opts) {
|
|
|
47673
47675
|
let oldest = null;
|
|
47674
47676
|
for (const name of names) {
|
|
47675
47677
|
if (!name.endsWith(".json")) continue;
|
|
47678
|
+
if (opts?.exclude?.(name)) continue;
|
|
47676
47679
|
let receivedAt;
|
|
47677
47680
|
try {
|
|
47678
47681
|
const raw = JSON.parse(readFileSync9(join10(dir, name), "utf-8"));
|
|
@@ -47691,8 +47694,8 @@ function oldestPendingMarkerAgeMs(dir, now = Date.now(), opts) {
|
|
|
47691
47694
|
}
|
|
47692
47695
|
return oldest;
|
|
47693
47696
|
}
|
|
47694
|
-
function hasInFlightInbound(dir, now = Date.now()) {
|
|
47695
|
-
return oldestPendingMarkerAgeMs(dir, now, { includeSeen: true }) != null;
|
|
47697
|
+
function hasInFlightInbound(dir, now = Date.now(), opts) {
|
|
47698
|
+
return oldestPendingMarkerAgeMs(dir, now, { includeSeen: true, exclude: opts?.exclude }) != null;
|
|
47696
47699
|
}
|
|
47697
47700
|
function channelOrphanMarkerMs() {
|
|
47698
47701
|
const raw = parseInt(process.env.AGT_CHANNEL_ORPHAN_MARKER_MS ?? "", 10);
|
package/dist/mcp/index.js
CHANGED
|
@@ -32387,6 +32387,8 @@ var FORCED_UPDATE_HARD_DEADLINE_MS = 15 * 6e4;
|
|
|
32387
32387
|
|
|
32388
32388
|
// ../core/dist/host-keys/rotation.js
|
|
32389
32389
|
var HOST_KEY_ROTATION_GRACE_MS = 5 * 6e4;
|
|
32390
|
+
var HOST_KEY_ROTATION_RETRY_MS = 5 * 6e4;
|
|
32391
|
+
var HOST_SELF_ROTATION_STALE_MINT_MS = 2 * 6e4;
|
|
32390
32392
|
var HOST_KEY_ROTATION_GRACE_MAX_MS = 60 * 6e4;
|
|
32391
32393
|
|
|
32392
32394
|
// ../core/dist/teams/team-slug.js
|
package/dist/mcp/origami.js
CHANGED
|
@@ -46255,6 +46255,8 @@ var FORCED_UPDATE_HARD_DEADLINE_MS = 15 * 6e4;
|
|
|
46255
46255
|
|
|
46256
46256
|
// ../core/dist/host-keys/rotation.js
|
|
46257
46257
|
var HOST_KEY_ROTATION_GRACE_MS = 5 * 6e4;
|
|
46258
|
+
var HOST_KEY_ROTATION_RETRY_MS = 5 * 6e4;
|
|
46259
|
+
var HOST_SELF_ROTATION_STALE_MINT_MS = 2 * 6e4;
|
|
46258
46260
|
var HOST_KEY_ROTATION_GRACE_MAX_MS = 60 * 6e4;
|
|
46259
46261
|
|
|
46260
46262
|
// ../core/dist/teams/team-slug.js
|
|
@@ -41086,6 +41086,8 @@ var FORCED_UPDATE_HARD_DEADLINE_MS = 15 * 6e4;
|
|
|
41086
41086
|
|
|
41087
41087
|
// ../core/dist/host-keys/rotation.js
|
|
41088
41088
|
var HOST_KEY_ROTATION_GRACE_MS = 5 * 6e4;
|
|
41089
|
+
var HOST_KEY_ROTATION_RETRY_MS = 5 * 6e4;
|
|
41090
|
+
var HOST_SELF_ROTATION_STALE_MINT_MS = 2 * 6e4;
|
|
41089
41091
|
var HOST_KEY_ROTATION_GRACE_MAX_MS = 60 * 6e4;
|
|
41090
41092
|
|
|
41091
41093
|
// ../core/dist/teams/team-slug.js
|
|
@@ -41680,6 +41682,7 @@ function oldestPendingMarkerAgeMs(dir, now = Date.now(), opts) {
|
|
|
41680
41682
|
let oldest = null;
|
|
41681
41683
|
for (const name of names) {
|
|
41682
41684
|
if (!name.endsWith(".json")) continue;
|
|
41685
|
+
if (opts?.exclude?.(name)) continue;
|
|
41683
41686
|
let receivedAt;
|
|
41684
41687
|
try {
|
|
41685
41688
|
const raw = JSON.parse(readFileSync3(join3(dir, name), "utf-8"));
|
|
@@ -41698,8 +41701,8 @@ function oldestPendingMarkerAgeMs(dir, now = Date.now(), opts) {
|
|
|
41698
41701
|
}
|
|
41699
41702
|
return oldest;
|
|
41700
41703
|
}
|
|
41701
|
-
function hasInFlightInbound(dir, now = Date.now()) {
|
|
41702
|
-
return oldestPendingMarkerAgeMs(dir, now, { includeSeen: true }) != null;
|
|
41704
|
+
function hasInFlightInbound(dir, now = Date.now(), opts) {
|
|
41705
|
+
return oldestPendingMarkerAgeMs(dir, now, { includeSeen: true, exclude: opts?.exclude }) != null;
|
|
41703
41706
|
}
|
|
41704
41707
|
function isPendingMarkerStale(receivedAt, nowMs, thresholdMs) {
|
|
41705
41708
|
if (!receivedAt) return true;
|
|
@@ -41297,6 +41297,8 @@ var FORCED_UPDATE_HARD_DEADLINE_MS = 15 * 6e4;
|
|
|
41297
41297
|
|
|
41298
41298
|
// ../core/dist/host-keys/rotation.js
|
|
41299
41299
|
var HOST_KEY_ROTATION_GRACE_MS = 5 * 6e4;
|
|
41300
|
+
var HOST_KEY_ROTATION_RETRY_MS = 5 * 6e4;
|
|
41301
|
+
var HOST_SELF_ROTATION_STALE_MINT_MS = 2 * 6e4;
|
|
41300
41302
|
var HOST_KEY_ROTATION_GRACE_MAX_MS = 60 * 6e4;
|
|
41301
41303
|
|
|
41302
41304
|
// ../core/dist/teams/team-slug.js
|
|
@@ -43772,13 +43774,63 @@ function markerArrivalMs(fullPath) {
|
|
|
43772
43774
|
return Number.POSITIVE_INFINITY;
|
|
43773
43775
|
}
|
|
43774
43776
|
}
|
|
43775
|
-
function clearAllTelegramPendingMarkersForChat(pendingDir, chatId, clearMarkerFile, cutoffMs = Number.POSITIVE_INFINITY) {
|
|
43776
|
-
return applyToChatMarkers(pendingDir, chatId, clearMarkerFile, cutoffMs);
|
|
43777
|
+
function clearAllTelegramPendingMarkersForChat(pendingDir, chatId, clearMarkerFile, cutoffMs = Number.POSITIVE_INFINITY, reachedSession) {
|
|
43778
|
+
return applyToChatMarkers(pendingDir, chatId, clearMarkerFile, cutoffMs, reachedSession);
|
|
43777
43779
|
}
|
|
43778
|
-
function markSeenAllTelegramPendingMarkersForChat(pendingDir, chatId, markSeen, cutoffMs = Number.POSITIVE_INFINITY) {
|
|
43779
|
-
return applyToChatMarkers(pendingDir, chatId, markSeen, cutoffMs);
|
|
43780
|
+
function markSeenAllTelegramPendingMarkersForChat(pendingDir, chatId, markSeen, cutoffMs = Number.POSITIVE_INFINITY, reachedSession) {
|
|
43781
|
+
return applyToChatMarkers(pendingDir, chatId, markSeen, cutoffMs, reachedSession);
|
|
43780
43782
|
}
|
|
43781
|
-
function
|
|
43783
|
+
function markerDrainable(i) {
|
|
43784
|
+
return i.pushedThisSession || !i.replayEnabled || !i.hasPayload;
|
|
43785
|
+
}
|
|
43786
|
+
function readFailureMeansNoPayload(err) {
|
|
43787
|
+
return err instanceof SyntaxError || err?.code === "ENOENT";
|
|
43788
|
+
}
|
|
43789
|
+
function markerMayDrain(i) {
|
|
43790
|
+
let hasPayload = false;
|
|
43791
|
+
try {
|
|
43792
|
+
if (i.dir) {
|
|
43793
|
+
const read = i.read ?? ((path) => readFileSync11(path, "utf-8"));
|
|
43794
|
+
hasPayload = Boolean(JSON.parse(read(join13(i.dir, i.filename))).payload);
|
|
43795
|
+
}
|
|
43796
|
+
} catch (err) {
|
|
43797
|
+
hasPayload = !readFailureMeansNoPayload(err);
|
|
43798
|
+
}
|
|
43799
|
+
return markerDrainable({ pushedThisSession: i.pushedThisSession, replayEnabled: i.replayEnabled, hasPayload });
|
|
43800
|
+
}
|
|
43801
|
+
function createSessionMarkerTracker() {
|
|
43802
|
+
const pushed = /* @__PURE__ */ new Set();
|
|
43803
|
+
const held = /* @__PURE__ */ new Set();
|
|
43804
|
+
return {
|
|
43805
|
+
/** The marker's push went to this session. Also ends any hold. */
|
|
43806
|
+
notePushed(filename) {
|
|
43807
|
+
pushed.add(filename);
|
|
43808
|
+
held.delete(filename);
|
|
43809
|
+
},
|
|
43810
|
+
/** The marker's file is gone. Its name won't come back, so stop tracking it. */
|
|
43811
|
+
release(filename) {
|
|
43812
|
+
pushed.delete(filename);
|
|
43813
|
+
held.delete(filename);
|
|
43814
|
+
},
|
|
43815
|
+
wasPushed(filename) {
|
|
43816
|
+
return pushed.has(filename);
|
|
43817
|
+
},
|
|
43818
|
+
/** {@link markerMayDrain}, recording a hold when the answer is no. */
|
|
43819
|
+
mayDrain(i) {
|
|
43820
|
+
const may = markerMayDrain({ ...i, pushedThisSession: pushed.has(i.filename) });
|
|
43821
|
+
if (may) held.delete(i.filename);
|
|
43822
|
+
else held.add(i.filename);
|
|
43823
|
+
return may;
|
|
43824
|
+
},
|
|
43825
|
+
isHeld(filename) {
|
|
43826
|
+
return held.has(filename);
|
|
43827
|
+
}
|
|
43828
|
+
};
|
|
43829
|
+
}
|
|
43830
|
+
function replayCountForSession(i) {
|
|
43831
|
+
return i.pushedThisSession ? i.replayCount : 0;
|
|
43832
|
+
}
|
|
43833
|
+
function applyToChatMarkers(pendingDir, chatId, op, cutoffMs, reachedSession) {
|
|
43782
43834
|
const prefix = `${chatId.replace(/[^A-Za-z0-9_-]/g, "_")}__`;
|
|
43783
43835
|
const bounded = Number.isFinite(cutoffMs);
|
|
43784
43836
|
let filenames;
|
|
@@ -43791,6 +43843,7 @@ function applyToChatMarkers(pendingDir, chatId, op, cutoffMs) {
|
|
|
43791
43843
|
for (const filename of filenames) {
|
|
43792
43844
|
if (!filename.startsWith(prefix)) continue;
|
|
43793
43845
|
if (!filename.endsWith(".json")) continue;
|
|
43846
|
+
if (reachedSession && !reachedSession(filename)) continue;
|
|
43794
43847
|
const fullPath = join13(pendingDir, filename);
|
|
43795
43848
|
if (bounded && markerArrivalMs(fullPath) > cutoffMs) continue;
|
|
43796
43849
|
op(fullPath);
|
|
@@ -44584,6 +44637,7 @@ function oldestPendingMarkerAgeMs(dir, now = Date.now(), opts) {
|
|
|
44584
44637
|
let oldest = null;
|
|
44585
44638
|
for (const name of names) {
|
|
44586
44639
|
if (!name.endsWith(".json")) continue;
|
|
44640
|
+
if (opts?.exclude?.(name)) continue;
|
|
44587
44641
|
let receivedAt;
|
|
44588
44642
|
try {
|
|
44589
44643
|
const raw = JSON.parse(readFileSync14(join17(dir, name), "utf-8"));
|
|
@@ -44602,8 +44656,8 @@ function oldestPendingMarkerAgeMs(dir, now = Date.now(), opts) {
|
|
|
44602
44656
|
}
|
|
44603
44657
|
return oldest;
|
|
44604
44658
|
}
|
|
44605
|
-
function hasInFlightInbound(dir, now = Date.now()) {
|
|
44606
|
-
return oldestPendingMarkerAgeMs(dir, now, { includeSeen: true }) != null;
|
|
44659
|
+
function hasInFlightInbound(dir, now = Date.now(), opts) {
|
|
44660
|
+
return oldestPendingMarkerAgeMs(dir, now, { includeSeen: true, exclude: opts?.exclude }) != null;
|
|
44607
44661
|
}
|
|
44608
44662
|
function isPendingMarkerStale(receivedAt, nowMs, thresholdMs) {
|
|
44609
44663
|
if (!receivedAt) return true;
|
|
@@ -46342,6 +46396,17 @@ async function notifyDmUsersOnChannelAddRestart() {
|
|
|
46342
46396
|
);
|
|
46343
46397
|
}
|
|
46344
46398
|
}
|
|
46399
|
+
var sessionMarkers = createSessionMarkerTracker();
|
|
46400
|
+
function noteMarkerAnsweredByRecovery(markerFilename) {
|
|
46401
|
+
if (markerFilename) sessionMarkers.notePushed(markerFilename);
|
|
46402
|
+
}
|
|
46403
|
+
function markerReachedThisSession(markerFilename) {
|
|
46404
|
+
return sessionMarkers.mayDrain({
|
|
46405
|
+
dir: PENDING_INBOUND_DIR,
|
|
46406
|
+
filename: markerFilename,
|
|
46407
|
+
replayEnabled: channelReplayEnabled()
|
|
46408
|
+
});
|
|
46409
|
+
}
|
|
46345
46410
|
function safeMarkerName(chatId, messageId) {
|
|
46346
46411
|
const safe = (s) => s.replace(/[^A-Za-z0-9_-]/g, "_");
|
|
46347
46412
|
return `${safe(chatId)}__${safe(messageId)}.json`;
|
|
@@ -46410,6 +46475,7 @@ function clearTelegramMarkerFileWithHeal(fullPath) {
|
|
|
46410
46475
|
}
|
|
46411
46476
|
try {
|
|
46412
46477
|
if (existsSync9(fullPath)) unlinkSync8(fullPath);
|
|
46478
|
+
sessionMarkers.release(basename(fullPath));
|
|
46413
46479
|
} catch {
|
|
46414
46480
|
}
|
|
46415
46481
|
}
|
|
@@ -46424,6 +46490,7 @@ function clearTelegramMarkerFileSilently(fullPath) {
|
|
|
46424
46490
|
}
|
|
46425
46491
|
try {
|
|
46426
46492
|
if (existsSync9(fullPath)) unlinkSync8(fullPath);
|
|
46493
|
+
sessionMarkers.release(basename(fullPath));
|
|
46427
46494
|
} catch {
|
|
46428
46495
|
}
|
|
46429
46496
|
}
|
|
@@ -46564,6 +46631,7 @@ async function processRecoveryOutboxFile(filename) {
|
|
|
46564
46631
|
}) + "\n"
|
|
46565
46632
|
);
|
|
46566
46633
|
if (decision.action === "suppress") {
|
|
46634
|
+
noteMarkerAnsweredByRecovery(payload.marker_name);
|
|
46567
46635
|
clearPendingMessage(payload.chat_id, recoveryDrainCutoffMs);
|
|
46568
46636
|
removeRecoveryLedgerEntry(RECOVERY_LEDGER_DIR, payload.marker_name);
|
|
46569
46637
|
try {
|
|
@@ -46588,6 +46656,7 @@ async function processRecoveryOutboxFile(filename) {
|
|
|
46588
46656
|
`telegram-channel(${AGENT_CODE_NAME}): ghost-reply recovery sent (chat=${redactId(payload.chat_id)} msg=${redactId(payload.message_id ?? "")})
|
|
46589
46657
|
`
|
|
46590
46658
|
);
|
|
46659
|
+
noteMarkerAnsweredByRecovery(payload.marker_name);
|
|
46591
46660
|
clearPendingMessage(payload.chat_id, recoveryDrainCutoffMs);
|
|
46592
46661
|
} else {
|
|
46593
46662
|
process.stderr.write(
|
|
@@ -46845,6 +46914,7 @@ function sweepTelegramStaleMarkers(thresholdMs) {
|
|
|
46845
46914
|
);
|
|
46846
46915
|
try {
|
|
46847
46916
|
unlinkSync8(fullPath);
|
|
46917
|
+
sessionMarkers.release(filename);
|
|
46848
46918
|
} catch {
|
|
46849
46919
|
}
|
|
46850
46920
|
cleared++;
|
|
@@ -46870,6 +46940,7 @@ function sweepTelegramStaleMarkers(thresholdMs) {
|
|
|
46870
46940
|
}
|
|
46871
46941
|
try {
|
|
46872
46942
|
unlinkSync8(fullPath);
|
|
46943
|
+
sessionMarkers.release(filename);
|
|
46873
46944
|
} catch {
|
|
46874
46945
|
}
|
|
46875
46946
|
cleared++;
|
|
@@ -47240,7 +47311,8 @@ function clearPendingMessage(chatId, cutoffMs = Number.POSITIVE_INFINITY) {
|
|
|
47240
47311
|
PENDING_INBOUND_DIR,
|
|
47241
47312
|
chatId,
|
|
47242
47313
|
clearTelegramMarkerFileWithHeal,
|
|
47243
|
-
cutoffMs
|
|
47314
|
+
cutoffMs,
|
|
47315
|
+
markerReachedThisSession
|
|
47244
47316
|
);
|
|
47245
47317
|
}
|
|
47246
47318
|
function consumePendingMessage(chatId, cutoffMs = Number.POSITIVE_INFINITY) {
|
|
@@ -47249,7 +47321,8 @@ function consumePendingMessage(chatId, cutoffMs = Number.POSITIVE_INFINITY) {
|
|
|
47249
47321
|
PENDING_INBOUND_DIR,
|
|
47250
47322
|
chatId,
|
|
47251
47323
|
clearTelegramMarkerFileSilently,
|
|
47252
|
-
cutoffMs
|
|
47324
|
+
cutoffMs,
|
|
47325
|
+
markerReachedThisSession
|
|
47253
47326
|
);
|
|
47254
47327
|
}
|
|
47255
47328
|
function markSeenPendingMessage(chatId, cutoffMs = Number.POSITIVE_INFINITY) {
|
|
@@ -47258,7 +47331,8 @@ function markSeenPendingMessage(chatId, cutoffMs = Number.POSITIVE_INFINITY) {
|
|
|
47258
47331
|
PENDING_INBOUND_DIR,
|
|
47259
47332
|
chatId,
|
|
47260
47333
|
markTelegramMarkerSeenWithHeal,
|
|
47261
|
-
cutoffMs
|
|
47334
|
+
cutoffMs,
|
|
47335
|
+
markerReachedThisSession
|
|
47262
47336
|
);
|
|
47263
47337
|
}
|
|
47264
47338
|
function markPromisedPendingMessage(chatId, cutoffMs = Number.POSITIVE_INFINITY) {
|
|
@@ -47269,7 +47343,8 @@ function markPromisedPendingMessage(chatId, cutoffMs = Number.POSITIVE_INFINITY)
|
|
|
47269
47343
|
PENDING_INBOUND_DIR,
|
|
47270
47344
|
chatId,
|
|
47271
47345
|
markTelegramMarkerPromisedWithHeal,
|
|
47272
|
-
cutoffMs
|
|
47346
|
+
cutoffMs,
|
|
47347
|
+
markerReachedThisSession
|
|
47273
47348
|
);
|
|
47274
47349
|
if (telegramPromiseStampOutcome.attempted > telegramPromiseStampOutcome.stamped) {
|
|
47275
47350
|
process.stderr.write(
|
|
@@ -48277,6 +48352,18 @@ async function ackCallbackQuery(callbackQueryId, text, opts = {}) {
|
|
|
48277
48352
|
);
|
|
48278
48353
|
}
|
|
48279
48354
|
}
|
|
48355
|
+
var resolveMcpInitialized = () => {
|
|
48356
|
+
};
|
|
48357
|
+
var mcpInitialized = new Promise((resolve3) => {
|
|
48358
|
+
resolveMcpInitialized = resolve3;
|
|
48359
|
+
});
|
|
48360
|
+
mcp.oninitialized = () => {
|
|
48361
|
+
resolveMcpInitialized();
|
|
48362
|
+
};
|
|
48363
|
+
var MCP_INITIALIZED_WAIT_MS = 3e4;
|
|
48364
|
+
function waitForMcpInitialized() {
|
|
48365
|
+
return Promise.race([mcpInitialized, sleep4(MCP_INITIALIZED_WAIT_MS)]);
|
|
48366
|
+
}
|
|
48280
48367
|
await mcp.connect(new StdioServerTransport());
|
|
48281
48368
|
var REPLAY_SCAN_INTERVAL_MS = 6e4;
|
|
48282
48369
|
async function replayPendingTelegramMarkers() {
|
|
@@ -48325,7 +48412,10 @@ async function replayPendingTelegramMarkers() {
|
|
|
48325
48412
|
hasPayload: Boolean(marker.payload),
|
|
48326
48413
|
sessionState,
|
|
48327
48414
|
markerAgeMs: ageMs,
|
|
48328
|
-
replayCount:
|
|
48415
|
+
replayCount: replayCountForSession({
|
|
48416
|
+
pushedThisSession: sessionMarkers.wasPushed(basename(path)),
|
|
48417
|
+
replayCount: marker.replay_count ?? 0
|
|
48418
|
+
}),
|
|
48329
48419
|
paneFreshAgeMs,
|
|
48330
48420
|
// ENG-7736: bound the pane-fresh defer (clamped under the orphan
|
|
48331
48421
|
// window) so a perpetually-fresh pane can't hold off replay until GC.
|
|
@@ -48344,6 +48434,7 @@ async function replayPendingTelegramMarkers() {
|
|
|
48344
48434
|
method: "notifications/claude/channel",
|
|
48345
48435
|
params: replayParams
|
|
48346
48436
|
});
|
|
48437
|
+
sessionMarkers.notePushed(basename(path));
|
|
48347
48438
|
seedTelegramProgressHeartbeat();
|
|
48348
48439
|
if (replayPayload.meta?.["source_role"] !== "agent") {
|
|
48349
48440
|
peerPresence.noteInbound(marker.chat_id, "human", now);
|
|
@@ -48986,11 +49077,15 @@ async function pollLoop() {
|
|
|
48986
49077
|
tmux: ackProbe.tmux,
|
|
48987
49078
|
claude: ackProbe.claude,
|
|
48988
49079
|
withinStartupGrace: process.uptime() * 1e3 < ACK_STARTUP_GRACE_MS,
|
|
48989
|
-
oldestPendingAgeMs: oldestPendingMarkerAgeMs(PENDING_INBOUND_DIR),
|
|
49080
|
+
oldestPendingAgeMs: oldestPendingMarkerAgeMs(PENDING_INBOUND_DIR, Date.now(), {
|
|
49081
|
+
exclude: sessionMarkers.isHeld
|
|
49082
|
+
}),
|
|
48990
49083
|
paneLogFreshAgeMs
|
|
48991
49084
|
};
|
|
48992
49085
|
const ackDecision = decideAckReaction(ackInputs);
|
|
48993
|
-
const arrivedWhileBusy = hasInFlightInbound(PENDING_INBOUND_DIR)
|
|
49086
|
+
const arrivedWhileBusy = hasInFlightInbound(PENDING_INBOUND_DIR, Date.now(), {
|
|
49087
|
+
exclude: sessionMarkers.isHeld
|
|
49088
|
+
});
|
|
48994
49089
|
if (ackDecision === "undeliverable") {
|
|
48995
49090
|
const cause = classifyUndeliverableCause(ackInputs) ?? "unknown";
|
|
48996
49091
|
recordChannelDeflection(AGENT_DIR, "telegram", cause);
|
|
@@ -49079,6 +49174,7 @@ async function pollLoop() {
|
|
|
49079
49174
|
method: "notifications/claude/channel",
|
|
49080
49175
|
params: channelPayload
|
|
49081
49176
|
});
|
|
49177
|
+
sessionMarkers.notePushed(safeMarkerName(chatId, messageId));
|
|
49082
49178
|
if (shouldArmWatch({
|
|
49083
49179
|
isBot: isFromBot || !!peerAgentMeta,
|
|
49084
49180
|
// Every Telegram inbound that reaches here owes a reply — there is no
|
|
@@ -49225,7 +49321,7 @@ void (async () => {
|
|
|
49225
49321
|
})();
|
|
49226
49322
|
void notifyRestartCompleteOnBoot();
|
|
49227
49323
|
void notifyDmUsersOnChannelAddRestart();
|
|
49228
|
-
|
|
49324
|
+
waitForMcpInitialized().then(pollLoop).catch((err) => {
|
|
49229
49325
|
process.stderr.write(
|
|
49230
49326
|
`telegram-channel(${AGENT_CODE_NAME}): poll loop died: ${err.message}
|
|
49231
49327
|
`
|
|
@@ -68,12 +68,12 @@ import {
|
|
|
68
68
|
writeDirectChatSessionState,
|
|
69
69
|
writeEgressAllowlist,
|
|
70
70
|
writePersistentClaudeWrapper
|
|
71
|
-
} from "./chunk-
|
|
72
|
-
import "./chunk-
|
|
71
|
+
} from "./chunk-KL35IHP2.js";
|
|
72
|
+
import "./chunk-MLIFIEIF.js";
|
|
73
73
|
import "./chunk-OO36JBFI.js";
|
|
74
74
|
import "./chunk-6HBXEJHO.js";
|
|
75
75
|
import "./chunk-XWVM4KPK.js";
|
|
76
|
-
import "./chunk-
|
|
76
|
+
import "./chunk-2HAH3TZ4.js";
|
|
77
77
|
import "./chunk-AIUIMEUS.js";
|
|
78
78
|
import "./chunk-DGUM43GV.js";
|
|
79
79
|
export {
|
|
@@ -147,4 +147,4 @@ export {
|
|
|
147
147
|
writeEgressAllowlist,
|
|
148
148
|
writePersistentClaudeWrapper
|
|
149
149
|
};
|
|
150
|
-
//# sourceMappingURL=persistent-session-
|
|
150
|
+
//# sourceMappingURL=persistent-session-TV4FIBN4.js.map
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
2
|
paneLogPath
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-KL35IHP2.js";
|
|
4
|
+
import "./chunk-MLIFIEIF.js";
|
|
5
5
|
import "./chunk-OO36JBFI.js";
|
|
6
6
|
import "./chunk-6HBXEJHO.js";
|
|
7
7
|
import "./chunk-XWVM4KPK.js";
|
|
8
|
-
import "./chunk-
|
|
8
|
+
import "./chunk-2HAH3TZ4.js";
|
|
9
9
|
import "./chunk-AIUIMEUS.js";
|
|
10
10
|
import "./chunk-DGUM43GV.js";
|
|
11
11
|
|
|
@@ -804,4 +804,4 @@ export {
|
|
|
804
804
|
readAndResetSlackReplyBindingClassifications,
|
|
805
805
|
readAndResetSlackReplyTargetClassifications
|
|
806
806
|
};
|
|
807
|
-
//# sourceMappingURL=responsiveness-probe-
|
|
807
|
+
//# sourceMappingURL=responsiveness-probe-BBAAYANU.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
sessionTranscriptDir
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-MLIFIEIF.js";
|
|
4
|
+
import "./chunk-2HAH3TZ4.js";
|
|
5
5
|
import "./chunk-DGUM43GV.js";
|
|
6
6
|
|
|
7
7
|
// src/lib/session-auth-dead.ts
|
|
@@ -205,4 +205,4 @@ export {
|
|
|
205
205
|
decideSessionAuthState,
|
|
206
206
|
probeSessionAuth
|
|
207
207
|
};
|
|
208
|
-
//# sourceMappingURL=session-auth-dead-
|
|
208
|
+
//# sourceMappingURL=session-auth-dead-JMYATIQN.js.map
|
package/package.json
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|