@integrity-labs/agt-cli 0.28.990 → 0.28.992

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.
Files changed (27) hide show
  1. package/dist/bin/agt.js +5 -5
  2. package/dist/{chunk-TGCA3LTI.js → chunk-C72SNMP6.js} +26 -5
  3. package/dist/chunk-C72SNMP6.js.map +1 -0
  4. package/dist/{chunk-6KYXH6ZZ.js → chunk-NF7LESJA.js} +73 -6
  5. package/dist/chunk-NF7LESJA.js.map +1 -0
  6. package/dist/{chunk-P7B5IRH5.js → chunk-PNQCXCEY.js} +19 -8
  7. package/dist/chunk-PNQCXCEY.js.map +1 -0
  8. package/dist/{claude-pair-runtime-GQM26I3M.js → claude-pair-runtime-EVAYZI57.js} +2 -2
  9. package/dist/lib/manager-worker.js +33 -15
  10. package/dist/lib/manager-worker.js.map +1 -1
  11. package/dist/mcp/direct-chat-channel.js +15 -1
  12. package/dist/mcp/index.js +15 -1
  13. package/dist/mcp/origami.js +15 -1
  14. package/dist/mcp/remote-oauth-proxy.js +120 -29
  15. package/dist/mcp/slack-channel.js +15 -1
  16. package/dist/mcp/telegram-channel.js +15 -1
  17. package/dist/{persistent-session-PYYD53GZ.js → persistent-session-HBUVJYYR.js} +5 -3
  18. package/dist/{responsiveness-probe-JENZOOKG.js → responsiveness-probe-AIBA25OP.js} +3 -3
  19. package/dist/{session-auth-dead-BGXRQB27.js → session-auth-dead-XTMVOHUX.js} +2 -2
  20. package/package.json +1 -1
  21. package/dist/chunk-6KYXH6ZZ.js.map +0 -1
  22. package/dist/chunk-P7B5IRH5.js.map +0 -1
  23. package/dist/chunk-TGCA3LTI.js.map +0 -1
  24. /package/dist/{claude-pair-runtime-GQM26I3M.js.map → claude-pair-runtime-EVAYZI57.js.map} +0 -0
  25. /package/dist/{persistent-session-PYYD53GZ.js.map → persistent-session-HBUVJYYR.js.map} +0 -0
  26. /package/dist/{responsiveness-probe-JENZOOKG.js.map → responsiveness-probe-AIBA25OP.js.map} +0 -0
  27. /package/dist/{session-auth-dead-BGXRQB27.js.map → session-auth-dead-XTMVOHUX.js.map} +0 -0
@@ -33253,7 +33253,21 @@ var REMOTE_MCP_PROXY_ENV = {
33253
33253
  // success. Deliberately NOT in REMOTE_MCP_AUTH_ENV_KEYS: it shapes which calls
33254
33254
  // we forward, not what an outbound request looks like, so the probe (which
33255
33255
  // never issues a tools/call) has nothing to reconstruct from it.
33256
- argRejects: "AGT_REMOTE_MCP_ARG_REJECTS"
33256
+ argRejects: "AGT_REMOTE_MCP_ARG_REJECTS",
33257
+ // ENG-10614: the per-tool HITL floor table, as JSON `{ "<tool>": "<tier>" }`.
33258
+ //
33259
+ // WHY THIS EXISTS AT ALL. A hosted API-key remote MCP is called by Claude Code
33260
+ // straight at the vendor, so none of the three brokered HITL gates
33261
+ // (`enforceComposioHitlGate`, `hitlGateForBrokerCall`, the CLI lane) is in the
33262
+ // path, and `tool_definitions.min_hitl_tier` was read by nothing on this lane
33263
+ // — measured: zero hits for that column under `packages/core/src/provisioning`,
33264
+ // `packages/mcp/src` or `apps/cli/src`. The catalog said `delete_item` needed
33265
+ // approval and the call went straight out.
33266
+ //
33267
+ // Deliberately NOT in REMOTE_MCP_AUTH_ENV_KEYS, for the same reason as
33268
+ // `argRejects`: it shapes WHICH calls we forward, not what an outbound request
33269
+ // looks like, so the connectivity probe has nothing to reconstruct from it.
33270
+ toolTiers: "AGT_REMOTE_MCP_TOOL_TIERS"
33257
33271
  };
