feat(core): expose session model switching (#31011)
This commit is contained in:
parent
05d1104ecd
commit
a57fb32d95
3 changed files with 46 additions and 1 deletions
|
|
@ -51,6 +51,7 @@ export const layer = Layer.effect(
|
|||
}),
|
||||
get: sessions.get,
|
||||
list: sessions.list,
|
||||
switchModel: sessions.switchModel,
|
||||
interrupt: sessions.interrupt,
|
||||
prompt: (input) =>
|
||||
sessions.prompt({
|
||||
|
|
|
|||
|
|
@ -59,6 +59,11 @@ export interface PromptInput {
|
|||
readonly delivery?: Delivery
|
||||
}
|
||||
|
||||
export interface SwitchModelInput {
|
||||
readonly sessionID: ID
|
||||
readonly model: Model.Ref
|
||||
}
|
||||
|
||||
export interface MessagesInput {
|
||||
readonly sessionID: ID
|
||||
readonly limit?: number
|
||||
|
|
@ -84,6 +89,7 @@ export interface Interface {
|
|||
readonly get: (sessionID: ID) => Effect.Effect<Info, NotFoundError>
|
||||
readonly list: (input?: ListInput) => Effect.Effect<Info[]>
|
||||
readonly prompt: (input: PromptInput) => Effect.Effect<Admission, NotFoundError | PromptConflictError>
|
||||
readonly switchModel: (input: SwitchModelInput) => Effect.Effect<void, NotFoundError>
|
||||
/** Interrupt the active V2 execution chain for one Session on this process. Interrupting an idle or missing Session is a no-op. */
|
||||
readonly interrupt: (sessionID: ID) => Effect.Effect<void>
|
||||
readonly messages: (input: MessagesInput) => Effect.Effect<Message[], NotFoundError | MessageDecodeError>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue