pub struct Opencode { /* private fields */ }Expand description
The main OpenCode SDK client.
Holds connection settings and an inner HTTP client. Construct via
Opencode::new, Opencode::with_options, or Opencode::builder.
Implementations§
Source§impl Opencode
impl Opencode
Sourcepub fn new() -> Result<Self, OpencodeError>
pub fn new() -> Result<Self, OpencodeError>
Create a client with default configuration.
Reads OPENCODE_BASE_URL from the environment; all other settings use
the JS SDK defaults (timeout = 60 s, max_retries = 2).
§Errors
Returns OpencodeError::Http if the underlying HTTP client cannot be
built (e.g. TLS back-end init failure).
Sourcepub fn with_options(opts: &ClientOptions) -> Result<Self, OpencodeError>
pub fn with_options(opts: &ClientOptions) -> Result<Self, OpencodeError>
Create a client from explicit ClientOptions.
§Errors
Returns OpencodeError::Http if the underlying HTTP client cannot be
built.
Sourcepub fn builder() -> OpencodeBuilder
pub fn builder() -> OpencodeBuilder
Return an OpencodeBuilder for fluent configuration.
Sourcepub const fn max_retries(&self) -> u32
pub const fn max_retries(&self) -> u32
Maximum automatic retries.
Sourcepub const fn default_headers(&self) -> &HeaderMap
pub const fn default_headers(&self) -> &HeaderMap
Default headers sent with every request.
Sourcepub const fn default_query(&self) -> &HashMap<String, String>
pub const fn default_query(&self) -> &HashMap<String, String>
Default query parameters appended to every request.
Sourcepub const fn app(&self) -> AppResource<'_>
pub const fn app(&self) -> AppResource<'_>
Access the App resource.
Sourcepub const fn config(&self) -> ConfigResource<'_>
pub const fn config(&self) -> ConfigResource<'_>
Access the Config resource.
Sourcepub const fn event(&self) -> EventResource<'_>
pub const fn event(&self) -> EventResource<'_>
Access the Event resource.
Sourcepub const fn file(&self) -> FileResource<'_>
pub const fn file(&self) -> FileResource<'_>
Access the File resource.
Sourcepub const fn find(&self) -> FindResource<'_>
pub const fn find(&self) -> FindResource<'_>
Access the Find resource.
Sourcepub const fn session(&self) -> SessionResource<'_>
pub const fn session(&self) -> SessionResource<'_>
Access the Session resource.
Sourcepub const fn tui(&self) -> TuiResource<'_>
pub const fn tui(&self) -> TuiResource<'_>
Access the Tui resource.
Sourcepub async fn get<T: DeserializeOwned>(
&self,
path: &str,
options: Option<&RequestOptions>,
) -> Result<T, OpencodeError>
pub async fn get<T: DeserializeOwned>( &self, path: &str, options: Option<&RequestOptions>, ) -> Result<T, OpencodeError>
Send a GET request and deserialise the JSON response.
Sourcepub async fn get_with_query<T, Q>(
&self,
path: &str,
query: Option<&Q>,
options: Option<&RequestOptions>,
) -> Result<T, OpencodeError>
pub async fn get_with_query<T, Q>( &self, path: &str, query: Option<&Q>, options: Option<&RequestOptions>, ) -> Result<T, OpencodeError>
Send a GET request with query parameters.
Sourcepub async fn post<T, B>(
&self,
path: &str,
body: Option<&B>,
options: Option<&RequestOptions>,
) -> Result<T, OpencodeError>
pub async fn post<T, B>( &self, path: &str, body: Option<&B>, options: Option<&RequestOptions>, ) -> Result<T, OpencodeError>
Send a POST request with an optional JSON body.
Sourcepub async fn put<T, B>(
&self,
path: &str,
body: Option<&B>,
options: Option<&RequestOptions>,
) -> Result<T, OpencodeError>
pub async fn put<T, B>( &self, path: &str, body: Option<&B>, options: Option<&RequestOptions>, ) -> Result<T, OpencodeError>
Send a PUT request with an optional JSON body.
Sourcepub async fn patch<T, B>(
&self,
path: &str,
body: Option<&B>,
options: Option<&RequestOptions>,
) -> Result<T, OpencodeError>
pub async fn patch<T, B>( &self, path: &str, body: Option<&B>, options: Option<&RequestOptions>, ) -> Result<T, OpencodeError>
Send a PATCH request with an optional JSON body.
Sourcepub async fn get_stream<T: DeserializeOwned + 'static>(
&self,
path: &str,
) -> Result<SseStream<T>, OpencodeError>
pub async fn get_stream<T: DeserializeOwned + 'static>( &self, path: &str, ) -> Result<SseStream<T>, OpencodeError>
Send a GET request and return a streaming SSE response.
Unlike other HTTP methods, this does NOT parse the full response body.
Instead it returns an crate::SseStream that lazily decodes each SSE
event’s data field as JSON of type T.
Sourcepub async fn delete<T, B>(
&self,
path: &str,
body: Option<&B>,
options: Option<&RequestOptions>,
) -> Result<T, OpencodeError>
pub async fn delete<T, B>( &self, path: &str, body: Option<&B>, options: Option<&RequestOptions>, ) -> Result<T, OpencodeError>
Send a DELETE request with an optional JSON body.