@integrity-labs/agt-cli 0.28.1044 → 0.28.1046

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-QPKBYXGK.js";
43
+ } from "../chunk-5W7ZBCWC.js";
44
44
  import {
45
45
  getProjectDir,
46
46
  isSessionResumeDisabled,
@@ -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.1044" : "dev";
5477
+ var cliVersion = true ? "0.28.1046" : "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.1044" : "dev";
6737
+ var cliVersion2 = true ? "0.28.1046" : "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) => {
@@ -7119,7 +7119,7 @@ function exchangeFailureKind(err) {
7119
7119
  }
7120
7120
 
7121
7121
  // src/lib/api-client.ts
7122
- var agtCliVersion = true ? "0.28.1044" : "dev";
7122
+ var agtCliVersion = true ? "0.28.1046" : "dev";
7123
7123
  var lastConfigHash = null;
7124
7124
  function setConfigHash(hash) {
7125
7125
  lastConfigHash = hash && hash.length > 0 ? hash : null;
@@ -12076,4 +12076,4 @@ export {
12076
12076
  managerInstallSystemUnitCommand,
12077
12077
  managerUninstallSystemUnitCommand
12078
12078
  };
12079
- //# sourceMappingURL=chunk-QPKBYXGK.js.map
12079
+ //# sourceMappingURL=chunk-5W7ZBCWC.js.map
@@ -66,7 +66,7 @@ import {
66
66
  safeWriteJsonAtomic,
67
67
  setConfigHash,
68
68
  tripClass
69
- } from "../chunk-QPKBYXGK.js";
69
+ } from "../chunk-5W7ZBCWC.js";
70
70
  import {
71
71
  getProjectDir as getProjectDir2,
72
72
  getReadyTasks,
@@ -14677,7 +14677,7 @@ var agentRestartTimezoneInputs = /* @__PURE__ */ new Map();
14677
14677
  var lastVersionCheckAt = 0;
14678
14678
  var VERSION_CHECK_INTERVAL_MS = 5 * 60 * 1e3;
14679
14679
  var lastResponsivenessProbeAt = 0;
14680
- var agtCliVersion = true ? "0.28.1044" : "dev";
14680
+ var agtCliVersion = true ? "0.28.1046" : "dev";
14681
14681
  function resolveBrewPath(execFileSync3) {
14682
14682
  try {
14683
14683
  const out = execFileSync3("which", ["brew"], { timeout: 5e3 }).toString().trim();
package/dist/mcp/index.js CHANGED
@@ -46630,6 +46630,37 @@ function describeFeatureRequestList(resp, stateFilter) {
46630
46630
  });
46631
46631
  return { text: [header, ...notes, ...body].join("\n"), isError: false };
46632
46632
  }
46633
+ function describeFeatureRequestWithdraw(resp) {
46634
+ switch (resp.status) {
46635
+ case "withdrawn":
46636
+ return { text: "Withdrawn. The request now shows as closed in request_feature_list.", isError: false };
46637
+ case "already_closed":
46638
+ return {
46639
+ text: `Nothing to withdraw: that request is already ${resp.state ?? "closed"}.`,
46640
+ isError: false
46641
+ };
46642
+ case "not_yours":
46643
+ return {
46644
+ text: "Not withdrawn: a teammate filed that request, and only the agent that filed a request can withdraw it. Ask them, or tell your operator.",
46645
+ isError: true
46646
+ };
46647
+ case "not_found":
46648
+ return {
46649
+ text: `Not withdrawn: ${resp.message ?? "no feature request with that id was filed by your team. Check the id with request_feature_list."}`,
46650
+ isError: true
46651
+ };
46652
+ case "linear_unavailable":
46653
+ return {
46654
+ text: `Not withdrawn${resp.message ? `: ${resp.message}` : ""}`,
46655
+ isError: true
46656
+ };
46657
+ default:
46658
+ return {
46659
+ text: `Could not withdraw the feature request${resp.message ? `: ${resp.message}` : ""}. Check request_feature_list before trying again; do not assume it was withdrawn.`,
46660
+ isError: true
46661
+ };
46662
+ }
46663
+ }
46633
46664
 
46634
46665
  // src/recruit-agent.ts
46635
46666
  function describeRecruitAgentResult(resp) {
@@ -48570,6 +48601,45 @@ server.tool(
48570
48601
  return { content: [{ type: "text", text }], ...isError ? { isError: true } : {} };
48571
48602
  }
48572
48603
  );
48604
+ server.tool(
48605
+ "request_feature_withdraw",
48606
+ "Withdraw a feature request YOU filed with request_feature, when it is no longer needed (the requester changed their mind, it was filed in error, or a later request supersedes it). Use the id from request_feature_list. Only the agent that filed a request can withdraw it; a teammate's request returns not_yours. A request that is already resolved or closed is left alone (already_closed). Withdrawing moves the support ticket to closed with your reason attached, and it sends no email to the requester. Do NOT file a new request_feature asking support to cancel an old one; use this instead.",
48607
+ {
48608
+ id: external_exports.string().uuid().describe("The request id from request_feature_list."),
48609
+ reason: external_exports.string().min(1).max(1e3).describe("Why it is being withdrawn, in one or two sentences. Recorded on the support ticket.")
48610
+ },
48611
+ async (params) => {
48612
+ if (!AGT_AGENT_CODE_NAME) {
48613
+ return {
48614
+ content: [{ type: "text", text: "Error: AGT_AGENT_CODE_NAME not configured." }],
48615
+ isError: true
48616
+ };
48617
+ }
48618
+ let resp;
48619
+ try {
48620
+ resp = await apiPost(
48621
+ "/host/request-feature/withdraw",
48622
+ { agent_code_name: AGT_AGENT_CODE_NAME, id: params.id, reason: params.reason },
48623
+ false,
48624
+ 2e4,
48625
+ "request_feature_withdraw",
48626
+ false
48627
+ );
48628
+ } catch (err) {
48629
+ return {
48630
+ content: [
48631
+ {
48632
+ type: "text",
48633
+ text: `Could not reach the feature-request service (${err instanceof Error ? err.message : String(err)}). Check request_feature_list before trying again; do not assume it was withdrawn.`
48634
+ }
48635
+ ],
48636
+ isError: true
48637
+ };
48638
+ }
48639
+ const { text, isError } = describeFeatureRequestWithdraw(resp);
48640
+ return { content: [{ type: "text", text }], ...isError ? { isError: true } : {} };
48641
+ }
48642
+ );
48573
48643
  server.tool(
48574
48644
  "list_agent_roles",
48575
48645
  "List the predefined agent roles available to your organization. Call this BEFORE recruit_agent, and go through the results with the person who asked, so the new teammate is created from a curated role rather than a label you invented. Each role carries a vetted description, a risk tier, scheduled tasks and bundled skills that are provisioned automatically when the role is used \u2014 a made-up role label gets none of that. Pass the chosen role_id to recruit_agent.",
@@ -50511,6 +50581,9 @@ var LOCAL_TOOL_NAMES = /* @__PURE__ */ new Set([
50511
50581
  // ENG-10427: the read half of request_feature (always registered). No API tool
50512
50582
  // shares this name; listed here to keep the lockstep guard green.
50513
50583
  "request_feature_list",
50584
+ // The cancel half of request_feature (always registered). No API tool shares
50585
+ // this name; listed here to keep the lockstep guard green.
50586
+ "request_feature_withdraw",
50514
50587
  // ENG-7495: agent-requested integration reconnect (always registered). No
50515
50588
  // API tool shares this name; listed here to keep the lockstep guard green.
50516
50589
  "request_reconnect",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@integrity-labs/agt-cli",
3
- "version": "0.28.1044",
3
+ "version": "0.28.1046",
4
4
  "description": "Augmented Team CLI — agent provisioning and management",
5
5
  "type": "module",
6
6
  "engines": {