From 8d2cfd1a10ef66f0ebd10d05597826f3100fbd79 Mon Sep 17 00:00:00 2001 From: "haozhe.yang" Date: Thu, 9 Jul 2026 20:27:39 +0800 Subject: [PATCH] chore(lint): fix type-aware lint errors --- apps/kimi-code/src/cli/v2/run-v2-print.ts | 3 +-- .../agent-core-v2/src/activity/agentActivityService.ts | 4 ++-- .../agent-core-v2/src/agent/externalHooks/runner.ts | 10 +++------- packages/agent-core-v2/src/agent/turn/turnOps.ts | 2 +- packages/agent-core-v2/src/agent/turn/turnService.ts | 2 +- .../src/app/model/modelResolverService.ts | 2 +- .../app/sessionLifecycle/sessionLifecycleService.ts | 4 ++-- .../agent-core-v2/src/session/sessionFs/fsService.ts | 2 +- packages/agent-core-v2/test/swarm/sessionSwarm.test.ts | 2 +- 9 files changed, 13 insertions(+), 18 deletions(-) diff --git a/apps/kimi-code/src/cli/v2/run-v2-print.ts b/apps/kimi-code/src/cli/v2/run-v2-print.ts index ef888ef24..b25fdc5ec 100644 --- a/apps/kimi-code/src/cli/v2/run-v2-print.ts +++ b/apps/kimi-code/src/cli/v2/run-v2-print.ts @@ -59,7 +59,6 @@ import { type HeadlessGoalCreate, } from '../goal-prompt'; import { - type PromptProcess, type PromptRunIO, configuredModel, installPromptTerminationCleanup, @@ -404,7 +403,7 @@ async function runNativeGoal( await runNativeTurn(app, session, agent, goal.objective, outputFormat, stdout, stderr); } finally { subscription.dispose(); - const snapshot = completedSnapshot ?? (await goalService.getGoal()).goal; + const snapshot = completedSnapshot ?? goalService.getGoal().goal; if (outputFormat === 'stream-json') { stdout.write(`${JSON.stringify(goalSummaryJson(snapshot))}\n`); } else { diff --git a/packages/agent-core-v2/src/activity/agentActivityService.ts b/packages/agent-core-v2/src/activity/agentActivityService.ts index e59242301..5255ebdbc 100644 --- a/packages/agent-core-v2/src/activity/agentActivityService.ts +++ b/packages/agent-core-v2/src/activity/agentActivityService.ts @@ -34,7 +34,7 @@ import type { BeginOptions, } from './activity'; import { IAgentActivityService, ISessionActivityKernel } from './activity'; -import { type LaneLastTurnState, LaneModel, setLane } from './activityOps'; +import { type LaneLastTurnState, setLane } from './activityOps'; let nextBackgroundId = 0; @@ -116,7 +116,7 @@ export class AgentActivityService extends Disposable implements IAgentActivitySe begin(kind: 'turn', opts?: BeginOptions): ActivityLease { if (kind !== 'turn') { - throw new KimiError(ErrorCodes.NOT_IMPLEMENTED, `Unsupported activity kind: ${kind}`); + throw new KimiError(ErrorCodes.NOT_IMPLEMENTED, `Unsupported activity kind: ${String(kind)}`); } switch (this._lane) { case 'turn': diff --git a/packages/agent-core-v2/src/agent/externalHooks/runner.ts b/packages/agent-core-v2/src/agent/externalHooks/runner.ts index 3caf67678..3ad3bb4bf 100644 --- a/packages/agent-core-v2/src/agent/externalHooks/runner.ts +++ b/packages/agent-core-v2/src/agent/externalHooks/runner.ts @@ -1,8 +1,4 @@ -import { - spawn, - type ChildProcessWithoutNullStreams, - type SpawnOptionsWithoutStdio, -} from 'node:child_process'; +import { type SpawnOptionsWithoutStdio } from 'node:child_process'; import { z } from 'zod'; @@ -127,12 +123,12 @@ export async function runHook( ); const timeout = setTimeout(() => { - void killProcess(proc); + killProcess(proc); settle(allowResult({ stdout, stderr, timedOut: true })); }, timeoutMs); const onAbort = (): void => { - void killProcess(proc); + killProcess(proc); settle(allowResult({ stdout, stderr })); }; diff --git a/packages/agent-core-v2/src/agent/turn/turnOps.ts b/packages/agent-core-v2/src/agent/turn/turnOps.ts index d5958dea2..25dad1d44 100644 --- a/packages/agent-core-v2/src/agent/turn/turnOps.ts +++ b/packages/agent-core-v2/src/agent/turn/turnOps.ts @@ -29,7 +29,7 @@ export const TurnModel = defineModel('turn', () => ({ nextTurnId reducers: { 'context.append_loop_event': (s, p: { event?: { turnId?: unknown } }): TurnModelState => { const raw = p?.event?.turnId; - if (raw === undefined) return s; + if (typeof raw !== 'string' && typeof raw !== 'number') return s; const turnId = Number.parseInt(String(raw), 10); if (Number.isInteger(turnId) && turnId >= s.nextTurnId) { return { nextTurnId: turnId + 1 }; diff --git a/packages/agent-core-v2/src/agent/turn/turnService.ts b/packages/agent-core-v2/src/agent/turn/turnService.ts index 9d2f04333..7ed081a99 100644 --- a/packages/agent-core-v2/src/agent/turn/turnService.ts +++ b/packages/agent-core-v2/src/agent/turn/turnService.ts @@ -37,7 +37,7 @@ import { IAgentWireService } from '#/wire/tokens'; import type { IWireService } from '#/wire/wireService'; import type { Turn, TurnPromptInfo, TurnResult } from './turn'; import { IAgentTurnService } from './turn'; -import { cancelTurn, promptTurn, steerTurn, TurnModel } from './turnOps'; +import { cancelTurn, promptTurn, steerTurn } from './turnOps'; declare module '#/app/event/eventBus' { interface DomainEventMap { diff --git a/packages/agent-core-v2/src/app/model/modelResolverService.ts b/packages/agent-core-v2/src/app/model/modelResolverService.ts index 9b11e91d0..2023b9573 100644 --- a/packages/agent-core-v2/src/app/model/modelResolverService.ts +++ b/packages/agent-core-v2/src/app/model/modelResolverService.ts @@ -319,7 +319,7 @@ export function resolveOutboundHeaders( hostHeaders: Readonly>, ): Readonly> { const hostLayer = providerType === 'kimi' ? hostHeaders : userAgentOnly(hostHeaders); - return { ...parseKimiCodeCustomHeaders(), ...hostLayer, ...(customHeaders ?? {}) }; + return { ...parseKimiCodeCustomHeaders(), ...hostLayer, ...customHeaders }; } function userAgentOnly(headers: Readonly>): Record { diff --git a/packages/agent-core-v2/src/app/sessionLifecycle/sessionLifecycleService.ts b/packages/agent-core-v2/src/app/sessionLifecycle/sessionLifecycleService.ts index cddf7eace..c93b6587f 100644 --- a/packages/agent-core-v2/src/app/sessionLifecycle/sessionLifecycleService.ts +++ b/packages/agent-core-v2/src/app/sessionLifecycle/sessionLifecycleService.ts @@ -236,9 +236,9 @@ export class SessionLifecycleService extends Disposable implements ISessionLifec const contextAfter = contextMemory.get(); console.log( `[doResume] session=${sessionId} wireRecords=${records.length}` + - ` contextRecordTypes=[${records.filter((r) => r.type.startsWith('context.')).map((r) => r.type)}]` + + ` contextRecordTypes=[${records.filter((r) => r.type.startsWith('context.')).map((r) => r.type).join(',')}]` + ` contextAfterReplay=${contextAfter.length}` + - ` roles=[${contextAfter.map((m) => `${m.role}:${m.origin?.kind ?? 'none'}`)}]`, + ` roles=[${contextAfter.map((m) => `${m.role}:${m.origin?.kind ?? 'none'}`).join(',')}]`, ); } await this.announceCreated({ sessionId, handle, source: 'resume' }); diff --git a/packages/agent-core-v2/src/session/sessionFs/fsService.ts b/packages/agent-core-v2/src/session/sessionFs/fsService.ts index 955560aa7..1eaa3a67f 100644 --- a/packages/agent-core-v2/src/session/sessionFs/fsService.ts +++ b/packages/agent-core-v2/src/session/sessionFs/fsService.ts @@ -538,7 +538,7 @@ export class SessionFsService implements ISessionFsService { } finally { signal.removeEventListener('abort', onAbort); try { - proc.dispose(); + void proc.dispose(); } catch { /* best-effort cleanup */ } diff --git a/packages/agent-core-v2/test/swarm/sessionSwarm.test.ts b/packages/agent-core-v2/test/swarm/sessionSwarm.test.ts index b6edf7155..ad6ed9e18 100644 --- a/packages/agent-core-v2/test/swarm/sessionSwarm.test.ts +++ b/packages/agent-core-v2/test/swarm/sessionSwarm.test.ts @@ -1013,7 +1013,7 @@ describe('SessionSwarmService metadata compatibility', () => { [IAgentUserToolService, parentUserTools], ])), ); - createAgent.mockImplementationOnce(async (opts: CreateAgentOptions = {}) => { + createAgent.mockImplementationOnce((opts: CreateAgentOptions = {}) => { const id = opts.agentId ?? 'agent-new'; const handle = agentHandle( id,