@integrity-labs/agt-cli 0.28.1039 → 0.28.1041

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-X6D6UADI.js";
43
+ } from "../chunk-7ORA3ZVJ.js";
44
44
  import {
45
45
  getProjectDir,
46
46
  isSessionResumeDisabled,
47
47
  readDirectChatSessionState
48
- } from "../chunk-TAWCN7OK.js";
48
+ } from "../chunk-OHT4PWAK.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-UB2HLH5P.js";
82
+ } from "../chunk-TXRZFABA.js";
83
83
  import "../chunk-TQDIIS3X.js";
84
84
  import "../chunk-XWVM4KPK.js";
85
85
  import "../chunk-EL5MWGGH.js";
@@ -5474,7 +5474,7 @@ import { execFileSync, execSync } from "child_process";
5474
5474
  import { existsSync as existsSync11, realpathSync as realpathSync2 } from "fs";
5475
5475
  import chalk18 from "chalk";
5476
5476
  import ora16 from "ora";
5477
- var cliVersion = true ? "0.28.1039" : "dev";
5477
+ var cliVersion = true ? "0.28.1041" : "dev";
5478
5478
  async function fetchLatestVersion() {
5479
5479
  const host2 = getHost();
5480
5480
  if (!host2) return null;
@@ -6734,7 +6734,7 @@ function handleError(err) {
6734
6734
  }
6735
6735
 
6736
6736
  // src/bin/agt.ts
6737
- var cliVersion2 = true ? "0.28.1039" : "dev";
6737
+ var cliVersion2 = true ? "0.28.1041" : "dev";
6738
6738
  var program = new Command();
6739
6739
  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");
6740
6740
  program.hook("preAction", async (thisCommand, actionCommand) => {
@@ -15,7 +15,7 @@ import {
15
15
  parseEnvFileEntries,
16
16
  parseEnvIntegrations,
17
17
  shellQuote
18
- } from "./chunk-TAWCN7OK.js";
18
+ } from "./chunk-OHT4PWAK.js";
19
19
  import {
20
20
  BIND_FAILURE_QUARANTINE_THRESHOLD,
21
21
  INTEGRATIONS_SECTION_END,
@@ -77,7 +77,7 @@ import {
77
77
  sessionTranscriptDir,
78
78
  worseConnectivityOutcome,
79
79
  wrapScheduledTaskPrompt
80
- } from "./chunk-UB2HLH5P.js";
80
+ } from "./chunk-TXRZFABA.js";
81
81
  import {
82
82
  classifyUnanswerablePane,
83
83
  isConsumerTermsDialogVisible,
@@ -7143,7 +7143,7 @@ function exchangeFailureKind(err) {
7143
7143
  }
7144
7144
 
7145
7145
  // src/lib/api-client.ts
7146
- var agtCliVersion = true ? "0.28.1039" : "dev";
7146
+ var agtCliVersion = true ? "0.28.1041" : "dev";
7147
7147
  var lastConfigHash = null;
7148
7148
  function setConfigHash(hash) {
7149
7149
  lastConfigHash = hash && hash.length > 0 ? hash : null;
@@ -12100,4 +12100,4 @@ export {
12100
12100
  managerInstallSystemUnitCommand,
12101
12101
  managerUninstallSystemUnitCommand
12102
12102
  };
12103
- //# sourceMappingURL=chunk-X6D6UADI.js.map
12103
+ //# sourceMappingURL=chunk-7ORA3ZVJ.js.map
@@ -23,7 +23,7 @@ import {
23
23
  rotateDailySession,
24
24
  sessionFileExists,
25
25
  todayLocalIso
26
- } from "./chunk-UB2HLH5P.js";
26
+ } from "./chunk-TXRZFABA.js";
27
27
  import {
28
28
  classifyUnanswerablePane,
29
29
  findUsageLimitResetHint,
@@ -5930,4 +5930,4 @@ export {
5930
5930
  stopAllSessionsAndWait,
5931
5931
  getProjectDir
5932
5932
  };
5933
- //# sourceMappingURL=chunk-TAWCN7OK.js.map
5933
+ //# sourceMappingURL=chunk-OHT4PWAK.js.map
@@ -11260,10 +11260,45 @@ var OAUTH_PROVIDERS = {
11260
11260
  // bill at creation time. Read-only would force a follow-up manual
11261
11261
  // upload in Xero; write closes the loop.
11262
11262
  "accounting.attachments",
11263
- // accounting.transactions.read → granular read-only replacements
11264
- // for the surfaces we don't yet need write access on.
11265
- "accounting.payments.read",
11266
- "accounting.banktransactions.read",
11263
+ // payments: write (CS-1845) enables `xero.payment.create`, which does
11264
+ // PUT /Payments. These two were `.read` only, described as "surfaces we
11265
+ // don't yet need write access on" — but the xero-broker had ALREADY
11266
+ // registered write verbs against both, so the claim was false when it was
11267
+ // written and the verbs could never succeed. A live approval of AUD
11268
+ // 57,748.35 against INV-0407 was approved by a human and then failed with
11269
+ // Xero `401 {Title: Unauthorized, Detail: AuthorizationUnsuccessful}`,
11270
+ // AFTER the handler's single 401 refresh-retry — which is what rules out
11271
+ // an expired token: a freshly refreshed token still 401s when the GRANT
11272
+ // never carried the scope.
11273
+ //
11274
+ // banktransactions: write for the same reason — `xero.bank_transaction.delete`
11275
+ // is registered and would have failed identically the first time anyone
11276
+ // approved one. It is a DESTRUCTIVE verb, so it was one approval away from
11277
+ // being the more alarming report.
11278
+ //
11279
+ // The variant without `.read` is the read+write granular scope, so the
11280
+ // `.read` entries are gone from THIS list.
11281
+ //
11282
+ // That is not the same as "consent asks for them once" (Obi Wan
11283
+ // `167f3932fcdf` on #6564 corrected an earlier version of this comment,
11284
+ // which claimed it was). The authorize route unions `defaultScopes` with
11285
+ // `listAgentRequiredOAuthScopes` (lib/agent-oauth-scope-deficit.ts, called
11286
+ // from routes/integrations-oauth.ts), and the catalog's `xero:read` defined
11287
+ // scope still lists `accounting.payments.read` and
11288
+ // `accounting.banktransactions.read` in its `oauth_scopes` — so an agent
11289
+ // with xero:read installed requests the `.read` variants alongside these.
11290
+ // Harmless, because write implies read, but do not write comments here that
11291
+ // describe the consent string as though this array were all of it.
11292
+ //
11293
+ // DO NOT substitute the broad `accounting.transactions`: Xero rejects the
11294
+ // manifest for apps created after 2026-03-02 (see the note above).
11295
+ //
11296
+ // RECONNECT REQUIRED, same as `accounting.manualjournals` below: the broker
11297
+ // posts with the agent's own OAuth access_token, so every existing install
11298
+ // keeps failing until it reconnects and re-consents. Shipping this scope is
11299
+ // necessary and NOT sufficient.
11300
+ "accounting.payments",
11301
+ "accounting.banktransactions",
11267
11302
  // manualjournals: write (CS-1439) enables the xero-broker to post
11268
11303
  // manual journals (reclasses, accruals, corrections) on approval. The
11269
11304
  // variant without `.read` is the read+write granular scope. Note: an
@@ -15648,4 +15683,4 @@ export {
15648
15683
  peekCurrentSession,
15649
15684
  readDailySessionPin
15650
15685
  };
15651
- //# sourceMappingURL=chunk-UB2HLH5P.js.map
15686
+ //# sourceMappingURL=chunk-TXRZFABA.js.map