feat: unwrap LocalContext namespace to flat exports + barrel
This commit is contained in:
parent
6c7e9f6f3a
commit
0f618408fa
8 changed files with 24 additions and 25 deletions
|
|
@ -1,4 +1,4 @@
|
||||||
import { LocalContext } from "../util/local-context"
|
import { LocalContext } from "../util"
|
||||||
import type { WorkspaceID } from "../control-plane/schema"
|
import type { WorkspaceID } from "../control-plane/schema"
|
||||||
|
|
||||||
export interface WorkspaceContext {
|
export interface WorkspaceContext {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
import { Effect, Fiber } from "effect"
|
import { Effect, Fiber } from "effect"
|
||||||
import { WorkspaceContext } from "@/control-plane/workspace-context"
|
import { WorkspaceContext } from "@/control-plane/workspace-context"
|
||||||
import { Instance, type InstanceContext } from "@/project/instance"
|
import { Instance, type InstanceContext } from "@/project/instance"
|
||||||
import { LocalContext } from "@/util/local-context"
|
import { LocalContext } from "@/util"
|
||||||
import { InstanceRef, WorkspaceRef } from "./instance-ref"
|
import { InstanceRef, WorkspaceRef } from "./instance-ref"
|
||||||
import { attachWith } from "./run-service"
|
import { attachWith } from "./run-service"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
import { Effect, Fiber, ScopedCache, Scope, Context } from "effect"
|
import { Effect, Fiber, ScopedCache, Scope, Context } from "effect"
|
||||||
import { EffectLogger } from "@/effect/logger"
|
import { EffectLogger } from "@/effect/logger"
|
||||||
import { Instance, type InstanceContext } from "@/project/instance"
|
import { Instance, type InstanceContext } from "@/project/instance"
|
||||||
import { LocalContext } from "@/util/local-context"
|
import { LocalContext } from "@/util"
|
||||||
import { InstanceRef, WorkspaceRef } from "./instance-ref"
|
import { InstanceRef, WorkspaceRef } from "./instance-ref"
|
||||||
import { registerDisposer } from "./instance-registry"
|
import { registerDisposer } from "./instance-registry"
|
||||||
import { WorkspaceContext } from "@/control-plane/workspace-context"
|
import { WorkspaceContext } from "@/control-plane/workspace-context"
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
import { Effect, Layer, ManagedRuntime } from "effect"
|
import { Effect, Layer, ManagedRuntime } from "effect"
|
||||||
import * as Context from "effect/Context"
|
import * as Context from "effect/Context"
|
||||||
import { Instance } from "@/project/instance"
|
import { Instance } from "@/project/instance"
|
||||||
import { LocalContext } from "@/util/local-context"
|
import { LocalContext } from "@/util"
|
||||||
import { InstanceRef, WorkspaceRef } from "./instance-ref"
|
import { InstanceRef, WorkspaceRef } from "./instance-ref"
|
||||||
import { Observability } from "./observability"
|
import { Observability } from "./observability"
|
||||||
import { WorkspaceContext } from "@/control-plane/workspace-context"
|
import { WorkspaceContext } from "@/control-plane/workspace-context"
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ import { makeRuntime } from "@/effect/run-service"
|
||||||
import { AppFileSystem } from "@opencode-ai/shared/filesystem"
|
import { AppFileSystem } from "@opencode-ai/shared/filesystem"
|
||||||
import { iife } from "@/util/iife"
|
import { iife } from "@/util/iife"
|
||||||
import { Log } from "@/util/log"
|
import { Log } from "@/util/log"
|
||||||
import { LocalContext } from "../util/local-context"
|
import { LocalContext } from "../util"
|
||||||
import { Project } from "./project"
|
import { Project } from "./project"
|
||||||
import { WorkspaceContext } from "@/control-plane/workspace-context"
|
import { WorkspaceContext } from "@/control-plane/workspace-context"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ import { type SQLiteBunDatabase } from "drizzle-orm/bun-sqlite"
|
||||||
import { migrate } from "drizzle-orm/bun-sqlite/migrator"
|
import { migrate } from "drizzle-orm/bun-sqlite/migrator"
|
||||||
import { type SQLiteTransaction } from "drizzle-orm/sqlite-core"
|
import { type SQLiteTransaction } from "drizzle-orm/sqlite-core"
|
||||||
export * from "drizzle-orm"
|
export * from "drizzle-orm"
|
||||||
import { LocalContext } from "../util/local-context"
|
import { LocalContext } from "../util"
|
||||||
import { lazy } from "../util/lazy"
|
import { lazy } from "../util/lazy"
|
||||||
import { Global } from "../global"
|
import { Global } from "../global"
|
||||||
import { Log } from "../util/log"
|
import { Log } from "../util/log"
|
||||||
|
|
|
||||||
1
packages/opencode/src/util/index.ts
Normal file
1
packages/opencode/src/util/index.ts
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
export * as LocalContext from "./local-context"
|
||||||
|
|
@ -1,25 +1,23 @@
|
||||||
import { AsyncLocalStorage } from "async_hooks"
|
import { AsyncLocalStorage } from "async_hooks"
|
||||||
|
|
||||||
export namespace LocalContext {
|
export class NotFound extends Error {
|
||||||
export class NotFound extends Error {
|
constructor(public override readonly name: string) {
|
||||||
constructor(public override readonly name: string) {
|
super(`No context found for ${name}`)
|
||||||
super(`No context found for ${name}`)
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
export function create<T>(name: string) {
|
||||||
export function create<T>(name: string) {
|
const storage = new AsyncLocalStorage<T>()
|
||||||
const storage = new AsyncLocalStorage<T>()
|
return {
|
||||||
return {
|
use() {
|
||||||
use() {
|
const result = storage.getStore()
|
||||||
const result = storage.getStore()
|
if (!result) {
|
||||||
if (!result) {
|
throw new NotFound(name)
|
||||||
throw new NotFound(name)
|
}
|
||||||
}
|
return result
|
||||||
return result
|
},
|
||||||
},
|
provide<R>(value: T, fn: () => R) {
|
||||||
provide<R>(value: T, fn: () => R) {
|
return storage.run(value, fn)
|
||||||
return storage.run(value, fn)
|
},
|
||||||
},
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue