@integrity-labs/agt-cli 0.28.327 → 0.28.328
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-BSTFCC62.js → chunk-GAWNDPGM.js} +13 -2
- package/dist/{chunk-BSTFCC62.js.map → chunk-GAWNDPGM.js.map} +1 -1
- package/dist/{chunk-EQMRT6OT.js → chunk-XRO2EOEM.js} +48 -8
- package/dist/chunk-XRO2EOEM.js.map +1 -0
- package/dist/{claude-pair-runtime-BOFTEAQC.js → claude-pair-runtime-LTZRJHKO.js} +2 -2
- package/dist/lib/manager-worker.js +10 -10
- package/dist/mcp/direct-chat-channel.js +109 -37
- package/dist/mcp/origami.js +12 -1
- package/dist/{persistent-session-BICDYHOC.js → persistent-session-5IV24YKT.js} +2 -2
- package/dist/{responsiveness-probe-FEAFPNUF.js → responsiveness-probe-TTGD44MW.js} +2 -2
- package/package.json +1 -1
- package/dist/chunk-EQMRT6OT.js.map +0 -1
- /package/dist/{claude-pair-runtime-BOFTEAQC.js.map → claude-pair-runtime-LTZRJHKO.js.map} +0 -0
- /package/dist/{persistent-session-BICDYHOC.js.map → persistent-session-5IV24YKT.js.map} +0 -0
- /package/dist/{responsiveness-probe-FEAFPNUF.js.map → responsiveness-probe-TTGD44MW.js.map} +0 -0
|
@@ -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-5IV24YKT.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-LTZRJHKO.js.map
|
|
@@ -43,7 +43,7 @@ import {
|
|
|
43
43
|
requireHost,
|
|
44
44
|
safeWriteJsonAtomic,
|
|
45
45
|
setConfigHash
|
|
46
|
-
} from "../chunk-
|
|
46
|
+
} from "../chunk-XRO2EOEM.js";
|
|
47
47
|
import {
|
|
48
48
|
getProjectDir as getProjectDir2,
|
|
49
49
|
getReadyTasks,
|
|
@@ -132,7 +132,7 @@ import {
|
|
|
132
132
|
takeZombieDetection,
|
|
133
133
|
transcriptActivityAgeSeconds,
|
|
134
134
|
writeEgressAllowlist
|
|
135
|
-
} from "../chunk-
|
|
135
|
+
} from "../chunk-GAWNDPGM.js";
|
|
136
136
|
import {
|
|
137
137
|
reapOrphanChannelMcps
|
|
138
138
|
} from "../chunk-XWVM4KPK.js";
|
|
@@ -8386,7 +8386,7 @@ var agentRestartTimezoneInputs = /* @__PURE__ */ new Map();
|
|
|
8386
8386
|
var lastVersionCheckAt = 0;
|
|
8387
8387
|
var VERSION_CHECK_INTERVAL_MS = 5 * 60 * 1e3;
|
|
8388
8388
|
var lastResponsivenessProbeAt = 0;
|
|
8389
|
-
var agtCliVersion = true ? "0.28.
|
|
8389
|
+
var agtCliVersion = true ? "0.28.328" : "dev";
|
|
8390
8390
|
function resolveBrewPath(execFileSync2) {
|
|
8391
8391
|
try {
|
|
8392
8392
|
const out = execFileSync2("which", ["brew"], { timeout: 5e3 }).toString().trim();
|
|
@@ -9282,7 +9282,7 @@ function flushRestartedAgentDiagnostics(hostId, codeNames) {
|
|
|
9282
9282
|
if (codeNames.length === 0) return;
|
|
9283
9283
|
void (async () => {
|
|
9284
9284
|
try {
|
|
9285
|
-
const { collectDiagnostics } = await import("../persistent-session-
|
|
9285
|
+
const { collectDiagnostics } = await import("../persistent-session-5IV24YKT.js");
|
|
9286
9286
|
await api.post("/host/heartbeat", {
|
|
9287
9287
|
host_id: hostId,
|
|
9288
9288
|
agent_diagnostics: collectDiagnostics(codeNames)
|
|
@@ -9381,7 +9381,7 @@ async function pollCycle() {
|
|
|
9381
9381
|
}
|
|
9382
9382
|
try {
|
|
9383
9383
|
const { detectHostSecurity } = await import("../host-security-6PDFG7F5.js");
|
|
9384
|
-
const { collectDiagnostics } = await import("../persistent-session-
|
|
9384
|
+
const { collectDiagnostics } = await import("../persistent-session-5IV24YKT.js");
|
|
9385
9385
|
const diagCodeNames = [...agentState.persistentSessionAgents];
|
|
9386
9386
|
const agentDiagnostics = diagCodeNames.length > 0 ? collectDiagnostics(diagCodeNames) : void 0;
|
|
9387
9387
|
let tailscaleHostname;
|
|
@@ -9530,7 +9530,7 @@ async function pollCycle() {
|
|
|
9530
9530
|
const {
|
|
9531
9531
|
collectResponsivenessProbes,
|
|
9532
9532
|
getResponsivenessIntervalMs
|
|
9533
|
-
} = await import("../responsiveness-probe-
|
|
9533
|
+
} = await import("../responsiveness-probe-TTGD44MW.js");
|
|
9534
9534
|
const probeIntervalMs = getResponsivenessIntervalMs();
|
|
9535
9535
|
if (now - lastResponsivenessProbeAt > probeIntervalMs) {
|
|
9536
9536
|
const probeCodeNames = [...agentState.persistentSessionAgents];
|
|
@@ -9562,7 +9562,7 @@ async function pollCycle() {
|
|
|
9562
9562
|
collectResponsivenessProbes,
|
|
9563
9563
|
livePendingInboundOldestAgeSeconds,
|
|
9564
9564
|
parkPendingInbound
|
|
9565
|
-
} = await import("../responsiveness-probe-
|
|
9565
|
+
} = await import("../responsiveness-probe-TTGD44MW.js");
|
|
9566
9566
|
const { getProjectDir: wedgeProjectDir } = await import("../claude-scheduler-FATCLHDM.js");
|
|
9567
9567
|
const wedgeNow = /* @__PURE__ */ new Date();
|
|
9568
9568
|
const liveAgents = agentState.persistentSessionAgents;
|
|
@@ -12660,7 +12660,7 @@ async function handleRestartDoorbell(agentId, requestedAt, restartReason) {
|
|
|
12660
12660
|
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}`));
|
|
12661
12661
|
void (async () => {
|
|
12662
12662
|
try {
|
|
12663
|
-
const { collectDiagnostics } = await import("../persistent-session-
|
|
12663
|
+
const { collectDiagnostics } = await import("../persistent-session-5IV24YKT.js");
|
|
12664
12664
|
await api.post("/host/heartbeat", {
|
|
12665
12665
|
host_id: hostId,
|
|
12666
12666
|
agent_diagnostics: collectDiagnostics([codeName])
|
|
@@ -12710,7 +12710,7 @@ async function respawnAgentAfterMcpStop(codeName, reason) {
|
|
|
12710
12710
|
}
|
|
12711
12711
|
try {
|
|
12712
12712
|
const hostId = await getHostId();
|
|
12713
|
-
const { collectDiagnostics } = await import("../persistent-session-
|
|
12713
|
+
const { collectDiagnostics } = await import("../persistent-session-5IV24YKT.js");
|
|
12714
12714
|
await api.post("/host/heartbeat", {
|
|
12715
12715
|
host_id: hostId,
|
|
12716
12716
|
agent_diagnostics: collectDiagnostics([codeName])
|
|
@@ -13208,7 +13208,7 @@ async function processClaudePairSessions(agents) {
|
|
|
13208
13208
|
killPairSession,
|
|
13209
13209
|
pairTmuxSession,
|
|
13210
13210
|
finalizeClaudePairOnboarding
|
|
13211
|
-
} = await import("../claude-pair-runtime-
|
|
13211
|
+
} = await import("../claude-pair-runtime-LTZRJHKO.js");
|
|
13212
13212
|
for (const pairId of pendingResp.cancelled_pair_ids ?? []) {
|
|
13213
13213
|
log(`[claude-pair] sweeping orphan tmux session for pair ${pairId.slice(0, 8)}`);
|
|
13214
13214
|
const killed = await killPairSession(pairTmuxSession(pairId));
|
|
@@ -14255,6 +14255,67 @@ function writeTurnInitiatorMarker(input) {
|
|
|
14255
14255
|
}
|
|
14256
14256
|
}
|
|
14257
14257
|
|
|
14258
|
+
// src/direct-chat-pending-inbound.ts
|
|
14259
|
+
import {
|
|
14260
|
+
existsSync as existsSync2,
|
|
14261
|
+
mkdirSync as mkdirSync2,
|
|
14262
|
+
readdirSync,
|
|
14263
|
+
renameSync as renameSync2,
|
|
14264
|
+
unlinkSync,
|
|
14265
|
+
writeFileSync as writeFileSync2
|
|
14266
|
+
} from "fs";
|
|
14267
|
+
import { join as join3 } from "path";
|
|
14268
|
+
function hexEncodeSegment(value) {
|
|
14269
|
+
return Buffer.from(value, "utf8").toString("hex");
|
|
14270
|
+
}
|
|
14271
|
+
function directChatMarkerName(sessionId, messageId) {
|
|
14272
|
+
return `${hexEncodeSegment(sessionId)}__${hexEncodeSegment(messageId)}.json`;
|
|
14273
|
+
}
|
|
14274
|
+
var defaultClearMarkerFile = (fullPath) => {
|
|
14275
|
+
try {
|
|
14276
|
+
if (existsSync2(fullPath)) unlinkSync(fullPath);
|
|
14277
|
+
} catch {
|
|
14278
|
+
}
|
|
14279
|
+
};
|
|
14280
|
+
function directChatInboundId(sessionId, messageId) {
|
|
14281
|
+
return `direct-chat|${sessionId.length}|${sessionId}|${messageId}`;
|
|
14282
|
+
}
|
|
14283
|
+
function writeDirectChatPendingInboundMarker(dir, sessionId, messageId) {
|
|
14284
|
+
if (!dir || !sessionId || !messageId) return;
|
|
14285
|
+
try {
|
|
14286
|
+
mkdirSync2(dir, { recursive: true });
|
|
14287
|
+
const marker = {
|
|
14288
|
+
channel: "direct-chat",
|
|
14289
|
+
session_id: sessionId,
|
|
14290
|
+
message_id: messageId,
|
|
14291
|
+
received_at: (/* @__PURE__ */ new Date()).toISOString(),
|
|
14292
|
+
inbound_id: directChatInboundId(sessionId, messageId)
|
|
14293
|
+
};
|
|
14294
|
+
const final = join3(dir, directChatMarkerName(sessionId, messageId));
|
|
14295
|
+
const tmp = `${final}.tmp`;
|
|
14296
|
+
writeFileSync2(tmp, JSON.stringify(marker), "utf8");
|
|
14297
|
+
renameSync2(tmp, final);
|
|
14298
|
+
} catch {
|
|
14299
|
+
}
|
|
14300
|
+
}
|
|
14301
|
+
function clearDirectChatPendingMarkersForSession(dir, sessionId, op = defaultClearMarkerFile) {
|
|
14302
|
+
if (!dir || !sessionId) return 0;
|
|
14303
|
+
const prefix = `${hexEncodeSegment(sessionId)}__`;
|
|
14304
|
+
let cleared = 0;
|
|
14305
|
+
let names;
|
|
14306
|
+
try {
|
|
14307
|
+
names = readdirSync(dir);
|
|
14308
|
+
} catch {
|
|
14309
|
+
return 0;
|
|
14310
|
+
}
|
|
14311
|
+
for (const name of names) {
|
|
14312
|
+
if (!name.startsWith(prefix) || !name.endsWith(".json")) continue;
|
|
14313
|
+
op(join3(dir, name));
|
|
14314
|
+
cleared += 1;
|
|
14315
|
+
}
|
|
14316
|
+
return cleared;
|
|
14317
|
+
}
|
|
14318
|
+
|
|
14258
14319
|
// src/direct-chat-poll-guard.ts
|
|
14259
14320
|
function evaluatePollGuard(state, nowMs, stuckMs) {
|
|
14260
14321
|
if (!state.inFlight) return { run: true, stuck: false };
|
|
@@ -14277,14 +14338,14 @@ async function fetchWithTimeout(input, init, timeoutMs, fetchImpl = fetch) {
|
|
|
14277
14338
|
|
|
14278
14339
|
// src/mcp-spawn-lock.ts
|
|
14279
14340
|
import {
|
|
14280
|
-
existsSync as
|
|
14281
|
-
mkdirSync as
|
|
14341
|
+
existsSync as existsSync3,
|
|
14342
|
+
mkdirSync as mkdirSync3,
|
|
14282
14343
|
readFileSync as readFileSync3,
|
|
14283
|
-
renameSync as
|
|
14284
|
-
unlinkSync,
|
|
14285
|
-
writeFileSync as
|
|
14344
|
+
renameSync as renameSync3,
|
|
14345
|
+
unlinkSync as unlinkSync2,
|
|
14346
|
+
writeFileSync as writeFileSync3
|
|
14286
14347
|
} from "fs";
|
|
14287
|
-
import { join as
|
|
14348
|
+
import { join as join4 } from "path";
|
|
14288
14349
|
function defaultIsPidAlive(pid) {
|
|
14289
14350
|
if (!Number.isFinite(pid) || pid <= 0) return false;
|
|
14290
14351
|
try {
|
|
@@ -14302,7 +14363,7 @@ function acquireMcpSpawnLock(args) {
|
|
|
14302
14363
|
const isPidAlive = options.isPidAlive ?? defaultIsPidAlive;
|
|
14303
14364
|
const selfPid = options.selfPid ?? process.pid;
|
|
14304
14365
|
const now = options.now ?? (() => (/* @__PURE__ */ new Date()).toISOString());
|
|
14305
|
-
const path =
|
|
14366
|
+
const path = join4(agentDir, basename);
|
|
14306
14367
|
const existing = readLockHolder(path);
|
|
14307
14368
|
if (existing) {
|
|
14308
14369
|
if (existing.pid === selfPid) {
|
|
@@ -14312,11 +14373,11 @@ function acquireMcpSpawnLock(args) {
|
|
|
14312
14373
|
return { kind: "blocked", path, holder: existing };
|
|
14313
14374
|
}
|
|
14314
14375
|
}
|
|
14315
|
-
|
|
14376
|
+
mkdirSync3(agentDir, { recursive: true, mode: 448 });
|
|
14316
14377
|
const tmpPath = `${path}.${selfPid}.tmp`;
|
|
14317
14378
|
const payload = { pid: selfPid, started_at: now() };
|
|
14318
|
-
|
|
14319
|
-
|
|
14379
|
+
writeFileSync3(tmpPath, JSON.stringify(payload), { mode: 384 });
|
|
14380
|
+
renameSync3(tmpPath, path);
|
|
14320
14381
|
return { kind: "acquired", path };
|
|
14321
14382
|
}
|
|
14322
14383
|
function releaseMcpSpawnLock(lockPath, opts = {}) {
|
|
@@ -14326,12 +14387,12 @@ function releaseMcpSpawnLock(lockPath, opts = {}) {
|
|
|
14326
14387
|
if (!existing) return;
|
|
14327
14388
|
if (existing.pid !== selfPid) return;
|
|
14328
14389
|
try {
|
|
14329
|
-
|
|
14390
|
+
unlinkSync2(lockPath);
|
|
14330
14391
|
} catch {
|
|
14331
14392
|
}
|
|
14332
14393
|
}
|
|
14333
14394
|
function readLockHolder(path) {
|
|
14334
|
-
if (!
|
|
14395
|
+
if (!existsSync3(path)) return null;
|
|
14335
14396
|
try {
|
|
14336
14397
|
const raw = readFileSync3(path, "utf8");
|
|
14337
14398
|
const parsed = JSON.parse(raw);
|
|
@@ -14346,35 +14407,35 @@ function readLockHolder(path) {
|
|
|
14346
14407
|
|
|
14347
14408
|
// src/direct-chat-channel.ts
|
|
14348
14409
|
import { homedir as homedir2 } from "os";
|
|
14349
|
-
import { join as
|
|
14410
|
+
import { join as join7 } from "path";
|
|
14350
14411
|
import { randomUUID } from "crypto";
|
|
14351
14412
|
import {
|
|
14352
14413
|
watch,
|
|
14353
|
-
mkdirSync as
|
|
14354
|
-
writeFileSync as
|
|
14414
|
+
mkdirSync as mkdirSync4,
|
|
14415
|
+
writeFileSync as writeFileSync4,
|
|
14355
14416
|
readFileSync as readFileSync5,
|
|
14356
|
-
existsSync as
|
|
14357
|
-
renameSync as
|
|
14358
|
-
unlinkSync as
|
|
14417
|
+
existsSync as existsSync5,
|
|
14418
|
+
renameSync as renameSync4,
|
|
14419
|
+
unlinkSync as unlinkSync3
|
|
14359
14420
|
} from "fs";
|
|
14360
14421
|
|
|
14361
14422
|
// src/direct-chat-inbound-attachments.ts
|
|
14362
|
-
import { dirname as dirname2, join as
|
|
14423
|
+
import { dirname as dirname2, join as join5 } from "path";
|
|
14363
14424
|
var MAX_INBOUND_ATTACHMENT_BYTES = 10 * 1024 * 1024;
|
|
14364
14425
|
var INBOUND_ATTACHMENTS_SUBDIR = "direct-chat-inbound";
|
|
14365
14426
|
function resolveInboundAttachmentsDir(input) {
|
|
14366
14427
|
const { codeName, turnInitiatorFile, agentId, homeDir } = input;
|
|
14367
14428
|
const codeNameTrimmed = typeof codeName === "string" ? codeName.trim() : "";
|
|
14368
14429
|
if (codeNameTrimmed) {
|
|
14369
|
-
return
|
|
14430
|
+
return join5(homeDir, ".augmented", codeNameTrimmed, INBOUND_ATTACHMENTS_SUBDIR);
|
|
14370
14431
|
}
|
|
14371
14432
|
const initiator = typeof turnInitiatorFile === "string" ? turnInitiatorFile.trim() : "";
|
|
14372
14433
|
if (initiator) {
|
|
14373
|
-
return
|
|
14434
|
+
return join5(dirname2(initiator), INBOUND_ATTACHMENTS_SUBDIR);
|
|
14374
14435
|
}
|
|
14375
14436
|
const agentIdTrimmed = typeof agentId === "string" ? agentId.trim() : "";
|
|
14376
14437
|
if (agentIdTrimmed) {
|
|
14377
|
-
return
|
|
14438
|
+
return join5(homeDir, ".augmented", agentIdTrimmed, INBOUND_ATTACHMENTS_SUBDIR);
|
|
14378
14439
|
}
|
|
14379
14440
|
return null;
|
|
14380
14441
|
}
|
|
@@ -14472,11 +14533,11 @@ async function downloadInboundAttachments(attachments, dir, deps) {
|
|
|
14472
14533
|
}
|
|
14473
14534
|
|
|
14474
14535
|
// src/flags-cache-read.ts
|
|
14475
|
-
import { existsSync as
|
|
14536
|
+
import { existsSync as existsSync4, readFileSync as readFileSync4 } from "fs";
|
|
14476
14537
|
import { homedir } from "os";
|
|
14477
|
-
import { join as
|
|
14538
|
+
import { join as join6 } from "path";
|
|
14478
14539
|
function defaultFlagsCachePath() {
|
|
14479
|
-
return
|
|
14540
|
+
return join6(homedir(), ".augmented", "flags-cache.json");
|
|
14480
14541
|
}
|
|
14481
14542
|
function envBoolean(raw) {
|
|
14482
14543
|
if (raw === void 0) return void 0;
|
|
@@ -14488,7 +14549,7 @@ function envBoolean(raw) {
|
|
|
14488
14549
|
}
|
|
14489
14550
|
function cachedBoolean(key, path) {
|
|
14490
14551
|
try {
|
|
14491
|
-
if (!
|
|
14552
|
+
if (!existsSync4(path)) return void 0;
|
|
14492
14553
|
const parsed = JSON.parse(readFileSync4(path, "utf8"));
|
|
14493
14554
|
if (!parsed || typeof parsed !== "object") return void 0;
|
|
14494
14555
|
const flags = parsed.flags;
|
|
@@ -14826,7 +14887,7 @@ var DIRECT_CHAT_MAINTENANCE_COOLDOWN_MS = (() => {
|
|
|
14826
14887
|
var AGT_HOST = process.env.AGT_HOST;
|
|
14827
14888
|
var AGT_API_KEY = process.env.AGT_API_KEY;
|
|
14828
14889
|
var AGT_AGENT_ID = process.env.AGT_AGENT_ID;
|
|
14829
|
-
var DIRECT_CHAT_AGENT_DIR = AGT_AGENT_ID ?
|
|
14890
|
+
var DIRECT_CHAT_AGENT_DIR = AGT_AGENT_ID ? join7(homedir2(), ".augmented", AGT_AGENT_ID) : null;
|
|
14830
14891
|
var INBOUND_ATTACHMENTS_DIR = resolveInboundAttachmentsDir({
|
|
14831
14892
|
codeName: process.env.AGT_AGENT_CODE_NAME,
|
|
14832
14893
|
turnInitiatorFile: process.env.AGT_TURN_INITIATOR_FILE,
|
|
@@ -14834,7 +14895,8 @@ var INBOUND_ATTACHMENTS_DIR = resolveInboundAttachmentsDir({
|
|
|
14834
14895
|
homeDir: homedir2()
|
|
14835
14896
|
});
|
|
14836
14897
|
var AGT_AGENT_CODE_NAME = process.env.AGT_AGENT_CODE_NAME;
|
|
14837
|
-
var PROGRESS_HEARTBEAT_PATH = AGT_AGENT_CODE_NAME ?
|
|
14898
|
+
var PROGRESS_HEARTBEAT_PATH = AGT_AGENT_CODE_NAME ? join7(homedir2(), ".augmented", AGT_AGENT_CODE_NAME, "channel-progress-heartbeat.json") : null;
|
|
14899
|
+
var DIRECT_CHAT_PENDING_INBOUND_DIR = AGT_AGENT_CODE_NAME ? join7(homedir2(), ".augmented", AGT_AGENT_CODE_NAME, "direct-chat-pending-inbound") : null;
|
|
14838
14900
|
var progressReceivedAt = /* @__PURE__ */ new Map();
|
|
14839
14901
|
var directChatProgressState = { tracked: null };
|
|
14840
14902
|
var directChatProgressTickRunning = false;
|
|
@@ -14851,7 +14913,7 @@ var directChatKanbanCardClient = createKanbanCardActiveClient({
|
|
|
14851
14913
|
`)
|
|
14852
14914
|
});
|
|
14853
14915
|
function readProgressHeartbeat() {
|
|
14854
|
-
if (!PROGRESS_HEARTBEAT_PATH || !
|
|
14916
|
+
if (!PROGRESS_HEARTBEAT_PATH || !existsSync5(PROGRESS_HEARTBEAT_PATH)) return null;
|
|
14855
14917
|
try {
|
|
14856
14918
|
return parseProgressHeartbeat(readFileSync5(PROGRESS_HEARTBEAT_PATH, "utf-8"));
|
|
14857
14919
|
} catch {
|
|
@@ -14862,12 +14924,12 @@ function seedProgressHeartbeat() {
|
|
|
14862
14924
|
if (!PROGRESS_HEARTBEAT_PATH) return;
|
|
14863
14925
|
const tmp = `${PROGRESS_HEARTBEAT_PATH}.${process.pid}.tmp`;
|
|
14864
14926
|
try {
|
|
14865
|
-
|
|
14866
|
-
|
|
14867
|
-
|
|
14927
|
+
mkdirSync4(join7(homedir2(), ".augmented", AGT_AGENT_CODE_NAME), { recursive: true });
|
|
14928
|
+
writeFileSync4(tmp, serializeProgressHeartbeat(SEED_PROGRESS_STEP, Date.now()), { mode: 384 });
|
|
14929
|
+
renameSync4(tmp, PROGRESS_HEARTBEAT_PATH);
|
|
14868
14930
|
} catch {
|
|
14869
14931
|
try {
|
|
14870
|
-
|
|
14932
|
+
unlinkSync3(tmp);
|
|
14871
14933
|
} catch {
|
|
14872
14934
|
}
|
|
14873
14935
|
}
|
|
@@ -15020,9 +15082,9 @@ var inboundAttachmentDeps = {
|
|
|
15020
15082
|
bytes: async () => new Uint8Array(await res.arrayBuffer())
|
|
15021
15083
|
};
|
|
15022
15084
|
},
|
|
15023
|
-
ensureDir: (dir) =>
|
|
15024
|
-
writeFile: (path, bytes) =>
|
|
15025
|
-
joinPath: (...parts) =>
|
|
15085
|
+
ensureDir: (dir) => mkdirSync4(dir, { recursive: true }),
|
|
15086
|
+
writeFile: (path, bytes) => writeFileSync4(path, bytes, { mode: 384 }),
|
|
15087
|
+
joinPath: (...parts) => join7(...parts),
|
|
15026
15088
|
warn: (msg) => process.stderr.write(`${msg}
|
|
15027
15089
|
`)
|
|
15028
15090
|
};
|
|
@@ -15190,6 +15252,7 @@ mcp.setRequestHandler(CallToolRequestSchema, async (req) => {
|
|
|
15190
15252
|
};
|
|
15191
15253
|
}
|
|
15192
15254
|
claimTracker.clear(session_id, message_ids);
|
|
15255
|
+
clearDirectChatPendingMarkersForSession(DIRECT_CHAT_PENDING_INBOUND_DIR, session_id);
|
|
15193
15256
|
const messageId = data.message_id;
|
|
15194
15257
|
for (let i = 1; i < slices.length; i++) {
|
|
15195
15258
|
await sleep(STREAM_REPLY_FLUSH_MS);
|
|
@@ -15234,6 +15297,7 @@ mcp.setRequestHandler(CallToolRequestSchema, async (req) => {
|
|
|
15234
15297
|
};
|
|
15235
15298
|
}
|
|
15236
15299
|
claimTracker.clear(session_id, message_ids);
|
|
15300
|
+
clearDirectChatPendingMarkersForSession(DIRECT_CHAT_PENDING_INBOUND_DIR, session_id);
|
|
15237
15301
|
return { content: [{ type: "text", text: "sent" }] };
|
|
15238
15302
|
} catch (err) {
|
|
15239
15303
|
return {
|
|
@@ -15262,6 +15326,7 @@ mcp.setRequestHandler(CallToolRequestSchema, async (req) => {
|
|
|
15262
15326
|
};
|
|
15263
15327
|
}
|
|
15264
15328
|
claimTracker.clear(session_id, message_ids);
|
|
15329
|
+
clearDirectChatPendingMarkersForSession(DIRECT_CHAT_PENDING_INBOUND_DIR, session_id);
|
|
15265
15330
|
return { content: [{ type: "text", text: "consumed" }] };
|
|
15266
15331
|
} catch (err) {
|
|
15267
15332
|
return {
|
|
@@ -15361,6 +15426,13 @@ async function pollForMessages(sinceMs) {
|
|
|
15361
15426
|
}
|
|
15362
15427
|
}
|
|
15363
15428
|
});
|
|
15429
|
+
if (!isNotice) {
|
|
15430
|
+
writeDirectChatPendingInboundMarker(
|
|
15431
|
+
DIRECT_CHAT_PENDING_INBOUND_DIR,
|
|
15432
|
+
msg.session_id,
|
|
15433
|
+
msg.id
|
|
15434
|
+
);
|
|
15435
|
+
}
|
|
15364
15436
|
if (!isNotice && msg.sender_id) {
|
|
15365
15437
|
writeTurnInitiatorMarker({
|
|
15366
15438
|
channel: "direct-chat",
|
|
@@ -15450,7 +15522,7 @@ var doorbellWatcher = null;
|
|
|
15450
15522
|
var safetyNetTimer = null;
|
|
15451
15523
|
if (DOORBELL_ENABLED && DIRECT_CHAT_AGENT_DIR) {
|
|
15452
15524
|
try {
|
|
15453
|
-
|
|
15525
|
+
mkdirSync4(DIRECT_CHAT_AGENT_DIR, { recursive: true });
|
|
15454
15526
|
} catch {
|
|
15455
15527
|
}
|
|
15456
15528
|
const sessionState = readDirectChatSessionState(DIRECT_CHAT_AGENT_DIR, Date.now());
|
package/dist/mcp/origami.js
CHANGED
|
@@ -39592,7 +39592,8 @@ var WAITING_KINDS = [
|
|
|
39592
39592
|
"pr-merged",
|
|
39593
39593
|
"human",
|
|
39594
39594
|
"external",
|
|
39595
|
-
"other"
|
|
39595
|
+
"other",
|
|
39596
|
+
"approval"
|
|
39596
39597
|
];
|
|
39597
39598
|
var WAITING_KIND_SET = new Set(WAITING_KINDS);
|
|
39598
39599
|
|
|
@@ -39985,6 +39986,16 @@ var FLAG_REGISTRY = [
|
|
|
39985
39986
|
defaultValue: false,
|
|
39986
39987
|
envVar: "AGT_LIVE_STREAM_PRODUCER_ENABLED"
|
|
39987
39988
|
},
|
|
39989
|
+
{
|
|
39990
|
+
key: "auto-provision-agt-live",
|
|
39991
|
+
description: "Auto-provision the Augmented Live integration (free tier, watermarked) into every NEW organization as an org-scoped install (ENG-7819). Consumed in TWO places: the seed_default_live_integration AFTER INSERT trigger on organizations reads the EXPLICIT feature_flags row (a plpgsql trigger cannot see this compiled default, so dark = no row = trigger no-ops; flipping the flag on this page writes the row the trigger reads - GLOBAL value only, per-org overrides are not consulted by the trigger), and the POST /organizations route evaluates it normally to send the owner provisioning notice. Restricted-posture orgs are skipped; opt-out (remove/block) is permanent - no reconciler. Boolean gate; ships dark. Pre-flip gates: docs/operator/default-integrations-admission.md.",
|
|
39992
|
+
flagType: "boolean",
|
|
39993
|
+
defaultValue: false,
|
|
39994
|
+
// Grants every new open org a public-publishing capability by default;
|
|
39995
|
+
// flipping it on is fleet-shaping and worth an explicit confirm (ADR-0022
|
|
39996
|
+
// §4, same treatment as augmented-support-auto-provision).
|
|
39997
|
+
sensitive: true
|
|
39998
|
+
},
|
|
39988
39999
|
{
|
|
39989
40000
|
key: "admin-live-pane",
|
|
39990
40001
|
description: "Live agent pane streaming on the platform-admin surfaces (ENG-6588): the agent Diagnostics tab and the /admin embed poll GET /admin/agents/:id/pane (tmux capture-pane over SSM) ~every 3s for a bounded window. Boolean gate; ships dark; when OFF the route returns feature_disabled and the UI falls back to the 30s static diagnostics snapshot. It is the no-deploy kill switch bounding the shared-SSM blast radius (SSM SendCommand throttles account-wide, shared with incident-response runbooks).",
|
|
@@ -36,7 +36,7 @@ import {
|
|
|
36
36
|
writeDirectChatSessionState,
|
|
37
37
|
writeEgressAllowlist,
|
|
38
38
|
writePersistentClaudeWrapper
|
|
39
|
-
} from "./chunk-
|
|
39
|
+
} from "./chunk-GAWNDPGM.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-5IV24YKT.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
paneLogPath
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-GAWNDPGM.js";
|
|
4
4
|
import "./chunk-XWVM4KPK.js";
|
|
5
5
|
|
|
6
6
|
// src/lib/responsiveness-probe.ts
|
|
@@ -427,4 +427,4 @@ export {
|
|
|
427
427
|
readAndResetSlackReplyBindingClassifications,
|
|
428
428
|
readAndResetSlackReplyTargetClassifications
|
|
429
429
|
};
|
|
430
|
-
//# sourceMappingURL=responsiveness-probe-
|
|
430
|
+
//# sourceMappingURL=responsiveness-probe-TTGD44MW.js.map
|