@integrity-labs/agt-cli 0.28.160 → 0.28.161

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.
@@ -23,7 +23,7 @@ import {
23
23
  resolveConnectivityProbe,
24
24
  worseConnectivityOutcome,
25
25
  wrapScheduledTaskPrompt
26
- } from "./chunk-65FVM2UA.js";
26
+ } from "./chunk-CQZDKD2U.js";
27
27
 
28
28
  // ../../packages/core/dist/integrations/registry.js
29
29
  var INTEGRATION_REGISTRY = [
@@ -7928,7 +7928,7 @@ function requireHost() {
7928
7928
  }
7929
7929
 
7930
7930
  // src/lib/api-client.ts
7931
- var agtCliVersion = true ? "0.28.160" : "dev";
7931
+ var agtCliVersion = true ? "0.28.161" : "dev";
7932
7932
  var lastConfigHash = null;
7933
7933
  function setConfigHash(hash) {
7934
7934
  lastConfigHash = hash && hash.length > 0 ? hash : null;
@@ -9233,4 +9233,4 @@ export {
9233
9233
  managerInstallSystemUnitCommand,
9234
9234
  managerUninstallSystemUnitCommand
9235
9235
  };
9236
- //# sourceMappingURL=chunk-23U3HSVH.js.map
9236
+ //# sourceMappingURL=chunk-TNTG4DNQ.js.map
@@ -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-TSVRKR7F.js");
103
+ const { resolveClaudeBinary } = await import("./persistent-session-3AC6FSX6.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-HN3PEIZ2.js.map
376
+ //# sourceMappingURL=claude-pair-runtime-VHRJFJDJ.js.map
@@ -28,7 +28,7 @@ import {
28
28
  requireHost,
29
29
  safeWriteJsonAtomic,
30
30
  setConfigHash
31
- } from "../chunk-23U3HSVH.js";
31
+ } from "../chunk-TNTG4DNQ.js";
32
32
  import {
33
33
  getProjectDir as getProjectDir2,
34
34
  getReadyTasks,
@@ -70,7 +70,7 @@ import {
70
70
  takeZombieDetection,
71
71
  transcriptActivityAgeSeconds,
72
72
  writeEgressAllowlist
73
- } from "../chunk-GZG5JRRX.js";
73
+ } from "../chunk-2D5COEAS.js";
74
74
  import {
75
75
  CONVERSATION_FAILURE_CATEGORIES,
76
76
  DEFAULT_FRAMEWORK,
@@ -111,7 +111,7 @@ import {
111
111
  resolveChannels,
112
112
  resolveDmTarget,
113
113
  sumTranscriptUsageInWindow
114
- } from "../chunk-65FVM2UA.js";
114
+ } from "../chunk-CQZDKD2U.js";
115
115
  import {
116
116
  parsePsRows,
117
117
  reapOrphanChannelMcps
@@ -6878,7 +6878,7 @@ var agentRestartTimezoneInputs = /* @__PURE__ */ new Map();
6878
6878
  var lastVersionCheckAt = 0;
6879
6879
  var VERSION_CHECK_INTERVAL_MS = 5 * 60 * 1e3;
6880
6880
  var lastResponsivenessProbeAt = 0;
6881
- var agtCliVersion = true ? "0.28.160" : "dev";
6881
+ var agtCliVersion = true ? "0.28.161" : "dev";
6882
6882
  function resolveBrewPath(execFileSync4) {
6883
6883
  try {
6884
6884
  const out = execFileSync4("which", ["brew"], { timeout: 5e3 }).toString().trim();
@@ -8011,7 +8011,7 @@ async function pollCycle() {
8011
8011
  }
8012
8012
  try {
8013
8013
  const { detectHostSecurity } = await import("../host-security-6PDFG7F5.js");
8014
- const { collectDiagnostics } = await import("../persistent-session-TSVRKR7F.js");
8014
+ const { collectDiagnostics } = await import("../persistent-session-3AC6FSX6.js");
8015
8015
  const diagCodeNames = [...agentState.persistentSessionAgents];
8016
8016
  const agentDiagnostics = diagCodeNames.length > 0 ? collectDiagnostics(diagCodeNames) : void 0;
8017
8017
  let tailscaleHostname;
@@ -8159,7 +8159,7 @@ async function pollCycle() {
8159
8159
  const {
8160
8160
  collectResponsivenessProbes,
8161
8161
  getResponsivenessIntervalMs
8162
- } = await import("../responsiveness-probe-DXPMUSVR.js");
8162
+ } = await import("../responsiveness-probe-ZXB5REIY.js");
8163
8163
  const probeIntervalMs = getResponsivenessIntervalMs();
8164
8164
  if (now - lastResponsivenessProbeAt > probeIntervalMs) {
8165
8165
  const probeCodeNames = [...agentState.persistentSessionAgents];
@@ -8191,7 +8191,7 @@ async function pollCycle() {
8191
8191
  collectResponsivenessProbes,
8192
8192
  livePendingInboundOldestAgeSeconds,
8193
8193
  parkPendingInbound
8194
- } = await import("../responsiveness-probe-DXPMUSVR.js");
8194
+ } = await import("../responsiveness-probe-ZXB5REIY.js");
8195
8195
  const { getProjectDir: wedgeProjectDir } = await import("../claude-scheduler-FATCLHDM.js");
8196
8196
  const wedgeNow = /* @__PURE__ */ new Date();
8197
8197
  const liveAgents = agentState.persistentSessionAgents;
@@ -11692,7 +11692,7 @@ async function processClaudePairSessions(agents) {
11692
11692
  killPairSession,
11693
11693
  pairTmuxSession,
11694
11694
  finalizeClaudePairOnboarding
11695
- } = await import("../claude-pair-runtime-HN3PEIZ2.js");
11695
+ } = await import("../claude-pair-runtime-VHRJFJDJ.js");
11696
11696
  for (const pairId of pendingResp.cancelled_pair_ids ?? []) {
11697
11697
  log(`[claude-pair] sweeping orphan tmux session for pair ${pairId.slice(0, 8)}`);
11698
11698
  const killed = await killPairSession(pairTmuxSession(pairId));
package/dist/mcp/index.js CHANGED
@@ -21858,10 +21858,13 @@ server.tool(
21858
21858
  );
21859
21859
  server.tool(
21860
21860
  "kanban_assign",
21861
- "Delegate a task to ANOTHER agent on your team by placing a new card on THEIR board. Use this to hand off or route work to a teammate agent (e.g. you triage a request and route the fix to a specialist agent). This is different from kanban_add, which adds a card to YOUR OWN board. The target must be an agent on your team \u2014 you cannot assign across teams. When the target finishes, you get a completion notice back on your board.",
21861
+ "Delegate a task to ANOTHER agent by placing a new card on THEIR board. Use this to hand off or route work to a teammate agent (e.g. you triage a request and route the fix to a specialist agent). This is different from kanban_add, which adds a card to YOUR OWN board. By default the target must be an agent on your OWN team. To assign across teams within your organization, also pass `target_team` (the other team's slug) \u2014 this only works if your org has enabled cross-team assignment and a peer grant links the two teams; otherwise it reads as not-found. When the target finishes, you get a completion notice back on your board.",
21862
21862
  {
21863
21863
  target_agent: external_exports.string().describe(
21864
- "The teammate to assign to: their agent code_name (kebab-case) or agent UUID. Must be on your team."
21864
+ "The teammate to assign to: their agent code_name (kebab-case) or agent UUID. On your own team unless target_team is also set."
21865
+ ),
21866
+ target_team: external_exports.string().trim().min(1).optional().describe(
21867
+ "Optional: the slug (or UUID) of ANOTHER team in your organization to assign across teams. Omit for a same-team handoff. Requires the org to have cross-team assignment enabled and a peer grant; otherwise the target reads as not-found."
21865
21868
  ),
21866
21869
  title: external_exports.string().describe("Task title (max 200 chars)"),
21867
21870
  description: external_exports.string().optional().describe("Detailed description of what needs doing"),
@@ -21873,27 +21876,34 @@ server.tool(
21873
21876
  const data = await apiPost("/host/kanban/assign", {
21874
21877
  agent_id: AGT_AGENT_ID,
21875
21878
  target_agent: params.target_agent,
21879
+ // Only sent when assigning across teams — the route branches on its
21880
+ // presence, so omit it for the same-team path. The schema rejects empty
21881
+ // strings (.trim().min(1)), so a present value is always meaningful;
21882
+ // check presence (!== undefined), not truthiness.
21883
+ ...params.target_team !== void 0 ? { target_team: params.target_team } : {},
21876
21884
  title: params.title,
21877
21885
  description: params.description,
21878
21886
  priority: params.priority ?? 2,
21879
21887
  deliverable: params.deliverable
21880
21888
  });
21889
+ const where = data.cross_team ? ` on team ${data.target_team ?? params.target_team}` : "";
21881
21890
  return {
21882
21891
  content: [
21883
21892
  {
21884
21893
  type: "text",
21885
- text: data.ok ? `Assigned "${data.title}" to ${data.target_agent} (id: ${data.id}). It will appear on their board on their next refresh.` : `Failed to assign task to ${params.target_agent}.`
21894
+ text: data.ok ? `Assigned "${data.title}" to ${data.target_agent}${where} (id: ${data.id}). It will appear on their board on their next refresh.` : `Failed to assign task to ${params.target_agent}.`
21886
21895
  }
21887
21896
  ]
21888
21897
  };
21889
21898
  } catch (err) {
21890
21899
  const msg = err instanceof Error ? err.message : String(err);
21891
21900
  const notFound = /returned 404/.test(msg);
21901
+ const notFoundText = params.target_team ? `Could not assign: no agent "${params.target_agent}" reachable on team "${params.target_team}". Check the team slug and agent code_name, and note cross-team assignment only works when your org has enabled it and a peer grant links the teams.` : `Could not assign: no agent "${params.target_agent}" found on your team. Check the code_name and make sure they're a teammate on the same team.`;
21892
21902
  return {
21893
21903
  content: [
21894
21904
  {
21895
21905
  type: "text",
21896
- text: notFound ? `Could not assign: no agent "${params.target_agent}" found on your team. Check the code_name and make sure they're a teammate on the same team.` : `Could not assign task to ${params.target_agent}: ${msg}`
21906
+ text: notFound ? notFoundText : `Could not assign task to ${params.target_agent}: ${msg}`
21897
21907
  }
21898
21908
  ],
21899
21909
  isError: true
@@ -34,8 +34,8 @@ import {
34
34
  writeDirectChatSessionState,
35
35
  writeEgressAllowlist,
36
36
  writePersistentClaudeWrapper
37
- } from "./chunk-GZG5JRRX.js";
38
- import "./chunk-65FVM2UA.js";
37
+ } from "./chunk-2D5COEAS.js";
38
+ import "./chunk-CQZDKD2U.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-TSVRKR7F.js.map
77
+ //# sourceMappingURL=persistent-session-3AC6FSX6.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  paneLogPath
3
- } from "./chunk-GZG5JRRX.js";
4
- import "./chunk-65FVM2UA.js";
3
+ } from "./chunk-2D5COEAS.js";
4
+ import "./chunk-CQZDKD2U.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-DXPMUSVR.js.map
307
+ //# sourceMappingURL=responsiveness-probe-ZXB5REIY.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@integrity-labs/agt-cli",
3
- "version": "0.28.160",
3
+ "version": "0.28.161",
4
4
  "description": "Augmented Team CLI — agent provisioning and management",
5
5
  "type": "module",
6
6
  "engines": {