fix: keep valid older agent packages usable after desktop updates

Accept package-declared OpenCode, Node and koffi versions instead of desktop release pins. Preserve signature, hash, protocol and package-internal version consistency checks.

Validate both cached 0.11.18 packages and Linux x64 installation, bootstrap, health and stop. Related regression suite: 326 passed, 1 skipped; unrelated full-workspace check failures are recorded in the remote Host design.

Release note: Desktop updates no longer reject intact older Agent packages solely because their bundled runtime versions differ.
This commit is contained in:
mesalogo
2026-09-16 19:04:54 +08:00
parent 441f14b5f7
commit 1698d9fd3e
9 changed files with 100 additions and 24 deletions
@@ -5,7 +5,8 @@ import {
agentManifestLicenseSchema,
agentManifestPathSchema,
agentProtocolVersionSchema,
agentReleaseKeySchema
agentReleaseKeySchema,
componentVersionSchema
} from './agent-installation-contracts'
import {
agentIdentifierSchema,
@@ -227,7 +228,8 @@ export const remoteRuntimeLockSchema = z
.object({
opencode: z
.object({
version: z.literal('1.18.29'),
// Installed packages carry their own signed Runtime version.
version: componentVersionSchema,
provider: z.literal('opencode'),
entrypoint: z.literal('bin/opencode'),
entrypointIdentity: z.literal('opencode-acp'),