@integrity-labs/agt-cli 0.28.193 → 0.28.195

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-LS7F5EKX.js";
40
+ } from "../chunk-QREXUCHH.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.193" : "dev";
4752
+ var cliVersion = true ? "0.28.195" : "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.193" : "dev";
5766
+ var cliVersion2 = true ? "0.28.195" : "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.193" : "dev";
6123
+ var agtCliVersion = true ? "0.28.195" : "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-LS7F5EKX.js.map
7428
+ //# sourceMappingURL=chunk-QREXUCHH.js.map
@@ -28,7 +28,7 @@ import {
28
28
  requireHost,
29
29
  safeWriteJsonAtomic,
30
30
  setConfigHash
31
- } from "../chunk-LS7F5EKX.js";
31
+ } from "../chunk-QREXUCHH.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.193" : "dev";
6684
+ var agtCliVersion = true ? "0.28.195" : "dev";
6685
6685
  function resolveBrewPath(execFileSync4) {
6686
6686
  try {
6687
6687
  const out = execFileSync4("which", ["brew"], { timeout: 5e3 }).toString().trim();
@@ -7173,6 +7173,7 @@ async function resolveInteractive(cfg, input) {
7173
7173
  const body = await res.text().catch(() => "");
7174
7174
  throw new Error(`resolveInteractive failed (${res.status}): ${body.slice(0, 200)}`);
7175
7175
  }
7176
+ return await res.json().catch(() => ({}));
7176
7177
  }
7177
7178
  async function submitInteractive(cfg, input) {
7178
7179
  const res = await apiCall(cfg, "POST", "/host/interactive/submit", {
@@ -20453,6 +20454,37 @@ function interactiveHostAvailable() {
20453
20454
  function forwardingHostAvailable() {
20454
20455
  return Boolean(AGT_HOST && AGT_API_KEY && AGT_AGENT_ID);
20455
20456
  }
20457
+ async function openFormModalViaSlack(triggerId, view, callbackId) {
20458
+ if (!triggerId) {
20459
+ process.stderr.write(
20460
+ `slack-channel(${AGENT_CODE_NAME}): form_open skipped \u2014 no trigger_id for ${hashId(callbackId)}
20461
+ `
20462
+ );
20463
+ return;
20464
+ }
20465
+ try {
20466
+ const res = await fetch("https://slack.com/api/views.open", {
20467
+ method: "POST",
20468
+ headers: {
20469
+ "Content-Type": "application/json; charset=utf-8",
20470
+ Authorization: `Bearer ${BOT_TOKEN}`
20471
+ },
20472
+ body: JSON.stringify({ trigger_id: triggerId, view })
20473
+ });
20474
+ const data = await res.json().catch(() => ({}));
20475
+ if (!data.ok) {
20476
+ process.stderr.write(
20477
+ `slack-channel(${AGENT_CODE_NAME}): views.open failed for ${hashId(callbackId)}: ${data.error}
20478
+ `
20479
+ );
20480
+ }
20481
+ } catch (err) {
20482
+ process.stderr.write(
20483
+ `slack-channel(${AGENT_CODE_NAME}): views.open threw for ${hashId(callbackId)}: ${err.message}
20484
+ `
20485
+ );
20486
+ }
20487
+ }
20456
20488
  async function postSlackMessageWithTs(payload) {
20457
20489
  const augmentedMeta = buildAugmentedSlackMetadata();
20458
20490
  const payloadWithLabel = augmentedMeta ? { ...payload, metadata: augmentedMeta } : payload;
@@ -21080,7 +21112,7 @@ async function connectSocketMode() {
21080
21112
  return;
21081
21113
  }
21082
21114
  try {
21083
- await runtime.resolveInteractive(
21115
+ const result = await runtime.resolveInteractive(
21084
21116
  {
21085
21117
  apiHost: AGT_HOST,
21086
21118
  apiKey: AGT_API_KEY,
@@ -21092,11 +21124,19 @@ async function connectSocketMode() {
21092
21124
  respondedByUser: msg.payload.user?.id,
21093
21125
  originalBlocks: msg.payload.message?.blocks,
21094
21126
  responseUrl: msg.payload.response_url,
21095
- // ENG-7170: needed by the resolver's form_request branch to
21096
- // open the modal via views.open (ignored for other kinds).
21127
+ // ENG-7170: forwarded so the resolver's form_request branch can
21128
+ // correlate; the modal itself is opened HERE (below).
21097
21129
  triggerId: msg.payload.trigger_id
21098
21130
  }
21099
21131
  );
21132
+ if (result?.form_open?.ok && result.form_open.view) {
21133
+ await openFormModalViaSlack(msg.payload.trigger_id, result.form_open.view, decoded.callbackId);
21134
+ } else if (result?.form_open && !result.form_open.ok) {
21135
+ process.stderr.write(
21136
+ `slack-channel(${AGENT_CODE_NAME}): form_open declined for ${hashId(decoded.callbackId)} reason=${result.form_open.reason}
21137
+ `
21138
+ );
21139
+ }
21100
21140
  } catch (err) {
21101
21141
  process.stderr.write(
21102
21142
  `slack-channel(${AGENT_CODE_NAME}): resolveInteractive failed for ${hashId(decoded.callbackId)}: ${err.message}
@@ -7173,6 +7173,7 @@ async function resolveInteractive(cfg, input) {
7173
7173
  const body = await res.text().catch(() => "");
7174
7174
  throw new Error(`resolveInteractive failed (${res.status}): ${body.slice(0, 200)}`);
7175
7175
  }
7176
+ return await res.json().catch(() => ({}));
7176
7177
  }
7177
7178
  async function submitInteractive(cfg, input) {
7178
7179
  const res = await apiCall(cfg, "POST", "/host/interactive/submit", {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@integrity-labs/agt-cli",
3
- "version": "0.28.193",
3
+ "version": "0.28.195",
4
4
  "description": "Augmented Team CLI — agent provisioning and management",
5
5
  "type": "module",
6
6
  "engines": {