diff --git a/.changeset/fix-pino-pretty-runtime.md b/.changeset/fix-pino-pretty-runtime.md new file mode 100644 index 000000000..7e61e4ef5 --- /dev/null +++ b/.changeset/fix-pino-pretty-runtime.md @@ -0,0 +1,5 @@ +--- +"@moonshot-ai/kimi-code": patch +--- + +Fix server startup from npm-installed CLI packages when pretty logging is enabled. diff --git a/apps/kimi-code/package.json b/apps/kimi-code/package.json index 304efbb67..b9226eb74 100644 --- a/apps/kimi-code/package.json +++ b/apps/kimi-code/package.json @@ -78,6 +78,7 @@ "cli-highlight": "^2.1.11", "commander": "^13.1.0", "pathe": "^2.0.3", + "pino-pretty": "^13.0.0", "semver": "^7.7.4", "smol-toml": "^1.6.1", "zod": "^4.3.6" diff --git a/apps/kimi-code/test/cli/server/server.test.ts b/apps/kimi-code/test/cli/server/server.test.ts index 677d4b92b..0e1b0b072 100644 --- a/apps/kimi-code/test/cli/server/server.test.ts +++ b/apps/kimi-code/test/cli/server/server.test.ts @@ -8,6 +8,8 @@ * Foreground startup behavior is exercised end-to-end in `server-e2e/`. */ +import { readFileSync } from 'node:fs'; + import { Command } from 'commander'; import { describe, expect, it, vi } from 'vitest'; @@ -21,6 +23,14 @@ function makeProgram(): Command { } describe('kimi server', () => { + it('declares the pino pretty transport as a CLI runtime dependency', () => { + const packageJson = JSON.parse( + readFileSync(new URL('../../../package.json', import.meta.url), 'utf-8'), + ) as { dependencies?: Record }; + + expect(packageJson.dependencies).toHaveProperty('pino-pretty'); + }); + it('registers `server` with all six lifecycle subcommands plus `run`', () => { const program = makeProgram(); const server = program.commands.find((c) => c.name() === 'server'); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f827d5180..35847e49b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -90,6 +90,9 @@ importers: pathe: specifier: ^2.0.3 version: 2.0.3 + pino-pretty: + specifier: ^13.0.0 + version: 13.1.3 semver: specifier: ^7.7.4 version: 7.7.4