@integrity-labs/agt-cli 0.28.73 → 0.28.75

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/mcp/index.js CHANGED
@@ -21201,6 +21201,31 @@ function registerApprovalTools(server2, deps) {
21201
21201
  );
21202
21202
  }
21203
21203
 
21204
+ // src/kanban-log.ts
21205
+ function buildKanbanLogUpdate(params) {
21206
+ if (!params.id && !params.title) {
21207
+ return { error: "Error: provide either id or title." };
21208
+ }
21209
+ const entry = params.entry.trim();
21210
+ if (entry.length === 0) {
21211
+ return { error: "Error: entry must be non-empty." };
21212
+ }
21213
+ const update = { notes: entry };
21214
+ if (params.id) update.id = params.id;
21215
+ if (params.title) update.title = params.title;
21216
+ return { update };
21217
+ }
21218
+ function formatKanbanLogResult(label, data) {
21219
+ if (data.updated < 1) {
21220
+ return { text: `Item "${label}" not found.`, isError: true };
21221
+ }
21222
+ const trimmed = data.updated_items?.some((i) => i.notes_truncated) ?? false;
21223
+ return {
21224
+ text: trimmed ? `Logged on "${label}". (Older inline notes rolled off the 4 KB column; full history preserved.)` : `Logged on "${label}".`,
21225
+ isError: false
21226
+ };
21227
+ }
21228
+
21204
21229
  // src/index.ts
21205
21230
  import { spawn } from "child_process";
21206
21231
  var DeliveryTargetSchema = external_exports.union([
@@ -21571,6 +21596,35 @@ server.tool(
21571
21596
  };
21572
21597
  }
21573
21598
  );
21599
+ server.tool(
21600
+ "kanban_log",
21601
+ "Append a timestamped breadcrumb note to a kanban item. Use after each meaningful step (decision, file edited, blocker hit, partial result) so you can recover context if the session restarts. Notes are stored newest-first, capped at 4 KB; older inline entries roll off but the full history is preserved durably. Distinct from kanban_progress (a single live status line that overwrites) and kanban_update (notes + result) \u2014 this is breadcrumbs only.",
21602
+ {
21603
+ id: external_exports.string().optional().describe("Item UUID (preferred)"),
21604
+ title: external_exports.string().optional().describe("Item title (exact match if no id)"),
21605
+ entry: external_exports.string().describe(
21606
+ 'Single-line breadcrumb describing what you just did or learned (e.g. "Checked auth flow \u2014 found bug in middleware"). Prepended as a timestamped line; oldest entries drop off once the column exceeds 4 KB.'
21607
+ )
21608
+ },
21609
+ async (params) => {
21610
+ const built = buildKanbanLogUpdate(params);
21611
+ if ("error" in built) {
21612
+ return { content: [{ type: "text", text: built.error }], isError: true };
21613
+ }
21614
+ const data = await apiPost(
21615
+ "/host/kanban",
21616
+ {
21617
+ agent_id: AGT_AGENT_ID,
21618
+ update: [built.update]
21619
+ }
21620
+ );
21621
+ const { text, isError } = formatKanbanLogResult(
21622
+ params.id ?? params.title,
21623
+ data
21624
+ );
21625
+ return { content: [{ type: "text", text }], ...isError ? { isError: true } : {} };
21626
+ }
21627
+ );
21574
21628
  server.tool(
21575
21629
  "kanban_progress",
21576
21630
  "Report what you're doing RIGHT NOW on a kanban item. Overwrites a single live status line (the Step row on the Slack progress card the requester is watching) \u2014 not a log. Call it at the start of each phase of a long task (ideally ~every minute) so the requester can watch the work move. Each call also renews the task heartbeat. Pass an empty step to clear it.",
@@ -22556,6 +22610,7 @@ var LOCAL_TOOL_NAMES = /* @__PURE__ */ new Set([
22556
22610
  "kanban_add",
22557
22611
  "kanban_move",
22558
22612
  "kanban_update",
22613
+ "kanban_log",
22559
22614
  "kanban_progress",
22560
22615
  "kanban_done",
22561
22616
  "status_standup",
@@ -25,8 +25,8 @@ import {
25
25
  takeZombieDetection,
26
26
  writeDirectChatSessionState,
27
27
  writePersistentClaudeWrapper
28
- } from "./chunk-AB57D3NN.js";
29
- import "./chunk-PXMYLQWB.js";
28
+ } from "./chunk-MG4WB7BD.js";
29
+ import "./chunk-EGQDFTBK.js";
30
30
  import "./chunk-XWVM4KPK.js";
31
31
  export {
32
32
  SEND_KEYS_ENTER_DELAY_MS,
@@ -56,4 +56,4 @@ export {
56
56
  writeDirectChatSessionState,
57
57
  writePersistentClaudeWrapper
58
58
  };
59
- //# sourceMappingURL=persistent-session-VKRJVW7A.js.map
59
+ //# sourceMappingURL=persistent-session-ESLAJLKA.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  paneLogPath
3
- } from "./chunk-AB57D3NN.js";
4
- import "./chunk-PXMYLQWB.js";
3
+ } from "./chunk-MG4WB7BD.js";
4
+ import "./chunk-EGQDFTBK.js";
5
5
  import "./chunk-XWVM4KPK.js";
6
6
 
7
7
  // src/lib/responsiveness-probe.ts
@@ -250,4 +250,4 @@ export {
250
250
  parkPendingInbound,
251
251
  readAndResetChannelDeflections
252
252
  };
253
- //# sourceMappingURL=responsiveness-probe-2VTHIPLG.js.map
253
+ //# sourceMappingURL=responsiveness-probe-GUQFQH5D.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@integrity-labs/agt-cli",
3
- "version": "0.28.73",
3
+ "version": "0.28.75",
4
4
  "description": "Augmented Team CLI — agent provisioning and management",
5
5
  "type": "module",
6
6
  "engines": {