Context API reference
Look up the base Context fields, ComputeContextInput, computed properties, sharing rules, and reserved-key boundary.
Import Context and ComputeContextInput from @evilkiwi/vector.
type Context<
RuntimeConfig = Record<never, never>,
Computed extends object = Record<never, never>,
> = BaseContext<RuntimeConfig> & Computed;
type ComputeContextInput = Omit<BaseContext<never>, 'runtimeConfig'>;
Base Context fields
| Field | Type | Meaning |
|---|---|---|
runtimeConfig |
Schema output or empty object | Validated Runtime Configuration for the active installation. |
cwd |
string |
Active OpenCode location directory. |
project.id |
string |
Active project identity. |
project.directory |
string |
Project directory supplied by OpenCode. |
project.canonical |
string |
Canonical project directory supplied by OpenCode. |
project.workspaceId |
string | undefined |
Workspace identity when the host supplies one. |
The exact host value shapes remain owned by the pinned OpenCode packages. Vector imports those types directly rather than maintaining copies.
ComputeContextInput
ComputeContextInput contains cwd and project. It excludes Runtime Configuration. A builder passes this value to computeContext once per activation.
The callback may return additional flat properties. runtimeConfig, cwd, and project are reserved and cannot be replaced. The return value must be synchronous and plain; see createVectorBuilder() for accepted and rejected values.
Sharing and inference
One Context object is shared by identity with the Vector Configuration callback and every selected Extension Definition callback in an activation. A later activation receives a separately resolved value.
Root defineX helpers and createVectorBuilder() without options use the base Context with an empty Runtime Configuration type. Helpers returned by a configured builder infer both its Runtime Configuration schema output and computed fields. Extension helpers do not accept a Runtime Configuration generic.
Use Computed context for a complete builder example and Runtime Configuration for schema resolution.