@integrity-labs/agt-cli 0.28.845 → 0.28.847

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,12 +40,12 @@ import {
40
40
  success,
41
41
  table,
42
42
  warn
43
- } from "../chunk-ZNZ7HOH7.js";
43
+ } from "../chunk-3THOQFC6.js";
44
44
  import {
45
45
  getProjectDir,
46
46
  isSessionResumeDisabled,
47
47
  readDirectChatSessionState
48
- } from "../chunk-NZQ3ILKM.js";
48
+ } from "../chunk-PMQNTU7W.js";
49
49
  import {
50
50
  AnchorSessionClient,
51
51
  CHANNEL_REGISTRY,
@@ -79,7 +79,7 @@ import {
79
79
  serializeManifestForSlackCli,
80
80
  sessionFileExists,
81
81
  sessionTranscriptDir
82
- } from "../chunk-N23P6M3P.js";
82
+ } from "../chunk-MFU2FD4N.js";
83
83
  import "../chunk-XWVM4KPK.js";
84
84
 
85
85
  // src/bin/agt.ts
@@ -5467,7 +5467,7 @@ import { execFileSync, execSync } from "child_process";
5467
5467
  import { existsSync as existsSync11, realpathSync as realpathSync2 } from "fs";
5468
5468
  import chalk18 from "chalk";
5469
5469
  import ora16 from "ora";
