@integrity-labs/agt-cli 0.28.73 → 0.28.74

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-BLW7YNYS.js";
40
+ } from "../chunk-WNUAEC22.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.73" : "dev";
4780
+ var cliVersion = true ? "0.28.74" : "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.73" : "dev";
5794
+ var cliVersion2 = true ? "0.28.74" : "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) => {
@@ -7397,7 +7397,7 @@ function requireHost() {
7397
7397
  }
7398
7398
 
7399
7399
  // src/lib/api-client.ts
7400
- var agtCliVersion = true ? "0.28.73" : "dev";
7400
+ var agtCliVersion = true ? "0.28.74" : "dev";
7401
7401
  var lastConfigHash = null;
7402
7402
  function setConfigHash(hash) {
7403
7403
  lastConfigHash = hash && hash.length > 0 ? hash : null;
@@ -8693,4 +8693,4 @@ export {
8693
8693
  managerInstallSystemUnitCommand,
8694
8694
  managerUninstallSystemUnitCommand
8695
8695
  };
8696
- //# sourceMappingURL=chunk-BLW7YNYS.js.map
8696
+ //# sourceMappingURL=chunk-WNUAEC22.js.map
@@ -27,7 +27,7 @@ import {
27
27
  requireHost,
28
28
  safeWriteJsonAtomic,
29
29
  setConfigHash
30
- } from "../chunk-BLW7YNYS.js";
30
+ } from "../chunk-WNUAEC22.js";
31
31
  import {
32
32
  getProjectDir as getProjectDir2,
33
33
  getReadyTasks,
@@ -6775,7 +6775,7 @@ var cachedMaintenanceWindow = null;
6775
6775
  var lastVersionCheckAt = 0;
6776
6776
  var VERSION_CHECK_INTERVAL_MS = 5 * 60 * 1e3;
6777
6777
  var lastResponsivenessProbeAt = 0;
6778
- var agtCliVersion = true ? "0.28.73" : "dev";
6778
+ var agtCliVersion = true ? "0.28.74" : "dev";
6779
6779
  function resolveBrewPath(execFileSync4) {
6780
6780
  try {
6781
6781
  const out = execFileSync4("which", ["brew"], { timeout: 5e3 }).toString().trim();
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",
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.74",
4
4
  "description": "Augmented Team CLI — agent provisioning and management",
5
5
  "type": "module",
6
6
  "engines": {