Files
neuron/packages/opencode/src/control-plane/workspace-context.ts
T
Kit Langton 228636345a
publish-github-action / publish (push) Has been cancelled
fix: resolve oxlint warnings — suppress false positives, remove unused imports (#22687)
2026-04-15 21:33:54 -04:00

27 lines
682 B
TypeScript

import { LocalContext } from "../util/local-context"
import type { WorkspaceID } from "../control-plane/schema"
export interface WorkspaceContext {
workspaceID: string
}
const context = LocalContext.create<WorkspaceContext>("instance")
export const WorkspaceContext = {
async provide<R>(input: { workspaceID: WorkspaceID; fn: () => R }): Promise<R> {
return context.provide({ workspaceID: input.workspaceID as string }, () => input.fn())
},
restore<R>(workspaceID: string, fn: () => R): R {
return context.provide({ workspaceID }, fn)
},
get workspaceID() {
try {
return context.use().workspaceID
} catch {
return undefined
}
},
}