@integrity-labs/agt-cli 0.28.1172 → 0.28.1173

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-7XUOPTSD.js";
43
+ } from "../chunk-W34QK2EY.js";
44
44
  import {
45
45
  getProjectDir,
46
46
  isSessionResumeDisabled,
@@ -5513,7 +5513,7 @@ import { execFileSync, execSync } from "child_process";
5513
5513
  import { existsSync as existsSync11, realpathSync as realpathSync2 } from "fs";
5514
5514
  import chalk18 from "chalk";
5515
5515
  import ora16 from "ora";
5516
- var cliVersion = true ? "0.28.1172" : "dev";
5516
+ var cliVersion = true ? "0.28.1173" : "dev";
5517
5517
  async function fetchLatestVersion() {
5518
5518
  const host2 = getHost();
5519
5519
  if (!host2) return null;
@@ -6773,7 +6773,7 @@ function handleError(err) {
6773
6773
  }
6774
6774
 
6775
6775
  // src/bin/agt.ts
6776
- var cliVersion2 = true ? "0.28.1172" : "dev";
6776
+ var cliVersion2 = true ? "0.28.1173" : "dev";
6777
6777
  var program = new Command();
6778
6778
  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");
6779
6779
  program.hook("preAction", async (thisCommand, actionCommand) => {
@@ -8078,7 +8078,7 @@ function exchangeFailureKind(err) {
8078
8078
  }
8079
8079
 
8080
8080
  // src/lib/api-client.ts
8081
- var agtCliVersion = true ? "0.28.1172" : "dev";
8081
+ var agtCliVersion = true ? "0.28.1173" : "dev";
8082
8082
  var lastConfigHash = null;
8083
8083
  function setConfigHash(hash) {
8084
8084
  lastConfigHash = hash && hash.length > 0 ? hash : null;
@@ -13235,4 +13235,4 @@ export {
13235
13235
  managerInstallSystemUnitCommand,
13236
13236
  managerUninstallSystemUnitCommand
13237
13237
  };
13238
- //# sourceMappingURL=chunk-7XUOPTSD.js.map
13238
+ //# sourceMappingURL=chunk-W34QK2EY.js.map
@@ -77,7 +77,7 @@ import {
77
77
  setConfigHash,
78
78
  shellGuard,
79
79
  tripClass
80
- } from "../chunk-7XUOPTSD.js";
80
+ } from "../chunk-W34QK2EY.js";
81
81
  import {
82
82
  CLAUDE_CODE_SECURITY_FLOOR,
83
83
  SELF_UPDATE_TIMEOUTS,
@@ -15928,7 +15928,7 @@ var agentRestartTimezoneInputs = /* @__PURE__ */ new Map();
15928
15928
  var lastVersionCheckAt = 0;
15929
15929
  var VERSION_CHECK_INTERVAL_MS = 5 * 60 * 1e3;
15930
15930
  var lastResponsivenessProbeAt = 0;
15931
- var agtCliVersion = true ? "0.28.1172" : "dev";
15931
+ var agtCliVersion = true ? "0.28.1173" : "dev";
15932
15932
  function resolveBrewPath(execFileSync3) {
15933
15933
  try {
15934
15934
  const out = execFileSync3("which", ["brew"], { timeout: 5e3 }).toString().trim();
@@ -54082,6 +54082,7 @@ var MAINTENANCE_GATED_TOOLS = /* @__PURE__ */ new Set([
54082
54082
  // ADR-0025 approval tools, registered by `approval-tools.ts` against the same
54083
54083
  // server object, so the wrapper in index.ts covers them too.
54084
54084
  "cancel_approval",
54085
+ "approval_annotate",
54085
54086
  // Status / identity.
54086
54087
  "status_standup",
54087
54088
  "status_update",
package/dist/mcp/index.js CHANGED
@@ -47352,6 +47352,7 @@ var MAINTENANCE_GATED_TOOLS = /* @__PURE__ */ new Set([
47352
47352
  // ADR-0025 approval tools, registered by `approval-tools.ts` against the same
47353
47353
  // server object, so the wrapper in index.ts covers them too.
47354
47354
  "cancel_approval",
47355
+ "approval_annotate",
47355
47356
  // Status / identity.
47356
47357
  "status_standup",
47357
47358
  "status_update",
@@ -48694,6 +48695,22 @@ function describeKanbanLink(requestedCardId, resp) {
48694
48695
  }
48695
48696
  return ` Card ${requestedCardId} was NOT linked to this approval (${why}), so the card is not waiting on it and answering the card will not decide it. Leave the request as is (the approver can still decide it from the Approvals page) and do not park the card as a human Approve/Deny wait.`;
48696
48697
  }
48698
+ var APPROVAL_ANNOTATE_EVIDENCE_MAX = 1e3;
48699
+ function describeAnnotation(resp) {
48700
+ const head = `Recorded your recommendation (${resp.recommendation}) on request ${resp.request_id}. This is not a decision; the person still decides.`;
48701
+ switch (resp.card.outcome) {
48702
+ case "card_updated":
48703
+ return `${head} It now shows on their approval card.`;
48704
+ case "follow_up_posted":
48705
+ return `${head} It was posted as a follow-up beside their card. It also shows on the Approvals page.`;
48706
+ case "unchanged":
48707
+ return `${head} It is identical to your last one, which already reached their card, so nothing was re-sent.`;
48708
+ case "no_card":
48709
+ return `${head} No chat card was delivered for this request, so it shows on the Approvals page only.`;
48710
+ default:
48711
+ return `${head} It could NOT be added to their chat card (${resp.card.reason ?? "unknown"}), so it shows on the Approvals page only. Do not say they have seen it.`;
48712
+ }
48713
+ }
48697
48714
  function statusToOutcome(status) {
48698
48715
  switch (status) {
48699
48716
  case "active":
@@ -48803,6 +48820,31 @@ function registerApprovalTools(server2, deps) {
48803
48820
  }
48804
48821
  }
48805
48822
  );
48823
+ server2.tool(
48824
+ "approval_annotate",
48825
+ "Attach your recommendation and what you checked to an approval request from an agent that reports to you, directly or further down your reports-to chain. The person deciding sees it on their approval card, labelled as an agent recommendation. It is NOT a decision: it cannot approve, deny or change the request, and the human still decides. Use it after you have verified the facts yourself, never by repeating the requester's own words. Calling it again replaces your earlier recommendation. Only works while the request is pending.",
48826
+ {
48827
+ request_id: external_exports.string().min(1).describe("The request id from the notice telling you about your report's approval."),
48828
+ recommendation: external_exports.enum(["approve", "deny", "unsure"]).describe("What you recommend the person decides."),
48829
+ evidence: external_exports.string().min(1).max(APPROVAL_ANNOTATE_EVIDENCE_MAX).describe('What you checked and found, e.g. "tree clean, no stash, all commits on origin". Shown as one line of quoted text, attributed to you.')
48830
+ },
48831
+ async (params) => {
48832
+ try {
48833
+ const resp = await apiPost2(`/approvals/${encodeURIComponent(params.request_id)}/annotate`, {
48834
+ agent_id: agentId,
48835
+ recommendation: params.recommendation,
48836
+ evidence: params.evidence
48837
+ });
48838
+ return { content: [{ type: "text", text: describeAnnotation(resp) }] };
48839
+ } catch (err) {
48840
+ const msg = err instanceof Error ? err.message : String(err);
48841
+ return {
48842
+ content: [{ type: "text", text: `Could not attach the recommendation to ${params.request_id}: ${msg}` }],
48843
+ isError: true
48844
+ };
48845
+ }
48846
+ }
48847
+ );
48806
48848
  server2.tool(
48807
48849
  "cancel_approval",
48808
48850
  "Withdraw an approval request you no longer need (only works while it is still pending). The Manager stops being asked. Use when the underlying need went away.",
@@ -52424,6 +52466,8 @@ var LOCAL_TOOL_NAMES = /* @__PURE__ */ new Set([
52424
52466
  "request_approval",
52425
52467
  "check_approval",
52426
52468
  "cancel_approval",
52469
+ // ENG-11573: a managing agent's recommendation on a report's approval.
52470
+ "approval_annotate",
52427
52471
  "kanban_list",
52428
52472
  "kanban_search",
52429
52473
  "kanban_get",
@@ -31065,6 +31065,7 @@ var MAINTENANCE_GATED_TOOLS = /* @__PURE__ */ new Set([
31065
31065
  // ADR-0025 approval tools, registered by `approval-tools.ts` against the same
31066
31066
  // server object, so the wrapper in index.ts covers them too.
31067
31067
  "cancel_approval",
31068
+ "approval_annotate",
31068
31069
  // Status / identity.
31069
31070
  "status_standup",
31070
31071
  "status_update",
@@ -31282,6 +31282,7 @@ var MAINTENANCE_GATED_TOOLS = /* @__PURE__ */ new Set([
31282
31282
  // ADR-0025 approval tools, registered by `approval-tools.ts` against the same
31283
31283
  // server object, so the wrapper in index.ts covers them too.
31284
31284
  "cancel_approval",
31285
+ "approval_annotate",
31285
31286
  // Status / identity.
31286
31287
  "status_standup",
31287
31288
  "status_update",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@integrity-labs/agt-cli",
3
- "version": "0.28.1172",
3
+ "version": "0.28.1173",
4
4
  "description": "Augmented Team CLI — agent provisioning and management",
5
5
  "type": "module",
6
6
  "engines": {