5470
- var cliVersion = true ? "0.28.845" : "dev";
5470
+ var cliVersion = true ? "0.28.847" : "dev";
5471
5471
  async function fetchLatestVersion() {
5472
5472
  const host2 = getHost();
5473
5473
  if (!host2) return null;
@@ -6658,7 +6658,7 @@ function handleError(err) {
6658
6658
  }
6659
6659
 
6660
6660
  // src/bin/agt.ts
6661
- var cliVersion2 = true ? "0.28.845" : "dev";
6661
+ var cliVersion2 = true ? "0.28.847" : "dev";
6662
6662
  var program = new Command();
6663
6663
  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");
6664
6664
  program.hook("preAction", async (thisCommand, actionCommand) => {
@@ -16,7 +16,7 @@ import {
16
16
  parseEnvIntegrations,
17
17
  shellQuote,
18
18
  summarizeUnanswerablePane
19
- } from "./chunk-NZQ3ILKM.js";
19
+ } from "./chunk-PMQNTU7W.js";
20
20
  import {
21
21
  BIND_FAILURE_QUARANTINE_THRESHOLD,
22
22
  INTEGRATIONS_SECTION_END,
@@ -76,7 +76,7 @@ import {
76
76
  sessionTranscriptDir,
77
77
  worseConnectivityOutcome,
78
78
  wrapScheduledTaskPrompt
79
- } from "./chunk-N23P6M3P.js";
79
+ } from "./chunk-MFU2FD4N.js";
80
80
  import {
81
81
  parsePsRows
82
82
  } from "./chunk-XWVM4KPK.js";
@@ -6566,7 +6566,7 @@ function exchangeFailureKind(err) {
6566
6566
  }
6567
6567
 
6568
6568
  // src/lib/api-client.ts
6569
- var agtCliVersion = true ? "0.28.845" : "dev";
6569
+ var agtCliVersion = true ? "0.28.847" : "dev";
6570
6570
  var lastConfigHash = null;
6571
6571
  function setConfigHash(hash) {
6572
6572
  lastConfigHash = hash && hash.length > 0 ? hash : null;
@@ -10924,4 +10924,4 @@ export {
10924
10924
  managerInstallSystemUnitCommand,
10925
10925
  managerUninstallSystemUnitCommand
10926
10926
  };
10927
- //# sourceMappingURL=chunk-ZNZ7HOH7.js.map
10927
+ //# sourceMappingURL=chunk-3THOQFC6.js.map
@@ -1918,6 +1918,20 @@ var INTEGRATION_REGISTRY = [
1918
1918
  // elevenlabs:sound_effects, and elevenlabs:speech_to_speech.
1919
1919
  docs_url: "https://elevenlabs.io/docs/capabilities",
1920
1920
  beta: true,
1921
+ // ENG-10200. ElevenLabs is the mirror image of grok-voice: stt + tts, no
1922
+ // realtime. Its STT is easy to overlook because the TTS tool is the one
1923
+ // usually discussed, but `ElevenLabsScribeClient.transcribe()` and the
1924
+ // `scribe_transcribe` broker tool make it the platform's SECOND speech-to-
1925
+ // text provider — on a different unit (`audio_second`) from grok-voice's
1926
+ // `audio_hour`, which is why the unit is not restated here.
1927
+ //
1928
+ // `music`, `sound_effects` and `speech_to_speech` are deliberately NOT
1929
+ // modalities. They are audio generation, not a voice conversation, and
1930
+ // nothing selecting a voice provider should be offered them.
1931
+ voice: {
1932
+ stt: { meterEventType: "transcribe" },
1933
+ tts: { meterEventType: "tts" }
1934
+ },
1921
1935
  // ENG-7005 / ENG-7048: premium (billable). Both surfaces bill back to
1922
1936
  // Augmented's single account key and are usage-priced, so the integration is
1923
1937
  // gated on a per-org opt-in and metered. The two surfaces share the one
@@ -1960,6 +1974,15 @@ var INTEGRATION_REGISTRY = [
1960
1974
  ],
1961
1975
  docs_url: "https://docs.x.ai/developers/model-capabilities/audio/voice-agent",
1962
1976
  beta: true,
1977
+ // ENG-10200. Grok does realtime AND rest STT, and NO tts — xAI ships no REST
1978
+ // text-to-speech endpoint (this tree calls api.x.ai/v1 for /stt,
1979
+ // /realtime/client_secrets and /videos only). The absent `tts` is the
1980
+ // load-bearing part: it is what stops a caller assembling a speech-in /
1981
+ // speech-out round trip out of this provider alone.
1982
+ voice: {
1983
+ realtime: { meterEventType: "voice_session", listVoices: true },
1984
+ stt: { meterEventType: "transcription" }
1985
+ },
1963
1986
  // Premium (billable): voice minutes bill back to Augmented's xAI account key,
1964
1987
  // usage-priced and gated on a per-org opt-in. Pricing amounts live in
1965
1988
  // integration_rate_cards; this only declares the model + meter.
@@ -11274,7 +11297,24 @@ async function probeBuffer(creds, fetchImpl) {
11274
11297
  });
11275
11298
  if (!res.ok) {
11276
11299
  const rateLimited = isRateLimited(res);
11277
- const message = res.status === 401 ? "Buffer API key expired or revoked \u2014 reconnect required" : res.status === 429 || res.status === 403 && rateLimited ? rateLimitMessage("Buffer", res.status) : `Buffer API returned ${res.status}`;
11300
+ const message = res.status === 401 ? (
11301
+ // ENG-9809: name the mechanism, because the bare "expired or revoked" sent
11302
+ // two investigations at the wrong thing. Buffer API keys carry a MANDATORY
11303
+ // lifetime chosen at mint time — 7/30/60/90 days or 1 year, defaulting to
11304
+ // 30 days, with no "never expires" option
11305
+ // (support.buffer.com/article/984-how-to-create-your-buffer-api-key). So
11306
+ // every Buffer install on the fleet is on a countdown, and expiry is the
11307
+ // ordinary end of a key's life rather than a customer revoking one.
11308
+ //
11309
+ // All three causes are named, because this one branch answers every Buffer
11310
+ // 401 — a key that lapsed, one that was revoked, and one that was simply
11311
+ // mistyped ("Requests without a valid key will return a 401 Unauthorized",
11312
+ // developers.buffer.com/guides/authentication.html). The status code alone
11313
+ // cannot separate them, so naming expiry as the LIKELIER cause is supported;
11314
+ // asserting it is not, and a message that omitted "invalid" would send
11315
+ // someone who pasted the key wrong looking for an expiry date instead.
11316
+ "Buffer API key expired, invalid, or revoked \u2014 reconnect required. Buffer keys expire by design (30-day default, 1-year maximum), so on a key that was working until now expiry is the likeliest of the three; pick 1 year when minting the replacement."
11317
+ ) : res.status === 429 || res.status === 403 && rateLimited ? rateLimitMessage("Buffer", res.status) : `Buffer API returned ${res.status}`;
11278
11318
  return {
11279
11319
  status: statusForHttp(res.status, { rateLimited }),
11280
11320
  cause: causeForHttp(res.status, { rateLimited }),
@@ -13920,4 +13960,4 @@ export {
13920
13960
  peekCurrentSession,
13921
13961
  readDailySessionPin
13922
13962
  };
13923
- //# sourceMappingURL=chunk-N23P6M3P.js.map
13963
+ //# sourceMappingURL=chunk-MFU2FD4N.js.map