33258
33272
  var REMOTE_MCP_AUTH_ENV_KEYS = [
33259
33273
  REMOTE_MCP_PROXY_ENV.tokenVar,
package/dist/mcp/index.js CHANGED
@@ -25835,7 +25835,21 @@ var REMOTE_MCP_PROXY_ENV = {
25835
25835
  // success. Deliberately NOT in REMOTE_MCP_AUTH_ENV_KEYS: it shapes which calls
25836
25836
  // we forward, not what an outbound request looks like, so the probe (which
25837
25837
  // never issues a tools/call) has nothing to reconstruct from it.
25838
- argRejects: "AGT_REMOTE_MCP_ARG_REJECTS"
25838
+ argRejects: "AGT_REMOTE_MCP_ARG_REJECTS",
25839
+ // ENG-10614: the per-tool HITL floor table, as JSON `{ "<tool>": "<tier>" }`.
25840
+ //
25841
+ // WHY THIS EXISTS AT ALL. A hosted API-key remote MCP is called by Claude Code
25842
+ // straight at the vendor, so none of the three brokered HITL gates
25843
+ // (`enforceComposioHitlGate`, `hitlGateForBrokerCall`, the CLI lane) is in the
25844
+ // path, and `tool_definitions.min_hitl_tier` was read by nothing on this lane
25845
+ // — measured: zero hits for that column under `packages/core/src/provisioning`,
25846
+ // `packages/mcp/src` or `apps/cli/src`. The catalog said `delete_item` needed
25847
+ // approval and the call went straight out.
25848
+ //
25849
+ // Deliberately NOT in REMOTE_MCP_AUTH_ENV_KEYS, for the same reason as
25850
+ // `argRejects`: it shapes WHICH calls we forward, not what an outbound request
25851
+ // looks like, so the connectivity probe has nothing to reconstruct from it.
25852
+ toolTiers: "AGT_REMOTE_MCP_TOOL_TIERS"
25839
25853
  };
25840
25854
  var REMOTE_MCP_AUTH_ENV_KEYS = [
25841
25855
  REMOTE_MCP_PROXY_ENV.tokenVar,
@@ -39986,7 +39986,21 @@ var REMOTE_MCP_PROXY_ENV = {
39986
39986
  // success. Deliberately NOT in REMOTE_MCP_AUTH_ENV_KEYS: it shapes which calls
39987
39987
  // we forward, not what an outbound request looks like, so the probe (which
39988
39988
  // never issues a tools/call) has nothing to reconstruct from it.
39989
- argRejects: "AGT_REMOTE_MCP_ARG_REJECTS"
39989
+ argRejects: "AGT_REMOTE_MCP_ARG_REJECTS",
39990
+ // ENG-10614: the per-tool HITL floor table, as JSON `{ "<tool>": "<tier>" }`.
39991
+ //
39992
+ // WHY THIS EXISTS AT ALL. A hosted API-key remote MCP is called by Claude Code
39993
+ // straight at the vendor, so none of the three brokered HITL gates
39994
+ // (`enforceComposioHitlGate`, `hitlGateForBrokerCall`, the CLI lane) is in the
39995
+ // path, and `tool_definitions.min_hitl_tier` was read by nothing on this lane
39996
+ // — measured: zero hits for that column under `packages/core/src/provisioning`,
39997
+ // `packages/mcp/src` or `apps/cli/src`. The catalog said `delete_item` needed
39998
+ // approval and the call went straight out.
39999
+ //
40000
+ // Deliberately NOT in REMOTE_MCP_AUTH_ENV_KEYS, for the same reason as
40001
+ // `argRejects`: it shapes WHICH calls we forward, not what an outbound request
40002
+ // looks like, so the connectivity probe has nothing to reconstruct from it.
40003
+ toolTiers: "AGT_REMOTE_MCP_TOOL_TIERS"
39990
40004
  };
39991
40005
  var REMOTE_MCP_AUTH_ENV_KEYS = [
39992
40006
  REMOTE_MCP_PROXY_ENV.tokenVar,
@@ -24,7 +24,21 @@ var REMOTE_MCP_PROXY_ENV = {
24
24
  // success. Deliberately NOT in REMOTE_MCP_AUTH_ENV_KEYS: it shapes which calls
25
25
  // we forward, not what an outbound request looks like, so the probe (which
26
26
  // never issues a tools/call) has nothing to reconstruct from it.
27
- argRejects: "AGT_REMOTE_MCP_ARG_REJECTS"
27
+ argRejects: "AGT_REMOTE_MCP_ARG_REJECTS",
28
+ // ENG-10614: the per-tool HITL floor table, as JSON `{ "<tool>": "<tier>" }`.
29
+ //
30
+ // WHY THIS EXISTS AT ALL. A hosted API-key remote MCP is called by Claude Code
31
+ // straight at the vendor, so none of the three brokered HITL gates
32
+ // (`enforceComposioHitlGate`, `hitlGateForBrokerCall`, the CLI lane) is in the
33
+ // path, and `tool_definitions.min_hitl_tier` was read by nothing on this lane
34
+ // — measured: zero hits for that column under `packages/core/src/provisioning`,
35
+ // `packages/mcp/src` or `apps/cli/src`. The catalog said `delete_item` needed
36
+ // approval and the call went straight out.
37
+ //
38
+ // Deliberately NOT in REMOTE_MCP_AUTH_ENV_KEYS, for the same reason as
39
+ // `argRejects`: it shapes WHICH calls we forward, not what an outbound request
40
+ // looks like, so the connectivity probe has nothing to reconstruct from it.
41
+ toolTiers: "AGT_REMOTE_MCP_TOOL_TIERS"
28
42
  };
29
43
  var REMOTE_MCP_AUTH_ENV_KEYS = [
30
44
  REMOTE_MCP_PROXY_ENV.tokenVar,
@@ -75,6 +89,7 @@ var TOKEN_VAR_ENV = REMOTE_MCP_PROXY_ENV.tokenVar;
75
89
  var ALLOWLIST_ENV = REMOTE_MCP_PROXY_ENV.toolAllowlist;
76
90
  var PREENABLE_ENV = REMOTE_MCP_PROXY_ENV.preEnableToolsets;
77
91
  var ARG_REJECTS_ENV = REMOTE_MCP_PROXY_ENV.argRejects;
92
+ var TOOL_TIERS_ENV = REMOTE_MCP_PROXY_ENV.toolTiers;
78
93
  var REMOTE_FETCH_TIMEOUT_MS = 3e4;
79
94
  var remoteUrl = process.env[URL_ENV] ?? "";
80
95
  var tokenFile = process.env[TOKEN_FILE_ENV] ?? "";
@@ -83,6 +98,7 @@ var label = process.env[REMOTE_MCP_PROXY_ENV.label] || tokenVar || "remote-oauth
83
98
  var toolAllowlist = parseToolAllowlist(process.env[ALLOWLIST_ENV] ?? "");
84
99
  var preEnableToolsets = parsePreEnableToolsets(process.env[PREENABLE_ENV] ?? "");
85
100
  var argRejects = parseArgRejects(process.env[ARG_REJECTS_ENV] ?? "");
101
+ var toolTiers = parseToolTiers(process.env[TOOL_TIERS_ENV]);
86
102
  var { authHeader: authHeaderName, extras: extraHeaderSpecs } = readRemoteMcpAuthConfig(process.env);
87
103
  function logErr(msg) {
88
104
  process.stderr.write(`[remote-oauth-proxy:${label}] ${msg}
@@ -300,7 +316,40 @@ function isToolArgRejected(method, params, rules) {
300
316
  }
301
317
  return none;
302
318
  }
303
- function callRefusal(method, params, allow, rules, label2) {
319
+ var AUTO_EXECUTE_TIERS = /* @__PURE__ */ new Set(["read", "write"]);
320
+ function parseToolTiers(raw) {
321
+ if (raw === void 0 || raw.trim() === "") return { kind: "absent" };
322
+ let parsed;
323
+ try {
324
+ parsed = JSON.parse(raw);
325
+ } catch (err) {
326
+ return { kind: "unusable", detail: `not valid JSON (${err.message})` };
327
+ }
328
+ if (!parsed || typeof parsed !== "object" || Array.isArray(parsed)) {
329
+ return { kind: "unusable", detail: "not a JSON object of tool -> tier" };
330
+ }
331
+ const tiers = /* @__PURE__ */ new Map();
332
+ for (const [tool, tier] of Object.entries(parsed)) {
333
+ if (typeof tier !== "string" || tier === "") {
334
+ return { kind: "unusable", detail: `tool "${tool}" has a non-string tier` };
335
+ }
336
+ tiers.set(tool, tier);
337
+ }
338
+ return { kind: "table", tiers };
339
+ }
340
+ function isToolCallTierGated(method, params, table) {
341
+ const none = { gated: false, name: "", tier: null, reason: null };
342
+ if (method !== "tools/call") return none;
343
+ if (table.kind === "absent") return none;
344
+ const name = params && typeof params === "object" && typeof params.name === "string" ? params.name : "";
345
+ if (table.kind === "unusable") return { gated: true, name, tier: null, reason: "unusable" };
346
+ if (!name) return { gated: true, name: "", tier: null, reason: "unknown" };
347
+ const tier = table.tiers.get(name);
348
+ if (tier === void 0) return { gated: true, name, tier: null, reason: "unknown" };
349
+ if (AUTO_EXECUTE_TIERS.has(tier)) return { gated: false, name, tier, reason: null };
350
+ return { gated: true, name, tier, reason: "gated" };
351
+ }
352
+ function callRefusal(method, params, allow, rules, label2, tiers) {
304
353
  const block = isToolCallBlocked(method, params, allow);
305
354
  if (block.blocked) {
306
355
  return {
@@ -309,6 +358,30 @@ function callRefusal(method, params, allow, rules, label2) {
309
358
  message: `${label2}: tool "${block.name}" is not enabled for this integration`
310
359
  };
311
360
  }
361
+ const tierCheck = isToolCallTierGated(method, params, tiers);
362
+ if (tierCheck.gated) {
363
+ const named = tierCheck.name || "(unnamed)";
364
+ const code = -32001;
365
+ if (tierCheck.reason === "unusable") {
366
+ return {
367
+ log: `refused tools/call "${named}": ${TOOL_TIERS_ENV} is set but unusable (${tiers.kind === "unusable" ? tiers.detail : "unknown"}), refusing every call`,
368
+ code,
369
+ message: `${label2}: this integration's approval-tier table could not be read, so every tool call is refused rather than forwarded un-gated. Nothing was sent to the remote. Ask your operator to re-provision this agent.`
370
+ };
371
+ }
372
+ if (tierCheck.reason === "unknown") {
373
+ return {
374
+ log: `refused tools/call "${named}": no catalogued HITL tier`,
375
+ code,
376
+ message: `${label2}: "${named}" has no approval tier in the catalog, so it is refused rather than run un-gated. Nothing was sent to the remote. The catalog covers the tools in this integration's curated scopes, so a name outside them is unclassified rather than necessarily new - ask your operator to seed a tool_definitions row for it.`
377
+ };
378
+ }
379
+ return {
380
+ log: `refused tools/call "${named}": tier ${tierCheck.tier} requires human approval, which this lane cannot yet file`,
381
+ code,
382
+ message: `${label2}: "${named}" is catalogued ${tierCheck.tier}, which requires human approval. Nothing was sent to the remote. This lane cannot file an approval yet, so the call is refused rather than executed un-approved - if you need it, ask a human to run it or to lower the tool's tier.`
383
+ };
384
+ }
312
385
  const argReject = isToolArgRejected(method, params, rules);
313
386
  if (argReject.rejected) {
314
387
  return {
@@ -555,43 +628,57 @@ function isMissingConfig() {
555
628
  if (!tokenVar) return TOKEN_VAR_ENV;
556
629
  return null;
557
630
  }
631
+ function handleInboundLine(line, deps) {
632
+ const { writeReplies, inflight } = deps;
633
+ const text = line.trim();
634
+ if (!text) return;
635
+ let parsed;
636
+ try {
637
+ parsed = JSON.parse(text);
638
+ } catch {
639
+ logErr("dropping non-JSON stdin line");
640
+ return;
641
+ }
642
+ const isNotification = !("id" in parsed);
643
+ const id = parsed.id;
644
+ const refusal = callRefusal(parsed.method, parsed.params, toolAllowlist, argRejects, label, toolTiers);
645
+ if (refusal) {
646
+ logErr(isNotification ? `${refusal.log} (notification, no reply sent)` : refusal.log);
647
+ if (isNotification) return;
648
+ const task2 = writeReplies([jsonRpcError(id, refusal.code, refusal.message)]).catch(
649
+ (err) => logErr(`handler error: ${err.message}`)
650
+ );
651
+ inflight.add(task2);
652
+ void task2.finally(() => inflight.delete(task2));
653
+ return;
654
+ }
655
+ const task = forward(text, id, isNotification, parsed.method, parsed.params).then(writeReplies).catch((err) => {
656
+ logErr(`handler error: ${err.message}`);
657
+ });
658
+ inflight.add(task);
659
+ void task.finally(() => inflight.delete(task));
660
+ }
558
661
  async function main() {
559
662
  const missing = isMissingConfig();
560
663
  if (missing) {
561
664
  logErr(`missing required env ${missing}; exiting`);
562
665
  process.exit(1);
563
666
  }
667
+ if (toolTiers.kind === "absent") {
668
+ logErr(`no ${TOOL_TIERS_ENV} set: tool calls are NOT gated by catalogued HITL tier`);
669
+ } else if (toolTiers.kind === "unusable") {
670
+ logErr(`${TOOL_TIERS_ENV} is set but unusable (${toolTiers.detail}); refusing every tools/call`);
671
+ } else {
672
+ const gated = [...toolTiers.tiers.entries()].filter(([, t]) => !AUTO_EXECUTE_TIERS.has(t));
673
+ logErr(
674
+ `tier gate active: ${toolTiers.tiers.size} catalogued tools, ${gated.length} require approval` + (gated.length > 0 ? ` (${gated.map(([n, t]) => `${n}=${t}`).join(", ")})` : "")
675
+ );
676
+ }
564
677
  const rl = createInterface({ input: process.stdin, crlfDelay: Infinity });
565
678
  const writeReplies = createStdoutReplyWriter();
566
679
  const inflight = /* @__PURE__ */ new Set();
567
680
  rl.on("line", (line) => {
568
- const text = line.trim();
569
- if (!text) return;
570
- let parsed;
571
- try {
572
- parsed = JSON.parse(text);
573
- } catch {
574
- logErr("dropping non-JSON stdin line");
575
- return;
576
- }
577
- const isNotification = !("id" in parsed);
578
- const id = parsed.id;
579
- const refusal = callRefusal(parsed.method, parsed.params, toolAllowlist, argRejects, label);
580
- if (refusal) {
581
- logErr(isNotification ? `${refusal.log} (notification, no reply sent)` : refusal.log);
582
- if (isNotification) return;
583
- const task2 = writeReplies([jsonRpcError(id, refusal.code, refusal.message)]).catch(
584
- (err) => logErr(`handler error: ${err.message}`)
585
- );
586
- inflight.add(task2);
587
- void task2.finally(() => inflight.delete(task2));
588
- return;
589
- }
590
- const task = forward(text, id, isNotification, parsed.method, parsed.params).then(writeReplies).catch((err) => {
591
- logErr(`handler error: ${err.message}`);
592
- });
593
- inflight.add(task);
594
- void task.finally(() => inflight.delete(task));
681
+ handleInboundLine(line, { writeReplies, inflight });
595
682
  });
596
683
  await new Promise((resolve) => rl.on("close", () => resolve()));
597
684
  await Promise.all([...inflight]);
@@ -611,6 +698,7 @@ if (invokedDirectly) {
611
698
  }
612
699
  export {
613
700
  ACTIVATION_TOOL,
701
+ AUTO_EXECUTE_TIERS,
614
702
  activationRefusalMessage,
615
703
  awaitDrain,
616
704
  buildEnableToolsetRequest,
@@ -625,16 +713,19 @@ export {
625
713
  extractToolsArray,
626
714
  filterToolsListMessage,
627
715
  forward,
716
+ handleInboundLine,
628
717
  handleStdoutWriteFailure,
629
718
  isManagedActivationCall,
630
719
  isToolArgRejected,
631
720
  isToolCallBlocked,
721
+ isToolCallTierGated,
632
722
  main,
633
723
  parseArgRejects,
634
724
  parseEnableToolsetResponse,
635
725
  parseExtraHeaders,
636
726
  parsePreEnableToolsets,
637
727
  parseToolAllowlist,
728
+ parseToolTiers,
638
729
  readCurrentToken,
639
730
  stripActivationTool,
640
731
  toolName,
@@ -34203,7 +34203,21 @@ var REMOTE_MCP_PROXY_ENV = {
34203
34203
  // success. Deliberately NOT in REMOTE_MCP_AUTH_ENV_KEYS: it shapes which calls
34204
34204
  // we forward, not what an outbound request looks like, so the probe (which
34205
34205
  // never issues a tools/call) has nothing to reconstruct from it.
34206
- argRejects: "AGT_REMOTE_MCP_ARG_REJECTS"
34206
+ argRejects: "AGT_REMOTE_MCP_ARG_REJECTS",
34207
+ // ENG-10614: the per-tool HITL floor table, as JSON `{ "<tool>": "<tier>" }`.
34208
+ //
34209
+ // WHY THIS EXISTS AT ALL. A hosted API-key remote MCP is called by Claude Code
34210
+ // straight at the vendor, so none of the three brokered HITL gates
34211
+ // (`enforceComposioHitlGate`, `hitlGateForBrokerCall`, the CLI lane) is in the
34212
+ // path, and `tool_definitions.min_hitl_tier` was read by nothing on this lane
34213
+ // — measured: zero hits for that column under `packages/core/src/provisioning`,
34214
+ // `packages/mcp/src` or `apps/cli/src`. The catalog said `delete_item` needed
34215
+ // approval and the call went straight out.
34216
+ //
34217
+ // Deliberately NOT in REMOTE_MCP_AUTH_ENV_KEYS, for the same reason as
34218
+ // `argRejects`: it shapes WHICH calls we forward, not what an outbound request
34219
+ // looks like, so the connectivity probe has nothing to reconstruct from it.
34220
+ toolTiers: "AGT_REMOTE_MCP_TOOL_TIERS"
34207
34221
  };
34208
34222
  var REMOTE_MCP_AUTH_ENV_KEYS = [
34209
34223
  REMOTE_MCP_PROXY_ENV.tokenVar,
@@ -34223,7 +34223,21 @@ var REMOTE_MCP_PROXY_ENV = {
34223
34223
  // success. Deliberately NOT in REMOTE_MCP_AUTH_ENV_KEYS: it shapes which calls
34224
34224
  // we forward, not what an outbound request looks like, so the probe (which
34225
34225
  // never issues a tools/call) has nothing to reconstruct from it.
34226
- argRejects: "AGT_REMOTE_MCP_ARG_REJECTS"
34226
+ argRejects: "AGT_REMOTE_MCP_ARG_REJECTS",
34227
+ // ENG-10614: the per-tool HITL floor table, as JSON `{ "<tool>": "<tier>" }`.
34228
+ //
34229
+ // WHY THIS EXISTS AT ALL. A hosted API-key remote MCP is called by Claude Code
34230
+ // straight at the vendor, so none of the three brokered HITL gates
34231
+ // (`enforceComposioHitlGate`, `hitlGateForBrokerCall`, the CLI lane) is in the
34232
+ // path, and `tool_definitions.min_hitl_tier` was read by nothing on this lane
34233
+ // — measured: zero hits for that column under `packages/core/src/provisioning`,
34234
+ // `packages/mcp/src` or `apps/cli/src`. The catalog said `delete_item` needed
34235
+ // approval and the call went straight out.
34236
+ //
34237
+ // Deliberately NOT in REMOTE_MCP_AUTH_ENV_KEYS, for the same reason as
34238
+ // `argRejects`: it shapes WHICH calls we forward, not what an outbound request
34239
+ // looks like, so the connectivity probe has nothing to reconstruct from it.
34240
+ toolTiers: "AGT_REMOTE_MCP_TOOL_TIERS"
34227
34241
  };
34228
34242
  var REMOTE_MCP_AUTH_ENV_KEYS = [
34229
34243
  REMOTE_MCP_PROXY_ENV.tokenVar,
@@ -1,5 +1,6 @@
1
1
  import {
2
2
  CLAUDE_HOST_WIDE,
3
+ CLAUDE_MANAGED_SETTINGS_DIR,
3
4
  CLAUDE_NULLED_FILES,
4
5
  CLAUDE_PER_AGENT_DIRS,
5
6
  EGRESS_BASELINE_DOMAINS,
@@ -62,12 +63,13 @@ import {
62
63
  writeDirectChatSessionState,
63
64
  writeEgressAllowlist,
64
65
  writePersistentClaudeWrapper
65
- } from "./chunk-6KYXH6ZZ.js";
66
- import "./chunk-TGCA3LTI.js";
66
+ } from "./chunk-NF7LESJA.js";
67
+ import "./chunk-C72SNMP6.js";
67
68
  import "./chunk-DHWNVVX4.js";
68
69
  import "./chunk-XWVM4KPK.js";
69
70
  export {
70
71
  CLAUDE_HOST_WIDE,
72
+ CLAUDE_MANAGED_SETTINGS_DIR,
71
73
  CLAUDE_NULLED_FILES,
72
74
  CLAUDE_PER_AGENT_DIRS,
73
75
  EGRESS_BASELINE_DOMAINS,
@@ -131,4 +133,4 @@ export {
131
133
  writeEgressAllowlist,
132
134
  writePersistentClaudeWrapper
133
135
  };
134
- //# sourceMappingURL=persistent-session-PYYD53GZ.js.map
136
+ //# sourceMappingURL=persistent-session-HBUVJYYR.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  paneLogPath
3
- } from "./chunk-6KYXH6ZZ.js";
4
- import "./chunk-TGCA3LTI.js";
3
+ } from "./chunk-NF7LESJA.js";
4
+ import "./chunk-C72SNMP6.js";
5
5
  import "./chunk-DHWNVVX4.js";
6
6
  import "./chunk-XWVM4KPK.js";
7
7
 
@@ -800,4 +800,4 @@ export {
800
800
  readAndResetSlackReplyBindingClassifications,
801
801
  readAndResetSlackReplyTargetClassifications
802
802
  };
803
- //# sourceMappingURL=responsiveness-probe-JENZOOKG.js.map
803
+ //# sourceMappingURL=responsiveness-probe-AIBA25OP.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  sessionTranscriptDir
3
- } from "./chunk-TGCA3LTI.js";
3
+ } from "./chunk-C72SNMP6.js";
4
4
 
5
5
  // src/lib/session-auth-dead.ts
6
6
  import { closeSync, openSync, readSync, readdirSync, statSync } from "fs";
@@ -203,4 +203,4 @@ export {
203
203
  decideSessionAuthState,
204
204
  probeSessionAuth
205
205
  };
206
- //# sourceMappingURL=session-auth-dead-BGXRQB27.js.map
206
+ //# sourceMappingURL=session-auth-dead-XTMVOHUX.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@integrity-labs/agt-cli",
3
- "version": "0.28.990",
3
+ "version": "0.28.992",
4
4
  "description": "Augmented Team CLI — agent provisioning and management",
5
5
  "type": "module",
6
6
  "engines": {