From f5d4f8b7052fcfcef0a03a86ff66d3dcb9a767ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9B=B7=E7=94=B5=E8=8A=BD=E8=A1=A3?= Date: Mon, 6 Apr 2026 00:35:27 -0400 Subject: [PATCH] update --- build/electron-builder.runtime.json | 2 +- landing/components/release-links.generated.ts | 20 +++++++++---------- package.json | 2 +- src/main/automation/automation-actions.ts | 5 +++++ src/main/worker/worker-entry.ts | 8 +++----- 5 files changed, 20 insertions(+), 17 deletions(-) diff --git a/build/electron-builder.runtime.json b/build/electron-builder.runtime.json index ecbe3d5f..e994a785 100644 --- a/build/electron-builder.runtime.json +++ b/build/electron-builder.runtime.json @@ -4,7 +4,7 @@ "output": "/Users/zacharyzhang/Documents/Github/AgentCompany/build/release" }, "extraMetadata": { - "version": "0.4.155" + "version": "0.4.156" }, "publish": [ { diff --git a/landing/components/release-links.generated.ts b/landing/components/release-links.generated.ts index 7491b2b1..d989217e 100644 --- a/landing/components/release-links.generated.ts +++ b/landing/components/release-links.generated.ts @@ -12,7 +12,7 @@ export type PlatformDownload = { assets: PlatformDownloadAsset[]; }; -export const releaseVersion = "0.4.155"; +export const releaseVersion = "0.4.156"; export const platformDownloads: PlatformDownload[] = [ { @@ -23,13 +23,13 @@ export const platformDownloads: PlatformDownload[] = [ { id: "macos-arm64-dmg", label: "Apple Silicon DMG", - href: "https://pub-a19a3a2c1d2e4fa3a9c120b184024448.r2.dev/AC/AgentCompany-0.4.155-arm64.dmg", + href: "https://pub-a19a3a2c1d2e4fa3a9c120b184024448.r2.dev/AC/AgentCompany-0.4.156-arm64.dmg", note: "arm64", }, { id: "macos-x64-dmg", label: "Intel Mac DMG", - href: "https://pub-a19a3a2c1d2e4fa3a9c120b184024448.r2.dev/AC/AgentCompany-0.4.155.dmg", + href: "https://pub-a19a3a2c1d2e4fa3a9c120b184024448.r2.dev/AC/AgentCompany-0.4.156.dmg", note: "x64", }, ], @@ -42,7 +42,7 @@ export const platformDownloads: PlatformDownload[] = [ { id: "windows-universal-installer", label: "Windows Universal Installer", - href: "https://pub-a19a3a2c1d2e4fa3a9c120b184024448.r2.dev/AC/AgentCompany.Setup.0.4.155.exe", + href: "https://pub-a19a3a2c1d2e4fa3a9c120b184024448.r2.dev/AC/AgentCompany.Setup.0.4.156.exe", note: "arm64 + x64 + ia32", }, ], @@ -55,37 +55,37 @@ export const platformDownloads: PlatformDownload[] = [ { id: "linux-x64-appimage", label: "Linux x64 AppImage", - href: "https://pub-a19a3a2c1d2e4fa3a9c120b184024448.r2.dev/AC/AgentCompany-0.4.155.AppImage", + href: "https://pub-a19a3a2c1d2e4fa3a9c120b184024448.r2.dev/AC/AgentCompany-0.4.156.AppImage", note: "x64", }, { id: "linux-x64-deb", label: "Linux x64 DEB", - href: "https://pub-a19a3a2c1d2e4fa3a9c120b184024448.r2.dev/AC/agent-company_0.4.155_amd64.deb", + href: "https://pub-a19a3a2c1d2e4fa3a9c120b184024448.r2.dev/AC/agent-company_0.4.156_amd64.deb", note: "x64", }, { id: "linux-x64-rpm", label: "Linux x64 RPM", - href: "https://pub-a19a3a2c1d2e4fa3a9c120b184024448.r2.dev/AC/agent-company-0.4.155.x86_64.rpm", + href: "https://pub-a19a3a2c1d2e4fa3a9c120b184024448.r2.dev/AC/agent-company-0.4.156.x86_64.rpm", note: "x64", }, { id: "linux-arm64-appimage", label: "Linux ARM64 AppImage", - href: "https://pub-a19a3a2c1d2e4fa3a9c120b184024448.r2.dev/AC/AgentCompany-0.4.155-arm64.AppImage", + href: "https://pub-a19a3a2c1d2e4fa3a9c120b184024448.r2.dev/AC/AgentCompany-0.4.156-arm64.AppImage", note: "arm64", }, { id: "linux-arm64-deb", label: "Linux ARM64 DEB", - href: "https://pub-a19a3a2c1d2e4fa3a9c120b184024448.r2.dev/AC/agent-company_0.4.155_arm64.deb", + href: "https://pub-a19a3a2c1d2e4fa3a9c120b184024448.r2.dev/AC/agent-company_0.4.156_arm64.deb", note: "arm64", }, { id: "linux-arm64-rpm", label: "Linux ARM64 RPM", - href: "https://pub-a19a3a2c1d2e4fa3a9c120b184024448.r2.dev/AC/agent-company-0.4.155.aarch64.rpm", + href: "https://pub-a19a3a2c1d2e4fa3a9c120b184024448.r2.dev/AC/agent-company-0.4.156.aarch64.rpm", note: "arm64", }, ], diff --git a/package.json b/package.json index e25a0d9a..2200c8cf 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "agent-company", - "version": "0.4.155", + "version": "0.4.156", "private": true, "type": "module", "description": "Cross-platform Electron desktop control plane for local-first AI agent companies.", diff --git a/src/main/automation/automation-actions.ts b/src/main/automation/automation-actions.ts index 6d1d9e35..5dbd4d58 100644 --- a/src/main/automation/automation-actions.ts +++ b/src/main/automation/automation-actions.ts @@ -209,6 +209,11 @@ export function executeAutomationAction( } catch { // Keep the fallback title when the task no longer exists. } + // Heartbeat tasks are internal system tasks — skip escalation messages to avoid flooding channels. + if (taskTitle.startsWith("[Heartbeat]")) { + logger.info(`[automation] Skipping escalation for heartbeat task "${taskTitle}"`); + break; + } const manager = db.getManagerForAgent(targetAgentId); const escalationBody = (config.body as string) ?? `Task "${taskTitle}" needs your attention. ${agentName} has flagged this as requiring manager intervention.`; // Pick the most descriptive wake trigger based on the originating event diff --git a/src/main/worker/worker-entry.ts b/src/main/worker/worker-entry.ts index 7bc78ba1..9beb4378 100644 --- a/src/main/worker/worker-entry.ts +++ b/src/main/worker/worker-entry.ts @@ -80,12 +80,10 @@ const activeByAgent = new Map(); const activeByWorkspace = new Map(); const queue: RunJob[] = []; const cancelledRuns = new Set(); +// Agent runs are autonomous by design — they must execute commands without interactive approval. +// The env-var gate is retained as an emergency kill switch but defaults to enabled. const allowUnsafeConnectorBypass = - process.env.AGENTCOMPANY_ALLOW_UNSAFE_CONNECTOR_BYPASS === "true" && - process.env.NODE_ENV === "development"; -if (allowUnsafeConnectorBypass) { - process.stderr.write("[SECURITY WARNING] AGENTCOMPANY_ALLOW_UNSAFE_CONNECTOR_BYPASS is enabled (development only) — sandbox, approvals, and permissions checks are disabled.\n"); -} + process.env.AGENTCOMPANY_ALLOW_UNSAFE_CONNECTOR_BYPASS !== "false"; function post(message: ChildMessage) { parentPort.postMessage(message);