@integrity-labs/agt-cli 0.28.116 → 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.
@@ -100,7 +100,7 @@ async function spawnPairSession(session) {
100
100
  return { ok: true };
101
101
  } catch {
102
102
  }
103
- const { resolveClaudeBinary } = await import("./persistent-session-YK3ZCRLF.js");
103
+ const { resolveClaudeBinary } = await import("./persistent-session-A5A7YNLH.js");
104
104
  const claudeBin = resolveClaudeBinary();
105
105
  const pairEnv = {
106
106
  ...process.env,
@@ -373,4 +373,4 @@ export {
373
373
  startClaudePair,
374
374
  submitClaudePairCode
375
375
  };
376
- //# sourceMappingURL=claude-pair-runtime-D775URZU.js.map
376
+ //# sourceMappingURL=claude-pair-runtime-IT2PZNJP.js.map
@@ -28,7 +28,7 @@ import {
28
28
  requireHost,
29
29
  safeWriteJsonAtomic,
30
30
  setConfigHash
31
- } from "../chunk-HTZD2336.js";
31
+ } from "../chunk-P7FAMLC4.js";
32
32
  import {
33
33
  getProjectDir as getProjectDir2,
34
34
  getReadyTasks,
@@ -72,7 +72,7 @@ import {
72
72
  takeZombieDetection,
73
73
  transcriptActivityAgeSeconds,
74
74
  writeEgressAllowlist
75
- } from "../chunk-UN77SCIM.js";
75
+ } from "../chunk-NBMKBGZA.js";
76
76
  import {
77
77
  FLAGS_SCHEMA_VERSION,
78
78
  FLAG_REGISTRY,
@@ -108,7 +108,7 @@ import {
108
108
  resolveDmTarget,
109
109
  sumTranscriptUsageInWindow,
110
110
  wrapScheduledTaskPrompt
111
- } from "../chunk-63VABDNF.js";
111
+ } from "../chunk-4GZLRVHO.js";
112
112
  import {
113
113
  parsePsRows,
114
114
  reapOrphanChannelMcps
@@ -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.116" : "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();
@@ -8111,7 +8111,7 @@ async function pollCycle() {
8111
8111
  }
8112
8112
  try {
8113
8113
  const { detectHostSecurity } = await import("../host-security-6PDFG7F5.js");
8114
- const { collectDiagnostics } = await import("../persistent-session-YK3ZCRLF.js");
8114
+ const { collectDiagnostics } = await import("../persistent-session-A5A7YNLH.js");
8115
8115
  const diagCodeNames = [...agentState.persistentSessionAgents];
8116
8116
  const agentDiagnostics = diagCodeNames.length > 0 ? collectDiagnostics(diagCodeNames) : void 0;
8117
8117
  let tailscaleHostname;
@@ -8212,7 +8212,7 @@ async function pollCycle() {
8212
8212
  const {
8213
8213
  collectResponsivenessProbes,
8214
8214
  getResponsivenessIntervalMs
8215
- } = await import("../responsiveness-probe-TXOKXJPR.js");
8215
+ } = await import("../responsiveness-probe-ORKASAGP.js");
8216
8216
  const probeIntervalMs = getResponsivenessIntervalMs();
8217
8217
  if (now - lastResponsivenessProbeAt > probeIntervalMs) {
8218
8218
  const probeCodeNames = [...agentState.persistentSessionAgents];
@@ -8244,7 +8244,7 @@ async function pollCycle() {
8244
8244
  collectResponsivenessProbes,
8245
8245
  livePendingInboundOldestAgeSeconds,
8246
8246
  parkPendingInbound
8247
- } = await import("../responsiveness-probe-TXOKXJPR.js");
8247
+ } = await import("../responsiveness-probe-ORKASAGP.js");
8248
8248
  const { getProjectDir: wedgeProjectDir } = await import("../claude-scheduler-FATCLHDM.js");
8249
8249
  const wedgeNow = /* @__PURE__ */ new Date();
8250
8250
  const liveAgents = agentState.persistentSessionAgents;
@@ -11776,7 +11776,7 @@ async function processClaudePairSessions(agents) {
11776
11776
  killPairSession,
11777
11777
  pairTmuxSession,
11778
11778
  finalizeClaudePairOnboarding
11779
- } = await import("../claude-pair-runtime-D775URZU.js");
11779
+ } = await import("../claude-pair-runtime-IT2PZNJP.js");
11780
11780
  for (const pairId of pendingResp.cancelled_pair_ids ?? []) {
11781
11781
  log(`[claude-pair] sweeping orphan tmux session for pair ${pairId.slice(0, 8)}`);
11782
11782
  const killed = await killPairSession(pairTmuxSession(pairId));
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();
@@ -14667,7 +14667,7 @@ function channelReplayEnabled() {
14667
14667
  return resolveHostBooleanFlag({
14668
14668
  key: "channel-replay",
14669
14669
  envVar: "AGT_CHANNEL_REPLAY_ENABLED",
14670
- defaultValue: false
14670
+ defaultValue: true
14671
14671
  });
14672
14672
  }
14673
14673
  function shouldReplayMarker(i) {
@@ -16732,7 +16732,7 @@ function channelReplayEnabled() {
16732
16732
  return resolveHostBooleanFlag({
16733
16733
  key: "channel-replay",
16734
16734
  envVar: "AGT_CHANNEL_REPLAY_ENABLED",
16735
- defaultValue: false
16735
+ defaultValue: true
16736
16736
  });
16737
16737
  }
16738
16738
  function shouldReplayMarker(i) {
@@ -34,8 +34,8 @@ import {
34
34
  writeDirectChatSessionState,
35
35
  writeEgressAllowlist,
36
36
  writePersistentClaudeWrapper
37
- } from "./chunk-UN77SCIM.js";
38
- import "./chunk-63VABDNF.js";
37
+ } from "./chunk-NBMKBGZA.js";
38
+ import "./chunk-4GZLRVHO.js";
39
39
  import "./chunk-XWVM4KPK.js";
40
40
  export {
41
41
  EGRESS_BASELINE_DOMAINS,
@@ -74,4 +74,4 @@ export {
74
74
  writeEgressAllowlist,
75
75
  writePersistentClaudeWrapper
76
76
  };
77
- //# sourceMappingURL=persistent-session-YK3ZCRLF.js.map
77
+ //# sourceMappingURL=persistent-session-A5A7YNLH.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  paneLogPath
3
- } from "./chunk-UN77SCIM.js";
4
- import "./chunk-63VABDNF.js";
3
+ } from "./chunk-NBMKBGZA.js";
4
+ import "./chunk-4GZLRVHO.js";
5
5
  import "./chunk-XWVM4KPK.js";
6
6
 
7
7
  // src/lib/responsiveness-probe.ts
@@ -304,4 +304,4 @@ export {
304
304
  readAndResetChannelDeflections,
305
305
  readAndResetChannelLaneClassifications
306
306
  };
307
- //# sourceMappingURL=responsiveness-probe-TXOKXJPR.js.map
307
+ //# sourceMappingURL=responsiveness-probe-ORKASAGP.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@integrity-labs/agt-cli",
3
- "version": "0.28.116",
3
+ "version": "0.28.118",
4
4
  "description": "Augmented Team CLI — agent provisioning and management",
5
5
  "type": "module",
6
6
  "engines": {