@integrity-labs/agt-cli 0.28.429 → 0.28.430

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-ISMSVPQY.js");
103
+ const { resolveClaudeBinary } = await import("./persistent-session-A4VUV3UI.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-VQSF5CRA.js.map
376
+ //# sourceMappingURL=claude-pair-runtime-44RPFRIE.js.map
@@ -42,7 +42,7 @@ import {
42
42
  resolveEffectivePinRaw,
43
43
  safeWriteJsonAtomic,
44
44
  setConfigHash
45
- } from "../chunk-WR53BM4P.js";
45
+ } from "../chunk-ARNUO2QE.js";
46
46
  import {
47
47
  getProjectDir as getProjectDir2,
48
48
  getReadyTasks,
@@ -96,6 +96,7 @@ import {
96
96
  injectMessageWithStatus,
97
97
  injectOpencodeMessage,
98
98
  isAgentIdle,
99
+ isAgentTimezoneOverrideExpired,
99
100
  isBareAck,
100
101
  isConversationFailureCategory,
101
102
  isEmptyTotals,
@@ -152,7 +153,7 @@ import {
152
153
  toOpencodeModel,
153
154
  transcriptActivityAgeSeconds,
154
155
  writeEgressAllowlist
155
- } from "../chunk-IILXBXBL.js";
156
+ } from "../chunk-EREBH2LV.js";
156
157
  import {
157
158
  reapOrphanChannelMcps
158
159
  } from "../chunk-XWVM4KPK.js";
@@ -9083,7 +9084,8 @@ function restartGateFor(codeName, reason) {
9083
9084
  timezone: resolveAgentTimezone(
9084
9085
  tzInputs?.agentTimezone ?? null,
9085
9086
  tzInputs?.teamTimezone ?? null,
9086
- cachedMaintenanceWindow.timezone
9087
+ cachedMaintenanceWindow.timezone,
9088
+ tzInputs?.agentTimezoneExpiresAt ?? null
9087
9089
  )
9088
9090
  } : cachedMaintenanceWindow;
9089
9091
  return decideRestartGate({
@@ -9562,7 +9564,7 @@ var agentRestartTimezoneInputs = /* @__PURE__ */ new Map();
9562
9564
  var lastVersionCheckAt = 0;
9563
9565
  var VERSION_CHECK_INTERVAL_MS = 5 * 60 * 1e3;
9564
9566
  var lastResponsivenessProbeAt = 0;
9565
- var agtCliVersion = true ? "0.28.429" : "dev";
9567
+ var agtCliVersion = true ? "0.28.430" : "dev";
9566
9568
  function resolveBrewPath(execFileSync2) {
9567
9569
  try {
9568
9570
  const out = execFileSync2("which", ["brew"], { timeout: 5e3 }).toString().trim();
@@ -10720,7 +10722,7 @@ function flushRestartedAgentDiagnostics(hostId, codeNames) {
10720
10722
  if (codeNames.length === 0) return;
10721
10723
  void (async () => {
10722
10724
  try {
10723
- const { collectDiagnostics } = await import("../persistent-session-ISMSVPQY.js");
10725
+ const { collectDiagnostics } = await import("../persistent-session-A4VUV3UI.js");
10724
10726
  await api.post("/host/heartbeat", {
10725
10727
  host_id: hostId,
10726
10728
  agent_diagnostics: collectDiagnostics(codeNames, quarantineEntriesFor, claudeMdSizeFor)
@@ -10827,7 +10829,7 @@ async function pollCycle() {
10827
10829
  }
10828
10830
  try {
10829
10831
  const { detectHostSecurity } = await import("../host-security-6PDFG7F5.js");
10830
- const { collectDiagnostics } = await import("../persistent-session-ISMSVPQY.js");
10832
+ const { collectDiagnostics } = await import("../persistent-session-A4VUV3UI.js");
10831
10833
  const diagCodeNames = [...agentState.persistentSessionAgents];
10832
10834
  const agentDiagnostics = diagCodeNames.length > 0 ? collectDiagnostics(diagCodeNames, quarantineEntriesFor, claudeMdSizeFor) : void 0;
10833
10835
  let tailscaleHostname;
@@ -10941,7 +10943,7 @@ async function pollCycle() {
10941
10943
  collectResponsivenessProbes,
10942
10944
  collectPanelessActivityProbes,
10943
10945
  getResponsivenessIntervalMs
10944
- } = await import("../responsiveness-probe-S5E3ZHSR.js");
10946
+ } = await import("../responsiveness-probe-QRVMR22C.js");
10945
10947
  const probeIntervalMs = getResponsivenessIntervalMs();
10946
10948
  if (now - lastResponsivenessProbeAt > probeIntervalMs) {
10947
10949
  const probeCodeNames = [...agentState.persistentSessionAgents];
@@ -11005,7 +11007,7 @@ async function pollCycle() {
11005
11007
  collectResponsivenessProbes,
11006
11008
  livePendingInboundOldestAgeSeconds,
11007
11009
  parkPendingInbound
11008
- } = await import("../responsiveness-probe-S5E3ZHSR.js");
11010
+ } = await import("../responsiveness-probe-QRVMR22C.js");
11009
11011
  const { getProjectDir: wedgeProjectDir } = await import("../scheduler-engine-NDP36U7O.js");
11010
11012
  const wedgeNow = /* @__PURE__ */ new Date();
11011
11013
  const liveAgents = agentState.persistentSessionAgents;
@@ -11777,7 +11779,9 @@ async function processAgent(agent, agentStates) {
11777
11779
  cacheAgentDeliveryMetadata(agent.code_name, refreshData);
11778
11780
  agentRestartTimezoneInputs.set(agent.code_name, {
11779
11781
  agentTimezone: typeof refreshData.agent.timezone === "string" ? refreshData.agent.timezone : null,
11780
- teamTimezone: typeof refreshData.team?.timezone === "string" ? refreshData.team.timezone ?? null : null
11782
+ teamTimezone: typeof refreshData.team?.timezone === "string" ? refreshData.team.timezone ?? null : null,
11783
+ // ENG-8016: the override's TTL, served alongside it on /host/refresh.
11784
+ agentTimezoneExpiresAt: typeof refreshData.agent.timezone_expires_at === "string" ? refreshData.agent.timezone_expires_at ?? null : null
11781
11785
  });
11782
11786
  if (frameworkAdapter.migrateSecretStorage && !migratedSecretStorage.has(agent.code_name)) {
11783
11787
  try {
@@ -13784,10 +13788,13 @@ async function ensurePersistentSession(agent, tasks, boardItems, refreshData) {
13784
13788
  const tz = teamSettingsForTz?.["timezone"];
13785
13789
  const teamTz = typeof tz === "string" && tz.trim() !== "" ? tz.trim() : null;
13786
13790
  const orgTierTz = cachedMaintenanceWindow?.timezone ?? null;
13787
- if (isUnsetTimezone(ownTz) && isUnsetTimezone(teamTz) && isUnsetTimezone(orgTierTz)) {
13791
+ const ownTzExpiresAtRaw = refreshData.agent?.timezone_expires_at;
13792
+ const ownTzExpiresAt = typeof ownTzExpiresAtRaw === "string" && ownTzExpiresAtRaw.trim() !== "" ? ownTzExpiresAtRaw : null;
13793
+ const ownTzEffective = isAgentTimezoneOverrideExpired(ownTzExpiresAt) ? null : ownTz;
13794
+ if (isUnsetTimezone(ownTzEffective) && isUnsetTimezone(teamTz) && isUnsetTimezone(orgTierTz)) {
13788
13795
  return void 0;
13789
13796
  }
13790
- return resolveAgentTimezone(ownTz, teamTz, orgTierTz);
13797
+ return resolveAgentTimezone(ownTzEffective, teamTz, orgTierTz, ownTzExpiresAt);
13791
13798
  })();
13792
13799
  const frameworkId = agentFrameworkCache.get(codeName) ?? DEFAULT_FRAMEWORK;
13793
13800
  if (frameworkId === "opencode") {
@@ -14316,7 +14323,7 @@ async function handleRestartDoorbell(agentId, requestedAt, restartReason) {
14316
14323
  void api.post("/host/restart-ack", { host_id: hostId, agent_id: agentId, restart_requested_at: requestedAt }).catch((err) => log(`[restart-lane] ack failed for '${codeName}': ${err.message}`));
14317
14324
  void (async () => {
14318
14325
  try {
14319
- const { collectDiagnostics } = await import("../persistent-session-ISMSVPQY.js");
14326
+ const { collectDiagnostics } = await import("../persistent-session-A4VUV3UI.js");
14320
14327
  await api.post("/host/heartbeat", {
14321
14328
  host_id: hostId,
14322
14329
  agent_diagnostics: collectDiagnostics([codeName], quarantineEntriesFor, claudeMdSizeFor)
@@ -14366,7 +14373,7 @@ async function respawnAgentAfterMcpStop(codeName, reason) {
14366
14373
  }
14367
14374
  try {
14368
14375
  const hostId = await getHostId();
14369
- const { collectDiagnostics } = await import("../persistent-session-ISMSVPQY.js");
14376
+ const { collectDiagnostics } = await import("../persistent-session-A4VUV3UI.js");
14370
14377
  await api.post("/host/heartbeat", {
14371
14378
  host_id: hostId,
14372
14379
  agent_diagnostics: collectDiagnostics([codeName], quarantineEntriesFor, claudeMdSizeFor)
@@ -14819,7 +14826,7 @@ async function processClaudePairSessions(agents) {
14819
14826
  killPairSession,
14820
14827
  pairTmuxSession,
14821
14828
  finalizeClaudePairOnboarding
14822
- } = await import("../claude-pair-runtime-VQSF5CRA.js");
14829
+ } = await import("../claude-pair-runtime-44RPFRIE.js");
14823
14830
  for (const pairId of pendingResp.cancelled_pair_ids ?? []) {
14824
14831
  log(`[claude-pair] sweeping orphan tmux session for pair ${pairId.slice(0, 8)}`);
14825
14832
  const killed = await killPairSession(pairTmuxSession(pairId));