UNPKG

abyss-ai

Version:

Autonomous AI coding agent - enhanced OpenCode with autonomous capabilities

26 lines (23 loc) 582 B
import { AsyncLocalStorage } from "async_hooks" export namespace Context { export class NotFound extends Error { constructor(public readonly name: string) { super(`No context found for ${name}`) } } export function create<T>(name: string) { const storage = new AsyncLocalStorage<T>() return { use() { const result = storage.getStore() if (!result) { throw new NotFound(name) } return result }, provide<R>(value: T, fn: () => R) { return storage.run<R>(value, fn) }, } } }