Package release 0.4.162 from the current workspace snapshot
Constraint: Windows and Linux artifacts are built on native GitHub runners from a temporary snapshot branch Rejected: Build Windows/Linux locally on Apple Silicon | docker/wine packaging is not stable on this host Confidence: medium Scope-risk: moderate Directive: This snapshot branch is transport-only and should be deleted after the release completes Tested: local verify/build stages before snapshot creation Not-tested: remote packaging before workflow execution
This commit is contained in:
1 parent
f5d4f8b705
commit
15a9c5c3c2
4 files changed
+61
-30
No files matched your search
@@ -12,7 +12,7 @@ export type PlatformDownload = {
|
|||||||
assets: PlatformDownloadAsset[];
|
assets: PlatformDownloadAsset[];
|
||||||
};
|
};
|
||||||
|
|
||||||
export const releaseVersion = "0.4.156";
|
export const releaseVersion = "0.4.161";
|
||||||
|
|
||||||
export const platformDownloads: PlatformDownload[] = [
|
export const platformDownloads: PlatformDownload[] = [
|
||||||
{
|
{
|
||||||
@@ -23,13 +23,13 @@ export const platformDownloads: PlatformDownload[] = [
|
|||||||
{
|
{
|
||||||
id: "macos-arm64-dmg",
|
id: "macos-arm64-dmg",
|
||||||
label: "Apple Silicon DMG",
|
label: "Apple Silicon DMG",
|
||||||
href: "https://pub-a19a3a2c1d2e4fa3a9c120b184024448.r2.dev/AC/AgentCompany-0.4.156-arm64.dmg",
|
href: "https://pub-a19a3a2c1d2e4fa3a9c120b184024448.r2.dev/AC/AgentCompany-0.4.161-arm64.dmg",
|
||||||
note: "arm64",
|
note: "arm64",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "macos-x64-dmg",
|
id: "macos-x64-dmg",
|
||||||
label: "Intel Mac DMG",
|
label: "Intel Mac DMG",
|
||||||
href: "https://pub-a19a3a2c1d2e4fa3a9c120b184024448.r2.dev/AC/AgentCompany-0.4.156.dmg",
|
href: "https://pub-a19a3a2c1d2e4fa3a9c120b184024448.r2.dev/AC/AgentCompany-0.4.161.dmg",
|
||||||
note: "x64",
|
note: "x64",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
@@ -42,7 +42,7 @@ export const platformDownloads: PlatformDownload[] = [
|
|||||||
{
|
{
|
||||||
id: "windows-universal-installer",
|
id: "windows-universal-installer",
|
||||||
label: "Windows Universal Installer",
|
label: "Windows Universal Installer",
|
||||||
href: "https://pub-a19a3a2c1d2e4fa3a9c120b184024448.r2.dev/AC/AgentCompany.Setup.0.4.156.exe",
|
href: "https://pub-a19a3a2c1d2e4fa3a9c120b184024448.r2.dev/AC/AgentCompany.Setup.0.4.161.exe",
|
||||||
note: "arm64 + x64 + ia32",
|
note: "arm64 + x64 + ia32",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
@@ -55,37 +55,37 @@ export const platformDownloads: PlatformDownload[] = [
|
|||||||
{
|
{
|
||||||
id: "linux-x64-appimage",
|
id: "linux-x64-appimage",
|
||||||
label: "Linux x64 AppImage",
|
label: "Linux x64 AppImage",
|
||||||
href: "https://pub-a19a3a2c1d2e4fa3a9c120b184024448.r2.dev/AC/AgentCompany-0.4.156.AppImage",
|
href: "https://pub-a19a3a2c1d2e4fa3a9c120b184024448.r2.dev/AC/AgentCompany-0.4.161.AppImage",
|
||||||
note: "x64",
|
note: "x64",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "linux-x64-deb",
|
id: "linux-x64-deb",
|
||||||
label: "Linux x64 DEB",
|
label: "Linux x64 DEB",
|
||||||
href: "https://pub-a19a3a2c1d2e4fa3a9c120b184024448.r2.dev/AC/agent-company_0.4.156_amd64.deb",
|
href: "https://pub-a19a3a2c1d2e4fa3a9c120b184024448.r2.dev/AC/agent-company_0.4.161_amd64.deb",
|
||||||
note: "x64",
|
note: "x64",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "linux-x64-rpm",
|
id: "linux-x64-rpm",
|
||||||
label: "Linux x64 RPM",
|
label: "Linux x64 RPM",
|
||||||
href: "https://pub-a19a3a2c1d2e4fa3a9c120b184024448.r2.dev/AC/agent-company-0.4.156.x86_64.rpm",
|
href: "https://pub-a19a3a2c1d2e4fa3a9c120b184024448.r2.dev/AC/agent-company-0.4.161.x86_64.rpm",
|
||||||
note: "x64",
|
note: "x64",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "linux-arm64-appimage",
|
id: "linux-arm64-appimage",
|
||||||
label: "Linux ARM64 AppImage",
|
label: "Linux ARM64 AppImage",
|
||||||
href: "https://pub-a19a3a2c1d2e4fa3a9c120b184024448.r2.dev/AC/AgentCompany-0.4.156-arm64.AppImage",
|
href: "https://pub-a19a3a2c1d2e4fa3a9c120b184024448.r2.dev/AC/AgentCompany-0.4.161-arm64.AppImage",
|
||||||
note: "arm64",
|
note: "arm64",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "linux-arm64-deb",
|
id: "linux-arm64-deb",
|
||||||
label: "Linux ARM64 DEB",
|
label: "Linux ARM64 DEB",
|
||||||
href: "https://pub-a19a3a2c1d2e4fa3a9c120b184024448.r2.dev/AC/agent-company_0.4.156_arm64.deb",
|
href: "https://pub-a19a3a2c1d2e4fa3a9c120b184024448.r2.dev/AC/agent-company_0.4.161_arm64.deb",
|
||||||
note: "arm64",
|
note: "arm64",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "linux-arm64-rpm",
|
id: "linux-arm64-rpm",
|
||||||
label: "Linux ARM64 RPM",
|
label: "Linux ARM64 RPM",
|
||||||
href: "https://pub-a19a3a2c1d2e4fa3a9c120b184024448.r2.dev/AC/agent-company-0.4.156.aarch64.rpm",
|
href: "https://pub-a19a3a2c1d2e4fa3a9c120b184024448.r2.dev/AC/agent-company-0.4.161.aarch64.rpm",
|
||||||
note: "arm64",
|
note: "arm64",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "agent-company",
|
"name": "agent-company",
|
||||||
"version": "0.4.156",
|
"version": "0.4.162",
|
||||||
"private": true,
|
"private": true,
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"description": "Cross-platform Electron desktop control plane for local-first AI agent companies.",
|
"description": "Cross-platform Electron desktop control plane for local-first AI agent companies.",
|
||||||
|
|||||||
@@ -247,25 +247,9 @@ export function executeAutomationAction(
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// No manager found — agent is likely the CEO or top-level.
|
// No manager found — agent is likely the CEO or top-level.
|
||||||
// Post as company-wide message so the board and other leaders see it.
|
// Skip posting to company channel to avoid flooding it with system noise.
|
||||||
const escalationResult = dispatchAgentMessage(
|
// The task status change is already visible in the task list and activity log.
|
||||||
{ db, emitEvent, publishDomainChanged, wakeAgentIfPossible },
|
logger.info(`[automation] Skipping escalation for top-level agent "${agentName}" — no manager to escalate to.`);
|
||||||
{
|
|
||||||
companyId: ctx.companyId,
|
|
||||||
fromAgentId: targetAgentId,
|
|
||||||
toAgentId: null,
|
|
||||||
channel: "company",
|
|
||||||
subject: `Escalation: ${taskTitle}`,
|
|
||||||
body: escalationBody,
|
|
||||||
priority: "urgent",
|
|
||||||
},
|
|
||||||
wakeTrigger,
|
|
||||||
);
|
|
||||||
if (!escalationResult.ok) {
|
|
||||||
logger.warn(
|
|
||||||
`[automation] Failed to escalate "${taskTitle}" to company channel: ${escalationResult.error.code} ${escalationResult.error.message}`,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -90,6 +90,53 @@ export function buildConnectorMethods(
|
|||||||
const currentRows = readAll<Partial<ConnectorRecord>>(
|
const currentRows = readAll<Partial<ConnectorRecord>>(
|
||||||
"select id, label, description, status, command, version, auth_state as authState, last_checked_at as lastCheckedAt, last_error as lastError, model, env_binding_text as envBindingText, notes from connectors",
|
"select id, label, description, status, command, version, auth_state as authState, last_checked_at as lastCheckedAt, last_error as lastError, model, env_binding_text as envBindingText, notes from connectors",
|
||||||
);
|
);
|
||||||
|
// Migrate first compat slot if its definition defaults have changed (edition upgrade).
|
||||||
|
// When the definition ships with preset notes that differ from the DB, relocate the
|
||||||
|
// old user config to the next empty compat slot so definition defaults take effect.
|
||||||
|
const firstCompat = currentRows.find((r) => r.id === "claude_compatible");
|
||||||
|
if (firstCompat?.envBindingText && firstCompat.notes) {
|
||||||
|
let firstDef: { notes: string } | undefined;
|
||||||
|
try { firstDef = getConnectorDefinition("claude_compatible"); } catch { /* skip */ }
|
||||||
|
if (firstDef?.notes && firstCompat.notes !== firstDef.notes) {
|
||||||
|
const migrationTargets: ConnectorId[] = [
|
||||||
|
"claude_compat_2", "claude_compat_3", "claude_compat_4", "claude_compat_5",
|
||||||
|
"claude_compat_6", "claude_compat_7", "claude_compat_8", "claude_compat_9", "claude_compat_10",
|
||||||
|
];
|
||||||
|
const occupied = new Set(
|
||||||
|
currentRows
|
||||||
|
.filter((r) => r.id !== "claude_compatible" && r.id?.startsWith("claude_compat") && r.envBindingText)
|
||||||
|
.map((r) => r.id),
|
||||||
|
);
|
||||||
|
const targetId = migrationTargets.find((id) => !occupied.has(id));
|
||||||
|
if (targetId) {
|
||||||
|
const migrated = {
|
||||||
|
envBindingText: firstCompat.envBindingText,
|
||||||
|
notes: firstCompat.notes,
|
||||||
|
model: firstCompat.model,
|
||||||
|
status: firstCompat.status,
|
||||||
|
authState: firstCompat.authState,
|
||||||
|
version: firstCompat.version,
|
||||||
|
lastCheckedAt: firstCompat.lastCheckedAt,
|
||||||
|
lastError: firstCompat.lastError,
|
||||||
|
};
|
||||||
|
const targetRow = currentRows.find((r) => r.id === targetId);
|
||||||
|
if (targetRow) {
|
||||||
|
Object.assign(targetRow, migrated);
|
||||||
|
} else {
|
||||||
|
currentRows.push({ id: targetId as ConnectorId, ...migrated });
|
||||||
|
}
|
||||||
|
firstCompat.envBindingText = undefined;
|
||||||
|
firstCompat.notes = undefined;
|
||||||
|
firstCompat.model = undefined;
|
||||||
|
firstCompat.status = undefined;
|
||||||
|
firstCompat.authState = undefined;
|
||||||
|
firstCompat.version = undefined;
|
||||||
|
firstCompat.lastCheckedAt = undefined;
|
||||||
|
firstCompat.lastError = undefined;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
const merged = buildDefaultConnectorRows(currentRows);
|
const merged = buildDefaultConnectorRows(currentRows);
|
||||||
const statement = getDb().prepare(
|
const statement = getDb().prepare(
|
||||||
"insert or replace into connectors (id, label, description, status, command, version, auth_state, last_checked_at, last_error, model, env_binding_text, notes, updated_at) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)",
|
"insert or replace into connectors (id, label, description, status, command, version, auth_state, last_checked_at, last_error, model, env_binding_text, notes, updated_at) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)",
|
||||||
|
|||||||
Reference in new issue
Block a user