@integrity-labs/agt-cli 0.28.431 → 0.28.433
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-EREBH2LV.js → chunk-NUKNLJNJ.js} +212 -274
- package/dist/chunk-NUKNLJNJ.js.map +1 -0
- package/dist/{chunk-SV67CNIX.js → chunk-RUVNJO63.js} +3 -3
- package/dist/{claude-pair-runtime-44RPFRIE.js → claude-pair-runtime-YAHBPFYL.js} +2 -2
- package/dist/lib/manager-worker.js +238 -197
- package/dist/lib/manager-worker.js.map +1 -1
- package/dist/mcp/direct-chat-channel.js +101 -26
- package/dist/mcp/slack-channel.js +236 -128
- package/dist/mcp/telegram-channel.js +187 -91
- package/dist/{persistent-session-A4VUV3UI.js → persistent-session-ISBR3BBX.js} +2 -2
- package/dist/{responsiveness-probe-QRVMR22C.js → responsiveness-probe-OT6JVP43.js} +2 -2
- package/package.json +1 -1
- package/dist/chunk-EREBH2LV.js.map +0 -1
- /package/dist/{chunk-SV67CNIX.js.map → chunk-RUVNJO63.js.map} +0 -0
- /package/dist/{claude-pair-runtime-44RPFRIE.js.map → claude-pair-runtime-YAHBPFYL.js.map} +0 -0
- /package/dist/{persistent-session-A4VUV3UI.js.map → persistent-session-ISBR3BBX.js.map} +0 -0
- /package/dist/{responsiveness-probe-QRVMR22C.js.map → responsiveness-probe-OT6JVP43.js.map} +0 -0
|
@@ -18867,7 +18867,7 @@ var require_filters = __commonJS({
|
|
|
18867
18867
|
return r.copySafeness(str, res);
|
|
18868
18868
|
}
|
|
18869
18869
|
_exports.indent = indent;
|
|
18870
|
-
function
|
|
18870
|
+
function join13(arr, del, attr) {
|
|
18871
18871
|
del = del || "";
|
|
18872
18872
|
if (attr) {
|
|
18873
18873
|
arr = lib.map(arr, function(v) {
|
|
@@ -18876,7 +18876,7 @@ var require_filters = __commonJS({
|
|
|
18876
18876
|
}
|
|
18877
18877
|
return arr.join(del);
|
|
18878
18878
|
}
|
|
18879
|
-
_exports.join =
|
|
18879
|
+
_exports.join = join13;
|
|
18880
18880
|
function last(arr) {
|
|
18881
18881
|
return arr[arr.length - 1];
|
|
18882
18882
|
}
|
|
@@ -30399,14 +30399,14 @@ function readLockHolder(path) {
|
|
|
30399
30399
|
}
|
|
30400
30400
|
|
|
30401
30401
|
// src/direct-chat-channel.ts
|
|
30402
|
-
import { homedir as
|
|
30403
|
-
import { join as
|
|
30402
|
+
import { homedir as homedir4 } from "os";
|
|
30403
|
+
import { join as join12 } from "path";
|
|
30404
30404
|
import { randomUUID } from "crypto";
|
|
30405
30405
|
import {
|
|
30406
30406
|
watch,
|
|
30407
30407
|
mkdirSync as mkdirSync5,
|
|
30408
30408
|
writeFileSync as writeFileSync6,
|
|
30409
|
-
readFileSync as
|
|
30409
|
+
readFileSync as readFileSync11,
|
|
30410
30410
|
readdirSync as readdirSync4,
|
|
30411
30411
|
existsSync as existsSync6,
|
|
30412
30412
|
renameSync as renameSync5,
|
|
@@ -34162,6 +34162,28 @@ function buildUsageLimitReplyText(limitedUntil) {
|
|
|
34162
34162
|
return `Your agent has hit its Claude Code usage limit until ${formatUtcClock(limitedUntil)}. It'll pick back up once the limit resets \u2014 please try again after then.`;
|
|
34163
34163
|
}
|
|
34164
34164
|
|
|
34165
|
+
// ../core/dist/account-enforcement/marker.js
|
|
34166
|
+
var ACCOUNT_ENFORCEMENT_MARKER_FILENAME = "account-enforcement.json";
|
|
34167
|
+
var ACCOUNT_ENFORCEMENT_MARKER_VERSION = 1;
|
|
34168
|
+
function parseAccountEnforcementMarker(raw) {
|
|
34169
|
+
let parsed;
|
|
34170
|
+
try {
|
|
34171
|
+
parsed = JSON.parse(raw);
|
|
34172
|
+
} catch {
|
|
34173
|
+
return null;
|
|
34174
|
+
}
|
|
34175
|
+
if (typeof parsed !== "object" || parsed === null || parsed.version !== ACCOUNT_ENFORCEMENT_MARKER_VERSION) {
|
|
34176
|
+
return null;
|
|
34177
|
+
}
|
|
34178
|
+
const level = parsed.level;
|
|
34179
|
+
if (level !== "warn" && level !== "mute")
|
|
34180
|
+
return null;
|
|
34181
|
+
return { version: ACCOUNT_ENFORCEMENT_MARKER_VERSION, level };
|
|
34182
|
+
}
|
|
34183
|
+
function buildAccountIssueReplyText() {
|
|
34184
|
+
return "There is an issue with your account, please contact support@augmented.team.";
|
|
34185
|
+
}
|
|
34186
|
+
|
|
34165
34187
|
// ../core/dist/kanban/state-machine.js
|
|
34166
34188
|
var KANBAN_STATUSES = [
|
|
34167
34189
|
"backlog",
|
|
@@ -35461,6 +35483,26 @@ function readUsageLimitUntil(opts) {
|
|
|
35461
35483
|
return resolveUsageLimitUntil(parseUsageLimitMarker(raw), opts.now ?? /* @__PURE__ */ new Date());
|
|
35462
35484
|
}
|
|
35463
35485
|
|
|
35486
|
+
// src/account-enforcement-notice.ts
|
|
35487
|
+
import { readFileSync as readFileSync10 } from "fs";
|
|
35488
|
+
import { homedir as homedir3 } from "os";
|
|
35489
|
+
import { join as join11 } from "path";
|
|
35490
|
+
function accountEnforcementMarkerPath(codeName) {
|
|
35491
|
+
if (!codeName) return null;
|
|
35492
|
+
return join11(homedir3(), ".augmented", codeName, ACCOUNT_ENFORCEMENT_MARKER_FILENAME);
|
|
35493
|
+
}
|
|
35494
|
+
function readAccountEnforcementLevel(opts) {
|
|
35495
|
+
const path = opts.filePath ?? accountEnforcementMarkerPath(opts.codeName);
|
|
35496
|
+
if (!path) return null;
|
|
35497
|
+
let raw;
|
|
35498
|
+
try {
|
|
35499
|
+
raw = readFileSync10(path, "utf-8");
|
|
35500
|
+
} catch {
|
|
35501
|
+
return null;
|
|
35502
|
+
}
|
|
35503
|
+
return parseAccountEnforcementMarker(raw)?.level ?? null;
|
|
35504
|
+
}
|
|
35505
|
+
|
|
35464
35506
|
// ../core/dist/channels/governance/sender-policy-decline.js
|
|
35465
35507
|
function decideDeclineReply(input) {
|
|
35466
35508
|
const last = input.cache.get(input.key);
|
|
@@ -35482,24 +35524,25 @@ var DIRECT_CHAT_MAINTENANCE_COOLDOWN_MS = (() => {
|
|
|
35482
35524
|
return Number.isFinite(n) && n >= 0 ? n * 1e3 : 1800 * 1e3;
|
|
35483
35525
|
})();
|
|
35484
35526
|
var DIRECT_CHAT_USAGE_LIMIT_CACHE = /* @__PURE__ */ new Map();
|
|
35527
|
+
var DIRECT_CHAT_ACCOUNT_MUTE_CACHE = /* @__PURE__ */ new Map();
|
|
35485
35528
|
var AGT_HOST = process.env.AGT_HOST;
|
|
35486
35529
|
var AGT_API_KEY = process.env.AGT_API_KEY;
|
|
35487
35530
|
var AGT_AGENT_ID = process.env.AGT_AGENT_ID;
|
|
35488
|
-
var DIRECT_CHAT_AGENT_DIR = AGT_AGENT_ID ?
|
|
35531
|
+
var DIRECT_CHAT_AGENT_DIR = AGT_AGENT_ID ? join12(homedir4(), ".augmented", AGT_AGENT_ID) : null;
|
|
35489
35532
|
var INBOUND_ATTACHMENTS_DIR = resolveInboundAttachmentsDir({
|
|
35490
35533
|
codeName: process.env.AGT_AGENT_CODE_NAME,
|
|
35491
35534
|
turnInitiatorFile: process.env.AGT_TURN_INITIATOR_FILE,
|
|
35492
35535
|
agentId: AGT_AGENT_ID,
|
|
35493
|
-
homeDir:
|
|
35536
|
+
homeDir: homedir4()
|
|
35494
35537
|
});
|
|
35495
35538
|
var AGT_AGENT_CODE_NAME = process.env.AGT_AGENT_CODE_NAME;
|
|
35496
35539
|
var directChatStderrLogStream = null;
|
|
35497
35540
|
if (AGT_AGENT_CODE_NAME) {
|
|
35498
35541
|
try {
|
|
35499
|
-
const logDir =
|
|
35542
|
+
const logDir = join12(homedir4(), ".augmented", AGT_AGENT_CODE_NAME);
|
|
35500
35543
|
mkdirSync5(logDir, { recursive: true });
|
|
35501
35544
|
directChatStderrLogStream = createWriteStream(
|
|
35502
|
-
|
|
35545
|
+
join12(logDir, "direct-chat-channel-stderr.log"),
|
|
35503
35546
|
{ flags: "a", mode: 384 }
|
|
35504
35547
|
);
|
|
35505
35548
|
directChatStderrLogStream.on("error", () => {
|
|
@@ -35518,10 +35561,10 @@ if (AGT_AGENT_CODE_NAME) {
|
|
|
35518
35561
|
} catch {
|
|
35519
35562
|
}
|
|
35520
35563
|
}
|
|
35521
|
-
var PROGRESS_HEARTBEAT_PATH = AGT_AGENT_CODE_NAME ?
|
|
35522
|
-
var DIRECT_CHAT_PENDING_INBOUND_DIR = AGT_AGENT_CODE_NAME ?
|
|
35523
|
-
var DIRECT_CHAT_DELIVERY_LEDGER_DIR = AGT_AGENT_CODE_NAME ?
|
|
35524
|
-
var DIRECT_CHAT_CODE_NAME_AGENT_DIR = AGT_AGENT_CODE_NAME ?
|
|
35564
|
+
var PROGRESS_HEARTBEAT_PATH = AGT_AGENT_CODE_NAME ? join12(homedir4(), ".augmented", AGT_AGENT_CODE_NAME, "channel-progress-heartbeat.json") : null;
|
|
35565
|
+
var DIRECT_CHAT_PENDING_INBOUND_DIR = AGT_AGENT_CODE_NAME ? join12(homedir4(), ".augmented", AGT_AGENT_CODE_NAME, "direct-chat-pending-inbound") : null;
|
|
35566
|
+
var DIRECT_CHAT_DELIVERY_LEDGER_DIR = AGT_AGENT_CODE_NAME ? join12(homedir4(), ".augmented", AGT_AGENT_CODE_NAME, ".agt-inbound-delivery-ledger") : null;
|
|
35567
|
+
var DIRECT_CHAT_CODE_NAME_AGENT_DIR = AGT_AGENT_CODE_NAME ? join12(homedir4(), ".augmented", AGT_AGENT_CODE_NAME) : null;
|
|
35525
35568
|
var DIRECT_CHAT_STALE_MARKER_MS = 24 * 60 * 60 * 1e3;
|
|
35526
35569
|
function recordDirectChatDelivery(sessionId, messageIds) {
|
|
35527
35570
|
if (!sessionId) return;
|
|
@@ -35532,8 +35575,8 @@ function recordDirectChatDelivery(sessionId, messageIds) {
|
|
|
35532
35575
|
delivered_at: (/* @__PURE__ */ new Date()).toISOString()
|
|
35533
35576
|
});
|
|
35534
35577
|
}
|
|
35535
|
-
var DIRECT_CHAT_RECOVERY_OUTBOX_DIR = AGT_AGENT_CODE_NAME ?
|
|
35536
|
-
var DIRECT_CHAT_RECOVERY_LEDGER_DIR = AGT_AGENT_CODE_NAME ?
|
|
35578
|
+
var DIRECT_CHAT_RECOVERY_OUTBOX_DIR = AGT_AGENT_CODE_NAME ? join12(homedir4(), ".augmented", AGT_AGENT_CODE_NAME, "direct-chat-recovery-outbox") : null;
|
|
35579
|
+
var DIRECT_CHAT_RECOVERY_LEDGER_DIR = AGT_AGENT_CODE_NAME ? join12(homedir4(), ".augmented", AGT_AGENT_CODE_NAME, ".agt-direct-chat-recovery-ledger") : null;
|
|
35537
35580
|
var progressReceivedAt = /* @__PURE__ */ new Map();
|
|
35538
35581
|
var directChatProgressState = { tracked: null };
|
|
35539
35582
|
var directChatProgressTickRunning = false;
|
|
@@ -35552,7 +35595,7 @@ var directChatKanbanCardClient = createKanbanCardActiveClient({
|
|
|
35552
35595
|
function readProgressHeartbeat() {
|
|
35553
35596
|
if (!PROGRESS_HEARTBEAT_PATH || !existsSync6(PROGRESS_HEARTBEAT_PATH)) return null;
|
|
35554
35597
|
try {
|
|
35555
|
-
return parseProgressHeartbeat(
|
|
35598
|
+
return parseProgressHeartbeat(readFileSync11(PROGRESS_HEARTBEAT_PATH, "utf-8"));
|
|
35556
35599
|
} catch {
|
|
35557
35600
|
return null;
|
|
35558
35601
|
}
|
|
@@ -35561,7 +35604,7 @@ function seedProgressHeartbeat() {
|
|
|
35561
35604
|
if (!PROGRESS_HEARTBEAT_PATH) return;
|
|
35562
35605
|
const tmp = `${PROGRESS_HEARTBEAT_PATH}.${process.pid}.tmp`;
|
|
35563
35606
|
try {
|
|
35564
|
-
mkdirSync5(
|
|
35607
|
+
mkdirSync5(join12(homedir4(), ".augmented", AGT_AGENT_CODE_NAME), { recursive: true });
|
|
35565
35608
|
writeFileSync6(tmp, serializeProgressHeartbeat(SEED_PROGRESS_STEP, Date.now()), { mode: 384 });
|
|
35566
35609
|
renameSync5(tmp, PROGRESS_HEARTBEAT_PATH);
|
|
35567
35610
|
} catch {
|
|
@@ -35721,7 +35764,7 @@ var inboundAttachmentDeps = {
|
|
|
35721
35764
|
},
|
|
35722
35765
|
ensureDir: (dir) => mkdirSync5(dir, { recursive: true }),
|
|
35723
35766
|
writeFile: (path, bytes) => writeFileSync6(path, bytes, { mode: 384 }),
|
|
35724
|
-
joinPath: (...parts) =>
|
|
35767
|
+
joinPath: (...parts) => join12(...parts),
|
|
35725
35768
|
warn: (msg) => process.stderr.write(`${msg}
|
|
35726
35769
|
`)
|
|
35727
35770
|
};
|
|
@@ -36051,7 +36094,7 @@ function scheduleDirectChatBusyAck(sessionId, messageId, arrivedWhileBusy) {
|
|
|
36051
36094
|
let paneLogFreshAgeMs = null;
|
|
36052
36095
|
if (DIRECT_CHAT_CODE_NAME_AGENT_DIR) {
|
|
36053
36096
|
try {
|
|
36054
|
-
const paneMtimeMs = statSync2(
|
|
36097
|
+
const paneMtimeMs = statSync2(join12(DIRECT_CHAT_CODE_NAME_AGENT_DIR, "pane.log")).mtimeMs;
|
|
36055
36098
|
paneLogFreshAgeMs = Math.max(0, Date.now() - paneMtimeMs);
|
|
36056
36099
|
} catch {
|
|
36057
36100
|
}
|
|
@@ -36124,8 +36167,9 @@ async function pollForMessages(sinceMs) {
|
|
|
36124
36167
|
if (processedIds.has(msg.id)) continue;
|
|
36125
36168
|
const isNotice = msg.kind === "notice";
|
|
36126
36169
|
const maintenanceActive = !isNotice && isMaintenanceModeActive();
|
|
36127
|
-
const
|
|
36128
|
-
|
|
36170
|
+
const accountMuted = !isNotice && !maintenanceActive ? readAccountEnforcementLevel({ codeName: AGT_AGENT_CODE_NAME ?? null }) === "mute" : false;
|
|
36171
|
+
const usageLimitUntil = !isNotice && !maintenanceActive && !accountMuted ? readUsageLimitUntil({ codeName: AGT_AGENT_CODE_NAME ?? null }) : null;
|
|
36172
|
+
if (!isNotice && !maintenanceActive && !accountMuted && !usageLimitUntil) {
|
|
36129
36173
|
markProcessed(msg.id);
|
|
36130
36174
|
claimTracker.track(msg.session_id, msg.id);
|
|
36131
36175
|
if (!progressReceivedAt.has(msg.session_id)) {
|
|
@@ -36159,6 +36203,37 @@ async function pollForMessages(sinceMs) {
|
|
|
36159
36203
|
if (throttle.reply) DIRECT_CHAT_MAINTENANCE_CACHE.delete(throttleKey);
|
|
36160
36204
|
process.stderr.write(
|
|
36161
36205
|
`direct-chat-channel: maintenance offline reply failed: ${err.message}
|
|
36206
|
+
`
|
|
36207
|
+
);
|
|
36208
|
+
}
|
|
36209
|
+
continue;
|
|
36210
|
+
}
|
|
36211
|
+
if (accountMuted) {
|
|
36212
|
+
const throttleKey = `${msg.session_id}|account_mute`;
|
|
36213
|
+
const throttle = decideDeclineReply({
|
|
36214
|
+
cache: DIRECT_CHAT_ACCOUNT_MUTE_CACHE,
|
|
36215
|
+
key: throttleKey,
|
|
36216
|
+
cooldownMs: DIRECT_CHAT_MAINTENANCE_COOLDOWN_MS,
|
|
36217
|
+
now: Date.now()
|
|
36218
|
+
});
|
|
36219
|
+
const route = throttle.reply ? "/host/direct-chat/reply" : "/host/direct-chat/consume";
|
|
36220
|
+
const body = throttle.reply ? { agent_id: AGT_AGENT_ID, session_id: msg.session_id, content: buildAccountIssueReplyText(), message_ids: [msg.id] } : { agent_id: AGT_AGENT_ID, session_id: msg.session_id, message_ids: [msg.id] };
|
|
36221
|
+
try {
|
|
36222
|
+
const res2 = await apiPost(route, body);
|
|
36223
|
+
const data2 = await res2.json().catch(() => ({}));
|
|
36224
|
+
if (res2.ok && data2.error == null) {
|
|
36225
|
+
markProcessed(msg.id);
|
|
36226
|
+
} else {
|
|
36227
|
+
if (throttle.reply) DIRECT_CHAT_ACCOUNT_MUTE_CACHE.delete(throttleKey);
|
|
36228
|
+
process.stderr.write(
|
|
36229
|
+
`direct-chat-channel: account-mute ${throttle.reply ? "reply" : "consume"} failed: ${data2.error ?? `HTTP ${res2.status}`}
|
|
36230
|
+
`
|
|
36231
|
+
);
|
|
36232
|
+
}
|
|
36233
|
+
} catch (err) {
|
|
36234
|
+
if (throttle.reply) DIRECT_CHAT_ACCOUNT_MUTE_CACHE.delete(throttleKey);
|
|
36235
|
+
process.stderr.write(
|
|
36236
|
+
`direct-chat-channel: account-mute reply failed: ${err.message}
|
|
36162
36237
|
`
|
|
36163
36238
|
);
|
|
36164
36239
|
}
|
|
@@ -36377,7 +36452,7 @@ function sweepAgedDirectChatMarkersNow(thresholdMs) {
|
|
|
36377
36452
|
const now = Date.now();
|
|
36378
36453
|
const res = sweepAgedDirectChatMarkers(DIRECT_CHAT_PENDING_INBOUND_DIR, {
|
|
36379
36454
|
readdir: (dir) => readdirSync4(dir),
|
|
36380
|
-
readFile: (p2) =>
|
|
36455
|
+
readFile: (p2) => readFileSync11(p2, "utf8"),
|
|
36381
36456
|
unlink: (p2) => {
|
|
36382
36457
|
if (existsSync6(p2)) unlinkSync4(p2);
|
|
36383
36458
|
},
|
|
@@ -36413,7 +36488,7 @@ function sanitizeRecoveryText(text) {
|
|
|
36413
36488
|
}
|
|
36414
36489
|
function directChatRecoveryDeps() {
|
|
36415
36490
|
return {
|
|
36416
|
-
readFile: (p2) =>
|
|
36491
|
+
readFile: (p2) => readFileSync11(p2, "utf-8"),
|
|
36417
36492
|
renameFile: (from, to) => renameSync5(from, to),
|
|
36418
36493
|
unlinkFile: (p2) => {
|
|
36419
36494
|
if (existsSync6(p2)) unlinkSync4(p2);
|
|
@@ -36426,7 +36501,7 @@ function directChatRecoveryDeps() {
|
|
|
36426
36501
|
if (!DIRECT_CHAT_RECOVERY_LEDGER_DIR) return;
|
|
36427
36502
|
if (markerName.includes("/") || markerName.includes("\\") || markerName.includes("..")) return;
|
|
36428
36503
|
try {
|
|
36429
|
-
const p2 =
|
|
36504
|
+
const p2 = join12(DIRECT_CHAT_RECOVERY_LEDGER_DIR, markerName);
|
|
36430
36505
|
if (existsSync6(p2)) unlinkSync4(p2);
|
|
36431
36506
|
} catch {
|
|
36432
36507
|
}
|
|
@@ -36462,7 +36537,7 @@ async function processDirectChatRecoveryOutboxFile(filename) {
|
|
|
36462
36537
|
if (!enabled) return;
|
|
36463
36538
|
directChatRecoveryInFlight.add(filename);
|
|
36464
36539
|
try {
|
|
36465
|
-
const fullPath =
|
|
36540
|
+
const fullPath = join12(DIRECT_CHAT_RECOVERY_OUTBOX_DIR, filename);
|
|
36466
36541
|
await consumeDirectChatRecoveryFile(fullPath, filename, directChatRecoveryDeps());
|
|
36467
36542
|
} catch (err) {
|
|
36468
36543
|
process.stderr.write(
|
|
@@ -36490,7 +36565,7 @@ if (DIRECT_CHAT_RECOVERY_OUTBOX_DIR) {
|
|
|
36490
36565
|
if (!filename) return;
|
|
36491
36566
|
const name = filename.toString();
|
|
36492
36567
|
if (!name.endsWith(".json")) return;
|
|
36493
|
-
if (existsSync6(
|
|
36568
|
+
if (existsSync6(join12(DIRECT_CHAT_RECOVERY_OUTBOX_DIR, name))) {
|
|
36494
36569
|
void processDirectChatRecoveryOutboxFile(name);
|
|
36495
36570
|
}
|
|
36496
36571
|
});
|