diff --git a/packages/client/ui-conversation/src/client/contract/slots.ts b/packages/client/ui-conversation/src/client/contract/slots.ts index 9086e11d7c..44f337d61c 100644 --- a/packages/client/ui-conversation/src/client/contract/slots.ts +++ b/packages/client/ui-conversation/src/client/contract/slots.ts @@ -144,7 +144,7 @@ export interface ToolRowOwnerProps { /** Frozen call slice: the running call or the settled result node. */ block: ToolCallBlock /** Open the details panel for this call (session-level facility, supplied by the view). */ - openDetails(): void + openDetails: () => void } /** @@ -175,21 +175,21 @@ export interface ConversationInjected { * Connect the selected Workspace and open its reusable/new blank session. * When a blank session is already current, carry its draft to the target. */ - selectWorkspace(workspaceId: WorkspaceId): Promise + selectWorkspace: (workspaceId: WorkspaceId) => Promise } /** Business callbacks injected into the strict session content seat. */ export interface ConversationSessionInjected { /** Views projected from the `conversation.view` slot ledger. */ views: { - list(): readonly ViewTab[] - subscribe(fn: () => void): () => void - version(): number + list: () => readonly ViewTab[] + subscribe: (fn: () => void) => () => void + version: () => number } /** Bind the input machine's draft persistence mirror to the session store. */ - bindDraftMirror(write: (text: string) => void): () => void + bindDraftMirror: (write: (text: string) => void) => () => void /** Select a real Session through the runtime navigation owner. */ - open(sessionId: SessionId): void + open: (sessionId: SessionId) => void } /** @@ -219,7 +219,7 @@ export interface ComposerBarInjected { /** The InputBar-exclusive keyboard/DOM command face (decision 20 private plane). */ keyboard: ComposerKeyboard /** Cancel the in-flight turn. */ - stop(): void + stop: () => void } /** @@ -275,8 +275,8 @@ export type ConversationSessionSlotProps = */ export interface ChatViewInjected { /** Selection write + details panel opening in one gesture (store action + layout orchestration). */ - openDetails(target: SelectionTarget): void - loadOlder(): void + openDetails: (target: SelectionTarget) => void + loadOlder: () => void } /** Full chat-view component props: runtime share & the declared toolview hole's render share & store share & injected share. */ @@ -290,7 +290,7 @@ export type ChatViewSlotProps = */ export interface DetailsInjected { /** Close the details panel (layout geometry stays with ctx.layout). */ - closeDetails(): void + closeDetails: () => void } /** Full details-slot component props: selection arrives through the shared store, call material through useSession. */ @@ -300,6 +300,6 @@ export type DetailsSlotProps = PropsRuntime<'details'> & PropsStore & export interface EmptyWorkspaceOwnerProps { open: boolean anchorRef?: RefObject - onPick(workspaceId: WorkspaceId): void - onClose(): void + onPick: (workspaceId: WorkspaceId) => void + onClose: () => void } diff --git a/packages/client/ui-slash/src/client/slots.ts b/packages/client/ui-slash/src/client/slots.ts index 7fd2123060..f74ec29457 100644 --- a/packages/client/ui-slash/src/client/slots.ts +++ b/packages/client/ui-slash/src/client/slots.ts @@ -34,5 +34,5 @@ export interface MenuViewInjected { * @param source - source (group) name. * @param index - candidate index within the group. */ - onPick(source: string, index: number): void + onPick: (source: string, index: number) => void } diff --git a/packages/client/ui-workspace/src/client/contract/slots.ts b/packages/client/ui-workspace/src/client/contract/slots.ts index 1f2f3aae70..fcdd0e304e 100644 --- a/packages/client/ui-workspace/src/client/contract/slots.ts +++ b/packages/client/ui-workspace/src/client/contract/slots.ts @@ -59,9 +59,9 @@ export type WorkspaceBrowserProps = */ export type WorkspacePickerInjected = { /** Explicitly create or adopt a real Workspace before targeting a Session. */ - createWorkspace(input: { name: string } | { path: string }): Promise + createWorkspace: (input: { name: string } | { path: string }) => Promise /** Ask the local Host to open its native single-directory picker. */ - pickDirectory(): Promise + pickDirectory: () => Promise } /** diff --git a/packages/client/web/src/loader-status.ts b/packages/client/web/src/loader-status.ts index 9a999d4a70..37b5541798 100644 --- a/packages/client/web/src/loader-status.ts +++ b/packages/client/web/src/loader-status.ts @@ -46,13 +46,13 @@ export type LoaderStatus = Record /** Minimal observable snapshot the kernel components consume (useSyncExternalStore shape). */ export interface KernelSignal { /** Current value (stable reference between changes). */ - getSnapshot(): T + getSnapshot: () => T /** * Subscribe to changes. * @param fn - change listener. * @returns the unsubscribe disposer. */ - subscribe(fn: () => void): () => void + subscribe: (fn: () => void) => () => void } /** Writable one-value signal (settled flag, boot failure report). */ @@ -61,7 +61,7 @@ export interface KernelValueSignal extends KernelSignal { * Publish a new value and notify subscribers. * @param next - the new value. */ - set(next: T): void + set: (next: T) => void } /** @@ -90,7 +90,7 @@ export interface LoaderStatusStore extends KernelSignal { * @param id - entry name. * @param state - projected fiber state. */ - set(id: string, state: LoaderEntryState): void + set: (id: string, state: LoaderEntryState) => void } /**