@integrity-labs/agt-cli 0.28.86 → 0.28.88

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-ZAKXWRX7.js");
103
+ const { resolveClaudeBinary } = await import("./persistent-session-OMLGMEGO.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-O5PHMHMF.js.map
376
+ //# sourceMappingURL=claude-pair-runtime-RIVCQTC3.js.map
@@ -28,7 +28,7 @@ import {
28
28
  requireHost,
29
29
  safeWriteJsonAtomic,
30
30
  setConfigHash
31
- } from "../chunk-3EZHAJGB.js";
31
+ } from "../chunk-ULHJX4A2.js";
32
32
  import {
33
33
  getProjectDir as getProjectDir2,
34
34
  getReadyTasks,
@@ -66,7 +66,7 @@ import {
66
66
  takeWatchdogGiveUpCount,
67
67
  takeZombieDetection,
68
68
  transcriptActivityAgeSeconds
69
- } from "../chunk-OZWBVM7M.js";
69
+ } from "../chunk-5Z43ORR6.js";
70
70
  import {
71
71
  FLAGS_SCHEMA_VERSION,
72
72
  FLAG_REGISTRY,
@@ -100,7 +100,7 @@ import {
100
100
  resolveDmTarget,
101
101
  sumTranscriptUsageInWindow,
102
102
  wrapScheduledTaskPrompt
103
- } from "../chunk-E5TGFEDQ.js";
103
+ } from "../chunk-3G2D4VXI.js";
104
104
  import {
105
105
  parsePsRows,
106
106
  reapOrphanChannelMcps
@@ -853,11 +853,11 @@ function decideOnboardingDrive(step, marker, nowMs, reinjectIntervalMs = ONBOARD
853
853
  const sameStep = marker?.step === step;
854
854
  const stale = sameStep && nowMs - marker.injectedAtMs >= reinjectIntervalMs;
855
855
  if (!sameStep || stale) {
856
- return { inject: true, clearMarker: false, nextMarker: { step, injectedAtMs: nowMs } };
856
+ return { inject: true, clearMarker: false, nextMarker: { step, injectedAtMs: nowMs }, reminder: stale };
857
857
  }
858
- return { inject: false, clearMarker: false, nextMarker: marker };
858
+ return { inject: false, clearMarker: false, nextMarker: marker, reminder: false };
859
859
  }
860
- return { inject: false, clearMarker: marker !== null, nextMarker: null };
860
+ return { inject: false, clearMarker: marker !== null, nextMarker: null, reminder: false };
861
861
  }
