@integrity-labs/agt-cli 0.28.478 → 0.28.480
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 +4 -4
- package/dist/{chunk-WANZSIX6.js → chunk-EOH75U22.js} +2 -2
- package/dist/chunk-EOH75U22.js.map +1 -0
- package/dist/{chunk-RBMN5KPX.js → chunk-JBDLGPQU.js} +3 -3
- package/dist/{claude-pair-runtime-UA3ZZQ2V.js → claude-pair-runtime-RU7ZJDDB.js} +2 -2
- package/dist/lib/manager-worker.js +10 -10
- package/dist/mcp/direct-chat-channel.js +33 -12
- package/dist/mcp/origami.js +1 -1
- package/dist/mcp/slack-channel.js +27 -6
- package/dist/mcp/telegram-channel.js +20 -5
- package/dist/{persistent-session-FQKD2RA6.js → persistent-session-USTI74Q5.js} +2 -2
- package/dist/{responsiveness-probe-JQUE3XQG.js → responsiveness-probe-3PRCIAML.js} +2 -2
- package/package.json +1 -1
- package/dist/chunk-WANZSIX6.js.map +0 -1
- /package/dist/{chunk-RBMN5KPX.js.map → chunk-JBDLGPQU.js.map} +0 -0
- /package/dist/{claude-pair-runtime-UA3ZZQ2V.js.map → claude-pair-runtime-RU7ZJDDB.js.map} +0 -0
- /package/dist/{persistent-session-FQKD2RA6.js.map → persistent-session-USTI74Q5.js.map} +0 -0
- /package/dist/{responsiveness-probe-JQUE3XQG.js.map → responsiveness-probe-3PRCIAML.js.map} +0 -0
|
@@ -30,7 +30,7 @@ import {
|
|
|
30
30
|
resolveConnectivityProbe,
|
|
31
31
|
worseConnectivityOutcome,
|
|
32
32
|
wrapScheduledTaskPrompt
|
|
33
|
-
} from "./chunk-
|
|
33
|
+
} from "./chunk-EOH75U22.js";
|
|
34
34
|
import {
|
|
35
35
|
parsePsRows
|
|
36
36
|
} from "./chunk-XWVM4KPK.js";
|
|
@@ -4932,7 +4932,7 @@ function exchangeFailureKind(err) {
|
|
|
4932
4932
|
}
|
|
4933
4933
|
|
|
4934
4934
|
// src/lib/api-client.ts
|
|
4935
|
-
var agtCliVersion = true ? "0.28.
|
|
4935
|
+
var agtCliVersion = true ? "0.28.480" : "dev";
|
|
4936
4936
|
var lastConfigHash = null;
|
|
4937
4937
|
function setConfigHash(hash) {
|
|
4938
4938
|
lastConfigHash = hash && hash.length > 0 ? hash : null;
|
|
@@ -7661,4 +7661,4 @@ export {
|
|
|
7661
7661
|
managerInstallSystemUnitCommand,
|
|
7662
7662
|
managerUninstallSystemUnitCommand
|
|
7663
7663
|
};
|
|
7664
|
-
//# sourceMappingURL=chunk-
|
|
7664
|
+
//# sourceMappingURL=chunk-JBDLGPQU.js.map
|
|
@@ -100,7 +100,7 @@ async function spawnPairSession(session) {
|
|
|
100
100
|
return { ok: true };
|
|
101
101
|
} catch {
|
|
102
102
|
}
|
|
103
|
-
const { resolveClaudeBinary } = await import("./persistent-session-
|
|
103
|
+
const { resolveClaudeBinary } = await import("./persistent-session-USTI74Q5.js");
|
|
104
104
|
const claudeBin = resolveClaudeBinary();
|
|
105
105
|
const pairEnv = {
|
|
106
106
|
...process.env,
|
|
@@ -373,4 +373,4 @@ export {
|
|
|
373
373
|
startClaudePair,
|
|
374
374
|
submitClaudePairCode
|
|
375
375
|
};
|
|
376
|
-
//# sourceMappingURL=claude-pair-runtime-
|
|
376
|
+
//# sourceMappingURL=claude-pair-runtime-RU7ZJDDB.js.map
|
|
@@ -44,7 +44,7 @@ import {
|
|
|
44
44
|
resolveEffectivePinRaw,
|
|
45
45
|
safeWriteJsonAtomic,
|
|
46
46
|
setConfigHash
|
|
47
|
-
} from "../chunk-
|
|
47
|
+
} from "../chunk-JBDLGPQU.js";
|
|
48
48
|
import {
|
|
49
49
|
getProjectDir as getProjectDir2,
|
|
50
50
|
getReadyTasks,
|
|
@@ -162,7 +162,7 @@ import {
|
|
|
162
162
|
toOpencodeModel,
|
|
163
163
|
transcriptActivityAgeSeconds,
|
|
164
164
|
writeEgressAllowlist
|
|
165
|
-
} from "../chunk-
|
|
165
|
+
} from "../chunk-EOH75U22.js";
|
|
166
166
|
import {
|
|
167
167
|
reapOrphanChannelMcps
|
|
168
168
|
} from "../chunk-XWVM4KPK.js";
|
|
@@ -10064,7 +10064,7 @@ var agentRestartTimezoneInputs = /* @__PURE__ */ new Map();
|
|
|
10064
10064
|
var lastVersionCheckAt = 0;
|
|
10065
10065
|
var VERSION_CHECK_INTERVAL_MS = 5 * 60 * 1e3;
|
|
10066
10066
|
var lastResponsivenessProbeAt = 0;
|
|
10067
|
-
var agtCliVersion = true ? "0.28.
|
|
10067
|
+
var agtCliVersion = true ? "0.28.480" : "dev";
|
|
10068
10068
|
function resolveBrewPath(execFileSync2) {
|
|
10069
10069
|
try {
|
|
10070
10070
|
const out = execFileSync2("which", ["brew"], { timeout: 5e3 }).toString().trim();
|
|
@@ -11227,7 +11227,7 @@ function flushRestartedAgentDiagnostics(hostId, codeNames) {
|
|
|
11227
11227
|
if (codeNames.length === 0) return;
|
|
11228
11228
|
void (async () => {
|
|
11229
11229
|
try {
|
|
11230
|
-
const { collectDiagnostics } = await import("../persistent-session-
|
|
11230
|
+
const { collectDiagnostics } = await import("../persistent-session-USTI74Q5.js");
|
|
11231
11231
|
await api.post("/host/heartbeat", {
|
|
11232
11232
|
host_id: hostId,
|
|
11233
11233
|
agent_diagnostics: collectDiagnostics(codeNames, quarantineEntriesFor, claudeMdSizeFor)
|
|
@@ -11334,7 +11334,7 @@ async function pollCycle() {
|
|
|
11334
11334
|
}
|
|
11335
11335
|
try {
|
|
11336
11336
|
const { detectHostSecurity } = await import("../host-security-6PDFG7F5.js");
|
|
11337
|
-
const { collectDiagnostics } = await import("../persistent-session-
|
|
11337
|
+
const { collectDiagnostics } = await import("../persistent-session-USTI74Q5.js");
|
|
11338
11338
|
const diagCodeNames = [...agentState.persistentSessionAgents];
|
|
11339
11339
|
const agentDiagnostics = diagCodeNames.length > 0 ? collectDiagnostics(diagCodeNames, quarantineEntriesFor, claudeMdSizeFor) : void 0;
|
|
11340
11340
|
let tailscaleHostname;
|
|
@@ -11448,7 +11448,7 @@ async function pollCycle() {
|
|
|
11448
11448
|
collectResponsivenessProbes,
|
|
11449
11449
|
collectPanelessActivityProbes,
|
|
11450
11450
|
getResponsivenessIntervalMs
|
|
11451
|
-
} = await import("../responsiveness-probe-
|
|
11451
|
+
} = await import("../responsiveness-probe-3PRCIAML.js");
|
|
11452
11452
|
const probeIntervalMs = getResponsivenessIntervalMs();
|
|
11453
11453
|
if (now - lastResponsivenessProbeAt > probeIntervalMs) {
|
|
11454
11454
|
const probeCodeNames = [...agentState.persistentSessionAgents];
|
|
@@ -11512,7 +11512,7 @@ async function pollCycle() {
|
|
|
11512
11512
|
collectResponsivenessProbes,
|
|
11513
11513
|
livePendingInboundOldestAgeSeconds,
|
|
11514
11514
|
parkPendingInbound
|
|
11515
|
-
} = await import("../responsiveness-probe-
|
|
11515
|
+
} = await import("../responsiveness-probe-3PRCIAML.js");
|
|
11516
11516
|
const { getProjectDir: wedgeProjectDir } = await import("../scheduler-engine-NDP36U7O.js");
|
|
11517
11517
|
const wedgeNow = /* @__PURE__ */ new Date();
|
|
11518
11518
|
const liveAgents = agentState.persistentSessionAgents;
|
|
@@ -14988,7 +14988,7 @@ async function handleRestartDoorbell(agentId, requestedAt, restartReason) {
|
|
|
14988
14988
|
void api.post("/host/restart-ack", { host_id: hostId, agent_id: agentId, restart_requested_at: requestedAt }).catch((err) => log(`[restart-lane] ack failed for '${codeName}': ${err.message}`));
|
|
14989
14989
|
void (async () => {
|
|
14990
14990
|
try {
|
|
14991
|
-
const { collectDiagnostics } = await import("../persistent-session-
|
|
14991
|
+
const { collectDiagnostics } = await import("../persistent-session-USTI74Q5.js");
|
|
14992
14992
|
await api.post("/host/heartbeat", {
|
|
14993
14993
|
host_id: hostId,
|
|
14994
14994
|
agent_diagnostics: collectDiagnostics([codeName], quarantineEntriesFor, claudeMdSizeFor)
|
|
@@ -15038,7 +15038,7 @@ async function respawnAgentAfterMcpStop(codeName, reason) {
|
|
|
15038
15038
|
}
|
|
15039
15039
|
try {
|
|
15040
15040
|
const hostId = await getHostId();
|
|
15041
|
-
const { collectDiagnostics } = await import("../persistent-session-
|
|
15041
|
+
const { collectDiagnostics } = await import("../persistent-session-USTI74Q5.js");
|
|
15042
15042
|
await api.post("/host/heartbeat", {
|
|
15043
15043
|
host_id: hostId,
|
|
15044
15044
|
agent_diagnostics: collectDiagnostics([codeName], quarantineEntriesFor, claudeMdSizeFor)
|
|
@@ -15496,7 +15496,7 @@ async function processClaudePairSessions(agents) {
|
|
|
15496
15496
|
killPairSession,
|
|
15497
15497
|
pairTmuxSession,
|
|
15498
15498
|
finalizeClaudePairOnboarding
|
|
15499
|
-
} = await import("../claude-pair-runtime-
|
|
15499
|
+
} = await import("../claude-pair-runtime-RU7ZJDDB.js");
|
|
15500
15500
|
for (const pairId of pendingResp.cancelled_pair_ids ?? []) {
|
|
15501
15501
|
log(`[claude-pair] sweeping orphan tmux session for pair ${pairId.slice(0, 8)}`);
|
|
15502
15502
|
const killed = await killPairSession(pairTmuxSession(pairId));
|
|
@@ -31900,7 +31900,7 @@ var compiledMetaSchema = ajv2.compile(context_meta_schema_default);
|
|
|
31900
31900
|
var READ_VERBS = "GET|LIST|FIND|FETCH|RETRIEVE|SEARCH|QUERY|DESCRIBE|INSPECT|SCAN|SHOW|VIEW|READ|EXPORT|DOWNLOAD";
|
|
31901
31901
|
var NO_READ_VERB_ACTION = `(?!(?:^|.*[_-])(${READ_VERBS})[_-])`;
|
|
31902
31902
|
var DRAFT_COMPOSE_VERBS = "CREATE|COMPOSE|SAVE|UPDATE|ADD";
|
|
31903
|
-
var DRAFT_DISPATCH_VERBS = "SEND|POST|PUBLISH|
|
|
31903
|
+
var DRAFT_DISPATCH_VERBS = "SEND|POST|PUBLISH|DISPATCH|SUBMIT";
|
|
31904
31904
|
var NO_DRAFT_COMPOSE_ACTION = `(?!(?=.*(?:^|[_-])(?:${DRAFT_COMPOSE_VERBS})[_-])(?!.*(?:^|[_-])(?:${DRAFT_DISPATCH_VERBS})[_-]).*_DRAFT(?:_|$))`;
|
|
31905
31905
|
var NO_READ_VERB_INCL_SUFFIX = `(?!(?:^|.*[_-])(${READ_VERBS})(?:[_-]|$))`;
|
|
31906
31906
|
function p(re) {
|
|
@@ -36228,6 +36228,31 @@ import { createHash } from "crypto";
|
|
|
36228
36228
|
function shouldArmWatch(opts) {
|
|
36229
36229
|
return !opts.isBot && opts.replyOwed;
|
|
36230
36230
|
}
|
|
36231
|
+
function decideUsageLimitCursorCall(opts) {
|
|
36232
|
+
if (opts.throttled) {
|
|
36233
|
+
return {
|
|
36234
|
+
route: "/host/direct-chat/consume",
|
|
36235
|
+
body: {
|
|
36236
|
+
agent_id: opts.agentId,
|
|
36237
|
+
session_id: opts.sessionId,
|
|
36238
|
+
message_ids: [opts.messageId]
|
|
36239
|
+
}
|
|
36240
|
+
};
|
|
36241
|
+
}
|
|
36242
|
+
return {
|
|
36243
|
+
route: "/host/direct-chat/reply",
|
|
36244
|
+
body: {
|
|
36245
|
+
agent_id: opts.agentId,
|
|
36246
|
+
session_id: opts.sessionId,
|
|
36247
|
+
content: opts.noticeText,
|
|
36248
|
+
message_ids: [opts.messageId],
|
|
36249
|
+
// ENG-8274: a cap refusal is the SYSTEM speaking, not the agent.
|
|
36250
|
+
// Orthogonal to message_ids — consuming the cursor is about delivery,
|
|
36251
|
+
// `kind` is about who authored this and whether a reply is owed.
|
|
36252
|
+
kind: "notice"
|
|
36253
|
+
}
|
|
36254
|
+
};
|
|
36255
|
+
}
|
|
36231
36256
|
function describeUnparsedRefusal(text) {
|
|
36232
36257
|
if (!text) return "refusal=absent";
|
|
36233
36258
|
const hash = createHash("sha256").update(text).digest("hex").slice(0, 12);
|
|
@@ -36962,17 +36987,13 @@ function armUsageLimitWatch(args) {
|
|
|
36962
36987
|
cooldownMs: DIRECT_CHAT_MAINTENANCE_COOLDOWN_MS,
|
|
36963
36988
|
now: Date.now()
|
|
36964
36989
|
});
|
|
36965
|
-
const route
|
|
36966
|
-
|
|
36967
|
-
|
|
36968
|
-
|
|
36969
|
-
|
|
36970
|
-
|
|
36971
|
-
|
|
36972
|
-
// Orthogonal to message_ids — consuming the cursor is about delivery,
|
|
36973
|
-
// `kind` is about who authored this and whether a reply is owed.
|
|
36974
|
-
kind: "notice"
|
|
36975
|
-
} : { agent_id: AGT_AGENT_ID, session_id: args.sessionId, message_ids: [args.messageId] };
|
|
36990
|
+
const { route, body } = decideUsageLimitCursorCall({
|
|
36991
|
+
throttled: !throttle.reply,
|
|
36992
|
+
agentId: AGT_AGENT_ID,
|
|
36993
|
+
sessionId: args.sessionId,
|
|
36994
|
+
messageId: args.messageId,
|
|
36995
|
+
noticeText: buildUsageLimitReplyText(refusal.resetsAt)
|
|
36996
|
+
});
|
|
36976
36997
|
const res = await apiPost(route, body);
|
|
36977
36998
|
const data = await res.json().catch(() => ({}));
|
|
36978
36999
|
if (res.ok && data.error == null) {
|
package/dist/mcp/origami.js
CHANGED
|
@@ -38227,7 +38227,7 @@ var compiledMetaSchema = ajv2.compile(context_meta_schema_default);
|
|
|
38227
38227
|
var READ_VERBS = "GET|LIST|FIND|FETCH|RETRIEVE|SEARCH|QUERY|DESCRIBE|INSPECT|SCAN|SHOW|VIEW|READ|EXPORT|DOWNLOAD";
|
|
38228
38228
|
var NO_READ_VERB_ACTION = `(?!(?:^|.*[_-])(${READ_VERBS})[_-])`;
|
|
38229
38229
|
var DRAFT_COMPOSE_VERBS = "CREATE|COMPOSE|SAVE|UPDATE|ADD";
|
|
38230
|
-
var DRAFT_DISPATCH_VERBS = "SEND|POST|PUBLISH|
|
|
38230
|
+
var DRAFT_DISPATCH_VERBS = "SEND|POST|PUBLISH|DISPATCH|SUBMIT";
|
|
38231
38231
|
var NO_DRAFT_COMPOSE_ACTION = `(?!(?=.*(?:^|[_-])(?:${DRAFT_COMPOSE_VERBS})[_-])(?!.*(?:^|[_-])(?:${DRAFT_DISPATCH_VERBS})[_-]).*_DRAFT(?:_|$))`;
|
|
38232
38232
|
var NO_READ_VERB_INCL_SUFFIX = `(?!(?:^|.*[_-])(${READ_VERBS})(?:[_-]|$))`;
|
|
38233
38233
|
function p(re) {
|
|
@@ -32122,7 +32122,7 @@ var compiledMetaSchema = ajv2.compile(context_meta_schema_default);
|
|
|
32122
32122
|
var READ_VERBS = "GET|LIST|FIND|FETCH|RETRIEVE|SEARCH|QUERY|DESCRIBE|INSPECT|SCAN|SHOW|VIEW|READ|EXPORT|DOWNLOAD";
|
|
32123
32123
|
var NO_READ_VERB_ACTION = `(?!(?:^|.*[_-])(${READ_VERBS})[_-])`;
|
|
32124
32124
|
var DRAFT_COMPOSE_VERBS = "CREATE|COMPOSE|SAVE|UPDATE|ADD";
|
|
32125
|
-
var DRAFT_DISPATCH_VERBS = "SEND|POST|PUBLISH|
|
|
32125
|
+
var DRAFT_DISPATCH_VERBS = "SEND|POST|PUBLISH|DISPATCH|SUBMIT";
|
|
32126
32126
|
var NO_DRAFT_COMPOSE_ACTION = `(?!(?=.*(?:^|[_-])(?:${DRAFT_COMPOSE_VERBS})[_-])(?!.*(?:^|[_-])(?:${DRAFT_DISPATCH_VERBS})[_-]).*_DRAFT(?:_|$))`;
|
|
32127
32127
|
var NO_READ_VERB_INCL_SUFFIX = `(?!(?:^|.*[_-])(${READ_VERBS})(?:[_-]|$))`;
|
|
32128
32128
|
function p(re) {
|
|
@@ -36959,6 +36959,18 @@ function decideRefusalAction(opts) {
|
|
|
36959
36959
|
if (!refusal.resetsAt) return "missing-reset";
|
|
36960
36960
|
return "notify";
|
|
36961
36961
|
}
|
|
36962
|
+
function describeNoticeOutcome(outcome) {
|
|
36963
|
+
switch (outcome) {
|
|
36964
|
+
case "posted":
|
|
36965
|
+
return "reported";
|
|
36966
|
+
case "throttled":
|
|
36967
|
+
return "notice throttled";
|
|
36968
|
+
case "failed":
|
|
36969
|
+
return "notice failed";
|
|
36970
|
+
case "skipped":
|
|
36971
|
+
return "no notice (unaddressable)";
|
|
36972
|
+
}
|
|
36973
|
+
}
|
|
36962
36974
|
function describeUnparsedRefusal(text) {
|
|
36963
36975
|
if (!text) return "refusal=absent";
|
|
36964
36976
|
const hash = createHash("sha256").update(text).digest("hex").slice(0, 12);
|
|
@@ -39943,8 +39955,8 @@ async function maybeSendMaintenanceNotice(args) {
|
|
|
39943
39955
|
}
|
|
39944
39956
|
var SLACK_USAGE_LIMIT_NOTICE_CACHE = /* @__PURE__ */ new Map();
|
|
39945
39957
|
async function maybeSendUsageLimitNotice(args) {
|
|
39946
|
-
if (!BOT_TOKEN) return;
|
|
39947
|
-
if (!args.channel || !args.senderId) return;
|
|
39958
|
+
if (!BOT_TOKEN) return "skipped";
|
|
39959
|
+
if (!args.channel || !args.senderId) return "skipped";
|
|
39948
39960
|
const key2 = `${args.channel}|${args.senderId}|usage_limit`;
|
|
39949
39961
|
const decision = decideDeclineReply({
|
|
39950
39962
|
cache: SLACK_USAGE_LIMIT_NOTICE_CACHE,
|
|
@@ -39957,7 +39969,7 @@ async function maybeSendUsageLimitNotice(args) {
|
|
|
39957
39969
|
`slack-channel(${AGENT_CODE_NAME}): usage-limit notice suppressed by cooldown (channel=${redactSlackId(args.channel)}, sender=${redactSlackId(args.senderId)}, remaining=${decision.remainingMs}ms)
|
|
39958
39970
|
`
|
|
39959
39971
|
);
|
|
39960
|
-
return;
|
|
39972
|
+
return "throttled";
|
|
39961
39973
|
}
|
|
39962
39974
|
const controller = new AbortController();
|
|
39963
39975
|
const timeoutId = setTimeout(() => controller.abort(), 1e4);
|
|
@@ -39982,7 +39994,16 @@ async function maybeSendUsageLimitNotice(args) {
|
|
|
39982
39994
|
`slack-channel(${AGENT_CODE_NAME}): usage-limit notice post failed: ${data.error ?? "unknown"}
|
|
39983
39995
|
`
|
|
39984
39996
|
);
|
|
39997
|
+
return "failed";
|
|
39985
39998
|
}
|
|
39999
|
+
return "posted";
|
|
40000
|
+
} catch (err) {
|
|
40001
|
+
SLACK_USAGE_LIMIT_NOTICE_CACHE.delete(key2);
|
|
40002
|
+
process.stderr.write(
|
|
40003
|
+
`slack-channel(${AGENT_CODE_NAME}): usage-limit notice failed: ${err.message}
|
|
40004
|
+
`
|
|
40005
|
+
);
|
|
40006
|
+
return "failed";
|
|
39986
40007
|
} finally {
|
|
39987
40008
|
clearTimeout(timeoutId);
|
|
39988
40009
|
}
|
|
@@ -40002,7 +40023,7 @@ function armSlackUsageLimitWatch(args) {
|
|
|
40002
40023
|
}
|
|
40003
40024
|
const resetsAt = refusal?.resetsAt;
|
|
40004
40025
|
if (!resetsAt) return;
|
|
40005
|
-
await maybeSendUsageLimitNotice({
|
|
40026
|
+
const outcome = await maybeSendUsageLimitNotice({
|
|
40006
40027
|
channel: args.channel,
|
|
40007
40028
|
senderId: args.senderId,
|
|
40008
40029
|
threadTs: args.threadTs,
|
|
@@ -40012,7 +40033,7 @@ function armSlackUsageLimitWatch(args) {
|
|
|
40012
40033
|
clearSlackPendingMarkerByMessageTs2(args.channel, args.messageTs);
|
|
40013
40034
|
}
|
|
40014
40035
|
process.stderr.write(
|
|
40015
|
-
`slack-channel(${AGENT_CODE_NAME}): [usage-limit-reactive]
|
|
40036
|
+
`slack-channel(${AGENT_CODE_NAME}): [usage-limit-reactive] ${describeNoticeOutcome(outcome)} refusal for channel=${redactSlackId(args.channel)} ts=${redactSlackId(args.messageTs)} resets=${resetsAt.toISOString()}
|
|
40016
40037
|
`
|
|
40017
40038
|
);
|
|
40018
40039
|
} catch (err) {
|
|
@@ -32448,7 +32448,7 @@ var compiledMetaSchema = ajv2.compile(context_meta_schema_default);
|
|
|
32448
32448
|
var READ_VERBS = "GET|LIST|FIND|FETCH|RETRIEVE|SEARCH|QUERY|DESCRIBE|INSPECT|SCAN|SHOW|VIEW|READ|EXPORT|DOWNLOAD";
|
|
32449
32449
|
var NO_READ_VERB_ACTION = `(?!(?:^|.*[_-])(${READ_VERBS})[_-])`;
|
|
32450
32450
|
var DRAFT_COMPOSE_VERBS = "CREATE|COMPOSE|SAVE|UPDATE|ADD";
|
|
32451
|
-
var DRAFT_DISPATCH_VERBS = "SEND|POST|PUBLISH|
|
|
32451
|
+
var DRAFT_DISPATCH_VERBS = "SEND|POST|PUBLISH|DISPATCH|SUBMIT";
|
|
32452
32452
|
var NO_DRAFT_COMPOSE_ACTION = `(?!(?=.*(?:^|[_-])(?:${DRAFT_COMPOSE_VERBS})[_-])(?!.*(?:^|[_-])(?:${DRAFT_DISPATCH_VERBS})[_-]).*_DRAFT(?:_|$))`;
|
|
32453
32453
|
var NO_READ_VERB_INCL_SUFFIX = `(?!(?:^|.*[_-])(${READ_VERBS})(?:[_-]|$))`;
|
|
32454
32454
|
function p(re) {
|
|
@@ -37767,6 +37767,18 @@ function decideRefusalAction(opts) {
|
|
|
37767
37767
|
if (!refusal.resetsAt) return "missing-reset";
|
|
37768
37768
|
return "notify";
|
|
37769
37769
|
}
|
|
37770
|
+
function describeNoticeOutcome(outcome) {
|
|
37771
|
+
switch (outcome) {
|
|
37772
|
+
case "posted":
|
|
37773
|
+
return "reported";
|
|
37774
|
+
case "throttled":
|
|
37775
|
+
return "notice throttled";
|
|
37776
|
+
case "failed":
|
|
37777
|
+
return "notice failed";
|
|
37778
|
+
case "skipped":
|
|
37779
|
+
return "no notice (unaddressable)";
|
|
37780
|
+
}
|
|
37781
|
+
}
|
|
37770
37782
|
function describeUnparsedRefusal(text) {
|
|
37771
37783
|
if (!text) return "refusal=absent";
|
|
37772
37784
|
const hash = createHash("sha256").update(text).digest("hex").slice(0, 12);
|
|
@@ -38996,7 +39008,7 @@ async function maybeSendTelegramMaintenanceNotice(args) {
|
|
|
38996
39008
|
}
|
|
38997
39009
|
var TELEGRAM_USAGE_LIMIT_NOTICE_CACHE = /* @__PURE__ */ new Map();
|
|
38998
39010
|
async function maybeSendTelegramUsageLimitNotice(args) {
|
|
38999
|
-
if (args.senderId === void 0) return;
|
|
39011
|
+
if (args.senderId === void 0) return "skipped";
|
|
39000
39012
|
const key2 = `${args.chatId}|${args.senderId}|usage_limit`;
|
|
39001
39013
|
const decision = decideDeclineReply({
|
|
39002
39014
|
cache: TELEGRAM_USAGE_LIMIT_NOTICE_CACHE,
|
|
@@ -39009,7 +39021,7 @@ async function maybeSendTelegramUsageLimitNotice(args) {
|
|
|
39009
39021
|
`telegram-channel(${AGENT_CODE_NAME}): usage-limit notice suppressed by cooldown (chat=${redactId(String(args.chatId))}, remaining=${decision.remainingMs}ms)
|
|
39010
39022
|
`
|
|
39011
39023
|
);
|
|
39012
|
-
return;
|
|
39024
|
+
return "throttled";
|
|
39013
39025
|
}
|
|
39014
39026
|
try {
|
|
39015
39027
|
const resp = await telegramApiCall(
|
|
@@ -39027,13 +39039,16 @@ async function maybeSendTelegramUsageLimitNotice(args) {
|
|
|
39027
39039
|
`telegram-channel(${AGENT_CODE_NAME}): usage-limit notice rejected (chat=${redactId(String(args.chatId))}): ${resp.description ?? "unknown"}
|
|
39028
39040
|
`
|
|
39029
39041
|
);
|
|
39042
|
+
return "failed";
|
|
39030
39043
|
}
|
|
39044
|
+
return "posted";
|
|
39031
39045
|
} catch (err) {
|
|
39032
39046
|
TELEGRAM_USAGE_LIMIT_NOTICE_CACHE.delete(key2);
|
|
39033
39047
|
process.stderr.write(
|
|
39034
39048
|
`telegram-channel(${AGENT_CODE_NAME}): usage-limit notice failed: ${err.message}
|
|
39035
39049
|
`
|
|
39036
39050
|
);
|
|
39051
|
+
return "failed";
|
|
39037
39052
|
}
|
|
39038
39053
|
}
|
|
39039
39054
|
function armTelegramUsageLimitWatch(args) {
|
|
@@ -39051,7 +39066,7 @@ function armTelegramUsageLimitWatch(args) {
|
|
|
39051
39066
|
}
|
|
39052
39067
|
const resetsAt = refusal?.resetsAt;
|
|
39053
39068
|
if (!resetsAt) return;
|
|
39054
|
-
await maybeSendTelegramUsageLimitNotice({
|
|
39069
|
+
const outcome = await maybeSendTelegramUsageLimitNotice({
|
|
39055
39070
|
chatId: args.chatId,
|
|
39056
39071
|
senderId: args.senderId,
|
|
39057
39072
|
...args.messageThreadId != null ? { messageThreadId: args.messageThreadId } : {},
|
|
@@ -39059,7 +39074,7 @@ function armTelegramUsageLimitWatch(args) {
|
|
|
39059
39074
|
});
|
|
39060
39075
|
clearPendingMessage(args.chatId, args.sinceMs);
|
|
39061
39076
|
process.stderr.write(
|
|
39062
|
-
`telegram-channel(${AGENT_CODE_NAME}): [usage-limit-reactive]
|
|
39077
|
+
`telegram-channel(${AGENT_CODE_NAME}): [usage-limit-reactive] ${describeNoticeOutcome(outcome)} refusal for chat=${redactId(args.chatId)} resets=${resetsAt.toISOString()}
|
|
39063
39078
|
`
|
|
39064
39079
|
);
|
|
39065
39080
|
} catch (err) {
|
|
@@ -36,7 +36,7 @@ import {
|
|
|
36
36
|
writeDirectChatSessionState,
|
|
37
37
|
writeEgressAllowlist,
|
|
38
38
|
writePersistentClaudeWrapper
|
|
39
|
-
} from "./chunk-
|
|
39
|
+
} from "./chunk-EOH75U22.js";
|
|
40
40
|
import "./chunk-XWVM4KPK.js";
|
|
41
41
|
export {
|
|
42
42
|
EGRESS_BASELINE_DOMAINS,
|
|
@@ -77,4 +77,4 @@ export {
|
|
|
77
77
|
writeEgressAllowlist,
|
|
78
78
|
writePersistentClaudeWrapper
|
|
79
79
|
};
|
|
80
|
-
//# sourceMappingURL=persistent-session-
|
|
80
|
+
//# sourceMappingURL=persistent-session-USTI74Q5.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
paneLogPath
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-EOH75U22.js";
|
|
4
4
|
import "./chunk-XWVM4KPK.js";
|
|
5
5
|
|
|
6
6
|
// src/lib/responsiveness-probe.ts
|
|
@@ -596,4 +596,4 @@ export {
|
|
|
596
596
|
readAndResetSlackReplyBindingClassifications,
|
|
597
597
|
readAndResetSlackReplyTargetClassifications
|
|
598
598
|
};
|
|
599
|
-
//# sourceMappingURL=responsiveness-probe-
|
|
599
|
+
//# sourceMappingURL=responsiveness-probe-3PRCIAML.js.map
|