diff options
| author | Adam Malczewski <[email protected]> | 2026-06-27 01:12:40 +0900 |
|---|---|---|
| committer | Adam Malczewski <[email protected]> | 2026-06-27 01:12:40 +0900 |
| commit | 98b0638838a8e754927d8c030ce8bded18d63e7d (patch) | |
| tree | 0d4e21c3d4792fcd77e1040373b260e38efa34ce /packages/kernel/src/host/version.ts | |
| parent | d92a4af6191d7d20acf861adf605ad0227b6b287 (diff) | |
| parent | 61e45e60d699ed1ca46f94a8f181c92a940317c6 (diff) | |
| download | dispatch-98b0638838a8e754927d8c030ce8bded18d63e7d.tar.gz dispatch-98b0638838a8e754927d8c030ce8bded18d63e7d.zip | |
Merge branch 'dev' into feature/heartbeat
# Conflicts:
# packages/host-bin/package.json
# packages/host-bin/src/main.ts
# packages/session-orchestrator/src/orchestrator.ts
# packages/system-prompt/src/service.test.ts
# packages/system-prompt/src/service.ts
# packages/system-prompt/src/types.ts
# packages/transport-contract/package.json
# packages/transport-http/package.json
# packages/transport-http/src/app.test.ts
# packages/transport-http/src/app.ts
# packages/transport-http/src/extension.ts
# packages/transport-http/tsconfig.json
# tsconfig.json
Diffstat (limited to 'packages/kernel/src/host/version.ts')
| -rw-r--r-- | packages/kernel/src/host/version.ts | 82 |
1 files changed, 41 insertions, 41 deletions
diff --git a/packages/kernel/src/host/version.ts b/packages/kernel/src/host/version.ts index 0d62a3b..eb9ac16 100644 --- a/packages/kernel/src/host/version.ts +++ b/packages/kernel/src/host/version.ts @@ -1,52 +1,52 @@ interface SemVer { - readonly major: number; - readonly minor: number; - readonly patch: number; + readonly major: number; + readonly minor: number; + readonly patch: number; } function parseSemVer(version: string): SemVer { - const match = version.match(/^(\d+)\.(\d+)\.(\d+)$/); - if (!match) throw new Error(`Invalid semver: "${version}"`); - return { - major: Number(match[1]), - minor: Number(match[2]), - patch: Number(match[3]), - }; + const match = version.match(/^(\d+)\.(\d+)\.(\d+)$/); + if (!match) throw new Error(`Invalid semver: "${version}"`); + return { + major: Number(match[1]), + minor: Number(match[2]), + patch: Number(match[3]), + }; } function gte(a: SemVer, b: SemVer): boolean { - if (a.major !== b.major) return a.major > b.major; - if (a.minor !== b.minor) return a.minor > b.minor; - return a.patch >= b.patch; + if (a.major !== b.major) return a.major > b.major; + if (a.minor !== b.minor) return a.minor > b.minor; + return a.patch >= b.patch; } export function isApiVersionCompatible(range: string, kernelVersion: string): boolean { - if (range === "*") return true; - - const kernel = parseSemVer(kernelVersion); - - if (range.startsWith("^")) { - const min = parseSemVer(range.slice(1)); - if (!gte(kernel, min)) return false; - if (min.major === 0) { - return kernel.major === 0 && kernel.minor === min.minor; - } - return kernel.major === min.major; - } - - if (range.startsWith("~")) { - const min = parseSemVer(range.slice(1)); - if (!gte(kernel, min)) return false; - return kernel.major === min.major && kernel.minor === min.minor; - } - - if (range.startsWith(">=")) { - const min = parseSemVer(range.slice(2)); - return gte(kernel, min); - } - - const exact = parseSemVer(range); - return ( - kernel.major === exact.major && kernel.minor === exact.minor && kernel.patch === exact.patch - ); + if (range === "*") return true; + + const kernel = parseSemVer(kernelVersion); + + if (range.startsWith("^")) { + const min = parseSemVer(range.slice(1)); + if (!gte(kernel, min)) return false; + if (min.major === 0) { + return kernel.major === 0 && kernel.minor === min.minor; + } + return kernel.major === min.major; + } + + if (range.startsWith("~")) { + const min = parseSemVer(range.slice(1)); + if (!gte(kernel, min)) return false; + return kernel.major === min.major && kernel.minor === min.minor; + } + + if (range.startsWith(">=")) { + const min = parseSemVer(range.slice(2)); + return gte(kernel, min); + } + + const exact = parseSemVer(range); + return ( + kernel.major === exact.major && kernel.minor === exact.minor && kernel.patch === exact.patch + ); } |
