@integrity-labs/agt-cli 0.28.117 → 0.28.118

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
@@ -37,7 +37,7 @@ import {
37
37
  success,
38
38
  table,
39
39
  warn
40
- } from "../chunk-L232TEQA.js";
40
+ } from "../chunk-P7FAMLC4.js";
41
41
  import {
42
42
  CHANNEL_REGISTRY,
43
43
  DEPLOYMENT_TEMPLATES,
@@ -4777,7 +4777,7 @@ import { execFileSync, execSync } from "child_process";
4777
4777
  import { existsSync as existsSync10, realpathSync as realpathSync2 } from "fs";
4778
4778
  import chalk18 from "chalk";
4779
4779
  import ora16 from "ora";
4780
- var cliVersion = true ? "0.28.117" : "dev";
4780
+ var cliVersion = true ? "0.28.118" : "dev";
4781
4781
  async function fetchLatestVersion() {
4782
4782
  const host2 = getHost();
4783
4783
  if (!host2) return null;
@@ -5791,7 +5791,7 @@ function handleError(err) {
5791
5791
  }
5792
5792
 
5793
5793
  // src/bin/agt.ts
5794
- var cliVersion2 = true ? "0.28.117" : "dev";
5794
+ var cliVersion2 = true ? "0.28.118" : "dev";
5795
5795
  var program = new Command();
5796
5796
  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");
5797
5797
  program.hook("preAction", async (thisCommand, actionCommand) => {
@@ -7632,7 +7632,7 @@ function requireHost() {
7632
7632
  }
7633
7633
 
7634
7634
  // src/lib/api-client.ts
7635
- var agtCliVersion = true ? "0.28.117" : "dev";
7635
+ var agtCliVersion = true ? "0.28.118" : "dev";
7636
7636
  var lastConfigHash = null;
7637
7637
  function setConfigHash(hash) {
7638
7638
  lastConfigHash = hash && hash.length > 0 ? hash : null;
@@ -8929,4 +8929,4 @@ export {
8929
8929
  managerInstallSystemUnitCommand,
8930
8930
  managerUninstallSystemUnitCommand
8931
8931
  };
8932
- //# sourceMappingURL=chunk-L232TEQA.js.map
8932
+ //# sourceMappingURL=chunk-P7FAMLC4.js.map
@@ -28,7 +28,7 @@ import {
28
28
  requireHost,
29
29
  safeWriteJsonAtomic,
30
30
  setConfigHash
31
- } from "../chunk-L232TEQA.js";
31
+ } from "../chunk-P7FAMLC4.js";
32
32
  import {
33
33
  getProjectDir as getProjectDir2,
34
34
  getReadyTasks,
@@ -7000,7 +7000,7 @@ var cachedMaintenanceWindow = null;
7000
7000
  var lastVersionCheckAt = 0;
7001
7001
  var VERSION_CHECK_INTERVAL_MS = 5 * 60 * 1e3;
7002
7002
  var lastResponsivenessProbeAt = 0;
7003
- var agtCliVersion = true ? "0.28.117" : "dev";
7003
+ var agtCliVersion = true ? "0.28.118" : "dev";
7004
7004
  function resolveBrewPath(execFileSync4) {
7005
7005
  try {
7006
7006
  const out = execFileSync4("which", ["brew"], { timeout: 5e3 }).toString().trim();
package/dist/mcp/index.js CHANGED
@@ -21875,6 +21875,82 @@ server.tool(
21875
21875
  return { content: [{ type: "text", text }], ...isError ? { isError: true } : {} };
21876
21876
  }
21877
21877
  );
21878
+ server.tool(
21879
+ "update_identity",
21880
+ "Update your OWN identity: your role, personality, description, and/or display name. Provide only the fields you want to change; omitted fields are left unchanged, and passing an empty string clears a field (display_name cannot be emptied). Your code_name never changes. Changes are saved immediately and take effect within a few minutes, on your next configuration refresh, when your guidance is regenerated. Use this to refine how you present yourself or how you behave, not for one-off tasks. Avoid changing your identity frequently.",
21881
+ {
21882
+ role: external_exports.string().max(200).optional().describe(
21883
+ 'Your role / job title (e.g. "Operations Lead"). Appears on your identity line. Empty string clears it.'
21884
+ ),
21885
+ personality: external_exports.string().max(4e3).optional().describe(
21886
+ 'Your personality and communication style (tone, voice, how you behave). Becomes your "## Personality" guidance. Empty string clears it.'
21887
+ ),
21888
+ description: external_exports.string().max(2e3).optional().describe("A short description of you and what you do. Empty string clears it."),
21889
+ display_name: external_exports.string().min(1).max(120).optional().describe(
21890
+ "Your human-readable display name (NOT your code_name, which never changes). Cannot be empty."
21891
+ )
21892
+ },
21893
+ async (params) => {
21894
+ if (!AGT_AGENT_CODE_NAME) {
21895
+ return {
21896
+ content: [{ type: "text", text: "Error: AGT_AGENT_CODE_NAME not configured." }],
21897
+ isError: true
21898
+ };
21899
+ }
21900
+ const payload = { agent_code_name: AGT_AGENT_CODE_NAME };
21901
+ for (const f of ["role", "personality", "description", "display_name"]) {
21902
+ if (params[f] !== void 0) payload[f] = params[f];
21903
+ }
21904
+ let resp;
21905
+ try {
21906
+ resp = await apiPost(
21907
+ "/host/update-identity",
21908
+ payload
21909
+ );
21910
+ } catch (err) {
21911
+ const msg = err instanceof Error ? err.message : String(err);
21912
+ if (/returned\s+[45]\d\d/.test(msg)) {
21913
+ let detail = msg;
21914
+ const jsonStart = msg.indexOf("{");
21915
+ if (jsonStart !== -1) {
21916
+ try {
21917
+ const parsedErr = JSON.parse(msg.slice(jsonStart));
21918
+ if (parsedErr.error) detail = parsedErr.error;
21919
+ } catch {
21920
+ }
21921
+ }
21922
+ return {
21923
+ content: [{ type: "text", text: `Identity update rejected: ${detail}` }],
21924
+ isError: true
21925
+ };
21926
+ }
21927
+ return {
21928
+ content: [
21929
+ {
21930
+ type: "text",
21931
+ text: `Could not reach the identity-update service (${msg}). Tell your operator.`
21932
+ }
21933
+ ],
21934
+ isError: true
21935
+ };
21936
+ }
21937
+ if (!resp.ok) {
21938
+ return {
21939
+ content: [{ type: "text", text: `Identity update rejected: ${resp.error ?? "unknown error"}` }],
21940
+ isError: true
21941
+ };
21942
+ }
21943
+ const updated = resp.updated?.length ? resp.updated.join(", ") : "nothing";
21944
+ return {
21945
+ content: [
21946
+ {
21947
+ type: "text",
21948
+ text: `Updated ${updated}. The change will take effect within a few minutes, on your next configuration refresh.`
21949
+ }
21950
+ ]
21951
+ };
21952
+ }
21953
+ );
21878
21954
  server.tool(
21879
21955
  "drift_report",
21880
21956
  "Report configuration drift detected in local agent files (CHARTER.md, TOOLS.md, etc.). Compares local file hashes against API-side versions and reports any differences.",
@@ -22769,7 +22845,10 @@ var LOCAL_TOOL_NAMES = /* @__PURE__ */ new Set([
22769
22845
  // ENG-6577: feature-request intake (always registered). No API tool shares
22770
22846
  // this name, so the forwarding-skip is a no-op; listed here to keep the
22771
22847
  // lockstep guard green.
22772
- "request_feature"
22848
+ "request_feature",
22849
+ // ENG-6686: self-service identity edit (always registered). Listed here to
22850
+ // keep the lockstep guard green; no API tool shares this name.
22851
+ "update_identity"
22773
22852
  ]);
22774
22853
  async function registerForwardedApiTools() {
22775
22854
  const apiTools = await discoverApiTools();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@integrity-labs/agt-cli",
3
- "version": "0.28.117",
3
+ "version": "0.28.118",
4
4
  "description": "Augmented Team CLI — agent provisioning and management",
5
5
  "type": "module",
6
6
  "engines": {