@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.
@@ -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-BICDYHOC.js");
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-BOFTEAQC.js.map
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-EQMRT6OT.js";
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-BSTFCC62.js";
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.327" : "dev";
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-BICDYHOC.js");
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-BICDYHOC.js");
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-FEAFPNUF.js");
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-FEAFPNUF.js");
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-BICDYHOC.js");
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-BICDYHOC.js");
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-BOFTEAQC.js");
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 existsSync2,
14281
- mkdirSync as mkdirSync2,
14341
+ existsSync as existsSync3,
14342
+ mkdirSync as mkdirSync3,
14282
14343
  readFileSync as readFileSync3,
14283
- renameSync as renameSync2,
14284
- unlinkSync,
14285
- writeFileSync as writeFileSync2
14344
+ renameSync as renameSync3,
14345
+ unlinkSync as unlinkSync2,
14346
+ writeFileSync as writeFileSync3
14286
14347
  } from "fs";
14287
- import { join as join3 } from "path";
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 = join3(agentDir, basename);
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
- mkdirSync2(agentDir, { recursive: true, mode: 448 });
14376
+ mkdirSync3(agentDir, { recursive: true, mode: 448 });
14316
14377
  const tmpPath = `${path}.${selfPid}.tmp`;
14317
14378
  const payload = { pid: selfPid, started_at: now() };
14318
- writeFileSync2(tmpPath, JSON.stringify(payload), { mode: 384 });
14319
- renameSync2(tmpPath, path);
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
- unlinkSync(lockPath);
14390
+ unlinkSync2(lockPath);
14330
14391
  } catch {
14331
14392
  }
14332
14393
  }
14333
14394
  function readLockHolder(path) {
14334
- if (!existsSync2(path)) return null;
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 join6 } from "path";
14410
+ import { join as join7 } from "path";
14350
14411
  import { randomUUID } from "crypto";
14351
14412
  import {
14352
14413
  watch,
14353
- mkdirSync as mkdirSync3,
14354
- writeFileSync as writeFileSync3,
14414
+ mkdirSync as mkdirSync4,
14415
+ writeFileSync as writeFileSync4,
14355
14416
  readFileSync as readFileSync5,
14356
- existsSync as existsSync4,
14357
- renameSync as renameSync3,
14358
- unlinkSync as unlinkSync2
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 join4 } from "path";
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 join4(homeDir, ".augmented", codeNameTrimmed, INBOUND_ATTACHMENTS_SUBDIR);
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 join4(dirname2(initiator), INBOUND_ATTACHMENTS_SUBDIR);
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 join4(homeDir, ".augmented", agentIdTrimmed, INBOUND_ATTACHMENTS_SUBDIR);
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 existsSync3, readFileSync as readFileSync4 } from "fs";
14536
+ import { existsSync as existsSync4, readFileSync as readFileSync4 } from "fs";
14476
14537
  import { homedir } from "os";
14477
- import { join as join5 } from "path";
14538
+ import { join as join6 } from "path";
14478
14539
  function defaultFlagsCachePath() {
14479
- return join5(homedir(), ".augmented", "flags-cache.json");
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 (!existsSync3(path)) return void 0;
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 ? join6(homedir2(), ".augmented", AGT_AGENT_ID) : null;
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 ? join6(homedir2(), ".augmented", AGT_AGENT_CODE_NAME, "channel-progress-heartbeat.json") : null;
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 || !existsSync4(PROGRESS_HEARTBEAT_PATH)) return null;
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
- mkdirSync3(join6(homedir2(), ".augmented", AGT_AGENT_CODE_NAME), { recursive: true });
14866
- writeFileSync3(tmp, serializeProgressHeartbeat(SEED_PROGRESS_STEP, Date.now()), { mode: 384 });
14867
- renameSync3(tmp, PROGRESS_HEARTBEAT_PATH);
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
- unlinkSync2(tmp);
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) => mkdirSync3(dir, { recursive: true }),
15024
- writeFile: (path, bytes) => writeFileSync3(path, bytes, { mode: 384 }),
15025
- joinPath: (...parts) => join6(...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
- mkdirSync3(DIRECT_CHAT_AGENT_DIR, { recursive: true });
15525
+ mkdirSync4(DIRECT_CHAT_AGENT_DIR, { recursive: true });
15454
15526
  } catch {
15455
15527
  }
15456
15528
  const sessionState = readDirectChatSessionState(DIRECT_CHAT_AGENT_DIR, Date.now());
@@ -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-BSTFCC62.js";
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-BICDYHOC.js.map
80
+ //# sourceMappingURL=persistent-session-5IV24YKT.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  paneLogPath
3
- } from "./chunk-BSTFCC62.js";
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-FEAFPNUF.js.map
430
+ //# sourceMappingURL=responsiveness-probe-TTGD44MW.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@integrity-labs/agt-cli",
3
- "version": "0.28.327",
3
+ "version": "0.28.328",
4
4
  "description": "Augmented Team CLI — agent provisioning and management",
5
5
  "type": "module",
6
6
  "engines": {