ascend-tools-core
Rust SDK for the Ascend Instance web API.
This is the core library used by ascend-tools-cli, ascend-tools-mcp, and the Python/JavaScript bindings. It can also be used directly as a Rust dependency.
Install
Usage
use AscendClient;
use Config;
let config = from_env?;
let client = new?;
let workspaces = client.list_workspaces?;
let flows = client.list_flows?;
client.run_flow?;
Authentication
Set three environment variables (from Ascend UI > Settings > Users > Create Service Account):
The SDK handles Ed25519 JWT signing, token exchange, and caching automatically.
API
| Method | Description |
|---|---|
list_workspaces |
List workspaces with optional filters |
get_workspace |
Get a workspace by title |
create_workspace |
Create a new workspace |
update_workspace |
Update a workspace |
pause_workspace / resume_workspace |
Pause or resume a workspace |
delete_workspace |
Delete a workspace |
list_deployments / get_deployment |
List or get deployments |
create_deployment / update_deployment |
Create or update a deployment |
pause_deployment_automations / resume_deployment_automations |
Pause or resume automations |
delete_deployment |
Delete a deployment |
list_environments / get_environment |
List or get environments |
list_projects / get_project |
List or get projects |
list_profiles |
List available profiles |
list_flows |
List flows in a workspace or deployment |
run_flow |
Trigger a flow run (health check, optional resume/spec) |
list_flow_runs / get_flow_run |
List or get flow runs |
list_otto_providers |
List Otto providers and models |
otto / otto_streaming |
Chat with Otto AI assistant |
Error handling
All methods return ascend_tools::Result<T> with a typed Error enum:
use Error;
match client.run_flow
See the full documentation for more details.