@integrity-labs/agt-cli 0.28.287 → 0.28.288

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-6Z57G6PS.js");
103
+ const { resolveClaudeBinary } = await import("./persistent-session-C6IIZKQH.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-ZVPAZDXX.js.map
376
+ //# sourceMappingURL=claude-pair-runtime-MGU5UP3T.js.map
@@ -38,7 +38,7 @@ import {
38
38
  requireHost,
39
39
  safeWriteJsonAtomic,
40
40
  setConfigHash
41
- } from "../chunk-5KMXIPB5.js";
41
+ } from "../chunk-6J467SLS.js";
42
42
  import {
43
43
  getProjectDir as getProjectDir2,
44
44
  getReadyTasks,
@@ -125,7 +125,7 @@ import {
125
125
  takeZombieDetection,
126
126
  transcriptActivityAgeSeconds,
127
127
  writeEgressAllowlist
128
- } from "../chunk-GAPJUQFT.js";
128
+ } from "../chunk-GUCYHTCJ.js";
129
129
  import {
130
130
  reapOrphanChannelMcps
131
131
  } from "../chunk-XWVM4KPK.js";
@@ -6895,7 +6895,7 @@ var agentRestartTimezoneInputs = /* @__PURE__ */ new Map();
6895
6895
  var lastVersionCheckAt = 0;
6896
6896
  var VERSION_CHECK_INTERVAL_MS = 5 * 60 * 1e3;
6897
6897
  var lastResponsivenessProbeAt = 0;
