Download packages/coding-agent/src/experimental/services/models.ts from SaylorTwift/pi: direct link, hf CLI and curl.
- Browser
- Download file 1.03 kB
-
https://huggingface.co/SaylorTwift/pi/resolve/main/packages/coding-agent/src/experimental/services/models.ts
- Command line
-
hf download hf://SaylorTwift/pi/packages/coding-agent/src/experimental/services/models.ts
-
curl -L -o models.ts https://huggingface.co/SaylorTwift/pi/resolve/main/packages/coding-agent/src/experimental/services/models.ts
1.03 kB
| import { type Context, defineService, type ReplicatedState } from "@earendil-works/chord"; | |
| import type { ThinkingLevel } from "@earendil-works/pi-agent-core"; | |
| export interface ModelRef { | |
| provider: string; | |
| modelId: string; | |
| } | |
| export interface ModelSummary extends ModelRef { | |
| name: string; | |
| reasoning: boolean; | |
| } | |
| export interface ModelsState { | |
| catalog: { | |
| revision: number; | |
| availableModels: ModelSummary[]; | |
| }; | |
| configuration: { | |
| model: ModelRef | null; | |
| thinkingLevel: ThinkingLevel; | |
| }; | |
| refresh: { status: "idle" | "refreshing" | "done" } | { status: "warning"; errors: Record<string, string> }; | |
| } | |
| export interface Models { | |
| readonly state: ReplicatedState<ModelsState>; | |
| cycleThinking(context: Context): Promise<void>; | |
| getThinkingLevels(context: Context): Promise<ThinkingLevel[]>; | |
| refresh(context: Context): Promise<void>; | |
| select(model: ModelRef, context: Context): Promise<void>; | |
| selectThinking(level: ThinkingLevel, context: Context): Promise<void>; | |
| } | |
| export const Models = defineService<Models>("pi.models"); | |