@integrity-labs/agt-cli 0.27.159 → 0.27.161

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-EWHFMQRC.js");
103
+ const { resolveClaudeBinary } = await import("./persistent-session-W6V2DO3R.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-FTU6NTBF.js.map
376
+ //# sourceMappingURL=claude-pair-runtime-G4MYOINJ.js.map
@@ -1,10 +1,13 @@
1
1
  import {
2
2
  ApiError,
3
3
  CHANNEL_SECRET_ENV_KEYS,
4
+ HostFlagStore,
4
5
  INTEGRATIONS_SECTION_END,
5
6
  INTEGRATIONS_SECTION_START,
6
7
  SUPERVISOR_RESTART_EXIT_CODE,
7
8
  api,
9
+ atomicWriteFileSync,
10
+ defaultFlagsCachePath,
8
11
  estimateActiveTasksTokens,
9
12
  exchangeApiKey,
10
13
  extractCommandNotFound,
@@ -19,7 +22,7 @@ import {
19
22
  provisionStopHook,
20
23
  requireHost,
21
24
  safeWriteJsonAtomic
22
- } from "../chunk-F5ZAIJHI.js";
25
+ } from "../chunk-V5RAWFRT.js";
23
26
  import {
24
27
  getProjectDir as getProjectDir2,
25
28
  getReadyTasks,
@@ -61,8 +64,9 @@ import {
61
64
  takeWatchdogGiveUpCount,
62
65
  takeZombieDetection,
63
66
  transcriptActivityAgeSeconds
64
- } from "../chunk-GJVY7WKU.js";
67
+ } from "../chunk-7RCGHACC.js";
65
68
  import {
69
+ FLAGS_SCHEMA_VERSION,
66
70
  KANBAN_CHECK_COMMAND,
67
71
  MAX_AVATAR_ENV_URL_BYTES,
68
72
  SUPPRESS_SENTINEL,
@@ -91,7 +95,7 @@ import {
91
95
  resolveDmTarget,
92
96
  worseConnectivityOutcome,
93
97
  wrapScheduledTaskPrompt
94
- } from "../chunk-5E5B4T7K.js";
98
+ } from "../chunk-BC26YO7P.js";
95
99
  import {
96
100
  parsePsRows,
97
101
  reapOrphanChannelMcps
@@ -99,10 +103,10 @@ import {
99
103
 
100
104
  // src/lib/manager-worker.ts
101
105
  import { createHash as createHash3 } from "crypto";
102
- import { readFileSync as readFileSync9, writeFileSync as writeFileSync4, appendFileSync, mkdirSync as mkdirSync4, chmodSync, existsSync as existsSync5, rmSync as rmSync2, readdirSync as readdirSync4, statSync as statSync3, unlinkSync, copyFileSync } from "fs";
106
+ import { readFileSync as readFileSync9, writeFileSync as writeFileSync4, appendFileSync, mkdirSync as mkdirSync3, chmodSync, existsSync as existsSync5, rmSync as rmSync2, readdirSync as readdirSync4, statSync as statSync3, unlinkSync, copyFileSync } from "fs";
103
107
  import https from "https";
104
108
  import { execFileSync as syncExecFile } from "child_process";
105
- import { join as join9, dirname as dirname3 } from "path";
109
+ import { join as join9, dirname as dirname2 } from "path";
106
110
  import { homedir as homedir5 } from "os";
107
111
  import { fileURLToPath } from "url";
108
112
 
@@ -752,40 +756,6 @@ function extractSlackBehaviourSubset(config2) {
752
756
  // src/lib/channel-quarantine.ts
753
757
  import { readFileSync } from "fs";
754
758
  import { join } from "path";
755
-
756
- // src/lib/atomic-write.ts
757
- import { closeSync, fsyncSync, openSync, writeSync, renameSync, mkdirSync } from "fs";
758
- import { dirname } from "path";
759
- function atomicWriteFileSync(path, data) {
760
- const dirPath = dirname(path);
761
- const tmpPath = `${path}.tmp.${process.pid}.${Math.random().toString(36).slice(2, 8)}`;
762
- try {
763
- mkdirSync(dirPath, { recursive: true });
764
- } catch {
765
- }
766
- const fd = openSync(tmpPath, "w", 420);
767
- try {
768
- writeSync(fd, data);
769
- try {
770
- fsyncSync(fd);
771
- } catch {
772
- }
773
- } finally {
774
- closeSync(fd);
775
- }
776
- renameSync(tmpPath, path);
777
- try {
778
- const dirFd = openSync(dirPath, "r");
779
- try {
780
- fsyncSync(dirFd);
781
- } finally {
782
- closeSync(dirFd);
783
- }
784
- } catch {
785
- }
786
- }
787
-
788
- // src/lib/channel-quarantine.ts
789
759
  var ESSENTIAL_CHANNEL_KEYS = /* @__PURE__ */ new Set(["direct-chat", "augmented"]);
790
760
  var OPTIONAL_CHANNEL_KEYS = /* @__PURE__ */ new Set([
791
761
  "telegram",
@@ -1391,8 +1361,8 @@ function runCliProbe(binary, args, opts = {}) {
1391
1361
  }
1392
1362
 
1393
1363
  // src/lib/self-update-coalesce.ts
1394
- import { readFileSync as readFileSync2, writeFileSync, mkdirSync as mkdirSync2 } from "fs";
1395
- import { dirname as dirname2 } from "path";
1364
+ import { readFileSync as readFileSync2, writeFileSync, mkdirSync } from "fs";
1365
+ import { dirname } from "path";
1396
1366
  var DEFAULT_SELF_UPDATE_COALESCE_MS = 30 * 60 * 1e3;
1397
1367
  function resolveCoalesceWindowMs(env = process.env) {
1398
1368
  const raw = env.AGT_SELF_UPDATE_COALESCE_MS;
@@ -1414,7 +1384,7 @@ function readLastSelfUpdateAppliedMs(markerPath, now = Date.now(), read = (p) =>
1414
1384
  return v;
1415
1385
  }
1416
1386
  function stampLastSelfUpdateApplied(markerPath, now = Date.now(), write = (p, v) => {
1417
- mkdirSync2(dirname2(p), { recursive: true });
1387
+ mkdirSync(dirname(p), { recursive: true });
1418
1388
  writeFileSync(p, v);
1419
1389
  }) {
1420
1390
  try {
@@ -3655,7 +3625,7 @@ function partitionActionableByPoison(actionable, states, config2) {
3655
3625
  }
3656
3626
 
3657
3627
  // src/lib/restart-flags.ts
3658
- import { existsSync as existsSync4, mkdirSync as mkdirSync3, readdirSync as readdirSync3, readFileSync as readFileSync8, renameSync as renameSync2, rmSync, writeFileSync as writeFileSync3 } from "fs";
3628
+ import { existsSync as existsSync4, mkdirSync as mkdirSync2, readdirSync as readdirSync3, readFileSync as readFileSync8, renameSync, rmSync, writeFileSync as writeFileSync3 } from "fs";
3659
3629
  import { homedir as homedir4 } from "os";
3660
3630
  import { join as join8 } from "path";
3661
3631
  import { randomUUID } from "crypto";
@@ -4397,6 +4367,7 @@ var AUTO_RESUME_SELF_WINDOW_MS = 12e4;
4397
4367
  var autoResumeLoggedSkips = /* @__PURE__ */ new Map();
4398
4368
  var autoResumeStandDowns = /* @__PURE__ */ new Set();
4399
4369
  var killPausedCodeNames = /* @__PURE__ */ new Set();
4370
+ var BACK_ONLINE_GREETING_GUIDANCE = " When you reconnect, if you tell anyone you are back, start that message with a \u{1F44B} wave emoji and do not use a \u{1F7E2} green-light emoji.";
4400
4371
  function maybeAutoResume(agent) {
4401
4372
  const codeName = agent.code_name;
4402
4373
  if (autoResumeInFlight.has(codeName)) return;
@@ -4924,7 +4895,7 @@ var cachedMaintenanceWindow = null;
4924
4895
  var lastVersionCheckAt = 0;
4925
4896
  var VERSION_CHECK_INTERVAL_MS = 5 * 60 * 1e3;
4926
4897
  var lastResponsivenessProbeAt = 0;
4927
- var agtCliVersion = true ? "0.27.159" : "dev";
4898
+ var agtCliVersion = true ? "0.27.161" : "dev";
4928
4899
  function resolveBrewPath(execFileSync4) {
4929
4900
  try {
4930
4901
  const out = execFileSync4("which", ["brew"], { timeout: 5e3 }).toString().trim();
@@ -5019,7 +4990,7 @@ async function ensureToolkitCli(toolkitSlug) {
5019
4990
  toolkitCliEnsured.add(toolkitSlug);
5020
4991
  return;
5021
4992
  }
5022
- brewBinDir = dirname3(brewPath);
4993
+ brewBinDir = dirname2(brewPath);
5023
4994
  const isRoot = typeof process.getuid === "function" && process.getuid() === 0;
5024
4995
  log(`[toolkit-install] ${toolkitSlug}: installing via brew (${pkg})\u2026`);
5025
4996
  if (isRoot) {
@@ -5117,7 +5088,7 @@ function ensureClaudeManagedSettings(path = claudeManagedSettingsPath()) {
5117
5088
  }
5118
5089
  if (settings.channelsEnabled === true) return "ok";
5119
5090
  settings.channelsEnabled = true;
5120
- mkdirSync4(dirname3(path), { recursive: true });
5091
+ mkdirSync3(dirname2(path), { recursive: true });
5121
5092
  writeFileSync4(path, `${JSON.stringify(settings, null, 2)}
5122
5093
  `);
5123
5094
  log(`[managed-settings] set channelsEnabled:true in ${path} (ENG-5786 \u2014 unblocks Claude Code channels)`);
@@ -5159,7 +5130,7 @@ async function ensureFrameworkBinary(frameworkId) {
5159
5130
  log(`Claude Code install failed: ${err.message}`);
5160
5131
  return;
5161
5132
  }
5162
- const brewBinDir = dirname3(brewPath);
5133
+ const brewBinDir = dirname2(brewPath);
5163
5134
  if (!process.env.PATH?.split(":").includes(brewBinDir)) {
5164
5135
  process.env.PATH = `${brewBinDir}:${process.env.PATH ?? ""}`;
5165
5136
  }
@@ -5538,7 +5509,7 @@ function ensureEvalEmptyMcpConfig() {
5538
5509
  if (evalEmptyMcpConfigPath && existsSync5(evalEmptyMcpConfigPath)) return evalEmptyMcpConfigPath;
5539
5510
  const dir = join9(homedir5(), ".augmented");
5540
5511
  try {
5541
- mkdirSync4(dir, { recursive: true });
5512
+ mkdirSync3(dir, { recursive: true });
5542
5513
  } catch {
5543
5514
  }
5544
5515
  const p = join9(dir, ".eval-empty-mcp.json");
@@ -5622,7 +5593,7 @@ function loadGatewayPorts() {
5622
5593
  }
5623
5594
  }
5624
5595
  function saveGatewayPorts(ports) {
5625
- mkdirSync4(AUGMENTED_DIR, { recursive: true });
5596
+ mkdirSync3(AUGMENTED_DIR, { recursive: true });
5626
5597
  writeFileSync4(GATEWAY_PORTS_FILE, JSON.stringify(ports, null, 2));
5627
5598
  }
5628
5599
  function allocatePort(codeName) {
@@ -5665,6 +5636,14 @@ function channelQuarantineStore() {
5665
5636
  }
5666
5637
  return _channelQuarantineStore;
5667
5638
  }
5639
+ var _hostFlagStore = null;
5640
+ function hostFlagStore() {
5641
+ if (!_hostFlagStore) {
5642
+ const dir = config?.configDir ?? join9(process.env["HOME"] ?? "/tmp", ".augmented");
5643
+ _hostFlagStore = new HostFlagStore({ cachePath: defaultFlagsCachePath(dir), log });
5644
+ }
5645
+ return _hostFlagStore;
5646
+ }
5668
5647
  function channelQuarantineMode() {
5669
5648
  const v = process.env["AGT_CHANNEL_QUARANTINE_MODE"]?.toLowerCase();
5670
5649
  if (v === "off") return "off";
@@ -5716,7 +5695,7 @@ function log(msg) {
5716
5695
  if (!managerLogPath) {
5717
5696
  try {
5718
5697
  managerLogPath = join9(homedir5(), ".augmented", "manager.log");
5719
- mkdirSync4(dirname3(managerLogPath), { recursive: true });
5698
+ mkdirSync3(dirname2(managerLogPath), { recursive: true });
5720
5699
  if (existsSync5(managerLogPath)) {
5721
5700
  chmodSync(managerLogPath, 384);
5722
5701
  }
@@ -5849,7 +5828,7 @@ async function migrateToProfiles() {
5849
5828
  const profileAuthDir = join9(profileDir, "agents", codeName, "agent");
5850
5829
  const authFile = join9(sharedAuthDir, "auth-profiles.json");
5851
5830
  if (existsSync5(authFile)) {
5852
- mkdirSync4(profileAuthDir, { recursive: true });
5831
+ mkdirSync3(profileAuthDir, { recursive: true });
5853
5832
  const authContent = readFileSync9(authFile, "utf-8");
5854
5833
  writeFileSync4(join9(profileAuthDir, "auth-profiles.json"), authContent);
5855
5834
  }
@@ -6122,7 +6101,7 @@ async function pollCycle() {
6122
6101
  }
6123
6102
  try {
6124
6103
  const { detectHostSecurity } = await import("../host-security-6PDFG7F5.js");
6125
- const { collectDiagnostics } = await import("../persistent-session-EWHFMQRC.js");
6104
+ const { collectDiagnostics } = await import("../persistent-session-W6V2DO3R.js");
6126
6105
  const diagCodeNames = [...agentState.persistentSessionAgents];
6127
6106
  const agentDiagnostics = diagCodeNames.length > 0 ? collectDiagnostics(diagCodeNames) : void 0;
6128
6107
  let tailscaleHostname;
@@ -6185,11 +6164,18 @@ async function pollCycle() {
6185
6164
  // ALL channel inbound — the API opens a host-scoped alert on it.
6186
6165
  // Omitted (undefined) on hosts that haven't run the assertion
6187
6166
  // (non-claude-code frameworks).
6188
- channels_setting_status: lastManagedSettingsStatus ?? void 0
6167
+ channels_setting_status: lastManagedSettingsStatus ?? void 0,
6168
+ // ENG-6251: capability advertisement — the flags schema version this
6169
+ // CLI compiled with, so the admin UI can show flip reach across a
6170
+ // mixed-CLI fleet (an older CLI sends an older fingerprint).
6171
+ flags_schema_version: FLAGS_SCHEMA_VERSION
6189
6172
  });
6190
6173
  if (hbResp?.maintenance_window) {
6191
6174
  cachedMaintenanceWindow = hbResp.maintenance_window;
6192
6175
  }
6176
+ if (hbResp?.feature_flags) {
6177
+ hostFlagStore().applyHeartbeat(hbResp.feature_flags, hbResp.flags_schema_version);
6178
+ }
6193
6179
  try {
6194
6180
  if (decideMaintenanceWindowGate({ window: cachedMaintenanceWindow, now: /* @__PURE__ */ new Date() }) === "proceed") {
6195
6181
  const { maybeUpdateClaudeCode } = await import("../claude-code-updater-4E5T2X3Z.js");
@@ -6209,12 +6195,12 @@ async function pollCycle() {
6209
6195
  const {
6210
6196
  collectResponsivenessProbes,
6211
6197
  getResponsivenessIntervalMs
6212
- } = await import("../responsiveness-probe-SWHB27QI.js");
6198
+ } = await import("../responsiveness-probe-LY2H2XR5.js");
6213
6199
  const probeIntervalMs = getResponsivenessIntervalMs();
6214
6200
  if (now - lastResponsivenessProbeAt > probeIntervalMs) {
6215
6201
  const probeCodeNames = [...agentState.persistentSessionAgents];
6216
6202
  if (probeCodeNames.length > 0) {
6217
- const { takeAcpxExecFailureCount, creditAcpxExecFailureCount } = await import("../persistent-session-EWHFMQRC.js");
6203
+ const { takeAcpxExecFailureCount, creditAcpxExecFailureCount } = await import("../persistent-session-W6V2DO3R.js");
6218
6204
  const drainedGiveUps = /* @__PURE__ */ new Map();
6219
6205
  const drainedAcpxFailures = /* @__PURE__ */ new Map();
6220
6206
  const probes = collectResponsivenessProbes(probeCodeNames).map((p) => {
@@ -6248,7 +6234,7 @@ async function pollCycle() {
6248
6234
  collectResponsivenessProbes,
6249
6235
  livePendingInboundOldestAgeSeconds,
6250
6236
  parkPendingInbound
6251
- } = await import("../responsiveness-probe-SWHB27QI.js");
6237
+ } = await import("../responsiveness-probe-LY2H2XR5.js");
6252
6238
  const { getProjectDir: wedgeProjectDir } = await import("../claude-scheduler-FATCLHDM.js");
6253
6239
  const wedgeNow = /* @__PURE__ */ new Date();
6254
6240
  const liveAgents = agentState.persistentSessionAgents;
@@ -6960,7 +6946,7 @@ async function processAgent(agent, agentStates) {
6960
6946
  try {
6961
6947
  const artifacts = generateArtifacts(agent, refreshData, frameworkAdapter);
6962
6948
  const changedFiles = [];
6963
- mkdirSync4(agentDir, { recursive: true });
6949
+ mkdirSync3(agentDir, { recursive: true });
6964
6950
  for (const artifact of artifacts) {
6965
6951
  const filePath = join9(agentDir, artifact.relativePath);
6966
6952
  let existingHash;
@@ -7028,7 +7014,7 @@ async function processAgent(agent, agentStates) {
7028
7014
  log(`${verb} '${agent.code_name}': ${fileNames}`);
7029
7015
  for (const file of changedFiles) {
7030
7016
  const filePath = join9(agentDir, file.relativePath);
7031
- mkdirSync4(dirname3(filePath), { recursive: true });
7017
+ mkdirSync3(dirname2(filePath), { recursive: true });
7032
7018
  if (file.relativePath === ".mcp.json") {
7033
7019
  safeWriteJsonAtomic(filePath, file.content, { mode: 384 });
7034
7020
  } else {
@@ -7103,7 +7089,7 @@ async function processAgent(agent, agentStates) {
7103
7089
  const delivered = await injectMessage(
7104
7090
  agent.code_name,
7105
7091
  "system",
7106
- restartNotice,
7092
+ restartNotice + BACK_ONLINE_GREETING_GUIDANCE,
7107
7093
  { task_name: "model-update" },
7108
7094
  log
7109
7095
  ).catch(() => false);
@@ -7311,7 +7297,7 @@ async function processAgent(agent, agentStates) {
7311
7297
  const reason = reasonParts.join(" ");
7312
7298
  log(`[hot-reload] Channel set changed for '${agent.code_name}' (${reason}) \u2014 restarting session`);
7313
7299
  const restartNotice = restartDecision.added.length > 0 ? `New channels have been wired up (${restartDecision.added.join(", ")}). Note: channels require a session restart to attach their MCP servers as channel listeners. Your manager will restart your session shortly.` : `Channels were removed (${restartDecision.removed.join(", ")}). Your manager will restart your session shortly so the launch flags drop those channels.`;
7314
- const delivered = await injectMessage(agent.code_name, "system", restartNotice, { task_name: "channel-update" }, log).catch(() => false);
7300
+ const delivered = await injectMessage(agent.code_name, "system", restartNotice + BACK_ONLINE_GREETING_GUIDANCE, { task_name: "channel-update" }, log).catch(() => false);
7315
7301
  const delay = delivered ? 8e3 : 3e3;
7316
7302
  if (!delivered) {
7317
7303
  log(`[hot-reload] Inject notification unconfirmed for '${agent.code_name}' \u2014 proceeding with shorter delay`);
@@ -7339,7 +7325,7 @@ async function processAgent(agent, agentStates) {
7339
7325
  const delivered = await injectMessage(
7340
7326
  agent.code_name,
7341
7327
  "system",
7342
- notice,
7328
+ notice + BACK_ONLINE_GREETING_GUIDANCE,
7343
7329
  { task_name: "sender-policy-update" },
7344
7330
  log
7345
7331
  ).catch(() => false);
@@ -7383,7 +7369,7 @@ async function processAgent(agent, agentStates) {
7383
7369
  const behaviourDelivered = await injectMessage(
7384
7370
  agent.code_name,
7385
7371
  "system",
7386
- behaviourNotice,
7372
+ behaviourNotice + BACK_ONLINE_GREETING_GUIDANCE,
7387
7373
  { task_name: "channel-update" },
7388
7374
  log
7389
7375
  ).catch(() => false);
@@ -7431,7 +7417,7 @@ async function processAgent(agent, agentStates) {
7431
7417
  const slackBehaviourDelivered = await injectMessage(
7432
7418
  agent.code_name,
7433
7419
  "system",
7434
- slackBehaviourNotice,
7420
+ slackBehaviourNotice + BACK_ONLINE_GREETING_GUIDANCE,
7435
7421
  { task_name: "channel-update" },
7436
7422
  log
7437
7423
  ).catch(() => false);
@@ -7458,8 +7444,8 @@ async function processAgent(agent, agentStates) {
7458
7444
  try {
7459
7445
  const agentProvisionDir = agentDir;
7460
7446
  const projectDir = join9(homedir5(), ".augmented", agent.code_name, "project");
7461
- mkdirSync4(agentProvisionDir, { recursive: true });
7462
- mkdirSync4(projectDir, { recursive: true });
7447
+ mkdirSync3(agentProvisionDir, { recursive: true });
7448
+ mkdirSync3(projectDir, { recursive: true });
7463
7449
  const provisionMcpPath = join9(agentProvisionDir, ".mcp.json");
7464
7450
  const projectMcpPath = join9(projectDir, ".mcp.json");
7465
7451
  let mcpConfig = { mcpServers: {} };
@@ -7719,7 +7705,7 @@ async function processAgent(agent, agentStates) {
7719
7705
  const delivered = await injectMessage(
7720
7706
  agent.code_name,
7721
7707
  "system",
7722
- restartNotice,
7708
+ restartNotice + BACK_ONLINE_GREETING_GUIDANCE,
7723
7709
  { task_name: "mcp-update" },
7724
7710
  log
7725
7711
  ).catch(() => false);
@@ -10838,7 +10824,7 @@ async function processClaudePairSessions(agents) {
10838
10824
  killPairSession,
10839
10825
  pairTmuxSession,
10840
10826
  finalizeClaudePairOnboarding
10841
- } = await import("../claude-pair-runtime-FTU6NTBF.js");
10827
+ } = await import("../claude-pair-runtime-G4MYOINJ.js");
10842
10828
  for (const pairId of pendingResp.cancelled_pair_ids ?? []) {
10843
10829
  log(`[claude-pair] sweeping orphan tmux session for pair ${pairId.slice(0, 8)}`);
10844
10830
  const killed = await killPairSession(pairTmuxSession(pairId));
@@ -11220,7 +11206,7 @@ async function downloadMemories(agent, memoryDir, log2, { force }) {
11220
11206
  lastDownloadHash.set(agent.agent_id, responseHash);
11221
11207
  lastLocalFileHash.set(agent.agent_id, localListHash);
11222
11208
  if (dbMemories.memories?.length) {
11223
- mkdirSync4(memoryDir, { recursive: true });
11209
+ mkdirSync3(memoryDir, { recursive: true });
11224
11210
  let written = 0;
11225
11211
  let overwritten = 0;
11226
11212
  for (let i = 0; i < dbMemories.memories.length; i++) {
@@ -11389,6 +11375,7 @@ function startPolling() {
11389
11375
  running = true;
11390
11376
  void startCaffeinate();
11391
11377
  loadChannelHashCache2();
11378
+ hostFlagStore().init();
11392
11379
  log(`Starting poll loop (interval=${config.intervalMs}ms, configDir=${config.configDir})`);
11393
11380
  void killAllAgtTmuxSessions().catch(() => {
11394
11381
  }).then(() => migrateToProfiles()).then(() => {
@@ -11646,8 +11633,8 @@ function restartRunningChannelMcps(basenames) {
11646
11633
  }
11647
11634
  function deployMcpAssets() {
11648
11635
  const targetDir = join9(homedir5(), ".augmented", "_mcp");
11649
- mkdirSync4(targetDir, { recursive: true });
11650
- const moduleDir = dirname3(fileURLToPath(import.meta.url));
11636
+ mkdirSync3(targetDir, { recursive: true });
11637
+ const moduleDir = dirname2(fileURLToPath(import.meta.url));
11651
11638
  let mcpSourceDir = "";
11652
11639
  let dir = moduleDir;
11653
11640
  for (let i = 0; i < 6; i++) {
@@ -11656,7 +11643,7 @@ function deployMcpAssets() {
11656
11643
  mcpSourceDir = candidate;
11657
11644
  break;
11658
11645
  }
11659
- const parent = dirname3(dir);
11646
+ const parent = dirname2(dir);
11660
11647
  if (parent === dir) break;
11661
11648
  dir = parent;
11662
11649
  }
@@ -11765,6 +11752,7 @@ process.on("disconnect", () => {
11765
11752
  });
11766
11753
  });
11767
11754
  export {
11755
+ BACK_ONLINE_GREETING_GUIDANCE,
11768
11756
  ChildProcessError,
11769
11757
  SCHEDULED_CARD_DELIVERY_CONTRACT,
11770
11758
  __resetScheduledDeliveryDedupeForTest,