@integrity-labs/agt-cli 0.28.189 → 0.28.191

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-CY7I4OBB.js";
40
+ } from "../chunk-U4QYDMFA.js";
41
41
  import {
42
42
  CHANNEL_REGISTRY,
43
43
  DEFAULT_FRAMEWORK,
@@ -4749,7 +4749,7 @@ import { execFileSync, execSync } from "child_process";
4749
4749
  import { existsSync as existsSync10, realpathSync as realpathSync2 } from "fs";
4750
4750
  import chalk18 from "chalk";
4751
4751
  import ora16 from "ora";
4752
- var cliVersion = true ? "0.28.189" : "dev";
4752
+ var cliVersion = true ? "0.28.191" : "dev";
4753
4753
  async function fetchLatestVersion() {
4754
4754
  const host2 = getHost();
4755
4755
  if (!host2) return null;
@@ -5763,7 +5763,7 @@ function handleError(err) {
5763
5763
  }
5764
5764
 
5765
5765
  // src/bin/agt.ts
5766
- var cliVersion2 = true ? "0.28.189" : "dev";
5766
+ var cliVersion2 = true ? "0.28.191" : "dev";
5767
5767
  var program = new Command();
5768
5768
  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");
5769
5769
  program.hook("preAction", async (thisCommand, actionCommand) => {
@@ -6120,7 +6120,7 @@ function requireHost() {
6120
6120
  }
6121
6121
 
6122
6122
  // src/lib/api-client.ts
6123
- var agtCliVersion = true ? "0.28.189" : "dev";
6123
+ var agtCliVersion = true ? "0.28.191" : "dev";
6124
6124
  var lastConfigHash = null;
6125
6125
  function setConfigHash(hash) {
6126
6126
  lastConfigHash = hash && hash.length > 0 ? hash : null;
@@ -7425,4 +7425,4 @@ export {
7425
7425
  managerInstallSystemUnitCommand,
7426
7426
  managerUninstallSystemUnitCommand
7427
7427
  };
7428
- //# sourceMappingURL=chunk-CY7I4OBB.js.map
7428
+ //# sourceMappingURL=chunk-U4QYDMFA.js.map
@@ -28,7 +28,7 @@ import {
28
28
  requireHost,
29
29
  safeWriteJsonAtomic,
30
30
  setConfigHash
31
- } from "../chunk-CY7I4OBB.js";
31
+ } from "../chunk-U4QYDMFA.js";
32
32
  import {
33
33
  getProjectDir as getProjectDir2,
34
34
  getReadyTasks,
@@ -6681,7 +6681,7 @@ var agentRestartTimezoneInputs = /* @__PURE__ */ new Map();
6681
6681
  var lastVersionCheckAt = 0;
6682
6682
  var VERSION_CHECK_INTERVAL_MS = 5 * 60 * 1e3;
6683
6683
  var lastResponsivenessProbeAt = 0;
6684
- var agtCliVersion = true ? "0.28.189" : "dev";
6684
+ var agtCliVersion = true ? "0.28.191" : "dev";
6685
6685
  function resolveBrewPath(execFileSync4) {
6686
6686
  try {
6687
6687
  const out = execFileSync4("which", ["brew"], { timeout: 5e3 }).toString().trim();
package/dist/mcp/index.js CHANGED
@@ -22327,7 +22327,7 @@ server.tool(
22327
22327
  'Ask a user to fill out a structured FORM (multiple typed fields) instead of free text, then END YOUR TURN. You author the fields as a small JSON Schema; the platform renders a native Slack form modal, validates the answers, and delivers them back to you as a direct-chat message (payload.kind = "form_result", payload.values), usually within the hour. Use this when you need several specific, well-typed values at once (a short intake, a set of options, structured details) rather than parsing them out of free text. The schema is constrained: a flat object of fields, each a string / number / integer / boolean / array, with optional enum, format (date / time / date-time / email / uri), min/max, and a required list. No nesting or oneOf/anyOf/allOf. Forms only COLLECT input; they do not grant any permission.',
22328
22328
  {
22329
22329
  channel_id: external_exports.string().min(1).describe(
22330
- "Slack channel id (C... or G..., NOT a name) to post the form into. Resolve names via slack.check_channel / slack.list_channels first."
22330
+ "Slack conversation id to post the form into: a channel (C.../G...) or a DM (D...), NOT a name. Resolve names via slack.check_channel / slack.list_channels first."
22331
22331
  ),
22332
22332
  thread_ts: external_exports.string().optional().describe(
22333
22333
  "Optional Slack thread_ts to post the form inside a thread; omit to post top-level in the channel."
@@ -16051,6 +16051,10 @@ function parseProgressHeartbeat(raw) {
16051
16051
  return null;
16052
16052
  }
16053
16053
  }
16054
+ var SEED_PROGRESS_STEP = "Working\u2026";
16055
+ function serializeProgressHeartbeat(step, nowMs) {
16056
+ return JSON.stringify({ step, updated_at_ms: nowMs });
16057
+ }
16054
16058
 
16055
16059
  // src/kanban-card-active-client.ts
16056
16060
  var REQUEST_TIMEOUT_MS = 8e3;
@@ -18239,6 +18243,19 @@ function readSlackProgressHeartbeat() {
18239
18243
  return null;
18240
18244
  }
18241
18245
  }
18246
+ function seedSlackProgressHeartbeat() {
18247
+ if (!SLACK_PROGRESS_HEARTBEAT_PATH) return;
18248
+ const tmp = `${SLACK_PROGRESS_HEARTBEAT_PATH}.${process.pid}.tmp`;
18249
+ try {
18250
+ writeFileSync10(tmp, serializeProgressHeartbeat(SEED_PROGRESS_STEP, Date.now()), { mode: 384 });
18251
+ renameSync4(tmp, SLACK_PROGRESS_HEARTBEAT_PATH);
18252
+ } catch {
18253
+ try {
18254
+ unlinkSync5(tmp);
18255
+ } catch {
18256
+ }
18257
+ }
18258
+ }
18242
18259
  function findSlackProgressTarget() {
18243
18260
  if (!SLACK_PENDING_INBOUND_DIR || !existsSync8(SLACK_PENDING_INBOUND_DIR)) return null;
18244
18261
  let best = null;
@@ -20923,6 +20940,7 @@ async function replayPendingSlackMarkers() {
20923
20940
  method: "notifications/claude/channel",
20924
20941
  params: replayParams
20925
20942
  });
20943
+ seedSlackProgressHeartbeat();
20926
20944
  } catch (err) {
20927
20945
  process.stderr.write(
20928
20946
  `slack-channel(${AGENT_CODE_NAME}): replay push failed: ${err.message}
@@ -21465,6 +21483,7 @@ ${forwarded.text}` : forwarded.text;
21465
21483
  method: "notifications/claude/channel",
21466
21484
  params: replayPayload
21467
21485
  });
21486
+ if (shouldEngage) seedSlackProgressHeartbeat();
21468
21487
  if (channel) {
21469
21488
  conversationIngestClient?.ingest({
21470
21489
  channel: "slack",
@@ -16900,6 +16900,10 @@ function parseProgressHeartbeat(raw) {
16900
16900
  return null;
16901
16901
  }
16902
16902
  }
16903
+ var SEED_PROGRESS_STEP = "Working\u2026";
16904
+ function serializeProgressHeartbeat(step, nowMs) {
16905
+ return JSON.stringify({ step, updated_at_ms: nowMs });
16906
+ }
16903
16907
 
16904
16908
  // src/kanban-card-active-client.ts
16905
16909
  var REQUEST_TIMEOUT_MS6 = 8e3;
@@ -18835,6 +18839,19 @@ function readTelegramProgressHeartbeat() {
18835
18839
  return null;
18836
18840
  }
18837
18841
  }
18842
+ function seedTelegramProgressHeartbeat() {
18843
+ if (!TELEGRAM_PROGRESS_HEARTBEAT_PATH) return;
18844
+ const tmp = `${TELEGRAM_PROGRESS_HEARTBEAT_PATH}.${process.pid}.tmp`;
18845
+ try {
18846
+ writeFileSync10(tmp, serializeProgressHeartbeat(SEED_PROGRESS_STEP, Date.now()), { mode: 384 });
18847
+ renameSync6(tmp, TELEGRAM_PROGRESS_HEARTBEAT_PATH);
18848
+ } catch {
18849
+ try {
18850
+ unlinkSync6(tmp);
18851
+ } catch {
18852
+ }
18853
+ }
18854
+ }
18838
18855
  function findTelegramProgressTarget() {
18839
18856
  if (!PENDING_INBOUND_DIR || !existsSync7(PENDING_INBOUND_DIR)) return null;
18840
18857
  let best = null;
@@ -19856,6 +19873,7 @@ async function replayPendingTelegramMarkers() {
19856
19873
  method: "notifications/claude/channel",
19857
19874
  params: replayParams
19858
19875
  });
19876
+ seedTelegramProgressHeartbeat();
19859
19877
  } catch (err) {
19860
19878
  process.stderr.write(
19861
19879
  `telegram-channel(${AGENT_CODE_NAME}): replay push failed: ${err.message}
@@ -20441,6 +20459,7 @@ async function pollLoop() {
20441
20459
  method: "notifications/claude/channel",
20442
20460
  params: channelPayload
20443
20461
  });
20462
+ seedTelegramProgressHeartbeat();
20444
20463
  conversationIngestClient?.ingest({
20445
20464
  channel: "telegram",
20446
20465
  chat_id: chatId,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@integrity-labs/agt-cli",
3
- "version": "0.28.189",
3
+ "version": "0.28.191",
4
4
  "description": "Augmented Team CLI — agent provisioning and management",
5
5
  "type": "module",
6
6
  "engines": {