summaryrefslogtreecommitdiffhomepage
path: root/packages/app/src/context
diff options
context:
space:
mode:
Diffstat (limited to 'packages/app/src/context')
-rw-r--r--packages/app/src/context/global-sync.tsx10
1 files changed, 10 insertions, 0 deletions
diff --git a/packages/app/src/context/global-sync.tsx b/packages/app/src/context/global-sync.tsx
index 10607b1d2..7a9dc8dc4 100644
--- a/packages/app/src/context/global-sync.tsx
+++ b/packages/app/src/context/global-sync.tsx
@@ -12,6 +12,8 @@ import {
type ProviderListResponse,
type ProviderAuthResponse,
type Command,
+ type McpStatus,
+ type LspStatus,
createOpencodeClient,
} from "@opencode-ai/sdk/v2/client"
import { createStore, produce, reconcile } from "solid-js/store"
@@ -41,6 +43,10 @@ type State = {
todo: {
[sessionID: string]: Todo[]
}
+ mcp: {
+ [name: string]: McpStatus
+ }
+ lsp: LspStatus[]
limit: number
message: {
[sessionID: string]: Message[]
@@ -85,6 +91,8 @@ function createGlobalSync() {
session_status: {},
session_diff: {},
todo: {},
+ mcp: {},
+ lsp: [],
limit: 5,
message: {},
part: {},
@@ -149,6 +157,8 @@ function createGlobalSync() {
session: () => loadSessions(directory),
status: () => sdk.session.status().then((x) => setStore("session_status", x.data!)),
config: () => sdk.config.get().then((x) => setStore("config", x.data!)),
+ mcp: () => sdk.mcp.status().then((x) => setStore("mcp", x.data ?? {})),
+ lsp: () => sdk.lsp.status().then((x) => setStore("lsp", x.data ?? [])),
}
await Promise.all(Object.values(load).map((p) => retry(p).catch((e) => setGlobalStore("error", e))))
.then(() => setStore("ready", true))