From 304883ab814d2cd85763c5302f650a754ab7059d Mon Sep 17 00:00:00 2001 From: "haozhe.yang" Date: Tue, 7 Jul 2026 16:56:19 +0800 Subject: [PATCH] refactor(kap-server): rename server-v2 package to kap-server - rename packages/server-v2 to packages/kap-server and update every @moonshot-ai/server-v2 reference across apps, packages, flake.nix, and build scripts - remove the experimental `kimi v2` CLI prefix and its tests from the apps/kimi-code main entry - add legacy BackgroundTask protocol types and the `blocked` turn interrupt reason for cross-engine compatibility --- apps/kimi-code/package.json | 2 +- apps/kimi-code/src/cli/experimental-v2.ts | 5 +- apps/kimi-code/src/cli/sub/server/run.ts | 8 +- apps/kimi-code/src/main.ts | 46 +------- apps/kimi-code/test/cli/main.test.ts | 86 +------------- apps/kimi-code/test/cli/server/server.test.ts | 3 +- build/hash-imports-plugin.mjs | 2 +- flake.nix | 4 +- .../src/app/gateway/gatewayService.ts | 2 +- packages/agent-core/src/agent/turn/index.ts | 4 +- .../{server-v2 => kap-server}/package.json | 2 +- .../{server-v2 => kap-server}/src/contract.ts | 2 +- .../{server-v2 => kap-server}/src/env.d.ts | 0 .../{server-v2 => kap-server}/src/envelope.ts | 0 .../src/error-handler.ts | 0 .../{server-v2 => kap-server}/src/index.ts | 2 +- .../src/lib/fileLaunch.ts | 0 .../{server-v2 => kap-server}/src/lock.ts | 0 .../src/middleware/auth.ts | 0 .../src/middleware/defineRoute.ts | 0 .../src/middleware/hostnames.ts | 0 .../src/middleware/origin.ts | 0 .../src/middleware/rateLimit.ts | 0 .../src/middleware/schema.ts | 0 .../src/middleware/securityHeaders.ts | 0 .../src/middleware/validate.ts | 0 .../src/openapi/transforms.ts | 0 .../src/request-id.ts | 0 .../src/routes/action-suffix.ts | 0 .../src/routes/approvals.ts | 0 .../src/routes/auth.ts | 0 .../src/routes/config.ts | 0 .../src/routes/connections.ts | 0 .../src/routes/files.ts | 0 .../src/routes/fs.ts | 0 .../src/routes/guiStore.ts | 0 .../src/routes/messages.ts | 0 .../src/routes/meta.ts | 0 .../src/routes/modelCatalog.ts | 0 .../src/routes/oauth.ts | 0 .../src/routes/prompts.ts | 0 .../src/routes/questions.ts | 0 .../src/routes/registerApiV1Routes.ts | 0 .../src/routes/sessions.ts | 0 .../src/routes/shutdown.ts | 0 .../src/routes/skills.ts | 0 .../src/routes/snapshot.ts | 0 .../src/routes/tasks.ts | 0 .../src/routes/terminals.ts | 0 .../src/routes/tools.ts | 0 .../src/routes/webAssets.ts | 0 .../src/routes/workspaceFs.ts | 0 .../src/routes/workspaces.ts | 0 .../src/security/bindClassify.ts | 0 .../src/services/auth/authTokenService.ts | 0 .../src/services/auth/credentials.ts | 0 .../src/services/auth/password.ts | 0 .../src/services/auth/persistentToken.ts | 0 .../src/services/auth/privateFiles.ts | 0 .../src/services/auth/tokenStore.ts | 0 .../src/services/guiStore/guiStore.ts | 0 .../src/services/guiStore/guiStoreService.ts | 0 .../modelCatalogRefreshScheduler.ts | 0 .../src/services/pinoLoggerService.ts | 0 .../src/services/snapshot/index.ts | 0 .../src/services/snapshot/snapshot.ts | 0 .../src/services/snapshot/snapshotConfig.ts | 0 .../src/services/snapshot/snapshotReader.ts | 0 .../{server-v2 => kap-server}/src/start.ts | 0 .../src/transport/actionMap.ts | 0 .../src/transport/channel.ts | 0 .../src/transport/dispatcher.ts | 0 .../src/transport/errors.ts | 0 .../src/transport/mainAgent.ts | 0 .../src/transport/registerRpcRoutes.ts | 0 .../src/transport/rpcClient.ts | 0 .../src/transport/ws/bearerProtocol.ts | 0 .../src/transport/ws/connectionRegistry.ts | 0 .../src/transport/ws/eventMap.ts | 0 .../src/transport/ws/registerWs.ts | 0 .../transport/ws/v1/inFlightTurnTracker.ts | 0 .../src/transport/ws/v1/protocol.ts | 0 .../src/transport/ws/v1/registerWsV1.ts | 0 .../ws/v1/sessionEventBroadcaster.ts | 0 .../transport/ws/v1/sessionEventJournal.ts | 0 .../src/transport/ws/v1/wsConnectionV1.ts | 0 .../src/transport/ws/wsClient.ts | 0 .../src/transport/ws/wsConnection.ts | 0 .../src/transport/ws/wsProtocol.ts | 0 .../{server-v2 => kap-server}/src/version.ts | 0 .../apiSurface.snapshot.test.ts.snap | 0 .../test/apiSurface.snapshot.test.ts | 0 .../test/approvals.test.ts | 0 .../test/auth.test.ts | 0 .../test/authMiddleware.test.ts | 0 .../test/authTokenStore.test.ts | 0 .../test/authWiring.e2e.test.ts | 0 .../test/bindClassify.test.ts | 0 .../test/boot.test.ts | 0 .../test/connections.test.ts | 0 .../test/debugNonloopback.e2e.test.ts | 0 .../test/disableAuth.e2e.test.ts | 0 .../test/eventMap.test.ts | 0 .../test/files.test.ts | 0 .../{server-v2 => kap-server}/test/fs.test.ts | 0 .../test/guiStore.test.ts | 0 .../test/helpers/auth.ts | 0 .../test/helpers/fixedAuth.ts | 0 .../test/hostExposure.e2e.test.ts | 0 .../test/hostnames.test.ts | 0 .../test/inFlightTurnTracker.test.ts | 0 .../test/lock.test.ts | 0 .../test/messages.test.ts | 0 .../test/modelCatalog.test.ts | 0 .../test/modelCatalogRefreshScheduler.test.ts | 0 .../test/openapi.test.ts | 0 .../test/origin.test.ts | 0 .../test/prompts.test.ts | 0 .../test/publicApi.test.ts | 0 .../test/questions.test.ts | 0 .../test/rateLimit.test.ts | 0 .../test/rpc.test.ts | 0 .../test/securityExposure.test.ts | 0 .../test/sessionEventBroadcaster.test.ts | 0 .../test/sessionEventJournal.test.ts | 0 .../test/sessions.test.ts | 0 .../test/skills.test.ts | 0 .../test/snapshot.test.ts | 0 .../test/snapshotReader.unit.test.ts | 0 .../test/tasks.test.ts | 0 .../test/terminals.test.ts | 0 .../test/tools.test.ts | 0 .../test/workspaceFs.test.ts | 0 .../test/workspaces.test.ts | 0 .../{server-v2 => kap-server}/test/ws.test.ts | 0 .../test/wsBearerProtocol.test.ts | 0 .../test/wsHostOrigin.test.ts | 0 .../test/wsUpgradeAuth.test.ts | 0 .../test/wsV1Resync.test.ts | 0 .../tsconfig.dev.json | 0 .../{server-v2 => kap-server}/tsconfig.json | 0 .../tsdown.config.ts | 0 .../vitest.config.ts | 0 packages/protocol/src/events.ts | 56 ++++++++- packages/protocol/src/rest/meta.ts | 2 +- packages/protocol/src/task.ts | 9 ++ packages/server-e2e/package.json | 2 +- packages/server-e2e/test/v2/actionMap.test.ts | 2 +- packages/server-e2e/test/v2/smoke.test.ts | 2 +- packages/server-e2e/vitest.config.ts | 6 +- pnpm-lock.yaml | 108 +++++++++--------- 151 files changed, 144 insertions(+), 211 deletions(-) rename packages/{server-v2 => kap-server}/package.json (96%) rename packages/{server-v2 => kap-server}/src/contract.ts (90%) rename packages/{server-v2 => kap-server}/src/env.d.ts (100%) rename packages/{server-v2 => kap-server}/src/envelope.ts (100%) rename packages/{server-v2 => kap-server}/src/error-handler.ts (100%) rename packages/{server-v2 => kap-server}/src/index.ts (90%) rename packages/{server-v2 => kap-server}/src/lib/fileLaunch.ts (100%) rename packages/{server-v2 => kap-server}/src/lock.ts (100%) rename packages/{server-v2 => kap-server}/src/middleware/auth.ts (100%) rename packages/{server-v2 => kap-server}/src/middleware/defineRoute.ts (100%) rename packages/{server-v2 => kap-server}/src/middleware/hostnames.ts (100%) rename packages/{server-v2 => kap-server}/src/middleware/origin.ts (100%) rename packages/{server-v2 => kap-server}/src/middleware/rateLimit.ts (100%) rename packages/{server-v2 => kap-server}/src/middleware/schema.ts (100%) rename packages/{server-v2 => kap-server}/src/middleware/securityHeaders.ts (100%) rename packages/{server-v2 => kap-server}/src/middleware/validate.ts (100%) rename packages/{server-v2 => kap-server}/src/openapi/transforms.ts (100%) rename packages/{server-v2 => kap-server}/src/request-id.ts (100%) rename packages/{server-v2 => kap-server}/src/routes/action-suffix.ts (100%) rename packages/{server-v2 => kap-server}/src/routes/approvals.ts (100%) rename packages/{server-v2 => kap-server}/src/routes/auth.ts (100%) rename packages/{server-v2 => kap-server}/src/routes/config.ts (100%) rename packages/{server-v2 => kap-server}/src/routes/connections.ts (100%) rename packages/{server-v2 => kap-server}/src/routes/files.ts (100%) rename packages/{server-v2 => kap-server}/src/routes/fs.ts (100%) rename packages/{server-v2 => kap-server}/src/routes/guiStore.ts (100%) rename packages/{server-v2 => kap-server}/src/routes/messages.ts (100%) rename packages/{server-v2 => kap-server}/src/routes/meta.ts (100%) rename packages/{server-v2 => kap-server}/src/routes/modelCatalog.ts (100%) rename packages/{server-v2 => kap-server}/src/routes/oauth.ts (100%) rename packages/{server-v2 => kap-server}/src/routes/prompts.ts (100%) rename packages/{server-v2 => kap-server}/src/routes/questions.ts (100%) rename packages/{server-v2 => kap-server}/src/routes/registerApiV1Routes.ts (100%) rename packages/{server-v2 => kap-server}/src/routes/sessions.ts (100%) rename packages/{server-v2 => kap-server}/src/routes/shutdown.ts (100%) rename packages/{server-v2 => kap-server}/src/routes/skills.ts (100%) rename packages/{server-v2 => kap-server}/src/routes/snapshot.ts (100%) rename packages/{server-v2 => kap-server}/src/routes/tasks.ts (100%) rename packages/{server-v2 => kap-server}/src/routes/terminals.ts (100%) rename packages/{server-v2 => kap-server}/src/routes/tools.ts (100%) rename packages/{server-v2 => kap-server}/src/routes/webAssets.ts (100%) rename packages/{server-v2 => kap-server}/src/routes/workspaceFs.ts (100%) rename packages/{server-v2 => kap-server}/src/routes/workspaces.ts (100%) rename packages/{server-v2 => kap-server}/src/security/bindClassify.ts (100%) rename packages/{server-v2 => kap-server}/src/services/auth/authTokenService.ts (100%) rename packages/{server-v2 => kap-server}/src/services/auth/credentials.ts (100%) rename packages/{server-v2 => kap-server}/src/services/auth/password.ts (100%) rename packages/{server-v2 => kap-server}/src/services/auth/persistentToken.ts (100%) rename packages/{server-v2 => kap-server}/src/services/auth/privateFiles.ts (100%) rename packages/{server-v2 => kap-server}/src/services/auth/tokenStore.ts (100%) rename packages/{server-v2 => kap-server}/src/services/guiStore/guiStore.ts (100%) rename packages/{server-v2 => kap-server}/src/services/guiStore/guiStoreService.ts (100%) rename packages/{server-v2 => kap-server}/src/services/modelCatalog/modelCatalogRefreshScheduler.ts (100%) rename packages/{server-v2 => kap-server}/src/services/pinoLoggerService.ts (100%) rename packages/{server-v2 => kap-server}/src/services/snapshot/index.ts (100%) rename packages/{server-v2 => kap-server}/src/services/snapshot/snapshot.ts (100%) rename packages/{server-v2 => kap-server}/src/services/snapshot/snapshotConfig.ts (100%) rename packages/{server-v2 => kap-server}/src/services/snapshot/snapshotReader.ts (100%) rename packages/{server-v2 => kap-server}/src/start.ts (100%) rename packages/{server-v2 => kap-server}/src/transport/actionMap.ts (100%) rename packages/{server-v2 => kap-server}/src/transport/channel.ts (100%) rename packages/{server-v2 => kap-server}/src/transport/dispatcher.ts (100%) rename packages/{server-v2 => kap-server}/src/transport/errors.ts (100%) rename packages/{server-v2 => kap-server}/src/transport/mainAgent.ts (100%) rename packages/{server-v2 => kap-server}/src/transport/registerRpcRoutes.ts (100%) rename packages/{server-v2 => kap-server}/src/transport/rpcClient.ts (100%) rename packages/{server-v2 => kap-server}/src/transport/ws/bearerProtocol.ts (100%) rename packages/{server-v2 => kap-server}/src/transport/ws/connectionRegistry.ts (100%) rename packages/{server-v2 => kap-server}/src/transport/ws/eventMap.ts (100%) rename packages/{server-v2 => kap-server}/src/transport/ws/registerWs.ts (100%) rename packages/{server-v2 => kap-server}/src/transport/ws/v1/inFlightTurnTracker.ts (100%) rename packages/{server-v2 => kap-server}/src/transport/ws/v1/protocol.ts (100%) rename packages/{server-v2 => kap-server}/src/transport/ws/v1/registerWsV1.ts (100%) rename packages/{server-v2 => kap-server}/src/transport/ws/v1/sessionEventBroadcaster.ts (100%) rename packages/{server-v2 => kap-server}/src/transport/ws/v1/sessionEventJournal.ts (100%) rename packages/{server-v2 => kap-server}/src/transport/ws/v1/wsConnectionV1.ts (100%) rename packages/{server-v2 => kap-server}/src/transport/ws/wsClient.ts (100%) rename packages/{server-v2 => kap-server}/src/transport/ws/wsConnection.ts (100%) rename packages/{server-v2 => kap-server}/src/transport/ws/wsProtocol.ts (100%) rename packages/{server-v2 => kap-server}/src/version.ts (100%) rename packages/{server-v2 => kap-server}/test/__snapshots__/apiSurface.snapshot.test.ts.snap (100%) rename packages/{server-v2 => kap-server}/test/apiSurface.snapshot.test.ts (100%) rename packages/{server-v2 => kap-server}/test/approvals.test.ts (100%) rename packages/{server-v2 => kap-server}/test/auth.test.ts (100%) rename packages/{server-v2 => kap-server}/test/authMiddleware.test.ts (100%) rename packages/{server-v2 => kap-server}/test/authTokenStore.test.ts (100%) rename packages/{server-v2 => kap-server}/test/authWiring.e2e.test.ts (100%) rename packages/{server-v2 => kap-server}/test/bindClassify.test.ts (100%) rename packages/{server-v2 => kap-server}/test/boot.test.ts (100%) rename packages/{server-v2 => kap-server}/test/connections.test.ts (100%) rename packages/{server-v2 => kap-server}/test/debugNonloopback.e2e.test.ts (100%) rename packages/{server-v2 => kap-server}/test/disableAuth.e2e.test.ts (100%) rename packages/{server-v2 => kap-server}/test/eventMap.test.ts (100%) rename packages/{server-v2 => kap-server}/test/files.test.ts (100%) rename packages/{server-v2 => kap-server}/test/fs.test.ts (100%) rename packages/{server-v2 => kap-server}/test/guiStore.test.ts (100%) rename packages/{server-v2 => kap-server}/test/helpers/auth.ts (100%) rename packages/{server-v2 => kap-server}/test/helpers/fixedAuth.ts (100%) rename packages/{server-v2 => kap-server}/test/hostExposure.e2e.test.ts (100%) rename packages/{server-v2 => kap-server}/test/hostnames.test.ts (100%) rename packages/{server-v2 => kap-server}/test/inFlightTurnTracker.test.ts (100%) rename packages/{server-v2 => kap-server}/test/lock.test.ts (100%) rename packages/{server-v2 => kap-server}/test/messages.test.ts (100%) rename packages/{server-v2 => kap-server}/test/modelCatalog.test.ts (100%) rename packages/{server-v2 => kap-server}/test/modelCatalogRefreshScheduler.test.ts (100%) rename packages/{server-v2 => kap-server}/test/openapi.test.ts (100%) rename packages/{server-v2 => kap-server}/test/origin.test.ts (100%) rename packages/{server-v2 => kap-server}/test/prompts.test.ts (100%) rename packages/{server-v2 => kap-server}/test/publicApi.test.ts (100%) rename packages/{server-v2 => kap-server}/test/questions.test.ts (100%) rename packages/{server-v2 => kap-server}/test/rateLimit.test.ts (100%) rename packages/{server-v2 => kap-server}/test/rpc.test.ts (100%) rename packages/{server-v2 => kap-server}/test/securityExposure.test.ts (100%) rename packages/{server-v2 => kap-server}/test/sessionEventBroadcaster.test.ts (100%) rename packages/{server-v2 => kap-server}/test/sessionEventJournal.test.ts (100%) rename packages/{server-v2 => kap-server}/test/sessions.test.ts (100%) rename packages/{server-v2 => kap-server}/test/skills.test.ts (100%) rename packages/{server-v2 => kap-server}/test/snapshot.test.ts (100%) rename packages/{server-v2 => kap-server}/test/snapshotReader.unit.test.ts (100%) rename packages/{server-v2 => kap-server}/test/tasks.test.ts (100%) rename packages/{server-v2 => kap-server}/test/terminals.test.ts (100%) rename packages/{server-v2 => kap-server}/test/tools.test.ts (100%) rename packages/{server-v2 => kap-server}/test/workspaceFs.test.ts (100%) rename packages/{server-v2 => kap-server}/test/workspaces.test.ts (100%) rename packages/{server-v2 => kap-server}/test/ws.test.ts (100%) rename packages/{server-v2 => kap-server}/test/wsBearerProtocol.test.ts (100%) rename packages/{server-v2 => kap-server}/test/wsHostOrigin.test.ts (100%) rename packages/{server-v2 => kap-server}/test/wsUpgradeAuth.test.ts (100%) rename packages/{server-v2 => kap-server}/test/wsV1Resync.test.ts (100%) rename packages/{server-v2 => kap-server}/tsconfig.dev.json (100%) rename packages/{server-v2 => kap-server}/tsconfig.json (100%) rename packages/{server-v2 => kap-server}/tsdown.config.ts (100%) rename packages/{server-v2 => kap-server}/vitest.config.ts (100%) diff --git a/apps/kimi-code/package.json b/apps/kimi-code/package.json index 5bf40e4d5..6bb82fa0d 100644 --- a/apps/kimi-code/package.json +++ b/apps/kimi-code/package.json @@ -88,7 +88,7 @@ "@moonshot-ai/migration-legacy": "workspace:^", "@moonshot-ai/pi-tui": "workspace:^", "@moonshot-ai/server": "workspace:^", - "@moonshot-ai/server-v2": "workspace:^", + "@moonshot-ai/kap-server": "workspace:^", "@moonshot-ai/vis-server": "workspace:^", "@moonshot-ai/vis-web": "workspace:*", "@types/semver": "^7.7.0", diff --git a/apps/kimi-code/src/cli/experimental-v2.ts b/apps/kimi-code/src/cli/experimental-v2.ts index 803f6d462..00af47c51 100644 --- a/apps/kimi-code/src/cli/experimental-v2.ts +++ b/apps/kimi-code/src/cli/experimental-v2.ts @@ -1,9 +1,8 @@ /** * Experimental agent-core-v2 engine gate. * - * Both the `kimi v2 ` prefix (see `main.ts`) and the - * `kimi server run` → server-v2 routing (see `sub/server/run.ts`) key off this - * single master switch. Read directly from the env (matching + * The `kimi server run` → server-v2 routing (see `sub/server/run.ts`) keys off + * this single master switch. Read directly from the env (matching * `cli/update/rollout.ts`) because the CLI must not depend on the core flag * registry. Unset / any non-truthy value keeps the v1 engine. */ diff --git a/apps/kimi-code/src/cli/sub/server/run.ts b/apps/kimi-code/src/cli/sub/server/run.ts index d5b4a63d0..1828d4049 100644 --- a/apps/kimi-code/src/cli/sub/server/run.ts +++ b/apps/kimi-code/src/cli/sub/server/run.ts @@ -51,9 +51,9 @@ const WEB_ASSETS_DIR = 'dist-web'; /** * `kimi server run` → server-v2 routing is gated by the master experimental - * switch shared with the `kimi v2` prefix (`#/cli/experimental-v2`). When it is - * truthy, the in-process runner boots the DI × Scope engine server - * (`@moonshot-ai/server-v2`) instead of the default `@moonshot-ai/server`. + * switch (`#/cli/experimental-v2`). When it is truthy, the in-process runner + * boots the DI × Scope engine server (`@moonshot-ai/kap-server`) instead of + * the default `@moonshot-ai/server`. * * Re-exported under the historical name so existing callers/tests keep working. */ @@ -405,7 +405,7 @@ async function runServerInProcess( // the default (flag-off) path keeps the exact v1-only module graph — v2 and // its agent-core-v2 engine are only resolved when the flag is on. const { createServerLogger: createServerV2Logger, startServer: startServerV2 } = - await import('@moonshot-ai/server-v2'); + await import('@moonshot-ai/kap-server'); const logger = createServerV2Logger({ level: options.logLevel }); const v2 = await startServerV2({ host: options.host, diff --git a/apps/kimi-code/src/main.ts b/apps/kimi-code/src/main.ts index 43d57de6d..a54bfa2bd 100644 --- a/apps/kimi-code/src/main.ts +++ b/apps/kimi-code/src/main.ts @@ -23,7 +23,6 @@ import { } from '@moonshot-ai/kimi-telemetry'; import { createProgram } from './cli/commands'; -import { isKimiV2Enabled, KIMI_V2_ENV } from './cli/experimental-v2'; import { finalizeHeadlessRun } from './cli/headless-exit'; import type { CLIOptions } from './cli/options'; import { OptionConflictError, validateOptions } from './cli/options'; @@ -133,43 +132,6 @@ const MIGRATE_CLI_OPTIONS: CLIOptions = { skillsDirs: [], }; -const V2_PREFIX_TOKEN = 'v2'; - -export type ApplyV2PrefixOutcome = - | { readonly argv: readonly string[] } - | { readonly error: string }; - -/** - * Rewrite argv for the experimental `kimi v2` prefix. - * - * `v2` is not a Commander subcommand — it is a prefix handled here so that - * `kimi v2 ` runs through the *identical* code paths as - * `kimi `. Engine selection stays keyed on - * `KIMI_CODE_EXPERIMENTAL_FLAG` (e.g. `kimi v2 server run` boots server-v2 / - * agent-core-v2, which `sub/server/run.ts` already honors). - * - * Only effective when the flag is set: with the flag off, the prefix is - * rejected with a hint rather than silently falling back to the v1 engine. - */ -export function applyV2Prefix( - argv: readonly string[], - env: Readonly> = process.env, -): ApplyV2PrefixOutcome { - // The prefix must be the first positional token (right after node + script). - if (argv[2] !== V2_PREFIX_TOKEN) { - return { argv }; - } - if (!isKimiV2Enabled(env)) { - return { - error: - "'kimi v2' is experimental and requires the agent-core-v2 engine. " + - `Set ${KIMI_V2_ENV}=1 to enable it.`, - }; - } - // Strip the `v2` token; the remaining argv is parsed as a normal `kimi` invocation. - return { argv: [...argv.slice(0, 2), ...argv.slice(3)] }; -} - export function main(): void { process.title = PROCESS_NAME; installCrashHandlers(); @@ -191,12 +153,6 @@ export function main(): void { const version = getVersion(); - const v2 = applyV2Prefix(process.argv); - if ('error' in v2) { - process.stderr.write(`${v2.error}\n`); - process.exit(1); - } - const program = createProgram( version, (opts) => { @@ -252,7 +208,7 @@ export function main(): void { }, ); - program.parse(v2.argv); + program.parse(process.argv); } main(); diff --git a/apps/kimi-code/test/cli/main.test.ts b/apps/kimi-code/test/cli/main.test.ts index 5ec3a7afd..04d6556cf 100644 --- a/apps/kimi-code/test/cli/main.test.ts +++ b/apps/kimi-code/test/cli/main.test.ts @@ -8,7 +8,7 @@ import { runPrompt } from '#/cli/run-prompt'; import { runShell } from '#/cli/run-shell'; import { formatStartupError } from '#/cli/startup-error'; import { runUpdatePreflight } from '#/cli/update/preflight'; -import { applyV2Prefix, handleMainCommand, handleUpgradeCommand, main } from '#/main'; +import { handleMainCommand, handleUpgradeCommand, main } from '#/main'; const mocks = vi.hoisted(() => { const parse = vi.fn(); @@ -421,87 +421,3 @@ describe('main entry command handling', () => { ).toBe('error: failed to run prompt: Provider not set\n'); }); }); - -describe('kimi beta prefix', () => { - const ON = { KIMI_CODE_EXPERIMENTAL_FLAG: '1' }; - const OFF: Readonly> = {}; - - describe('applyV2Prefix', () => { - it('passes argv through unchanged when there is no beta token', () => { - const argv = ['node', 'kimi', 'server', 'run']; - expect(applyV2Prefix(argv, ON)).toEqual({ argv }); - expect(applyV2Prefix(argv, OFF)).toEqual({ argv }); - }); - - it('strips the beta token when the experimental flag is on', () => { - expect(applyV2Prefix(['node', 'kimi', 'beta', 'server', 'run'], ON)).toEqual({ - argv: ['node', 'kimi', 'server', 'run'], - }); - }); - - it('strips a lone beta token (default chat) when the flag is on', () => { - expect(applyV2Prefix(['node', 'kimi', 'beta'], ON)).toEqual({ - argv: ['node', 'kimi'], - }); - }); - - it('rejects the beta prefix with a hint when the flag is off', () => { - const outcome = applyV2Prefix(['node', 'kimi', 'beta', 'server', 'run'], OFF); - expect('error' in outcome && outcome.error).toMatch(/KIMI_CODE_EXPERIMENTAL_FLAG/); - }); - - it('does not treat a later beta token as the prefix', () => { - const argv = ['node', 'kimi', 'server', 'beta']; - expect(applyV2Prefix(argv, ON)).toEqual({ argv }); - }); - }); - - describe('main() wiring', () => { - let originalArgv: string[]; - - beforeEach(() => { - vi.clearAllMocks(); - originalArgv = process.argv; - }); - - afterEach(() => { - process.argv = originalArgv; - vi.unstubAllEnvs(); - vi.restoreAllMocks(); - }); - - it('parses the stripped argv when the flag is on', () => { - vi.stubEnv('KIMI_CODE_EXPERIMENTAL_FLAG', '1'); - process.argv = ['node', 'kimi', 'beta', 'server', 'run']; - - main(); - - expect(mocks.parse).toHaveBeenCalledWith(['node', 'kimi', 'server', 'run']); - }); - - it('exits with a hint and never parses when the flag is off', () => { - vi.stubEnv('KIMI_CODE_EXPERIMENTAL_FLAG', ''); - process.argv = ['node', 'kimi', 'beta', 'server', 'run']; - const writes: string[] = []; - vi.spyOn(process.stderr, 'write').mockImplementation((chunk) => { - writes.push(String(chunk)); - return true; - }); - vi.spyOn(process, 'exit').mockImplementation((code?: string | number | null) => { - throw new ExitCalled(Number(code ?? 0)); - }); - - let exitCode: number | undefined; - try { - main(); - } catch (error) { - if (error instanceof ExitCalled) exitCode = error.code; - else throw error; - } - - expect(exitCode).toBe(1); - expect(mocks.parse).not.toHaveBeenCalled(); - expect(writes.join('')).toContain('KIMI_CODE_EXPERIMENTAL_FLAG'); - }); - }); -}); diff --git a/apps/kimi-code/test/cli/server/server.test.ts b/apps/kimi-code/test/cli/server/server.test.ts index a60f52bc2..84f6bca9b 100644 --- a/apps/kimi-code/test/cli/server/server.test.ts +++ b/apps/kimi-code/test/cli/server/server.test.ts @@ -693,11 +693,10 @@ describe('server-v2 routing (KIMI_CODE_EXPERIMENTAL_FLAG)', () => { } }); - it('is the canonical experimental-v2 gate shared with the `kimi beta` prefix', async () => { + it('is the canonical experimental-v2 gate', async () => { const { isServerV2Enabled } = await import('#/cli/sub/server/run'); const { isKimiV2Enabled, KIMI_V2_ENV } = await import('#/cli/experimental-v2'); expect(KIMI_V2_ENV).toBe('KIMI_CODE_EXPERIMENTAL_FLAG'); - // Server routing and the `kimi beta` prefix must agree on the exact same gate. expect(isServerV2Enabled).toBe(isKimiV2Enabled); }); }); diff --git a/build/hash-imports-plugin.mjs b/build/hash-imports-plugin.mjs index 94ddf6897..b1aeae1b6 100644 --- a/build/hash-imports-plugin.mjs +++ b/build/hash-imports-plugin.mjs @@ -6,7 +6,7 @@ import { dirname, join } from 'node:path'; * package.json `imports` field does — scoped to the IMPORTER's owning package, * honoring array fallbacks such as `"#/*": ["./src/*.ts", "./src//index.ts"]`. * - * Why this is needed: when the CLI bundles `@moonshot-ai/server-v2`, rolldown + * Why this is needed: when the CLI bundles `@moonshot-ai/kap-server`, rolldown * inlines `@moonshot-ai/agent-core-v2` source, whose internal `#/foo` imports * must resolve against each package's own `src/`. Rolldown (like tsx) only * honors the first array element of an `imports` target and therefore breaks diff --git a/flake.nix b/flake.nix index 1d4d9e470..a7cca7fd9 100644 --- a/flake.nix +++ b/flake.nix @@ -66,7 +66,7 @@ ./packages/agent-core ./packages/agent-core-v2 ./packages/server - ./packages/server-v2 + ./packages/kap-server ./packages/server-e2e ./packages/kaos ./packages/kosong @@ -91,7 +91,7 @@ "@moonshot-ai/agent-core" "@moonshot-ai/agent-core-v2" "@moonshot-ai/server" - "@moonshot-ai/server-v2" + "@moonshot-ai/kap-server" "@moonshot-ai/server-e2e" "@moonshot-ai/kaos" "@moonshot-ai/kosong" diff --git a/packages/agent-core-v2/src/app/gateway/gatewayService.ts b/packages/agent-core-v2/src/app/gateway/gatewayService.ts index 7cd68e25e..976072a5a 100644 --- a/packages/agent-core-v2/src/app/gateway/gatewayService.ts +++ b/packages/agent-core-v2/src/app/gateway/gatewayService.ts @@ -6,7 +6,7 @@ * logs through `log`. Bound at App scope. * * WS event fan-out (sequencing, journaling, replay, per-connection dispatch) - * is a transport concern and lives in the edge package (`packages/server-v2`) + * is a transport concern and lives in the edge package (`packages/kap-server`) * on top of `IEventService` + `IAgentRecordService` — not here. */ diff --git a/packages/agent-core/src/agent/turn/index.ts b/packages/agent-core/src/agent/turn/index.ts index cabb7ea9e..f3fcde347 100644 --- a/packages/agent-core/src/agent/turn/index.ts +++ b/packages/agent-core/src/agent/turn/index.ts @@ -1283,7 +1283,8 @@ type TelemetryInterruptReason = | 'aborted' | 'max_steps' | 'error' - | 'filtered'; + | 'filtered' + | 'blocked'; function telemetryInterruptReason( reason: LoopTurnInterruptedEvent['reason'] | Exclude, @@ -1294,6 +1295,7 @@ function telemetryInterruptReason( } if (reason === 'aborted' || reason === 'cancelled') return 'aborted'; if (reason === 'failed') return 'error'; + if (reason === 'blocked') return 'blocked'; // Remaining values are `max_steps` | `error` | `filtered`, which match the // telemetry enum. return reason; diff --git a/packages/server-v2/package.json b/packages/kap-server/package.json similarity index 96% rename from packages/server-v2/package.json rename to packages/kap-server/package.json index 8ab18d267..ccbc515b4 100644 --- a/packages/server-v2/package.json +++ b/packages/kap-server/package.json @@ -1,5 +1,5 @@ { - "name": "@moonshot-ai/server-v2", + "name": "@moonshot-ai/kap-server", "version": "0.0.0", "private": true, "description": "Kimi Code server backed by the DI × Scope agent engine (agent-core-v2)", diff --git a/packages/server-v2/src/contract.ts b/packages/kap-server/src/contract.ts similarity index 90% rename from packages/server-v2/src/contract.ts rename to packages/kap-server/src/contract.ts index e62bdf17e..0e53ec982 100644 --- a/packages/server-v2/src/contract.ts +++ b/packages/kap-server/src/contract.ts @@ -1,5 +1,5 @@ /** - * `@moonshot-ai/server-v2/contract` — the public `/api/v2` wire contract. + * `@moonshot-ai/kap-server/contract` — the public `/api/v2` wire contract. * * Re-exports the server-side allowlists that bind public `resource:action` * segments and event names to internal Services. Client SDKs import this diff --git a/packages/server-v2/src/env.d.ts b/packages/kap-server/src/env.d.ts similarity index 100% rename from packages/server-v2/src/env.d.ts rename to packages/kap-server/src/env.d.ts diff --git a/packages/server-v2/src/envelope.ts b/packages/kap-server/src/envelope.ts similarity index 100% rename from packages/server-v2/src/envelope.ts rename to packages/kap-server/src/envelope.ts diff --git a/packages/server-v2/src/error-handler.ts b/packages/kap-server/src/error-handler.ts similarity index 100% rename from packages/server-v2/src/error-handler.ts rename to packages/kap-server/src/error-handler.ts diff --git a/packages/server-v2/src/index.ts b/packages/kap-server/src/index.ts similarity index 90% rename from packages/server-v2/src/index.ts rename to packages/kap-server/src/index.ts index 519f0e4ae..358289055 100644 --- a/packages/server-v2/src/index.ts +++ b/packages/kap-server/src/index.ts @@ -1,5 +1,5 @@ /** - * `@moonshot-ai/server-v2` public surface — the Kimi Code server backed by the + * `@moonshot-ai/kap-server` public surface — the Kimi Code server backed by the * DI × Scope agent engine (`@moonshot-ai/agent-core-v2`). */ diff --git a/packages/server-v2/src/lib/fileLaunch.ts b/packages/kap-server/src/lib/fileLaunch.ts similarity index 100% rename from packages/server-v2/src/lib/fileLaunch.ts rename to packages/kap-server/src/lib/fileLaunch.ts diff --git a/packages/server-v2/src/lock.ts b/packages/kap-server/src/lock.ts similarity index 100% rename from packages/server-v2/src/lock.ts rename to packages/kap-server/src/lock.ts diff --git a/packages/server-v2/src/middleware/auth.ts b/packages/kap-server/src/middleware/auth.ts similarity index 100% rename from packages/server-v2/src/middleware/auth.ts rename to packages/kap-server/src/middleware/auth.ts diff --git a/packages/server-v2/src/middleware/defineRoute.ts b/packages/kap-server/src/middleware/defineRoute.ts similarity index 100% rename from packages/server-v2/src/middleware/defineRoute.ts rename to packages/kap-server/src/middleware/defineRoute.ts diff --git a/packages/server-v2/src/middleware/hostnames.ts b/packages/kap-server/src/middleware/hostnames.ts similarity index 100% rename from packages/server-v2/src/middleware/hostnames.ts rename to packages/kap-server/src/middleware/hostnames.ts diff --git a/packages/server-v2/src/middleware/origin.ts b/packages/kap-server/src/middleware/origin.ts similarity index 100% rename from packages/server-v2/src/middleware/origin.ts rename to packages/kap-server/src/middleware/origin.ts diff --git a/packages/server-v2/src/middleware/rateLimit.ts b/packages/kap-server/src/middleware/rateLimit.ts similarity index 100% rename from packages/server-v2/src/middleware/rateLimit.ts rename to packages/kap-server/src/middleware/rateLimit.ts diff --git a/packages/server-v2/src/middleware/schema.ts b/packages/kap-server/src/middleware/schema.ts similarity index 100% rename from packages/server-v2/src/middleware/schema.ts rename to packages/kap-server/src/middleware/schema.ts diff --git a/packages/server-v2/src/middleware/securityHeaders.ts b/packages/kap-server/src/middleware/securityHeaders.ts similarity index 100% rename from packages/server-v2/src/middleware/securityHeaders.ts rename to packages/kap-server/src/middleware/securityHeaders.ts diff --git a/packages/server-v2/src/middleware/validate.ts b/packages/kap-server/src/middleware/validate.ts similarity index 100% rename from packages/server-v2/src/middleware/validate.ts rename to packages/kap-server/src/middleware/validate.ts diff --git a/packages/server-v2/src/openapi/transforms.ts b/packages/kap-server/src/openapi/transforms.ts similarity index 100% rename from packages/server-v2/src/openapi/transforms.ts rename to packages/kap-server/src/openapi/transforms.ts diff --git a/packages/server-v2/src/request-id.ts b/packages/kap-server/src/request-id.ts similarity index 100% rename from packages/server-v2/src/request-id.ts rename to packages/kap-server/src/request-id.ts diff --git a/packages/server-v2/src/routes/action-suffix.ts b/packages/kap-server/src/routes/action-suffix.ts similarity index 100% rename from packages/server-v2/src/routes/action-suffix.ts rename to packages/kap-server/src/routes/action-suffix.ts diff --git a/packages/server-v2/src/routes/approvals.ts b/packages/kap-server/src/routes/approvals.ts similarity index 100% rename from packages/server-v2/src/routes/approvals.ts rename to packages/kap-server/src/routes/approvals.ts diff --git a/packages/server-v2/src/routes/auth.ts b/packages/kap-server/src/routes/auth.ts similarity index 100% rename from packages/server-v2/src/routes/auth.ts rename to packages/kap-server/src/routes/auth.ts diff --git a/packages/server-v2/src/routes/config.ts b/packages/kap-server/src/routes/config.ts similarity index 100% rename from packages/server-v2/src/routes/config.ts rename to packages/kap-server/src/routes/config.ts diff --git a/packages/server-v2/src/routes/connections.ts b/packages/kap-server/src/routes/connections.ts similarity index 100% rename from packages/server-v2/src/routes/connections.ts rename to packages/kap-server/src/routes/connections.ts diff --git a/packages/server-v2/src/routes/files.ts b/packages/kap-server/src/routes/files.ts similarity index 100% rename from packages/server-v2/src/routes/files.ts rename to packages/kap-server/src/routes/files.ts diff --git a/packages/server-v2/src/routes/fs.ts b/packages/kap-server/src/routes/fs.ts similarity index 100% rename from packages/server-v2/src/routes/fs.ts rename to packages/kap-server/src/routes/fs.ts diff --git a/packages/server-v2/src/routes/guiStore.ts b/packages/kap-server/src/routes/guiStore.ts similarity index 100% rename from packages/server-v2/src/routes/guiStore.ts rename to packages/kap-server/src/routes/guiStore.ts diff --git a/packages/server-v2/src/routes/messages.ts b/packages/kap-server/src/routes/messages.ts similarity index 100% rename from packages/server-v2/src/routes/messages.ts rename to packages/kap-server/src/routes/messages.ts diff --git a/packages/server-v2/src/routes/meta.ts b/packages/kap-server/src/routes/meta.ts similarity index 100% rename from packages/server-v2/src/routes/meta.ts rename to packages/kap-server/src/routes/meta.ts diff --git a/packages/server-v2/src/routes/modelCatalog.ts b/packages/kap-server/src/routes/modelCatalog.ts similarity index 100% rename from packages/server-v2/src/routes/modelCatalog.ts rename to packages/kap-server/src/routes/modelCatalog.ts diff --git a/packages/server-v2/src/routes/oauth.ts b/packages/kap-server/src/routes/oauth.ts similarity index 100% rename from packages/server-v2/src/routes/oauth.ts rename to packages/kap-server/src/routes/oauth.ts diff --git a/packages/server-v2/src/routes/prompts.ts b/packages/kap-server/src/routes/prompts.ts similarity index 100% rename from packages/server-v2/src/routes/prompts.ts rename to packages/kap-server/src/routes/prompts.ts diff --git a/packages/server-v2/src/routes/questions.ts b/packages/kap-server/src/routes/questions.ts similarity index 100% rename from packages/server-v2/src/routes/questions.ts rename to packages/kap-server/src/routes/questions.ts diff --git a/packages/server-v2/src/routes/registerApiV1Routes.ts b/packages/kap-server/src/routes/registerApiV1Routes.ts similarity index 100% rename from packages/server-v2/src/routes/registerApiV1Routes.ts rename to packages/kap-server/src/routes/registerApiV1Routes.ts diff --git a/packages/server-v2/src/routes/sessions.ts b/packages/kap-server/src/routes/sessions.ts similarity index 100% rename from packages/server-v2/src/routes/sessions.ts rename to packages/kap-server/src/routes/sessions.ts diff --git a/packages/server-v2/src/routes/shutdown.ts b/packages/kap-server/src/routes/shutdown.ts similarity index 100% rename from packages/server-v2/src/routes/shutdown.ts rename to packages/kap-server/src/routes/shutdown.ts diff --git a/packages/server-v2/src/routes/skills.ts b/packages/kap-server/src/routes/skills.ts similarity index 100% rename from packages/server-v2/src/routes/skills.ts rename to packages/kap-server/src/routes/skills.ts diff --git a/packages/server-v2/src/routes/snapshot.ts b/packages/kap-server/src/routes/snapshot.ts similarity index 100% rename from packages/server-v2/src/routes/snapshot.ts rename to packages/kap-server/src/routes/snapshot.ts diff --git a/packages/server-v2/src/routes/tasks.ts b/packages/kap-server/src/routes/tasks.ts similarity index 100% rename from packages/server-v2/src/routes/tasks.ts rename to packages/kap-server/src/routes/tasks.ts diff --git a/packages/server-v2/src/routes/terminals.ts b/packages/kap-server/src/routes/terminals.ts similarity index 100% rename from packages/server-v2/src/routes/terminals.ts rename to packages/kap-server/src/routes/terminals.ts diff --git a/packages/server-v2/src/routes/tools.ts b/packages/kap-server/src/routes/tools.ts similarity index 100% rename from packages/server-v2/src/routes/tools.ts rename to packages/kap-server/src/routes/tools.ts diff --git a/packages/server-v2/src/routes/webAssets.ts b/packages/kap-server/src/routes/webAssets.ts similarity index 100% rename from packages/server-v2/src/routes/webAssets.ts rename to packages/kap-server/src/routes/webAssets.ts diff --git a/packages/server-v2/src/routes/workspaceFs.ts b/packages/kap-server/src/routes/workspaceFs.ts similarity index 100% rename from packages/server-v2/src/routes/workspaceFs.ts rename to packages/kap-server/src/routes/workspaceFs.ts diff --git a/packages/server-v2/src/routes/workspaces.ts b/packages/kap-server/src/routes/workspaces.ts similarity index 100% rename from packages/server-v2/src/routes/workspaces.ts rename to packages/kap-server/src/routes/workspaces.ts diff --git a/packages/server-v2/src/security/bindClassify.ts b/packages/kap-server/src/security/bindClassify.ts similarity index 100% rename from packages/server-v2/src/security/bindClassify.ts rename to packages/kap-server/src/security/bindClassify.ts diff --git a/packages/server-v2/src/services/auth/authTokenService.ts b/packages/kap-server/src/services/auth/authTokenService.ts similarity index 100% rename from packages/server-v2/src/services/auth/authTokenService.ts rename to packages/kap-server/src/services/auth/authTokenService.ts diff --git a/packages/server-v2/src/services/auth/credentials.ts b/packages/kap-server/src/services/auth/credentials.ts similarity index 100% rename from packages/server-v2/src/services/auth/credentials.ts rename to packages/kap-server/src/services/auth/credentials.ts diff --git a/packages/server-v2/src/services/auth/password.ts b/packages/kap-server/src/services/auth/password.ts similarity index 100% rename from packages/server-v2/src/services/auth/password.ts rename to packages/kap-server/src/services/auth/password.ts diff --git a/packages/server-v2/src/services/auth/persistentToken.ts b/packages/kap-server/src/services/auth/persistentToken.ts similarity index 100% rename from packages/server-v2/src/services/auth/persistentToken.ts rename to packages/kap-server/src/services/auth/persistentToken.ts diff --git a/packages/server-v2/src/services/auth/privateFiles.ts b/packages/kap-server/src/services/auth/privateFiles.ts similarity index 100% rename from packages/server-v2/src/services/auth/privateFiles.ts rename to packages/kap-server/src/services/auth/privateFiles.ts diff --git a/packages/server-v2/src/services/auth/tokenStore.ts b/packages/kap-server/src/services/auth/tokenStore.ts similarity index 100% rename from packages/server-v2/src/services/auth/tokenStore.ts rename to packages/kap-server/src/services/auth/tokenStore.ts diff --git a/packages/server-v2/src/services/guiStore/guiStore.ts b/packages/kap-server/src/services/guiStore/guiStore.ts similarity index 100% rename from packages/server-v2/src/services/guiStore/guiStore.ts rename to packages/kap-server/src/services/guiStore/guiStore.ts diff --git a/packages/server-v2/src/services/guiStore/guiStoreService.ts b/packages/kap-server/src/services/guiStore/guiStoreService.ts similarity index 100% rename from packages/server-v2/src/services/guiStore/guiStoreService.ts rename to packages/kap-server/src/services/guiStore/guiStoreService.ts diff --git a/packages/server-v2/src/services/modelCatalog/modelCatalogRefreshScheduler.ts b/packages/kap-server/src/services/modelCatalog/modelCatalogRefreshScheduler.ts similarity index 100% rename from packages/server-v2/src/services/modelCatalog/modelCatalogRefreshScheduler.ts rename to packages/kap-server/src/services/modelCatalog/modelCatalogRefreshScheduler.ts diff --git a/packages/server-v2/src/services/pinoLoggerService.ts b/packages/kap-server/src/services/pinoLoggerService.ts similarity index 100% rename from packages/server-v2/src/services/pinoLoggerService.ts rename to packages/kap-server/src/services/pinoLoggerService.ts diff --git a/packages/server-v2/src/services/snapshot/index.ts b/packages/kap-server/src/services/snapshot/index.ts similarity index 100% rename from packages/server-v2/src/services/snapshot/index.ts rename to packages/kap-server/src/services/snapshot/index.ts diff --git a/packages/server-v2/src/services/snapshot/snapshot.ts b/packages/kap-server/src/services/snapshot/snapshot.ts similarity index 100% rename from packages/server-v2/src/services/snapshot/snapshot.ts rename to packages/kap-server/src/services/snapshot/snapshot.ts diff --git a/packages/server-v2/src/services/snapshot/snapshotConfig.ts b/packages/kap-server/src/services/snapshot/snapshotConfig.ts similarity index 100% rename from packages/server-v2/src/services/snapshot/snapshotConfig.ts rename to packages/kap-server/src/services/snapshot/snapshotConfig.ts diff --git a/packages/server-v2/src/services/snapshot/snapshotReader.ts b/packages/kap-server/src/services/snapshot/snapshotReader.ts similarity index 100% rename from packages/server-v2/src/services/snapshot/snapshotReader.ts rename to packages/kap-server/src/services/snapshot/snapshotReader.ts diff --git a/packages/server-v2/src/start.ts b/packages/kap-server/src/start.ts similarity index 100% rename from packages/server-v2/src/start.ts rename to packages/kap-server/src/start.ts diff --git a/packages/server-v2/src/transport/actionMap.ts b/packages/kap-server/src/transport/actionMap.ts similarity index 100% rename from packages/server-v2/src/transport/actionMap.ts rename to packages/kap-server/src/transport/actionMap.ts diff --git a/packages/server-v2/src/transport/channel.ts b/packages/kap-server/src/transport/channel.ts similarity index 100% rename from packages/server-v2/src/transport/channel.ts rename to packages/kap-server/src/transport/channel.ts diff --git a/packages/server-v2/src/transport/dispatcher.ts b/packages/kap-server/src/transport/dispatcher.ts similarity index 100% rename from packages/server-v2/src/transport/dispatcher.ts rename to packages/kap-server/src/transport/dispatcher.ts diff --git a/packages/server-v2/src/transport/errors.ts b/packages/kap-server/src/transport/errors.ts similarity index 100% rename from packages/server-v2/src/transport/errors.ts rename to packages/kap-server/src/transport/errors.ts diff --git a/packages/server-v2/src/transport/mainAgent.ts b/packages/kap-server/src/transport/mainAgent.ts similarity index 100% rename from packages/server-v2/src/transport/mainAgent.ts rename to packages/kap-server/src/transport/mainAgent.ts diff --git a/packages/server-v2/src/transport/registerRpcRoutes.ts b/packages/kap-server/src/transport/registerRpcRoutes.ts similarity index 100% rename from packages/server-v2/src/transport/registerRpcRoutes.ts rename to packages/kap-server/src/transport/registerRpcRoutes.ts diff --git a/packages/server-v2/src/transport/rpcClient.ts b/packages/kap-server/src/transport/rpcClient.ts similarity index 100% rename from packages/server-v2/src/transport/rpcClient.ts rename to packages/kap-server/src/transport/rpcClient.ts diff --git a/packages/server-v2/src/transport/ws/bearerProtocol.ts b/packages/kap-server/src/transport/ws/bearerProtocol.ts similarity index 100% rename from packages/server-v2/src/transport/ws/bearerProtocol.ts rename to packages/kap-server/src/transport/ws/bearerProtocol.ts diff --git a/packages/server-v2/src/transport/ws/connectionRegistry.ts b/packages/kap-server/src/transport/ws/connectionRegistry.ts similarity index 100% rename from packages/server-v2/src/transport/ws/connectionRegistry.ts rename to packages/kap-server/src/transport/ws/connectionRegistry.ts diff --git a/packages/server-v2/src/transport/ws/eventMap.ts b/packages/kap-server/src/transport/ws/eventMap.ts similarity index 100% rename from packages/server-v2/src/transport/ws/eventMap.ts rename to packages/kap-server/src/transport/ws/eventMap.ts diff --git a/packages/server-v2/src/transport/ws/registerWs.ts b/packages/kap-server/src/transport/ws/registerWs.ts similarity index 100% rename from packages/server-v2/src/transport/ws/registerWs.ts rename to packages/kap-server/src/transport/ws/registerWs.ts diff --git a/packages/server-v2/src/transport/ws/v1/inFlightTurnTracker.ts b/packages/kap-server/src/transport/ws/v1/inFlightTurnTracker.ts similarity index 100% rename from packages/server-v2/src/transport/ws/v1/inFlightTurnTracker.ts rename to packages/kap-server/src/transport/ws/v1/inFlightTurnTracker.ts diff --git a/packages/server-v2/src/transport/ws/v1/protocol.ts b/packages/kap-server/src/transport/ws/v1/protocol.ts similarity index 100% rename from packages/server-v2/src/transport/ws/v1/protocol.ts rename to packages/kap-server/src/transport/ws/v1/protocol.ts diff --git a/packages/server-v2/src/transport/ws/v1/registerWsV1.ts b/packages/kap-server/src/transport/ws/v1/registerWsV1.ts similarity index 100% rename from packages/server-v2/src/transport/ws/v1/registerWsV1.ts rename to packages/kap-server/src/transport/ws/v1/registerWsV1.ts diff --git a/packages/server-v2/src/transport/ws/v1/sessionEventBroadcaster.ts b/packages/kap-server/src/transport/ws/v1/sessionEventBroadcaster.ts similarity index 100% rename from packages/server-v2/src/transport/ws/v1/sessionEventBroadcaster.ts rename to packages/kap-server/src/transport/ws/v1/sessionEventBroadcaster.ts diff --git a/packages/server-v2/src/transport/ws/v1/sessionEventJournal.ts b/packages/kap-server/src/transport/ws/v1/sessionEventJournal.ts similarity index 100% rename from packages/server-v2/src/transport/ws/v1/sessionEventJournal.ts rename to packages/kap-server/src/transport/ws/v1/sessionEventJournal.ts diff --git a/packages/server-v2/src/transport/ws/v1/wsConnectionV1.ts b/packages/kap-server/src/transport/ws/v1/wsConnectionV1.ts similarity index 100% rename from packages/server-v2/src/transport/ws/v1/wsConnectionV1.ts rename to packages/kap-server/src/transport/ws/v1/wsConnectionV1.ts diff --git a/packages/server-v2/src/transport/ws/wsClient.ts b/packages/kap-server/src/transport/ws/wsClient.ts similarity index 100% rename from packages/server-v2/src/transport/ws/wsClient.ts rename to packages/kap-server/src/transport/ws/wsClient.ts diff --git a/packages/server-v2/src/transport/ws/wsConnection.ts b/packages/kap-server/src/transport/ws/wsConnection.ts similarity index 100% rename from packages/server-v2/src/transport/ws/wsConnection.ts rename to packages/kap-server/src/transport/ws/wsConnection.ts diff --git a/packages/server-v2/src/transport/ws/wsProtocol.ts b/packages/kap-server/src/transport/ws/wsProtocol.ts similarity index 100% rename from packages/server-v2/src/transport/ws/wsProtocol.ts rename to packages/kap-server/src/transport/ws/wsProtocol.ts diff --git a/packages/server-v2/src/version.ts b/packages/kap-server/src/version.ts similarity index 100% rename from packages/server-v2/src/version.ts rename to packages/kap-server/src/version.ts diff --git a/packages/server-v2/test/__snapshots__/apiSurface.snapshot.test.ts.snap b/packages/kap-server/test/__snapshots__/apiSurface.snapshot.test.ts.snap similarity index 100% rename from packages/server-v2/test/__snapshots__/apiSurface.snapshot.test.ts.snap rename to packages/kap-server/test/__snapshots__/apiSurface.snapshot.test.ts.snap diff --git a/packages/server-v2/test/apiSurface.snapshot.test.ts b/packages/kap-server/test/apiSurface.snapshot.test.ts similarity index 100% rename from packages/server-v2/test/apiSurface.snapshot.test.ts rename to packages/kap-server/test/apiSurface.snapshot.test.ts diff --git a/packages/server-v2/test/approvals.test.ts b/packages/kap-server/test/approvals.test.ts similarity index 100% rename from packages/server-v2/test/approvals.test.ts rename to packages/kap-server/test/approvals.test.ts diff --git a/packages/server-v2/test/auth.test.ts b/packages/kap-server/test/auth.test.ts similarity index 100% rename from packages/server-v2/test/auth.test.ts rename to packages/kap-server/test/auth.test.ts diff --git a/packages/server-v2/test/authMiddleware.test.ts b/packages/kap-server/test/authMiddleware.test.ts similarity index 100% rename from packages/server-v2/test/authMiddleware.test.ts rename to packages/kap-server/test/authMiddleware.test.ts diff --git a/packages/server-v2/test/authTokenStore.test.ts b/packages/kap-server/test/authTokenStore.test.ts similarity index 100% rename from packages/server-v2/test/authTokenStore.test.ts rename to packages/kap-server/test/authTokenStore.test.ts diff --git a/packages/server-v2/test/authWiring.e2e.test.ts b/packages/kap-server/test/authWiring.e2e.test.ts similarity index 100% rename from packages/server-v2/test/authWiring.e2e.test.ts rename to packages/kap-server/test/authWiring.e2e.test.ts diff --git a/packages/server-v2/test/bindClassify.test.ts b/packages/kap-server/test/bindClassify.test.ts similarity index 100% rename from packages/server-v2/test/bindClassify.test.ts rename to packages/kap-server/test/bindClassify.test.ts diff --git a/packages/server-v2/test/boot.test.ts b/packages/kap-server/test/boot.test.ts similarity index 100% rename from packages/server-v2/test/boot.test.ts rename to packages/kap-server/test/boot.test.ts diff --git a/packages/server-v2/test/connections.test.ts b/packages/kap-server/test/connections.test.ts similarity index 100% rename from packages/server-v2/test/connections.test.ts rename to packages/kap-server/test/connections.test.ts diff --git a/packages/server-v2/test/debugNonloopback.e2e.test.ts b/packages/kap-server/test/debugNonloopback.e2e.test.ts similarity index 100% rename from packages/server-v2/test/debugNonloopback.e2e.test.ts rename to packages/kap-server/test/debugNonloopback.e2e.test.ts diff --git a/packages/server-v2/test/disableAuth.e2e.test.ts b/packages/kap-server/test/disableAuth.e2e.test.ts similarity index 100% rename from packages/server-v2/test/disableAuth.e2e.test.ts rename to packages/kap-server/test/disableAuth.e2e.test.ts diff --git a/packages/server-v2/test/eventMap.test.ts b/packages/kap-server/test/eventMap.test.ts similarity index 100% rename from packages/server-v2/test/eventMap.test.ts rename to packages/kap-server/test/eventMap.test.ts diff --git a/packages/server-v2/test/files.test.ts b/packages/kap-server/test/files.test.ts similarity index 100% rename from packages/server-v2/test/files.test.ts rename to packages/kap-server/test/files.test.ts diff --git a/packages/server-v2/test/fs.test.ts b/packages/kap-server/test/fs.test.ts similarity index 100% rename from packages/server-v2/test/fs.test.ts rename to packages/kap-server/test/fs.test.ts diff --git a/packages/server-v2/test/guiStore.test.ts b/packages/kap-server/test/guiStore.test.ts similarity index 100% rename from packages/server-v2/test/guiStore.test.ts rename to packages/kap-server/test/guiStore.test.ts diff --git a/packages/server-v2/test/helpers/auth.ts b/packages/kap-server/test/helpers/auth.ts similarity index 100% rename from packages/server-v2/test/helpers/auth.ts rename to packages/kap-server/test/helpers/auth.ts diff --git a/packages/server-v2/test/helpers/fixedAuth.ts b/packages/kap-server/test/helpers/fixedAuth.ts similarity index 100% rename from packages/server-v2/test/helpers/fixedAuth.ts rename to packages/kap-server/test/helpers/fixedAuth.ts diff --git a/packages/server-v2/test/hostExposure.e2e.test.ts b/packages/kap-server/test/hostExposure.e2e.test.ts similarity index 100% rename from packages/server-v2/test/hostExposure.e2e.test.ts rename to packages/kap-server/test/hostExposure.e2e.test.ts diff --git a/packages/server-v2/test/hostnames.test.ts b/packages/kap-server/test/hostnames.test.ts similarity index 100% rename from packages/server-v2/test/hostnames.test.ts rename to packages/kap-server/test/hostnames.test.ts diff --git a/packages/server-v2/test/inFlightTurnTracker.test.ts b/packages/kap-server/test/inFlightTurnTracker.test.ts similarity index 100% rename from packages/server-v2/test/inFlightTurnTracker.test.ts rename to packages/kap-server/test/inFlightTurnTracker.test.ts diff --git a/packages/server-v2/test/lock.test.ts b/packages/kap-server/test/lock.test.ts similarity index 100% rename from packages/server-v2/test/lock.test.ts rename to packages/kap-server/test/lock.test.ts diff --git a/packages/server-v2/test/messages.test.ts b/packages/kap-server/test/messages.test.ts similarity index 100% rename from packages/server-v2/test/messages.test.ts rename to packages/kap-server/test/messages.test.ts diff --git a/packages/server-v2/test/modelCatalog.test.ts b/packages/kap-server/test/modelCatalog.test.ts similarity index 100% rename from packages/server-v2/test/modelCatalog.test.ts rename to packages/kap-server/test/modelCatalog.test.ts diff --git a/packages/server-v2/test/modelCatalogRefreshScheduler.test.ts b/packages/kap-server/test/modelCatalogRefreshScheduler.test.ts similarity index 100% rename from packages/server-v2/test/modelCatalogRefreshScheduler.test.ts rename to packages/kap-server/test/modelCatalogRefreshScheduler.test.ts diff --git a/packages/server-v2/test/openapi.test.ts b/packages/kap-server/test/openapi.test.ts similarity index 100% rename from packages/server-v2/test/openapi.test.ts rename to packages/kap-server/test/openapi.test.ts diff --git a/packages/server-v2/test/origin.test.ts b/packages/kap-server/test/origin.test.ts similarity index 100% rename from packages/server-v2/test/origin.test.ts rename to packages/kap-server/test/origin.test.ts diff --git a/packages/server-v2/test/prompts.test.ts b/packages/kap-server/test/prompts.test.ts similarity index 100% rename from packages/server-v2/test/prompts.test.ts rename to packages/kap-server/test/prompts.test.ts diff --git a/packages/server-v2/test/publicApi.test.ts b/packages/kap-server/test/publicApi.test.ts similarity index 100% rename from packages/server-v2/test/publicApi.test.ts rename to packages/kap-server/test/publicApi.test.ts diff --git a/packages/server-v2/test/questions.test.ts b/packages/kap-server/test/questions.test.ts similarity index 100% rename from packages/server-v2/test/questions.test.ts rename to packages/kap-server/test/questions.test.ts diff --git a/packages/server-v2/test/rateLimit.test.ts b/packages/kap-server/test/rateLimit.test.ts similarity index 100% rename from packages/server-v2/test/rateLimit.test.ts rename to packages/kap-server/test/rateLimit.test.ts diff --git a/packages/server-v2/test/rpc.test.ts b/packages/kap-server/test/rpc.test.ts similarity index 100% rename from packages/server-v2/test/rpc.test.ts rename to packages/kap-server/test/rpc.test.ts diff --git a/packages/server-v2/test/securityExposure.test.ts b/packages/kap-server/test/securityExposure.test.ts similarity index 100% rename from packages/server-v2/test/securityExposure.test.ts rename to packages/kap-server/test/securityExposure.test.ts diff --git a/packages/server-v2/test/sessionEventBroadcaster.test.ts b/packages/kap-server/test/sessionEventBroadcaster.test.ts similarity index 100% rename from packages/server-v2/test/sessionEventBroadcaster.test.ts rename to packages/kap-server/test/sessionEventBroadcaster.test.ts diff --git a/packages/server-v2/test/sessionEventJournal.test.ts b/packages/kap-server/test/sessionEventJournal.test.ts similarity index 100% rename from packages/server-v2/test/sessionEventJournal.test.ts rename to packages/kap-server/test/sessionEventJournal.test.ts diff --git a/packages/server-v2/test/sessions.test.ts b/packages/kap-server/test/sessions.test.ts similarity index 100% rename from packages/server-v2/test/sessions.test.ts rename to packages/kap-server/test/sessions.test.ts diff --git a/packages/server-v2/test/skills.test.ts b/packages/kap-server/test/skills.test.ts similarity index 100% rename from packages/server-v2/test/skills.test.ts rename to packages/kap-server/test/skills.test.ts diff --git a/packages/server-v2/test/snapshot.test.ts b/packages/kap-server/test/snapshot.test.ts similarity index 100% rename from packages/server-v2/test/snapshot.test.ts rename to packages/kap-server/test/snapshot.test.ts diff --git a/packages/server-v2/test/snapshotReader.unit.test.ts b/packages/kap-server/test/snapshotReader.unit.test.ts similarity index 100% rename from packages/server-v2/test/snapshotReader.unit.test.ts rename to packages/kap-server/test/snapshotReader.unit.test.ts diff --git a/packages/server-v2/test/tasks.test.ts b/packages/kap-server/test/tasks.test.ts similarity index 100% rename from packages/server-v2/test/tasks.test.ts rename to packages/kap-server/test/tasks.test.ts diff --git a/packages/server-v2/test/terminals.test.ts b/packages/kap-server/test/terminals.test.ts similarity index 100% rename from packages/server-v2/test/terminals.test.ts rename to packages/kap-server/test/terminals.test.ts diff --git a/packages/server-v2/test/tools.test.ts b/packages/kap-server/test/tools.test.ts similarity index 100% rename from packages/server-v2/test/tools.test.ts rename to packages/kap-server/test/tools.test.ts diff --git a/packages/server-v2/test/workspaceFs.test.ts b/packages/kap-server/test/workspaceFs.test.ts similarity index 100% rename from packages/server-v2/test/workspaceFs.test.ts rename to packages/kap-server/test/workspaceFs.test.ts diff --git a/packages/server-v2/test/workspaces.test.ts b/packages/kap-server/test/workspaces.test.ts similarity index 100% rename from packages/server-v2/test/workspaces.test.ts rename to packages/kap-server/test/workspaces.test.ts diff --git a/packages/server-v2/test/ws.test.ts b/packages/kap-server/test/ws.test.ts similarity index 100% rename from packages/server-v2/test/ws.test.ts rename to packages/kap-server/test/ws.test.ts diff --git a/packages/server-v2/test/wsBearerProtocol.test.ts b/packages/kap-server/test/wsBearerProtocol.test.ts similarity index 100% rename from packages/server-v2/test/wsBearerProtocol.test.ts rename to packages/kap-server/test/wsBearerProtocol.test.ts diff --git a/packages/server-v2/test/wsHostOrigin.test.ts b/packages/kap-server/test/wsHostOrigin.test.ts similarity index 100% rename from packages/server-v2/test/wsHostOrigin.test.ts rename to packages/kap-server/test/wsHostOrigin.test.ts diff --git a/packages/server-v2/test/wsUpgradeAuth.test.ts b/packages/kap-server/test/wsUpgradeAuth.test.ts similarity index 100% rename from packages/server-v2/test/wsUpgradeAuth.test.ts rename to packages/kap-server/test/wsUpgradeAuth.test.ts diff --git a/packages/server-v2/test/wsV1Resync.test.ts b/packages/kap-server/test/wsV1Resync.test.ts similarity index 100% rename from packages/server-v2/test/wsV1Resync.test.ts rename to packages/kap-server/test/wsV1Resync.test.ts diff --git a/packages/server-v2/tsconfig.dev.json b/packages/kap-server/tsconfig.dev.json similarity index 100% rename from packages/server-v2/tsconfig.dev.json rename to packages/kap-server/tsconfig.dev.json diff --git a/packages/server-v2/tsconfig.json b/packages/kap-server/tsconfig.json similarity index 100% rename from packages/server-v2/tsconfig.json rename to packages/kap-server/tsconfig.json diff --git a/packages/server-v2/tsdown.config.ts b/packages/kap-server/tsdown.config.ts similarity index 100% rename from packages/server-v2/tsdown.config.ts rename to packages/kap-server/tsdown.config.ts diff --git a/packages/server-v2/vitest.config.ts b/packages/kap-server/vitest.config.ts similarity index 100% rename from packages/server-v2/vitest.config.ts rename to packages/kap-server/vitest.config.ts diff --git a/packages/protocol/src/events.ts b/packages/protocol/src/events.ts index abc2f9e30..5576f063f 100644 --- a/packages/protocol/src/events.ts +++ b/packages/protocol/src/events.ts @@ -99,6 +99,19 @@ export interface TaskOrigin { readonly notificationId: string; } +/** + * Legacy spelling of `TaskOrigin` emitted by the pre-v2 agent core, which + * identifies background-task notifications with `kind: 'background_task'`. + * Retained so the wire `PromptOrigin` accepts turns steered by the legacy + * engine; new code should emit `TaskOrigin` (`kind: 'task'`). + */ +export interface BackgroundTaskOrigin { + readonly kind: 'background_task'; + readonly taskId: string; + readonly status: TaskLifecycleStatus; + readonly notificationId: string; +} + export interface CronJobOrigin { readonly kind: 'cron_job'; readonly jobId: string; @@ -133,6 +146,7 @@ export type PromptOrigin = | CompactionSummaryOrigin | SystemTriggerOrigin | TaskOrigin + | BackgroundTaskOrigin | CronJobOrigin | CronMissedOrigin | HookResultOrigin @@ -681,6 +695,22 @@ export interface TaskTerminatedEvent { readonly info: TaskInfo; } +/** + * Legacy background-task lifecycle events emitted by the pre-v2 agent core + * (`background.task.started` / `background.task.terminated`). The v2 engine + * emits `task.started` / `task.terminated` instead; both spellings are kept in + * the union so clients see a consistent event stream across engines. + */ +export interface BackgroundTaskStartedEvent { + readonly type: 'background.task.started'; + readonly info: TaskInfo; +} + +export interface BackgroundTaskTerminatedEvent { + readonly type: 'background.task.terminated'; + readonly info: TaskInfo; +} + export interface CronFiredEvent { readonly type: 'cron.fired'; readonly origin: CronJobOrigin; @@ -760,6 +790,8 @@ export type AgentEvent = | CompactionCompletedEvent | TaskStartedEvent | TaskTerminatedEvent + | BackgroundTaskStartedEvent + | BackgroundTaskTerminatedEvent | CronFiredEvent | PromptSubmittedEvent; @@ -851,6 +883,13 @@ export const taskOriginSchema = z.object({ notificationId: z.string(), }) satisfies z.ZodType; +export const backgroundTaskOriginSchema = z.object({ + kind: z.literal('background_task'), + taskId: z.string(), + status: taskLifecycleStatusSchema, + notificationId: z.string(), +}) satisfies z.ZodType; + export const cronJobOriginSchema = z.object({ kind: z.literal('cron_job'), jobId: z.string(), @@ -885,6 +924,7 @@ export const promptOriginSchema = z.discriminatedUnion('kind', [ compactionSummaryOriginSchema, systemTriggerOriginSchema, taskOriginSchema, + backgroundTaskOriginSchema, cronJobOriginSchema, cronMissedOriginSchema, hookResultOriginSchema, @@ -1388,6 +1428,16 @@ export const taskTerminatedEventSchema = z.object({ info: taskInfoSchema, }) satisfies z.ZodType; +export const backgroundTaskStartedEventSchema = z.object({ + type: z.literal('background.task.started'), + info: taskInfoSchema, +}) satisfies z.ZodType; + +export const backgroundTaskTerminatedEventSchema = z.object({ + type: z.literal('background.task.terminated'), + info: taskInfoSchema, +}) satisfies z.ZodType; + export const cronFiredEventSchema = z.object({ type: z.literal('cron.fired'), origin: cronJobOriginSchema, @@ -1470,6 +1520,8 @@ export const agentEventSchema = z.discriminatedUnion('type', [ compactionCompletedEventSchema, taskStartedEventSchema, taskTerminatedEventSchema, + backgroundTaskStartedEventSchema, + backgroundTaskTerminatedEventSchema, cronFiredEventSchema, promptSubmittedEventSchema, ]) satisfies z.ZodType; @@ -1494,7 +1546,7 @@ export const eventSchema = agentEventSchema.and( * Everything not listed here is durable: journaled, seq-bearing, replayable. * * @deprecated Use the server-side `isVolatileSignal` - * (`packages/server-v2/src/transport/ws/v1/sessionEventBroadcaster.ts`) instead, + * (`packages/kap-server/src/transport/ws/v1/sessionEventBroadcaster.ts`) instead, * which owns volatile-vs-durable classification for the `wire` emission path. * The legacy `IAgentRecordService` (`record.on`) transport path still consumes * this until Phase 4 removes it; do not add new consumers. @@ -1515,7 +1567,7 @@ const volatileEventTypeSet: ReadonlySet = new Set(VOLATILE_EVENT_TYPES); /** * @deprecated Use the server-side `isVolatileSignal` - * (`packages/server-v2/src/transport/ws/v1/sessionEventBroadcaster.ts`) instead, + * (`packages/kap-server/src/transport/ws/v1/sessionEventBroadcaster.ts`) instead, * which owns volatile-vs-durable classification for the `wire` emission path. * Retained only for the legacy `IAgentRecordService` (`record.on`) transport * path until Phase 4 removes it; do not add new consumers. diff --git a/packages/protocol/src/rest/meta.ts b/packages/protocol/src/rest/meta.ts index c8685ca36..e026235f0 100644 --- a/packages/protocol/src/rest/meta.ts +++ b/packages/protocol/src/rest/meta.ts @@ -38,7 +38,7 @@ export const metaResponseSchema = z.object({ dangerous_bypass_auth: z.boolean(), /** * Backend engine generation serving this API. `'v2'` is the DI × Scope - * engine (`@moonshot-ai/server-v2` / `agent-core-v2`); older servers omit + * engine (`@moonshot-ai/kap-server` / `agent-core-v2`); older servers omit * the field (treat absence as v1). Lets clients identify the backend without * probing routes. */ diff --git a/packages/protocol/src/task.ts b/packages/protocol/src/task.ts index 7795f6a96..bc08eec71 100644 --- a/packages/protocol/src/task.ts +++ b/packages/protocol/src/task.ts @@ -27,3 +27,12 @@ export const taskSchema = z.object({ output_bytes: z.number().int().nonnegative().optional(), }); export type Task = z.infer; + +// Backward-compatible aliases for the legacy `BackgroundTask` naming. The +// pre-v2 agent core (`packages/agent-core`), the SDK, and the TUI still import +// these names from the protocol, while the v2 engine and the protocol itself +// have moved to the `Task`/`TaskKind`/`TaskStatus` spelling. New code should +// prefer the `Task*` names. +export type BackgroundTaskKind = TaskKind; +export type BackgroundTaskStatus = TaskStatus; +export type BackgroundTask = Task; diff --git a/packages/server-e2e/package.json b/packages/server-e2e/package.json index 236e1e8b3..cb681948f 100644 --- a/packages/server-e2e/package.json +++ b/packages/server-e2e/package.json @@ -42,7 +42,7 @@ }, "devDependencies": { "@moonshot-ai/agent-core-v2": "workspace:^", - "@moonshot-ai/server-v2": "workspace:^", + "@moonshot-ai/kap-server": "workspace:^", "@types/ws": "^8.18.0" } } diff --git a/packages/server-e2e/test/v2/actionMap.test.ts b/packages/server-e2e/test/v2/actionMap.test.ts index f0f97d5d5..268ebd32b 100644 --- a/packages/server-e2e/test/v2/actionMap.test.ts +++ b/packages/server-e2e/test/v2/actionMap.test.ts @@ -4,7 +4,7 @@ * test fails until `src/v2/resources/manifest.ts` (and the derived types) is * updated. */ -import { actionMap } from '@moonshot-ai/server-v2/contract'; +import { actionMap } from '@moonshot-ai/kap-server/contract'; import { describe, expect, it } from 'vitest'; import { AGENT, CORE, SESSION, flattenManifest } from '../../src/v2/index.js'; diff --git a/packages/server-e2e/test/v2/smoke.test.ts b/packages/server-e2e/test/v2/smoke.test.ts index 6f3c854d1..5a70376ed 100644 --- a/packages/server-e2e/test/v2/smoke.test.ts +++ b/packages/server-e2e/test/v2/smoke.test.ts @@ -15,7 +15,7 @@ import { IAgentLifecycleService, ISessionLifecycleService, } from '@moonshot-ai/agent-core-v2'; -import { type RunningServer, startServer } from '@moonshot-ai/server-v2'; +import { type RunningServer, startServer } from '@moonshot-ai/kap-server'; import { afterEach, beforeEach, describe, expect, it } from 'vitest'; import { ServerClient } from '../../src/v2/index.js'; diff --git a/packages/server-e2e/vitest.config.ts b/packages/server-e2e/vitest.config.ts index 9cf3f00cf..6a00a81d8 100644 --- a/packages/server-e2e/vitest.config.ts +++ b/packages/server-e2e/vitest.config.ts @@ -19,10 +19,10 @@ function findPackageRoot(importer: string | undefined): string | undefined { /** * Resolve `#/` subpath imports scoped to the importer's owning package. Required - * because the v2 SDK tests import `@moonshot-ai/server-v2`, which inlines + * because the v2 SDK tests import `@moonshot-ai/kap-server`, which inlines * `@moonshot-ai/agent-core-v2` source whose internal `#/foo` imports must * resolve against that package's own `src/`. Mirrors - * `packages/server-v2/vitest.config.ts`. + * `packages/kap-server/vitest.config.ts`. */ function hashImportsPlugin(): Plugin { return { @@ -42,7 +42,7 @@ function hashImportsPlugin(): Plugin { }; } -// `rawTextPlugin` is required because importing `@moonshot-ai/server-v2` (for +// `rawTextPlugin` is required because importing `@moonshot-ai/kap-server` (for // the v2 SDK tests) pulls in agent-core-v2's barrel, which imports `*.md?raw` // prompt templates. Both plugins are no-ops for the legacy v1 tests, which do // not import server-v2. diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0789f0cbb..5de44c4f9 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -75,6 +75,9 @@ importers: '@moonshot-ai/acp-adapter': specifier: workspace:^ version: link:../../packages/acp-adapter + '@moonshot-ai/kap-server': + specifier: workspace:^ + version: link:../../packages/kap-server '@moonshot-ai/kimi-code-oauth': specifier: workspace:^ version: link:../../packages/oauth @@ -96,9 +99,6 @@ importers: '@moonshot-ai/server': specifier: workspace:^ version: link:../../packages/server - '@moonshot-ai/server-v2': - specifier: workspace:^ - version: link:../../packages/server-v2 '@moonshot-ai/vis-server': specifier: workspace:^ version: link:../vis/server @@ -631,6 +631,55 @@ importers: specifier: ^1.15.5 version: 1.15.5 + packages/kap-server: + dependencies: + '@fastify/multipart': + specifier: ^10.0.0 + version: 10.0.0 + '@fastify/swagger': + specifier: ^9.7.0 + version: 9.7.0 + '@moonshot-ai/agent-core-v2': + specifier: workspace:^ + version: link:../agent-core-v2 + '@moonshot-ai/protocol': + specifier: workspace:^ + version: link:../protocol + bcryptjs: + specifier: 2.4.3 + version: 2.4.3 + fastify: + specifier: ^5.1.0 + version: 5.8.5 + pino: + specifier: ^9.5.0 + version: 9.14.0 + pino-pretty: + specifier: ^13.0.0 + version: 13.1.3 + smol-toml: + specifier: 1.6.1 + version: 1.6.1 + ulid: + specifier: ^3.0.1 + version: 3.0.2 + ws: + specifier: ^8.20.0 + version: 8.20.0 + zod: + specifier: 'catalog:' + version: 4.3.6 + devDependencies: + '@types/bcryptjs': + specifier: 2.4.6 + version: 2.4.6 + '@types/ws': + specifier: ^8.18.0 + version: 8.18.1 + tsx: + specifier: ^4.21.0 + version: 4.21.0 + packages/kosong: dependencies: '@anthropic-ai/sdk': @@ -813,62 +862,13 @@ importers: '@moonshot-ai/agent-core-v2': specifier: workspace:^ version: link:../agent-core-v2 - '@moonshot-ai/server-v2': + '@moonshot-ai/kap-server': specifier: workspace:^ - version: link:../server-v2 + version: link:../kap-server '@types/ws': specifier: ^8.18.0 version: 8.18.1 - packages/server-v2: - dependencies: - '@fastify/multipart': - specifier: ^10.0.0 - version: 10.0.0 - '@fastify/swagger': - specifier: ^9.7.0 - version: 9.7.0 - '@moonshot-ai/agent-core-v2': - specifier: workspace:^ - version: link:../agent-core-v2 - '@moonshot-ai/protocol': - specifier: workspace:^ - version: link:../protocol - bcryptjs: - specifier: 2.4.3 - version: 2.4.3 - fastify: - specifier: ^5.1.0 - version: 5.8.5 - pino: - specifier: ^9.5.0 - version: 9.14.0 - pino-pretty: - specifier: ^13.0.0 - version: 13.1.3 - smol-toml: - specifier: 1.6.1 - version: 1.6.1 - ulid: - specifier: ^3.0.1 - version: 3.0.2 - ws: - specifier: ^8.20.0 - version: 8.20.0 - zod: - specifier: 'catalog:' - version: 4.3.6 - devDependencies: - '@types/bcryptjs': - specifier: 2.4.6 - version: 2.4.6 - '@types/ws': - specifier: ^8.18.0 - version: 8.18.1 - tsx: - specifier: ^4.21.0 - version: 4.21.0 - packages/telemetry: {} packages: