style: fix lint across client packages

eslint --fix autofixes plus manual repairs: max-len line splits
(fake-api handlers, notifier/slots JSDoc, spec signatures), charAt over
non-null-asserted indexing in slash detect/menu cores, Array.from for
code-point capping, typeof assertions for unbound-method in specs,
generic getByRole for the send-button cast, effect disposer void-wrap in
command register, and dropped unused type imports.
This commit is contained in:
imccyu
2026-07-27 04:08:02 +08:00
parent a27be43ac1
commit f6396f2573
35 changed files with 122 additions and 89 deletions

View File

@@ -10,8 +10,6 @@ import { Service } from 'cordis'
import type { Context } from 'cordis'
import type { ConnectionHandle, SessionId } from '@deepseek-ai/dsh-client-connection/client'
import type { ClientContext, SessionsService } from '@deepseek-ai/dsh-client-runtime/client'
// Type-only: the notice route reads ctx.conversation.input — no runtime edge.
import type { ConversationService } from '@deepseek-ai/dsh-client-ui-conversation/client'
import type {
CandidateRequest, ClientSessionContext, CommandClaim, PickOutcome, SlashCandidate, SlashPick,
SlashServiceContract, SubmitOutcome,
@@ -70,7 +68,7 @@ export class CommandService extends Service implements CommandServiceContract {
* @returns the disposer removing the registration.
*/
register(contribution: CommandContribution): () => void {
return this.ctx.effect(() => {
const dispose = this.ctx.effect(() => {
const { contributions } = this.live
if (contributions.has(contribution.name)) {
throw new Error(`ui-command: duplicate contribution for /${contribution.name}`)
@@ -78,6 +76,7 @@ export class CommandService extends Service implements CommandServiceContract {
contributions.set(contribution.name, contribution)
return () => { contributions.delete(contribution.name) }
}, 'command.register()')
return () => { void dispose() }
}
/**
@@ -275,7 +274,7 @@ export class CommandService extends Service implements CommandServiceContract {
private noticeFor(id: SessionId, _name: string, level: 'info' | 'error', text: string): void {
const actx = this.scopeFor(id)
if (actx === undefined) return
const conversation = actx.get('conversation') as ConversationService | undefined
const conversation = actx.get('conversation')
if (conversation === undefined) return
conversation.input.for(actx).notify(level, text)
}