@integrity-labs/agt-cli 0.28.75 → 0.28.77

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-ESLAJLKA.js");
103
+ const { resolveClaudeBinary } = await import("./persistent-session-Z3RHQRVC.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-FLD3X32S.js.map
376
+ //# sourceMappingURL=claude-pair-runtime-IGVIKCHS.js.map
@@ -27,7 +27,7 @@ import {
27
27
  requireHost,
28
28
  safeWriteJsonAtomic,
29
29
  setConfigHash
30
- } from "../chunk-MB5MHGBP.js";
30
+ } from "../chunk-EHSKP4FA.js";
31
31
  import {
32
32
  getProjectDir as getProjectDir2,
33
33
  getReadyTasks,
@@ -65,7 +65,7 @@ import {
65
65
  takeWatchdogGiveUpCount,
66
66
  takeZombieDetection,
67
67
  transcriptActivityAgeSeconds
68
- } from "../chunk-MG4WB7BD.js";
68
+ } from "../chunk-PEVDRQJA.js";
69
69
  import {
70
70
  FLAGS_SCHEMA_VERSION,
71
71
  FLAG_REGISTRY,
@@ -85,6 +85,7 @@ import {
85
85
  formatRunMarker,
86
86
  getFramework,
87
87
  isEmptyTotals,
88
+ isOnboardingArea,
88
89
  isParseError,
89
90
  isResolveError,
90
91
  isSelfCompletion,
@@ -98,7 +99,7 @@ import {
98
99
  resolveDmTarget,
99
100
  sumTranscriptUsageInWindow,
100
101
  wrapScheduledTaskPrompt
101
- } from "../chunk-EGQDFTBK.js";
102
+ } from "../chunk-XHKMS4UY.js";
102
103
  import {
103
104
  parsePsRows,
104
105
  reapOrphanChannelMcps
@@ -847,7 +848,7 @@ import { mkdirSync as mkdirSync2, readFileSync as readFileSync2, rmSync, writeFi
847
848
  import { dirname as dirname2 } from "path";
848
849
  var ONBOARDING_REINJECT_INTERVAL_MS = 20 * 6e4;
849
850
  function decideOnboardingDrive(step, marker, nowMs, reinjectIntervalMs = ONBOARDING_REINJECT_INTERVAL_MS) {
850
- if (step === "interviewing" || step === "configuring") {
851
+ if (isOnboardingArea(step)) {
851
852
  const sameStep = marker?.step === step;
852
853
  const stale = sameStep && nowMs - marker.injectedAtMs >= reinjectIntervalMs;
853
854
  if (!sameStep || stale) {
@@ -857,14 +858,21 @@ function decideOnboardingDrive(step, marker, nowMs, reinjectIntervalMs = ONBOARD
857
858
  }
858
859
  return { inject: false, clearMarker: marker !== null, nextMarker: null };
859
860
  }
860
- function buildOnboardingDirective(step) {
861
- const phase = step === "interviewing" ? "Interview your manager over their preferred channel to gather setup context (priorities, tools/SaaS to use, reporting cadence)" : "Configure yourself \u2014 propose your role default scheduled tasks and let your manager pick which to set up (then call onboarding_provision_tasks with their choices), tune the provisioned tasks, connect integrations, and add any role-specific extras";
862
- return `\u{1F680} Onboarding (${step}): your self-onboarding is active and waiting on you. Call the \`onboarding_get\` tool now to see your current step and full instructions, then proceed. ${phase}. Advance with \`onboarding_advance\` (INTERVIEW_DONE \u2192 configuring, CONFIGURE_DONE \u2192 ready).`;
861
+ var AREA_DIRECTIVE = {
862
+ framing: "Frame the work \u2014 ask your manager what matters in week one and what success looks like, then record it with memory_save",
863
+ tasks: "Set up your recurring work \u2014 propose your role default scheduled tasks, let your manager pick which to set up, then call onboarding_provision_tasks with their choices and tune the result",
864
+ 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)",
865
+ reporting: "Agree how you keep your manager posted \u2014 settle on a cadence and channel, then create a recurring report scheduled task for it"
866
+ };
867
+ function buildOnboardingDirective(step, completed = []) {
868
+ const doneAreas = completed.filter(isOnboardingArea);
869
+ const alreadyCovered = doneAreas.length > 0 ? `You've already covered ${doneAreas.join(", ")} \u2014 re-orient, don't re-ask about those. ` : "";
870
+ 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.`;
863
871
  }
864
872
  function readOnboardingDriveMarker(path) {
865
873
  try {
866
874
  const raw = JSON.parse(readFileSync2(path, "utf8"));
867
- if ((raw.step === "interviewing" || raw.step === "configuring") && typeof raw.injectedAtMs === "number" && Number.isFinite(raw.injectedAtMs)) {
875
+ if (typeof raw.step === "string" && isOnboardingArea(raw.step) && typeof raw.injectedAtMs === "number" && Number.isFinite(raw.injectedAtMs)) {
868
876
  return { step: raw.step, injectedAtMs: raw.injectedAtMs };
869
877
  }
870
878
  } catch {
@@ -6792,7 +6800,7 @@ var cachedMaintenanceWindow = null;
6792
6800
  var lastVersionCheckAt = 0;
6793
6801
  var VERSION_CHECK_INTERVAL_MS = 5 * 60 * 1e3;
6794
6802
  var lastResponsivenessProbeAt = 0;
6795
- var agtCliVersion = true ? "0.28.75" : "dev";
6803
+ var agtCliVersion = true ? "0.28.77" : "dev";
6796
6804
  function resolveBrewPath(execFileSync4) {
6797
6805
  try {
6798
6806
  const out = execFileSync4("which", ["brew"], { timeout: 5e3 }).toString().trim();
@@ -7900,7 +7908,7 @@ async function pollCycle() {
7900
7908
  }
7901
7909
  try {
7902
7910
  const { detectHostSecurity } = await import("../host-security-6PDFG7F5.js");
7903
- const { collectDiagnostics } = await import("../persistent-session-ESLAJLKA.js");
7911
+ const { collectDiagnostics } = await import("../persistent-session-Z3RHQRVC.js");
7904
7912
  const diagCodeNames = [...agentState.persistentSessionAgents];
7905
7913
  const agentDiagnostics = diagCodeNames.length > 0 ? collectDiagnostics(diagCodeNames) : void 0;
7906
7914
  let tailscaleHostname;
@@ -8001,7 +8009,7 @@ async function pollCycle() {
8001
8009
  const {
8002
8010
  collectResponsivenessProbes,
8003
8011
  getResponsivenessIntervalMs
8004
- } = await import("../responsiveness-probe-GUQFQH5D.js");
8012
+ } = await import("../responsiveness-probe-QWO75M34.js");
8005
8013
  const probeIntervalMs = getResponsivenessIntervalMs();
8006
8014
  if (now - lastResponsivenessProbeAt > probeIntervalMs) {
8007
8015
  const probeCodeNames = [...agentState.persistentSessionAgents];
@@ -8033,7 +8041,7 @@ async function pollCycle() {
8033
8041
  collectResponsivenessProbes,
8034
8042
  livePendingInboundOldestAgeSeconds,
8035
8043
  parkPendingInbound
8036
- } = await import("../responsiveness-probe-GUQFQH5D.js");
8044
+ } = await import("../responsiveness-probe-QWO75M34.js");
8037
8045
  const { getProjectDir: wedgeProjectDir } = await import("../claude-scheduler-FATCLHDM.js");
8038
8046
  const wedgeNow = /* @__PURE__ */ new Date();
8039
8047
  const liveAgents = agentState.persistentSessionAgents;
@@ -10288,19 +10296,20 @@ In progress for ${age} minutes \u2014 auto-failed`).catch(() => {
10288
10296
  const obFramework = agentFrameworkCache.get(agent.code_name) ?? "openclaw";
10289
10297
  const obSessionMode = refreshData.agent.session_mode;
10290
10298
  if (obFramework === "claude-code" && obSessionMode === "persistent") {
10291
- const obStep = coerceOnboardingState(
10299
+ const obState = coerceOnboardingState(
10292
10300
  refreshData.agent.onboarding_state
10293
- ).step;
10301
+ );
10302
+ const obStep = obState.step;
10294
10303
  const markerPath = join16(homedir9(), ".augmented", agent.code_name, "onboarding-drive.json");
10295
10304
  const marker = readOnboardingDriveMarker(markerPath);
10296
10305
  const decision = decideOnboardingDrive(obStep, marker, Date.now());
10297
10306
  if (decision.clearMarker) {
10298
10307
  clearOnboardingDriveMarker(markerPath);
10299
- } else if (decision.inject && (obStep === "interviewing" || obStep === "configuring") && isSessionHealthy(agent.code_name)) {
10308
+ } else if (decision.inject && isOnboardingArea(obStep) && isSessionHealthy(agent.code_name)) {
10300
10309
  const delivered = await injectMessage(
10301
10310
  agent.code_name,
10302
10311
  "system",
10303
- buildOnboardingDirective(obStep),
10312
+ buildOnboardingDirective(obStep, obState.completed),
10304
10313
  { task_name: "onboarding" },
10305
10314
  log
10306
10315
  ).catch(() => false);
@@ -11496,7 +11505,7 @@ async function processClaudePairSessions(agents) {
11496
11505
  killPairSession,
11497
11506
  pairTmuxSession,
11498
11507
  finalizeClaudePairOnboarding
11499
- } = await import("../claude-pair-runtime-FLD3X32S.js");
11508
+ } = await import("../claude-pair-runtime-IGVIKCHS.js");
11500
11509
  for (const pairId of pendingResp.cancelled_pair_ids ?? []) {
11501
11510
  log(`[claude-pair] sweeping orphan tmux session for pair ${pairId.slice(0, 8)}`);
11502
11511
  const killed = await killPairSession(pairTmuxSession(pairId));