Download packages/transcript/src/view/registry.ts from SaylorTwift/kimi-code: direct link, hf CLI and curl.
- Browser
- Download file 1.64 kB
-
https://huggingface.co/SaylorTwift/kimi-code/resolve/main/packages/transcript/src/view/registry.ts
- Command line
-
hf download hf://SaylorTwift/kimi-code/packages/transcript/src/view/registry.ts
-
curl -L -o registry.ts https://huggingface.co/SaylorTwift/kimi-code/resolve/main/packages/transcript/src/view/registry.ts
1.64 kB
| import type { ToolCallFrame } from '../model/frame'; | |
| import type { TranscriptTask } from '../model/task'; | |
| import type { TurnOrigin } from '../model/turn'; | |
| export interface ToolViewContext { | |
| readonly frame: ToolCallFrame; | |
| readonly task?: TranscriptTask; | |
| } | |
| export interface InputViewContext { | |
| readonly origin: TurnOrigin; | |
| readonly prompt?: string; | |
| } | |
| export interface MarkerViewContext { | |
| readonly marker: string; | |
| readonly payload?: unknown; | |
| } | |
| export interface ViewRegistryOptions<C> { | |
| readonly fallbackTool?: C; | |
| } | |
| export class ViewRegistry<C = unknown> { | |
| readonly #toolRenderers = new Map<string, C>(); | |
| readonly #inputRenderers = new Map<string, C>(); | |
| readonly #markerRenderers = new Map<string, C>(); | |
| readonly #fallbackTool: C | undefined; | |
| constructor(options: ViewRegistryOptions<C> = {}) { | |
| this.#fallbackTool = options.fallbackTool; | |
| } | |
| registerTool(key: string, renderer: C): this { | |
| this.#toolRenderers.set(key.toLowerCase(), renderer); | |
| return this; | |
| } | |
| registerInput(originKind: string, renderer: C): this { | |
| this.#inputRenderers.set(originKind, renderer); | |
| return this; | |
| } | |
| registerMarker(marker: string, renderer: C): this { | |
| this.#markerRenderers.set(marker, renderer); | |
| return this; | |
| } | |
| resolveTool(frame: ToolCallFrame): C | undefined { | |
| const key = (frame.view ?? frame.name).toLowerCase(); | |
| return this.#toolRenderers.get(key) ?? this.#fallbackTool; | |
| } | |
| resolveInput(origin: TurnOrigin): C | undefined { | |
| return this.#inputRenderers.get(origin.kind); | |
| } | |
| resolveMarker(marker: string): C | undefined { | |
| return this.#markerRenderers.get(marker); | |
| } | |
| } | |