@integrity-labs/agt-cli 0.28.398 → 0.28.400

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.
@@ -44,7 +44,7 @@ import {
44
44
  resolveEffectivePinRaw,
45
45
  safeWriteJsonAtomic,
46
46
  setConfigHash
47
- } from "../chunk-QQ4ZC5K3.js";
47
+ } from "../chunk-MZ7EU4V7.js";
48
48
  import {
49
49
  getProjectDir as getProjectDir2,
50
50
  getReadyTasks,
@@ -9249,7 +9249,7 @@ var agentRestartTimezoneInputs = /* @__PURE__ */ new Map();
9249
9249
  var lastVersionCheckAt = 0;
9250
9250
  var VERSION_CHECK_INTERVAL_MS = 5 * 60 * 1e3;
9251
9251
  var lastResponsivenessProbeAt = 0;
9252
- var agtCliVersion = true ? "0.28.398" : "dev";
9252
+ var agtCliVersion = true ? "0.28.400" : "dev";
9253
9253
  function resolveBrewPath(execFileSync2) {
9254
9254
  try {
9255
9255
  const out = execFileSync2("which", ["brew"], { timeout: 5e3 }).toString().trim();
@@ -36220,7 +36220,7 @@ async function processDirectChatRecoveryOutboxFile(filename) {
36220
36220
  const enabled = resolveHostBooleanFlag({
36221
36221
  key: "direct-chat-recovery",
36222
36222
  envVar: "AGT_DIRECT_CHAT_RECOVERY_ENABLED",
36223
- defaultValue: false
36223
+ defaultValue: true
36224
36224
  });
36225
36225
  if (!enabled) return;
36226
36226
  directChatRecoveryInFlight.add(filename);
package/dist/mcp/index.js CHANGED
@@ -22511,6 +22511,72 @@ server.tool(
22511
22511
  };
22512
22512
  }
22513
22513
  );
22514
+ server.tool(
22515
+ "update_timezone",
22516
+ `Set your OWN timezone, as an IANA name (e.g. "Australia/Sydney", "America/New_York", "Europe/London"). This controls the local clock used for your restart / maintenance-window scheduling and day-boundary reporting, so "off-peak" is calculated in your operator's zone rather than UTC. Pass an empty string (or "auto") to CLEAR your override and inherit your team default (falling back to UTC). Changes save immediately and take full effect within a few minutes, on your next configuration refresh. Your code_name and identity are unaffected.`,
22517
+ {
22518
+ timezone: external_exports.string().max(100).describe(
22519
+ 'Your IANA timezone name (e.g. "Australia/Sydney"). Pass an empty string or "auto" to clear the override and inherit the team default (then UTC).'
22520
+ )
22521
+ },
22522
+ async (params) => {
22523
+ if (!AGT_AGENT_CODE_NAME) {
22524
+ return {
22525
+ content: [{ type: "text", text: "Error: AGT_AGENT_CODE_NAME not configured." }],
22526
+ isError: true
22527
+ };
22528
+ }
22529
+ const payload = { agent_code_name: AGT_AGENT_CODE_NAME, timezone: params.timezone };
22530
+ let resp;
22531
+ try {
22532
+ resp = await apiPost("/host/update-timezone", payload);
22533
+ } catch (err) {
22534
+ const msg = err instanceof Error ? err.message : String(err);
22535
+ if (/returned\s+[45]\d\d/.test(msg)) {
22536
+ let detail = msg;
22537
+ const jsonStart = msg.indexOf("{");
22538
+ if (jsonStart !== -1) {
22539
+ try {
22540
+ const parsedErr = JSON.parse(msg.slice(jsonStart));
22541
+ if (parsedErr.error) detail = parsedErr.error;
22542
+ } catch {
22543
+ }
22544
+ }
22545
+ return {
22546
+ content: [{ type: "text", text: `Timezone update rejected: ${detail}` }],
22547
+ isError: true
22548
+ };
22549
+ }
22550
+ return {
22551
+ content: [
22552
+ {
22553
+ type: "text",
22554
+ text: `Could not reach the timezone-update service (${msg}). Tell your operator.`
22555
+ }
22556
+ ],
22557
+ isError: true
22558
+ };
22559
+ }
22560
+ if (!resp.ok) {
22561
+ return {
22562
+ content: [
22563
+ { type: "text", text: `Timezone update rejected: ${resp.error ?? "unknown error"}` }
22564
+ ],
22565
+ isError: true
22566
+ };
22567
+ }
22568
+ const effective = resp.effective_timezone ?? "UTC";
22569
+ const summary = resp.timezone ? `Your timezone is now ${resp.timezone}.` : `Your timezone override was cleared; you now inherit ${effective}.`;
22570
+ return {
22571
+ content: [
22572
+ {
22573
+ type: "text",
22574
+ text: `${summary} Effective timezone: ${effective}. The change will take effect within a few minutes, on your next configuration refresh.`
22575
+ }
22576
+ ]
22577
+ };
22578
+ }
22579
+ );
22514
22580
  server.tool(
22515
22581
  "request_channel_access",
22516
22582
  "Request approval to post in a specific Slack channel - i.e. to have it added to your organization's channel allowlist. This sends a HITL approval to your Manager; once they approve, the platform adds the channel to the allowlist (org-wide) and you can post there. FIRST resolve the channel id (C...) and confirm the bot can see the channel with slack.check_channel: if it returns not_in_channel, that is a SEPARATE problem - ask your operator to /invite your bot to the channel (membership is not the same as the allowlist). Then call this with the channel_id, a clear reason, and a stable idempotency_key. The request is pending until your Manager decides; poll it with check_approval using the returned request_id. Do not call this for a channel you can already post in.",
@@ -23696,6 +23762,9 @@ var LOCAL_TOOL_NAMES = /* @__PURE__ */ new Set([
23696
23762
  // ENG-6686: self-service identity edit (always registered). Listed here to
23697
23763
  // keep the lockstep guard green; no API tool shares this name.
23698
23764
  "update_identity",
23765
+ // ENG-8053: self-service timezone edit (always registered). Listed here to
23766
+ // keep the lockstep guard green; no API tool shares this name.
23767
+ "update_timezone",
23699
23768
  // ENG-6689: request Slack channel posting access (HITL approval to Manager).
23700
23769
  // Always registered; listed here to keep the lockstep guard green.
23701
23770
  "request_channel_access",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@integrity-labs/agt-cli",
3
- "version": "0.28.398",
3
+ "version": "0.28.400",
4
4
  "description": "Augmented Team CLI — agent provisioning and management",
5
5
  "type": "module",
6
6
  "engines": {