862
862
  var AREA_DIRECTIVE = {
863
863
  framing: "Frame the work \u2014 ask your manager what matters in week one and what success looks like, then record it with memory_save",
@@ -865,10 +865,19 @@ var AREA_DIRECTIVE = {
865
865
  integrations: "Wire up your tools \u2014 ask your manager which integrations your role uses and request access to the ones they confirm (connecting is a human OAuth step)",
866
866
  reporting: "Agree how you keep your manager posted \u2014 settle on a cadence and channel, then create a recurring report scheduled task for it"
867
867
  };
868
- function buildOnboardingDirective(step, completed = []) {
868
+ function channelLabel(channel) {
869
+ return channel.kind === "slack" ? "Slack" : "Telegram";
870
+ }
871
+ function buildOnboardingDirective(step, completed = [], opts = {}) {
872
+ const { channel, reminder = false } = opts;
869
873
  const doneAreas = completed.filter(isOnboardingArea);
870
874
  const alreadyCovered = doneAreas.length > 0 ? `You've already covered ${doneAreas.join(", ")} \u2014 re-orient, don't re-ask about those. ` : "";
871
- return `\u{1F680} Onboarding (${step}): your self-onboarding is active and waiting on you. ` + alreadyCovered + `Call the \`onboarding_get\` tool now to see this area's questions and full instructions, then proceed. ${AREA_DIRECTIVE[step]}. Advance with \`onboarding_advance\` (ADVANCE) once this area is done.`;
875
+ const where = channel ? `your manager in ${channelLabel(channel)} (the channel onboarding was triggered from)` : "your manager over your usual channel";
876
+ const askAndWait = `Ask ${where} this area's question and WAIT for their reply. Do NOT self-answer, and do NOT call \`onboarding_advance\` until they respond. ${AREA_DIRECTIVE[step]} only once they have. `;
877
+ if (reminder) {
878
+ return `\u23F3 Onboarding (${step}): still waiting on your manager's answer for this area. If you haven't asked yet, ask now; otherwise give them a gentle nudge, but don't move on without a reply. ` + askAndWait + `Advance with \`onboarding_advance\` (ADVANCE) once this area is done.`;
879
+ }
880
+ return `\u{1F680} Onboarding (${step}): your self-onboarding is active and waiting on you. ` + alreadyCovered + `Call the \`onboarding_get\` tool now to see this area's questions and full instructions, then proceed. ` + askAndWait + `Advance with \`onboarding_advance\` (ADVANCE) once this area is done.`;
872
881
  }
873
882
  function onboardingNudgeReachedSession(result) {
874
883
  return result.delivered || result.fallbackUsed;
@@ -6886,7 +6895,7 @@ var cachedMaintenanceWindow = null;
6886
6895
  var lastVersionCheckAt = 0;
6887
6896
  var VERSION_CHECK_INTERVAL_MS = 5 * 60 * 1e3;
6888
6897
  var lastResponsivenessProbeAt = 0;
6889
- var agtCliVersion = true ? "0.28.86" : "dev";
6898
+ var agtCliVersion = true ? "0.28.88" : "dev";
6890
6899
  function resolveBrewPath(execFileSync4) {
6891
6900
  try {
6892
6901
  const out = execFileSync4("which", ["brew"], { timeout: 5e3 }).toString().trim();
@@ -7997,7 +8006,7 @@ async function pollCycle() {
7997
8006
  }
7998
8007
  try {
7999
8008
  const { detectHostSecurity } = await import("../host-security-6PDFG7F5.js");
8000
- const { collectDiagnostics } = await import("../persistent-session-ZAKXWRX7.js");
8009
+ const { collectDiagnostics } = await import("../persistent-session-OMLGMEGO.js");
8001
8010
  const diagCodeNames = [...agentState.persistentSessionAgents];
8002
8011
  const agentDiagnostics = diagCodeNames.length > 0 ? collectDiagnostics(diagCodeNames) : void 0;
8003
8012
  let tailscaleHostname;
@@ -8098,7 +8107,7 @@ async function pollCycle() {
8098
8107
  const {
8099
8108
  collectResponsivenessProbes,
8100
8109
  getResponsivenessIntervalMs
8101
- } = await import("../responsiveness-probe-NKH4VYGR.js");
8110
+ } = await import("../responsiveness-probe-ANX4EOCH.js");
8102
8111
  const probeIntervalMs = getResponsivenessIntervalMs();
8103
8112
  if (now - lastResponsivenessProbeAt > probeIntervalMs) {
8104
8113
  const probeCodeNames = [...agentState.persistentSessionAgents];
@@ -8130,7 +8139,7 @@ async function pollCycle() {
8130
8139
  collectResponsivenessProbes,
8131
8140
  livePendingInboundOldestAgeSeconds,
8132
8141
  parkPendingInbound
8133
- } = await import("../responsiveness-probe-NKH4VYGR.js");
8142
+ } = await import("../responsiveness-probe-ANX4EOCH.js");
8134
8143
  const { getProjectDir: wedgeProjectDir } = await import("../claude-scheduler-FATCLHDM.js");
8135
8144
  const wedgeNow = /* @__PURE__ */ new Date();
8136
8145
  const liveAgents = agentState.persistentSessionAgents;
@@ -10398,7 +10407,12 @@ In progress for ${age} minutes \u2014 auto-failed`).catch(() => {
10398
10407
  const injectResult = await injectMessageWithStatus(
10399
10408
  agent.code_name,
10400
10409
  "system",
10401
- buildOnboardingDirective(obStep, obState.completed),
10410
+ // ENG-6583: anchor the ask to the channel onboarding was triggered
10411
+ // from, and phrase a staleness re-fire as a gentle reminder.
10412
+ buildOnboardingDirective(obStep, obState.completed, {
10413
+ channel: obState.channel,
10414
+ reminder: decision.reminder
10415
+ }),
10402
10416
  { task_name: "onboarding" },
10403
10417
  log
10404
10418
  ).catch(() => ({ delivered: false, fallbackUsed: false }));
@@ -11599,7 +11613,7 @@ async function processClaudePairSessions(agents) {
11599
11613
  killPairSession,
11600
11614
  pairTmuxSession,
11601
11615
  finalizeClaudePairOnboarding
11602
- } = await import("../claude-pair-runtime-O5PHMHMF.js");
11616
+ } = await import("../claude-pair-runtime-RIVCQTC3.js");
11603
11617
  for (const pairId of pendingResp.cancelled_pair_ids ?? []) {
11604
11618
  log(`[claude-pair] sweeping orphan tmux session for pair ${pairId.slice(0, 8)}`);
11605
11619
  const killed = await killPairSession(pairTmuxSession(pairId));