@integrity-labs/agt-cli 0.27.66 → 0.27.68

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-BN3PGV3A.js");
103
+ const { resolveClaudeBinary } = await import("./persistent-session-2WJIWIMQ.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-R7PGK4LT.js.map
376
+ //# sourceMappingURL=claude-pair-runtime-6GSA5KRH.js.map
@@ -14,8 +14,9 @@ import {
14
14
  provisionIsolationHook,
15
15
  provisionOrientHook,
16
16
  provisionStopHook,
17
- requireHost
18
- } from "../chunk-TIS3QVYS.js";
17
+ requireHost,
18
+ safeWriteJsonAtomic
19
+ } from "../chunk-GBUPVHIR.js";
19
20
  import {
20
21
  getProjectDir as getProjectDir2,
21
22
  getReadyTasks,
@@ -25,6 +26,7 @@ import {
25
26
  } from "../chunk-HR5T2RQF.js";
26
27
  import {
27
28
  buildAllowedTools,
29
+ formatMissingVar,
28
30
  getLastFailureContext,
29
31
  getProjectDir,
30
32
  getSessionState,
@@ -37,6 +39,7 @@ import {
37
39
  paneLogPath,
38
40
  peekCurrentSession,
39
41
  prepareForRespawn,
42
+ probeMcpEnvSubstitution,
40
43
  readPaneLogTail,
41
44
  resetRestartCount,
42
45
  resolveClaudeBinary,
@@ -47,7 +50,7 @@ import {
47
50
  stopAllSessionsAndWait,
48
51
  stopPersistentSession,
49
52
  takeZombieDetection
50
- } from "../chunk-CF3SEPE3.js";
53
+ } from "../chunk-DA3KY3D2.js";
51
54
  import {
52
55
  KANBAN_CHECK_COMMAND,
53
56
  appendDmFooter,
@@ -70,7 +73,7 @@ import {
70
73
  resolveConnectivityProbe,
71
74
  resolveDmTarget,
72
75
  wrapScheduledTaskPrompt
73
- } from "../chunk-PM3CC2SJ.js";
76
+ } from "../chunk-KPD5KJY7.js";
74
77
  import {
75
78
  parsePsRows,
76
79
  reapOrphanChannelMcps
@@ -3744,7 +3747,7 @@ var cachedMaintenanceWindow = null;
3744
3747
  var lastVersionCheckAt = 0;
3745
3748
  var VERSION_CHECK_INTERVAL_MS = 5 * 60 * 1e3;
3746
3749
  var lastResponsivenessProbeAt = 0;
3747
- var agtCliVersion = true ? "0.27.66" : "dev";
3750
+ var agtCliVersion = true ? "0.27.68" : "dev";
3748
3751
  function resolveBrewPath(execFileSync4) {
3749
3752
  try {
3750
3753
  const out = execFileSync4("which", ["brew"], { timeout: 5e3 }).toString().trim();
@@ -4858,7 +4861,7 @@ async function pollCycle() {
4858
4861
  }
4859
4862
  try {
4860
4863
  const { detectHostSecurity } = await import("../host-security-6PDFG7F5.js");
4861
- const { collectDiagnostics } = await import("../persistent-session-BN3PGV3A.js");
4864
+ const { collectDiagnostics } = await import("../persistent-session-2WJIWIMQ.js");
4862
4865
  const diagCodeNames = [...agentState.persistentSessionAgents];
4863
4866
  const agentDiagnostics = diagCodeNames.length > 0 ? collectDiagnostics(diagCodeNames) : void 0;
4864
4867
  let tailscaleHostname;
@@ -4931,7 +4934,7 @@ async function pollCycle() {
4931
4934
  const {
4932
4935
  collectResponsivenessProbes,
4933
4936
  getResponsivenessIntervalMs
4934
- } = await import("../responsiveness-probe-QR6VWUKX.js");
4937
+ } = await import("../responsiveness-probe-RAWYP7LQ.js");
4935
4938
  const probeIntervalMs = getResponsivenessIntervalMs();
4936
4939
  if (now - lastResponsivenessProbeAt > probeIntervalMs) {
4937
4940
  const probeCodeNames = [...agentState.persistentSessionAgents];
@@ -5498,7 +5501,11 @@ async function processAgent(agent, agentStates) {
5498
5501
  for (const file of changedFiles) {
5499
5502
  const filePath = join7(agentDir, file.relativePath);
5500
5503
  mkdirSync4(dirname3(filePath), { recursive: true });
5501
- writeFileSync4(filePath, file.content);
5504
+ if (file.relativePath === ".mcp.json") {
5505
+ safeWriteJsonAtomic(filePath, file.content, { mode: 384 });
5506
+ } else {
5507
+ writeFileSync4(filePath, file.content);
5508
+ }
5502
5509
  }
5503
5510
  try {
5504
5511
  const provSkillsDir = join7(agentDir, ".claude", "skills");
@@ -7222,6 +7229,13 @@ async function executeAndProcessClaudeTask(codeName, agentId, task, prompt) {
7222
7229
  runId = startResult.run_id;
7223
7230
  kanbanItemId = startResult.kanban_item_id;
7224
7231
  if (runId) childEnv["AGT_RUN_ID"] = runId;
7232
+ for (const f of probeMcpEnvSubstitution({
7233
+ mcpConfigPath,
7234
+ envIntegrationsPath: envIntPath,
7235
+ baseEnv: childEnv
7236
+ })) {
7237
+ log(`[claude-scheduler] ${formatMissingVar(f)} agent=${codeName}`);
7238
+ }
7225
7239
  const claudeKind = task.templateId === "kanban-work" ? "kanban-work" : "scheduled-task";
7226
7240
  const { stdout, stderr } = await execFilePromiseLong(resolveClaudeBinary(), claudeArgs, {
7227
7241
  cwd: projectDir,
@@ -8066,6 +8080,13 @@ ${escapeXml(msg.content)}
8066
8080
  } catch (err) {
8067
8081
  throw new Error(`Auth resolve failed for '${agent.codeName}': ${err.message}`);
8068
8082
  }
8083
+ for (const f of probeMcpEnvSubstitution({
8084
+ mcpConfigPath,
8085
+ envIntegrationsPath: envIntPath,
8086
+ baseEnv: childEnv
8087
+ })) {
8088
+ log(`[direct-chat] ${formatMissingVar(f)} agent=${agent.codeName}`);
8089
+ }
8069
8090
  const { stdout } = await execFilePromiseLong(resolveClaudeBinary(), chatArgs, {
8070
8091
  cwd: projDir,
8071
8092
  stdin: "ignore",
@@ -9076,7 +9097,7 @@ async function processClaudePairSessions(agents) {
9076
9097
  killPairSession,
9077
9098
  pairTmuxSession,
9078
9099
  finalizeClaudePairOnboarding
9079
- } = await import("../claude-pair-runtime-R7PGK4LT.js");
9100
+ } = await import("../claude-pair-runtime-6GSA5KRH.js");
9080
9101
  for (const pairId of pendingResp.cancelled_pair_ids ?? []) {
9081
9102
  log(`[claude-pair] sweeping orphan tmux session for pair ${pairId.slice(0, 8)}`);
9082
9103
  const killed = await killPairSession(pairTmuxSession(pairId));