@integrity-labs/agt-cli 0.28.628 → 0.28.630

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.
package/dist/bin/agt.js CHANGED
@@ -40,7 +40,7 @@ import {
40
40
  success,
41
41
  table,
42
42
  warn
43
- } from "../chunk-G3FPZ4KK.js";
43
+ } from "../chunk-A2HB4OMY.js";
44
44
  import {
45
45
  readDirectChatSessionState
46
46
  } from "../chunk-7QNQRV3A.js";
@@ -4909,7 +4909,7 @@ import { execFileSync, execSync } from "child_process";
4909
4909
  import { existsSync as existsSync10, realpathSync as realpathSync2 } from "fs";
4910
4910
  import chalk18 from "chalk";
4911
4911
  import ora16 from "ora";
4912
- var cliVersion = true ? "0.28.628" : "dev";
4912
+ var cliVersion = true ? "0.28.630" : "dev";
4913
4913
  async function fetchLatestVersion() {
4914
4914
  const host2 = getHost();
4915
4915
  if (!host2) return null;
@@ -6089,7 +6089,7 @@ function handleError(err) {
6089
6089
  }
6090
6090
 
6091
6091
  // src/bin/agt.ts
6092
- var cliVersion2 = true ? "0.28.628" : "dev";
6092
+ var cliVersion2 = true ? "0.28.630" : "dev";
6093
6093
  var program = new Command();
6094
6094
  program.name("agt").description("Augmented CLI \u2014 agent provisioning and management").version(cliVersion2).option("--json", "Emit machine-readable JSON output (suppress spinners and colors)").option("--skip-update-check", "Skip the automatic update check on startup");
6095
6095
  program.hook("preAction", async (thisCommand, actionCommand) => {
@@ -6069,7 +6069,7 @@ function exchangeFailureKind(err) {
6069
6069
  }
6070
6070
 
6071
6071
  // src/lib/api-client.ts
6072
- var agtCliVersion = true ? "0.28.628" : "dev";
6072
+ var agtCliVersion = true ? "0.28.630" : "dev";
6073
6073
  var lastConfigHash = null;
6074
6074
  function setConfigHash(hash) {
6075
6075
  lastConfigHash = hash && hash.length > 0 ? hash : null;
@@ -9589,4 +9589,4 @@ export {
9589
9589
  managerInstallSystemUnitCommand,
9590
9590
  managerUninstallSystemUnitCommand
9591
9591
  };
9592
- //# sourceMappingURL=chunk-G3FPZ4KK.js.map
9592
+ //# sourceMappingURL=chunk-A2HB4OMY.js.map
@@ -54,7 +54,7 @@ import {
54
54
  safeWriteJsonAtomic,
55
55
  setConfigHash,
56
56
  tripClass
57
- } from "../chunk-G3FPZ4KK.js";
57
+ } from "../chunk-A2HB4OMY.js";
58
58
  import {
59
59
  getProjectDir as getProjectDir2,
60
60
  getReadyTasks,
@@ -1612,6 +1612,32 @@ function formatMissingMcpBundles(missing) {
1612
1612
  return `MCP bundle(s) not yet on disk in the host-shared _mcp mount: ${detail}`;
1613
1613
  }
1614
1614
 
1615
+ // src/lib/startup-telemetry.ts
1616
+ var SLOW_STARTUP_WARN_MS = 6e4;
1617
+ function shouldWarnSlowStartup(elapsedMs, opts = {}) {
1618
+ if (!Number.isFinite(elapsedMs) || elapsedMs < 0) return false;
1619
+ const threshold = opts.thresholdMs ?? SLOW_STARTUP_WARN_MS;
1620
+ if (!Number.isFinite(threshold) || threshold < 0) return false;
1621
+ return elapsedMs >= threshold;
1622
+ }
1623
+ function formatStartupElapsed(elapsedMs) {
1624
+ if (!Number.isFinite(elapsedMs) || elapsedMs < 0) return "unknown";
1625
+ const seconds = elapsedMs / 1e3;
1626
+ if (seconds < 60) return `${seconds.toFixed(1)}s`;
1627
+ return `${seconds.toFixed(1)}s (${(seconds / 60).toFixed(1)} min)`;
1628
+ }
1629
+ function describeStartupCompletion(elapsedMs, opts = {}) {
1630
+ const elapsed = formatStartupElapsed(elapsedMs);
1631
+ if (!shouldWarnSlowStartup(elapsedMs, opts)) {
1632
+ return { warn: false, message: `[startup] ready in ${elapsed}` };
1633
+ }
1634
+ const threshold = opts.thresholdMs ?? SLOW_STARTUP_WARN_MS;
1635
+ return {
1636
+ warn: true,
1637
+ message: `[startup] SLOW BOOT \u2014 ready in ${elapsed}, over the ${formatStartupElapsed(threshold)} threshold. MCP bundles are deployed during startup, so agents spawning in this window can come up with no MCP tools (ENG-9129). Check for a build/install running on the host.`
1638
+ };
1639
+ }
1640
+
1615
1641
  // src/lib/self-update-coalesce.ts
1616
1642
  import { readFileSync as readFileSync5, writeFileSync as writeFileSync3, mkdirSync as mkdirSync3 } from "fs";
1617
1643
  import { dirname as dirname3 } from "path";
@@ -12105,7 +12131,7 @@ var agentRestartTimezoneInputs = /* @__PURE__ */ new Map();
12105
12131
  var lastVersionCheckAt = 0;
12106
12132
  var VERSION_CHECK_INTERVAL_MS = 5 * 60 * 1e3;
12107
12133
  var lastResponsivenessProbeAt = 0;
12108
- var agtCliVersion = true ? "0.28.628" : "dev";
12134
+ var agtCliVersion = true ? "0.28.630" : "dev";
12109
12135
  function resolveBrewPath(execFileSync3) {
12110
12136
  try {
12111
12137
  const out = execFileSync3("which", ["brew"], { timeout: 5e3 }).toString().trim();
@@ -18586,6 +18612,10 @@ function startPolling() {
18586
18612
  loadKanbanNudgeStateFromDisk();
18587
18613
  hostFlagStore().init();
18588
18614
  log(`Starting poll loop (interval=${config.intervalMs}ms, configDir=${config.configDir})`);
18615
+ {
18616
+ const startupOutcome = describeStartupCompletion(process.uptime() * 1e3);
18617
+ log(startupOutcome.message);
18618
+ }
18589
18619
  void killAllAgtTmuxSessions().catch(() => {
18590
18620
  }).then(() => {
18591
18621
  return pollCycle();
@@ -18712,6 +18742,7 @@ async function stopPolling(opts = {}) {
18712
18742
  clearTimeout(shutdownTimer);
18713
18743
  }
18714
18744
  function startManager(opts) {
18745
+ log(`[startup] begin (pid=${process.pid}, node=${process.version}, interval=${opts.intervalMs}ms)`);
18715
18746
  config = opts;
18716
18747
  try {
18717
18748
  const stateFile = getStateFile();