@integrity-labs/agt-cli 0.28.2 → 0.28.4

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-QXLGGGO2.js");
103
+ const { resolveClaudeBinary } = await import("./persistent-session-DSG4HI4R.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-H73LQ5AR.js.map
376
+ //# sourceMappingURL=claude-pair-runtime-OACH27NE.js.map
@@ -22,7 +22,7 @@ import {
22
22
  provisionStopHook,
23
23
  requireHost,
24
24
  safeWriteJsonAtomic
25
- } from "../chunk-ZBMZTL7G.js";
25
+ } from "../chunk-M6V3RZBD.js";
26
26
  import {
27
27
  getProjectDir as getProjectDir2,
28
28
  getReadyTasks,
@@ -64,7 +64,7 @@ import {
64
64
  takeWatchdogGiveUpCount,
65
65
  takeZombieDetection,
66
66
  transcriptActivityAgeSeconds
67
- } from "../chunk-K2HIV5DB.js";
67
+ } from "../chunk-LIB6VTH3.js";
68
68
  import {
69
69
  FLAGS_SCHEMA_VERSION,
70
70
  KANBAN_CHECK_COMMAND,
@@ -96,7 +96,7 @@ import {
96
96
  sumTranscriptUsageInWindow,
97
97
  worseConnectivityOutcome,
98
98
  wrapScheduledTaskPrompt
99
- } from "../chunk-I6QV3IE7.js";
99
+ } from "../chunk-NS4G4HHD.js";
100
100
  import {
101
101
  parsePsRows,
102
102
  reapOrphanChannelMcps
@@ -5079,7 +5079,7 @@ var cachedMaintenanceWindow = null;
5079
5079
  var lastVersionCheckAt = 0;
5080
5080
  var VERSION_CHECK_INTERVAL_MS = 5 * 60 * 1e3;
5081
5081
  var lastResponsivenessProbeAt = 0;
5082
- var agtCliVersion = true ? "0.28.2" : "dev";
5082
+ var agtCliVersion = true ? "0.28.4" : "dev";
5083
5083
  function resolveBrewPath(execFileSync4) {
5084
5084
  try {
5085
5085
  const out = execFileSync4("which", ["brew"], { timeout: 5e3 }).toString().trim();
@@ -5541,7 +5541,7 @@ async function checkAndUpdateCliViaNpm() {
5541
5541
  }
5542
5542
  let shouldUpdate;
5543
5543
  if (channel === "latest") {
5544
- shouldUpdate = isNewerSemver(agtCliVersion, latest);
5544
+ shouldUpdate = shouldUpdateOnLatest(agtCliVersion, latest);
5545
5545
  } else if (latest === agtCliVersion) {
5546
5546
  shouldUpdate = false;
5547
5547
  } else if (isOlderSemverTuple(agtCliVersion, latest)) {
@@ -5620,6 +5620,15 @@ async function installAgtCliViaNpm(version, reasonLabel) {
5620
5620
  log(`[self-update] npm upgrade failed: ${err.message}`);
5621
5621
  }
5622
5622
  }
5623
+ function isPrereleaseVersion(v) {
5624
+ return v.replace(/^v/, "").split("+")[0].includes("-");
5625
+ }
5626
+ function shouldUpdateOnLatest(installed, latest) {
5627
+ if (isPrereleaseVersion(installed)) {
5628
+ return latest !== installed && !isOlderSemverTuple(installed, latest);
5629
+ }
5630
+ return isNewerSemver(installed, latest);
5631
+ }
5623
5632
  function isNewerSemver(local, remote) {
5624
5633
  const parse = (v) => v.replace(/^v/, "").split(".").map(Number);
5625
5634
  const l = parse(local);
@@ -6282,7 +6291,7 @@ async function pollCycle() {
6282
6291
  }
6283
6292
  try {
6284
6293
  const { detectHostSecurity } = await import("../host-security-6PDFG7F5.js");
6285
- const { collectDiagnostics } = await import("../persistent-session-QXLGGGO2.js");
6294
+ const { collectDiagnostics } = await import("../persistent-session-DSG4HI4R.js");
6286
6295
  const diagCodeNames = [...agentState.persistentSessionAgents];
6287
6296
  const agentDiagnostics = diagCodeNames.length > 0 ? collectDiagnostics(diagCodeNames) : void 0;
6288
6297
  let tailscaleHostname;
@@ -6376,7 +6385,7 @@ async function pollCycle() {
6376
6385
  const {
6377
6386
  collectResponsivenessProbes,
6378
6387
  getResponsivenessIntervalMs
6379
- } = await import("../responsiveness-probe-3BUUOZZO.js");
6388
+ } = await import("../responsiveness-probe-GX5W4ZMI.js");
6380
6389
  const probeIntervalMs = getResponsivenessIntervalMs();
6381
6390
  if (now - lastResponsivenessProbeAt > probeIntervalMs) {
6382
6391
  const probeCodeNames = [...agentState.persistentSessionAgents];
@@ -6408,7 +6417,7 @@ async function pollCycle() {
6408
6417
  collectResponsivenessProbes,
6409
6418
  livePendingInboundOldestAgeSeconds,
6410
6419
  parkPendingInbound
6411
- } = await import("../responsiveness-probe-3BUUOZZO.js");
6420
+ } = await import("../responsiveness-probe-GX5W4ZMI.js");
6412
6421
  const { getProjectDir: wedgeProjectDir } = await import("../claude-scheduler-FATCLHDM.js");
6413
6422
  const wedgeNow = /* @__PURE__ */ new Date();
6414
6423
  const liveAgents = agentState.persistentSessionAgents;
@@ -7236,6 +7245,23 @@ async function processAgent(agent, agentStates) {
7236
7245
  }
7237
7246
  send({ type: "provisioned", agentId: agent.agent_id, codeName: agent.code_name });
7238
7247
  }
7248
+ if (Array.isArray(refreshData.workflows)) {
7249
+ try {
7250
+ const provWorkflowsDir = join10(agentDir, ".claude", "workflows");
7251
+ if (existsSync5(provWorkflowsDir)) {
7252
+ const expected = new Set(refreshData.workflows.map((w) => `${w.name}.js`));
7253
+ for (const file of readdirSync5(provWorkflowsDir)) {
7254
+ if (!file.endsWith(".js")) continue;
7255
+ if (expected.has(file)) continue;
7256
+ try {
7257
+ rmSync2(join10(provWorkflowsDir, file));
7258
+ } catch {
7259
+ }
7260
+ }
7261
+ }
7262
+ } catch {
7263
+ }
7264
+ }
7239
7265
  if (frameworkAdapter.deployArtifactsToProject) {
7240
7266
  frameworkAdapter.deployArtifactsToProject(agent.code_name, agentDir);
7241
7267
  }
@@ -11038,7 +11064,7 @@ async function processClaudePairSessions(agents) {
11038
11064
  killPairSession,
11039
11065
  pairTmuxSession,
11040
11066
  finalizeClaudePairOnboarding
11041
- } = await import("../claude-pair-runtime-H73LQ5AR.js");
11067
+ } = await import("../claude-pair-runtime-OACH27NE.js");
11042
11068
  for (const pairId of pendingResp.cancelled_pair_ids ?? []) {
11043
11069
  log(`[claude-pair] sweeping orphan tmux session for pair ${pairId.slice(0, 8)}`);
11044
11070
  const killed = await killPairSession(pairTmuxSession(pairId));
@@ -11309,7 +11335,11 @@ function generateArtifacts(agent, refreshData, adapter) {
11309
11335
  knowledgeDelivery: refreshData.agent.knowledge_delivery ?? "both",
11310
11336
  teamMembers: refreshData.team_members ?? void 0,
11311
11337
  people: refreshData.people ?? void 0,
11312
- guardrails: refreshData.guardrails
11338
+ guardrails: refreshData.guardrails,
11339
+ // ADR-0012 / ENG-6352: down-synced dynamic workflows (flag-gated, resolved
11340
+ // server-side). The claude-code adapter renders each as
11341
+ // `.claude/workflows/<name>.js`; undefined/empty no-ops.
11342
+ workflows: refreshData.workflows
11313
11343
  };
11314
11344
  const provisionOutput = provision(provisionInput, adapter.id);
11315
11345
  return provisionOutput.artifacts;
@@ -11993,6 +12023,7 @@ export {
11993
12023
  isKanbanHybridEnabled,
11994
12024
  isOlderSemverTuple,
11995
12025
  isPlainScheduledTemplate,
12026
+ isPrereleaseVersion,
11996
12027
  isScheduledCardTracked,
11997
12028
  isScheduledViaKanbanEnabled,
11998
12029
  markAgentForFreshMemorySync,
@@ -12001,6 +12032,7 @@ export {
12001
12032
  reconcileScheduledRuns,
12002
12033
  routeScheduledTaskViaKanban,
12003
12034
  shouldSkipRevokedCleanup,
12035
+ shouldUpdateOnLatest,
12004
12036
  stampClaudeCodeUpgradeMarker,
12005
12037
  startManager,
12006
12038
  stopManager