@integrity-labs/agt-cli 0.27.77 → 0.27.79

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.
@@ -9,7 +9,7 @@ import {
9
9
  parseDeliveryTarget,
10
10
  registerFramework,
11
11
  wrapScheduledTaskPrompt
12
- } from "./chunk-5SWHKUL3.js";
12
+ } from "./chunk-GNIA4KN5.js";
13
13
 
14
14
  // ../../packages/core/dist/integrations/registry.js
15
15
  var INTEGRATION_REGISTRY = [
@@ -7488,4 +7488,4 @@ export {
7488
7488
  managerInstallSystemUnitCommand,
7489
7489
  managerUninstallSystemUnitCommand
7490
7490
  };
7491
- //# sourceMappingURL=chunk-CMOPDYMM.js.map
7491
+ //# sourceMappingURL=chunk-QYUQLNI3.js.map
@@ -100,7 +100,7 @@ async function spawnPairSession(session) {
100
100
  return { ok: true };
101
101
  } catch {
102
102
  }
103
- const { resolveClaudeBinary } = await import("./persistent-session-4HYXVGKO.js");
103
+ const { resolveClaudeBinary } = await import("./persistent-session-LGKYKSBP.js");
104
104
  const claudeBin = resolveClaudeBinary();
105
105
  const pairEnv = {
106
106
  ...process.env,
@@ -373,4 +373,4 @@ export {
373
373
  startClaudePair,
374
374
  submitClaudePairCode
375
375
  };
376
- //# sourceMappingURL=claude-pair-runtime-EZ73GJW7.js.map
376
+ //# sourceMappingURL=claude-pair-runtime-BK76FFIY.js.map
@@ -16,7 +16,7 @@ import {
16
16
  provisionStopHook,
17
17
  requireHost,
18
18
  safeWriteJsonAtomic
19
- } from "../chunk-CMOPDYMM.js";
19
+ } from "../chunk-QYUQLNI3.js";
20
20
  import {
21
21
  getProjectDir as getProjectDir2,
22
22
  getReadyTasks,
@@ -53,7 +53,7 @@ import {
53
53
  stopPersistentSession,
54
54
  takeWatchdogGiveUpCount,
55
55
  takeZombieDetection
56
- } from "../chunk-FAR2FJBQ.js";
56
+ } from "../chunk-FD5YRWYC.js";
57
57
  import {
58
58
  KANBAN_CHECK_COMMAND,
59
59
  appendDmFooter,
@@ -76,7 +76,7 @@ import {
76
76
  resolveConnectivityProbe,
77
77
  resolveDmTarget,
78
78
  wrapScheduledTaskPrompt
79
- } from "../chunk-5SWHKUL3.js";
79
+ } from "../chunk-GNIA4KN5.js";
80
80
  import {
81
81
  parsePsRows,
82
82
  reapOrphanChannelMcps
@@ -629,6 +629,26 @@ function decideChannelRestart(input) {
629
629
  return { restart: true, added, removed };
630
630
  }
631
631
 
632
+ // src/lib/channel-launch-flags.ts
633
+ var DEV_CHANNEL_SERVER_IDS = ["slack", "telegram", "msteams"];
634
+ function resolveChannelLaunchFlags(channelConfigs, quarantinedChannels) {
635
+ const devChannels = [];
636
+ const pluginChannels = [];
637
+ if (!channelConfigs) return { devChannels, pluginChannels };
638
+ const isChannelEnabled = (id) => {
639
+ if (quarantinedChannels.has(id)) return false;
640
+ const entry = channelConfigs[id];
641
+ return !!entry?.config && (entry.status === "active" || entry.status === "pending");
642
+ };
643
+ for (const id of DEV_CHANNEL_SERVER_IDS) {
644
+ if (isChannelEnabled(id)) devChannels.push(`server:${id}`);
645
+ }
646
+ if (isChannelEnabled("discord")) {
647
+ pluginChannels.push("plugin:discord@claude-plugins-official");
648
+ }
649
+ return { devChannels, pluginChannels };
650
+ }
651
+
632
652
  // src/lib/sender-policy-restart-decision.ts
633
653
  function decideSenderPolicyRestart(input) {
634
654
  const {
@@ -3095,14 +3115,32 @@ function startRealtimeIntegrationContext(config2) {
3095
3115
  if (agentIds.length === 0) return;
3096
3116
  const sb = ensureClient(config2);
3097
3117
  const filterStr = agentIds.length === 1 ? `agent_id=eq.${agentIds[0]}` : `agent_id=in.(${agentIds.join(",")})`;
3098
- integrationContextChannel = sb.channel("plugin-context-realtime").on("postgres_changes", {
3118
+ integrationContextChannel = sb.channel("agent-integration-context-realtime").on("postgres_changes", {
3119
+ event: "INSERT",
3120
+ schema: "public",
3121
+ table: "agent_integration_context",
3122
+ filter: filterStr
3123
+ }, (payload) => {
3124
+ const row = payload.new;
3125
+ log2(`[realtime] agent_integration_context INSERT for agent ${row.agent_id} (plugin ${row.plugin_id})`);
3126
+ onContextChange(row);
3127
+ }).on("postgres_changes", {
3128
+ event: "UPDATE",
3129
+ schema: "public",
3130
+ table: "agent_integration_context",
3131
+ filter: filterStr
3132
+ }, (payload) => {
3133
+ const row = payload.new;
3134
+ log2(`[realtime] agent_integration_context UPDATE for agent ${row.agent_id} (plugin ${row.plugin_id})`);
3135
+ onContextChange(row);
3136
+ }).on("postgres_changes", {
3099
3137
  event: "INSERT",
3100
3138
  schema: "public",
3101
3139
  table: "plugin_context",
3102
3140
  filter: filterStr
3103
3141
  }, (payload) => {
3104
3142
  const row = payload.new;
3105
- log2(`[realtime] plugin_context INSERT for agent ${row.agent_id} (plugin ${row.plugin_id})`);
3143
+ log2(`[realtime] plugin_context (legacy) INSERT for agent ${row.agent_id} (plugin ${row.plugin_id})`);
3106
3144
  onContextChange(row);
3107
3145
  }).on("postgres_changes", {
3108
3146
  event: "UPDATE",
@@ -3111,7 +3149,7 @@ function startRealtimeIntegrationContext(config2) {
3111
3149
  filter: filterStr
3112
3150
  }, (payload) => {
3113
3151
  const row = payload.new;
3114
- log2(`[realtime] plugin_context UPDATE for agent ${row.agent_id} (plugin ${row.plugin_id})`);
3152
+ log2(`[realtime] plugin_context (legacy) UPDATE for agent ${row.agent_id} (plugin ${row.plugin_id})`);
3115
3153
  onContextChange(row);
3116
3154
  }).subscribe((status) => {
3117
3155
  if (status === "SUBSCRIBED") {
@@ -3120,7 +3158,7 @@ function startRealtimeIntegrationContext(config2) {
3120
3158
  log2(`[realtime] Integration context channel: ${status}`);
3121
3159
  }
3122
3160
  });
3123
- log2(`[realtime] Subscribing to plugin_context for ${agentIds.length} agent(s)`);
3161
+ log2(`[realtime] Subscribing to agent_integration_context (+ legacy plugin_context) for ${agentIds.length} agent(s)`);
3124
3162
  }
3125
3163
  function stopRealtimeIntegrationContext() {
3126
3164
  if (!integrationContextChannel) return;
@@ -3648,7 +3686,7 @@ var cachedMaintenanceWindow = null;
3648
3686
  var lastVersionCheckAt = 0;
3649
3687
  var VERSION_CHECK_INTERVAL_MS = 5 * 60 * 1e3;
3650
3688
  var lastResponsivenessProbeAt = 0;
3651
- var agtCliVersion = true ? "0.27.77" : "dev";
3689
+ var agtCliVersion = true ? "0.27.79" : "dev";
3652
3690
  function resolveBrewPath(execFileSync4) {
3653
3691
  try {
3654
3692
  const out = execFileSync4("which", ["brew"], { timeout: 5e3 }).toString().trim();
@@ -4762,7 +4800,7 @@ async function pollCycle() {
4762
4800
  }
4763
4801
  try {
4764
4802
  const { detectHostSecurity } = await import("../host-security-6PDFG7F5.js");
4765
- const { collectDiagnostics } = await import("../persistent-session-4HYXVGKO.js");
4803
+ const { collectDiagnostics } = await import("../persistent-session-LGKYKSBP.js");
4766
4804
  const diagCodeNames = [...agentState.persistentSessionAgents];
4767
4805
  const agentDiagnostics = diagCodeNames.length > 0 ? collectDiagnostics(diagCodeNames) : void 0;
4768
4806
  let tailscaleHostname;
@@ -4835,7 +4873,7 @@ async function pollCycle() {
4835
4873
  const {
4836
4874
  collectResponsivenessProbes,
4837
4875
  getResponsivenessIntervalMs
4838
- } = await import("../responsiveness-probe-NUGYDDMS.js");
4876
+ } = await import("../responsiveness-probe-C6ZWB26H.js");
4839
4877
  const probeIntervalMs = getResponsivenessIntervalMs();
4840
4878
  if (now - lastResponsivenessProbeAt > probeIntervalMs) {
4841
4879
  const probeCodeNames = [...agentState.persistentSessionAgents];
@@ -7321,25 +7359,11 @@ async function ensurePersistentSession(agent, tasks, boardItems, refreshData) {
7321
7359
  return typeof tz === "string" && tz.trim() !== "" ? tz.trim() : void 0;
7322
7360
  })();
7323
7361
  const channelConfigs = refreshData.channel_configs;
7324
- const channels = [];
7325
- const devChannels = [];
7326
- if (channelConfigs) {
7327
- const quarantinedChannels = channelQuarantineStore().getQuarantinedKeys(codeName);
7328
- const isChannelEnabled = (id) => {
7329
- if (quarantinedChannels.has(id)) return false;
7330
- const entry = channelConfigs[id];
7331
- return !!entry?.config && (entry.status === "active" || entry.status === "pending");
7332
- };
7333
- if (isChannelEnabled("slack")) {
7334
- devChannels.push("server:slack");
7335
- }
7336
- if (isChannelEnabled("telegram")) {
7337
- devChannels.push("server:telegram");
7338
- }
7339
- if (isChannelEnabled("discord")) {
7340
- channels.push("plugin:discord@claude-plugins-official");
7341
- }
7342
- }
7362
+ const { devChannels, pluginChannels } = resolveChannelLaunchFlags(
7363
+ channelConfigs,
7364
+ channelQuarantineStore().getQuarantinedKeys(codeName)
7365
+ );
7366
+ const channels = [...pluginChannels];
7343
7367
  devChannels.push("server:direct-chat");
7344
7368
  let claudeAuthMode;
7345
7369
  let anthropicApiKey;
@@ -9016,7 +9040,7 @@ async function processClaudePairSessions(agents) {
9016
9040
  killPairSession,
9017
9041
  pairTmuxSession,
9018
9042
  finalizeClaudePairOnboarding
9019
- } = await import("../claude-pair-runtime-EZ73GJW7.js");
9043
+ } = await import("../claude-pair-runtime-BK76FFIY.js");
9020
9044
  for (const pairId of pendingResp.cancelled_pair_ids ?? []) {
9021
9045
  log(`[claude-pair] sweeping orphan tmux session for pair ${pairId.slice(0, 8)}`);
9022
9046
  const killed = await killPairSession(pairTmuxSession(pairId));