summaryrefslogtreecommitdiffhomepage
path: root/packages/app/src/context/local.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'packages/app/src/context/local.tsx')
-rw-r--r--packages/app/src/context/local.tsx22
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