6898
- var agtCliVersion = true ? "0.28.287" : "dev";
6898
+ var agtCliVersion = true ? "0.28.288" : "dev";
6899
6899
  function resolveBrewPath(execFileSync2) {
6900
6900
  try {
6901
6901
  const out = execFileSync2("which", ["brew"], { timeout: 5e3 }).toString().trim();
@@ -7748,7 +7748,7 @@ function flushRestartedAgentDiagnostics(hostId, codeNames) {
7748
7748
  if (codeNames.length === 0) return;
7749
7749
  void (async () => {
7750
7750
  try {
7751
- const { collectDiagnostics } = await import("../persistent-session-6Z57G6PS.js");
7751
+ const { collectDiagnostics } = await import("../persistent-session-C6IIZKQH.js");
7752
7752
  await api.post("/host/heartbeat", {
7753
7753
  host_id: hostId,
7754
7754
  agent_diagnostics: collectDiagnostics(codeNames)
@@ -7846,7 +7846,7 @@ async function pollCycle() {
7846
7846
  }
7847
7847
  try {
7848
7848
  const { detectHostSecurity } = await import("../host-security-6PDFG7F5.js");
7849
- const { collectDiagnostics } = await import("../persistent-session-6Z57G6PS.js");
7849
+ const { collectDiagnostics } = await import("../persistent-session-C6IIZKQH.js");
7850
7850
  const diagCodeNames = [...agentState.persistentSessionAgents];
7851
7851
  const agentDiagnostics = diagCodeNames.length > 0 ? collectDiagnostics(diagCodeNames) : void 0;
7852
7852
  let tailscaleHostname;
@@ -7994,7 +7994,7 @@ async function pollCycle() {
7994
7994
  const {
7995
7995
  collectResponsivenessProbes,
7996
7996
  getResponsivenessIntervalMs
7997
- } = await import("../responsiveness-probe-Y7BRLZ7O.js");
7997
+ } = await import("../responsiveness-probe-RAHMPI4W.js");
7998
7998
  const probeIntervalMs = getResponsivenessIntervalMs();
7999
7999
  if (now - lastResponsivenessProbeAt > probeIntervalMs) {
8000
8000
  const probeCodeNames = [...agentState.persistentSessionAgents];
@@ -8026,7 +8026,7 @@ async function pollCycle() {
8026
8026
  collectResponsivenessProbes,
8027
8027
  livePendingInboundOldestAgeSeconds,
8028
8028
  parkPendingInbound
8029
- } = await import("../responsiveness-probe-Y7BRLZ7O.js");
8029
+ } = await import("../responsiveness-probe-RAHMPI4W.js");
8030
8030
  const { getProjectDir: wedgeProjectDir } = await import("../claude-scheduler-FATCLHDM.js");
8031
8031
  const wedgeNow = /* @__PURE__ */ new Date();
8032
8032
  const liveAgents = agentState.persistentSessionAgents;
@@ -10946,7 +10946,7 @@ async function handleRestartDoorbell(agentId, requestedAt, restartReason) {
10946
10946
  void api.post("/host/restart-ack", { host_id: hostId, agent_id: agentId, restart_requested_at: requestedAt }).catch((err) => log(`[restart-lane] ack failed for '${codeName}': ${err.message}`));
10947
10947
  void (async () => {
10948
10948
  try {
10949
- const { collectDiagnostics } = await import("../persistent-session-6Z57G6PS.js");
10949
+ const { collectDiagnostics } = await import("../persistent-session-C6IIZKQH.js");
10950
10950
  await api.post("/host/heartbeat", {
10951
10951
  host_id: hostId,
10952
10952
  agent_diagnostics: collectDiagnostics([codeName])
@@ -10996,7 +10996,7 @@ async function respawnAgentAfterMcpStop(codeName, reason) {
10996
10996
  }
10997
10997
  try {
10998
10998
  const hostId = await getHostId();
10999
- const { collectDiagnostics } = await import("../persistent-session-6Z57G6PS.js");
10999
+ const { collectDiagnostics } = await import("../persistent-session-C6IIZKQH.js");
11000
11000
  await api.post("/host/heartbeat", {
11001
11001
  host_id: hostId,
11002
11002
  agent_diagnostics: collectDiagnostics([codeName])
@@ -11400,7 +11400,7 @@ async function processClaudePairSessions(agents) {
11400
11400
  killPairSession,
11401
11401
  pairTmuxSession,
11402
11402
  finalizeClaudePairOnboarding
11403
- } = await import("../claude-pair-runtime-ZVPAZDXX.js");
11403
+ } = await import("../claude-pair-runtime-MGU5UP3T.js");
11404
11404
  for (const pairId of pendingResp.cancelled_pair_ids ?? []) {
11405
11405
  log(`[claude-pair] sweeping orphan tmux session for pair ${pairId.slice(0, 8)}`);
11406
11406
  const killed = await killPairSession(pairTmuxSession(pairId));
package/dist/mcp/index.js CHANGED
@@ -21780,8 +21780,8 @@ server.tool(
21780
21780
  }
21781
21781
  );
21782
21782
  var kanbanMoveStatuses = AGT_KANBAN_WAITING_ENABLED ? ["backlog", "todo", "in_progress", "waiting", "done", "failed"] : ["backlog", "todo", "in_progress", "done", "failed"];
21783
- var kanbanMoveDescription = AGT_KANBAN_WAITING_ENABLED ? 'Move a kanban item to a different status column. Use status="failed" for a task attempted but not completable. Use status="waiting" when you have COMPLETED your part and cannot proceed until one specific external action happens (a person approves/answers/decides, or a dependency like a PR merge or deploy completes) - set waiting_on to that single concrete action, phrased as an instruction ("Merge PR #3120", "Approve the budget"). When the wait is on a pull request, set waiting_kind ("pr-review" while it awaits review, "pr-merged" while it awaits merge) plus waiting_repo ("owner/repo") and waiting_pr (the number) INSTEAD of waiting_on - the card then links straight to the PR and can auto-resume when it lands. Do NOT use waiting to offload hard work, and do NOT confuse it with a failure. (matches the hosted kanban_move enum).' : 'Move a kanban item to a different status column. Use status="failed" to mark a task that was attempted but could not complete (matches the hosted kanban_move enum).';
21784
- var kanbanMoveStatusDescribe = AGT_KANBAN_WAITING_ENABLED ? 'Target status. "waiting" parks the card (blocked on a human decision or an external dependency); pair it with waiting_on. "failed" closes the row as a failed attempt; there is no "cancelled" status, close no-longer-needed work via kanban_done with an explanatory result.' : 'Target status. "failed" closes the row as a failed attempt; there is no "cancelled" status, close no-longer-needed work via kanban_done with an explanatory result.';
21783
+ var kanbanMoveDescription = AGT_KANBAN_WAITING_ENABLED ? 'Move a kanban item to a different status column. Use status="failed" for a task attempted but not completable. Use status="waiting" when you have COMPLETED your part and cannot proceed until one specific external action happens (a person approves/answers/decides, or a dependency like a PR merge or deploy completes). status="waiting" REQUIRES waiting_kind - classify the wait as "pr-review", "pr-merged", "human", "external", or "other" (the catch-all when none fit). For a PR wait ("pr-review"/"pr-merged") set waiting_repo ("owner/repo") and waiting_pr (the number) INSTEAD of waiting_on - the card then links straight to the PR and can auto-resume when it lands. For "human"/"external"/"other" set waiting_on to the single concrete action, phrased as an instruction ("Approve the budget", "Answer my question"). Do NOT use waiting to offload hard work, and do NOT confuse it with a failure. (matches the hosted kanban_move enum).' : 'Move a kanban item to a different status column. Use status="failed" to mark a task that was attempted but could not complete (matches the hosted kanban_move enum).';
21784
+ var kanbanMoveStatusDescribe = AGT_KANBAN_WAITING_ENABLED ? 'Target status. "waiting" parks the card until one external action happens; it REQUIRES waiting_kind - use "pr-review"/"pr-merged" with waiting_repo + waiting_pr, or "human"/"external"/"other" with a concrete waiting_on. "failed" closes the row as a failed attempt; there is no "cancelled" status, close no-longer-needed work via kanban_done with an explanatory result.' : 'Target status. "failed" closes the row as a failed attempt; there is no "cancelled" status, close no-longer-needed work via kanban_done with an explanatory result.';
21785
21785
  server.tool(
21786
21786
  "kanban_move",
21787
21787
  kanbanMoveDescription,
@@ -21794,8 +21794,8 @@ server.tool(
21794
21794
  waiting_on: external_exports.string().optional().describe(
21795
21795
  'Only with status="waiting", for a NON-PR wait: the single concrete action you are parked on, phrased as an instruction ("Approve the budget", "Answer my question"). Shown as the card headline. For a PR wait use waiting_kind/waiting_repo/waiting_pr instead.'
21796
21796
  ),
21797
- waiting_kind: external_exports.enum(["pr-review", "pr-merged", "human", "external"]).optional().describe(
21798
- 'Only with status="waiting": what kind of thing you are waiting on. "pr-review" = a pull request awaiting review, "pr-merged" = a reviewed PR awaiting merge (both require waiting_repo + waiting_pr and let the card link to the PR and auto-resume). "human" = a person must decide/answer, "external" = a non-PR dependency (deploy, third party); for those two, describe it in waiting_on. Omit for an untyped wait.'
21797
+ waiting_kind: external_exports.enum(["pr-review", "pr-merged", "human", "external", "other"]).optional().describe(
21798
+ 'REQUIRED with status="waiting": classify what you are waiting on. "pr-review" = a pull request awaiting review, "pr-merged" = a reviewed PR awaiting merge (both require waiting_repo + waiting_pr and let the card link to the PR and auto-resume). "human" = a specific person must decide/answer, "external" = a non-PR system/process must complete (a deploy, CI, a third party); for those two, describe it in waiting_on. "other" = none of the above / unsure - the generic catch-all, also described in waiting_on. Always pick the most specific kind that fits; fall back to "other" rather than leaving it unset.'
21799
21799
  ),
21800
21800
  waiting_repo: external_exports.string().optional().describe(
21801
21801
  'Only with a pr-* waiting_kind: the "owner/repo" the pull request lives in (e.g. "Integrity-Labs/augmented").'
@@ -21811,6 +21811,17 @@ server.tool(
21811
21811
  };
21812
21812
  }
21813
21813
  const p = params;
21814
+ if (params.status === "waiting" && !p.waiting_kind) {
21815
+ return {
21816
+ content: [
21817
+ {
21818
+ type: "text",
21819
+ text: 'Error: status="waiting" requires waiting_kind - one of "pr-review", "pr-merged", "human", "external", or "other". Pick the most specific that fits; use "other" if none do.'
21820
+ }
21821
+ ],
21822
+ isError: true
21823
+ };
21824
+ }
21814
21825
  const isPrKind = p.waiting_kind === "pr-review" || p.waiting_kind === "pr-merged";
21815
21826
  if (isPrKind && (!p.waiting_repo || p.waiting_pr === void 0)) {
21816
21827
  return {
@@ -39341,7 +39341,8 @@ var WAITING_KINDS = [
39341
39341
  "pr-review",
39342
39342
  "pr-merged",
39343
39343
  "human",
39344
- "external"
39344
+ "external",
39345
+ "other"
39345
39346
  ];
39346
39347
  var WAITING_KIND_SET = new Set(WAITING_KINDS);
39347
39348
 
@@ -36,7 +36,7 @@ import {
36
36
  writeDirectChatSessionState,
37
37
  writeEgressAllowlist,
38
38
  writePersistentClaudeWrapper
39
- } from "./chunk-GAPJUQFT.js";
39
+ } from "./chunk-GUCYHTCJ.js";
40
40
  import "./chunk-XWVM4KPK.js";
41
41
  export {
42
42
  EGRESS_BASELINE_DOMAINS,
@@ -77,4 +77,4 @@ export {
77
77
  writeEgressAllowlist,
78
78
  writePersistentClaudeWrapper
79
79
  };
80
- //# sourceMappingURL=persistent-session-6Z57G6PS.js.map
80
+ //# sourceMappingURL=persistent-session-C6IIZKQH.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  paneLogPath
3
- } from "./chunk-GAPJUQFT.js";
3
+ } from "./chunk-GUCYHTCJ.js";
4
4
  import "./chunk-XWVM4KPK.js";
5
5
 
6
6
  // src/lib/responsiveness-probe.ts
@@ -418,4 +418,4 @@ export {
418
418
  readAndResetSlackReplyBindingClassifications,
419
419
  readAndResetSlackReplyTargetClassifications
420
420
  };
421
- //# sourceMappingURL=responsiveness-probe-Y7BRLZ7O.js.map
421
+ //# sourceMappingURL=responsiveness-probe-RAHMPI4W.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@integrity-labs/agt-cli",
3
- "version": "0.28.287",
3
+ "version": "0.28.288",
4
4
  "description": "Augmented Team CLI — agent provisioning and management",
5
5
  "type": "module",
6
6
  "engines": {