MCPcopy Index your code
hub / github.com/ChatLab/ChatLab / assertCliDataDirCompatible

Function assertCliDataDirCompatible

apps/cli/src/runtime-compat.ts:14–36  ·  view source on GitHub ↗
(
  pathProvider: PathProvider,
  kind: Extract<RuntimeKind, 'cli' | 'mcp'>,
  options?: { version?: string }
)

Source from the content-addressed store, hash-verified

12}
13
14export function assertCliDataDirCompatible(
15 pathProvider: PathProvider,
16 kind: Extract<RuntimeKind, 'cli' | 'mcp'>,
17 options?: { version?: string }
18): RuntimeIdentity {
19 const runtime: RuntimeIdentity = { version: options?.version ?? getVersion(), kind }
20
21 try {
22 assertDataDirCompatible(pathProvider, runtime)
23 } catch (error) {
24 if (
25 error instanceof DataDirCompatibilityError &&
26 error.code === 'DATA_DIR_REQUIRES_NEWER_RUNTIME' &&
27 error.minRuntimeVersion
28 ) {
29 throw new Error(formatCliDataDirCompatibilityError(error, runtime), { cause: error })
30 }
31
32 throw error
33 }
34
35 return runtime
36}
37
38function formatCliDataDirCompatibilityError(error: DataDirCompatibilityError, runtime: RuntimeIdentity): string {
39 return [

Callers 4

initMcpRuntimeFunction · 0.90
initRuntimeFunction · 0.90
startHttpServerFunction · 0.90

Calls 3

getVersionFunction · 0.90
assertDataDirCompatibleFunction · 0.90

Tested by

no test coverage detected