diff options
Diffstat (limited to 'packages/app/src/context/local.tsx')
| -rw-r--r-- | packages/app/src/context/local.tsx | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/packages/app/src/context/local.tsx b/packages/app/src/context/local.tsx index 76d337c82..84a613c0d 100644 --- a/packages/app/src/context/local.tsx +++ b/packages/app/src/context/local.tsx @@ -390,10 +390,18 @@ export const { use: useLocal, provider: LocalProvider } = createSimpleContext({ } if (modelEnabled()) { + const probe = Symbol("model-probe") + + modelProbe.bind(probe, { + setAgent: agent.set, + setModel: model.set, + setVariant: model.variant.set, + }) + createEffect(() => { const agent = result.agent.current() const model = result.model.current() - modelProbe.set({ + modelProbe.set(probe, { dir: sdk.directory, sessionID: id(), last: store.last, @@ -411,10 +419,20 @@ export const { use: useLocal, provider: LocalProvider } = createSimpleContext({ pick: scope(), base: undefined, current: store.current, + variants: result.model.variant.list(), + models: result.model + .list() + .filter((item) => result.model.visible({ providerID: item.provider.id, modelID: item.id })) + .map((item) => ({ + providerID: item.provider.id, + modelID: item.id, + name: item.name, + })), + agents: result.agent.list().map((item) => ({ name: item.name })), }) }) - onCleanup(() => modelProbe.clear()) + onCleanup(() => modelProbe.clear(probe)) } return result |
