productivity
Sauce Labs Lua API for KosmoKrator Agents
Agent-facing Lua documentation and function reference for the Sauce Labs KosmoKrator integration.Lua Namespace
Agents call this integration through app.integrations.sauce_labs.*.
Use lua_read_doc("integrations.sauce-labs") inside KosmoKrator to discover the same reference at runtime.
Call Lua from the Headless CLI
Use kosmo integrations:lua when a shell script, CI job, cron job, or another coding CLI should run a deterministic
Sauce Labs workflow without starting an interactive agent session.
kosmo integrations:lua --eval 'dump(app.integrations.sauce_labs.get_status({}))' --json kosmo integrations:lua --eval 'print(docs.read("sauce-labs"))' --json
kosmo integrations:lua --eval 'print(docs.read("sauce-labs.get_status"))' --json Workflow file
Put repeatable logic in a Lua file, then execute it with JSON output for the calling process.
local sauce_labs = app.integrations.sauce_labs
local result = sauce_labs.get_status({})
dump(result) kosmo integrations:lua workflow.lua --json
kosmo integrations:lua workflow.lua --force --json integrations:lua exposes app.integrations.sauce_labs, app.mcp.*, docs.*, json.*, and regex.*. Use app.integrations.sauce_labs.default.* or app.integrations.sauce_labs.work.* when you configured named credential accounts.
MCP-only Lua
If the script only needs configured MCP servers and does not need Sauce Labs, use the narrower mcp:lua command.
# Use mcp:lua for MCP-only scripts; use integrations:lua for this integration namespace.
kosmo mcp:lua --eval 'dump(mcp.servers())' --json Agent-Facing Lua Docs
This is the rendered version of the full Lua documentation exposed to agents when they inspect the integration namespace.
Sauce Labs
Namespace: sauce-labs
Use the Sauce Labs integration to inspect and manage Sauce Labs REST API resources across platform status, VDC jobs, v2 builds, real device jobs, private devices, and Sauce Connect tunnels. Authentication uses HTTP Basic credentials: username and access_key.
Common Workflows
- Use
sauce_labs_get_statusandsauce_labs_list_platformsbefore scheduling tests or validating regional availability. - Use
sauce_labs_list_jobs,sauce_labs_get_job,sauce_labs_update_job,sauce_labs_stop_job,sauce_labs_delete_job,sauce_labs_list_job_assets, andsauce_labs_get_job_assetfor VDC jobs. - Use
sauce_labs_list_builds,sauce_labs_get_build,sauce_labs_get_job_build, andsauce_labs_list_build_jobsfor v2 build reporting.build_sourceis usuallyvdcorrdc. - Use
sauce_labs_list_rdc_jobs,sauce_labs_get_rdc_job,sauce_labs_get_rdc_job_asset,sauce_labs_stop_rdc_job, andsauce_labs_delete_rdc_jobfor real device cloud jobs. - Use
sauce_labs_list_private_devicesto inspect private real devices. - Use
sauce_labs_list_tunnels,sauce_labs_get_tunnel,sauce_labs_get_tunnel_jobs_count, andsauce_labs_stop_tunnelfor Sauce Connect tunnels. - Use
sauce_labs_api_get,sauce_labs_api_put, andsauce_labs_api_deletefor safe relative API paths not covered by first-class tools. Full URLs are rejected.
Argument Notes
Most legacy job and tunnel endpoints include username; omit it on list calls to default to the configured username. V2 build tools require build_source (vdc or rdc). Asset tools use file_name for VDC assets and asset_type for RDC assets.
Read tools accept optional filters through query. Write tools accept request bodies through payload.
Examples
local status = tools.sauce_labs_get_status({})
local builds = tools.sauce_labs_list_builds({
build_source = "vdc",
query = { limit = 20, sort = "desc" }
})
local assets = tools.sauce_labs_list_job_assets({
username = "sauce-user",
job_id = "job-id"
})
local tunnel = tools.sauce_labs_get_tunnel_jobs_count({
username = "sauce-user",
tunnel_id = "tunnel-id"
})
Return Shapes
The integration returns decoded Sauce Labs JSON responses directly. Empty successful responses are normalized to:
{"success": true}
Text or asset responses are normalized to:
{"value": "raw response text"}
Sauce Labs uses regional API hosts. The default is https://api.us-west-1.saucelabs.com; set the API URL credential for other regions such as EU Central.
Raw agent markdown
# Sauce Labs
Namespace: `sauce-labs`
Use the Sauce Labs integration to inspect and manage Sauce Labs REST API resources across platform status, VDC jobs, v2 builds, real device jobs, private devices, and Sauce Connect tunnels. Authentication uses HTTP Basic credentials: `username` and `access_key`.
## Common Workflows
- Use `sauce_labs_get_status` and `sauce_labs_list_platforms` before scheduling tests or validating regional availability.
- Use `sauce_labs_list_jobs`, `sauce_labs_get_job`, `sauce_labs_update_job`, `sauce_labs_stop_job`, `sauce_labs_delete_job`, `sauce_labs_list_job_assets`, and `sauce_labs_get_job_asset` for VDC jobs.
- Use `sauce_labs_list_builds`, `sauce_labs_get_build`, `sauce_labs_get_job_build`, and `sauce_labs_list_build_jobs` for v2 build reporting. `build_source` is usually `vdc` or `rdc`.
- Use `sauce_labs_list_rdc_jobs`, `sauce_labs_get_rdc_job`, `sauce_labs_get_rdc_job_asset`, `sauce_labs_stop_rdc_job`, and `sauce_labs_delete_rdc_job` for real device cloud jobs.
- Use `sauce_labs_list_private_devices` to inspect private real devices.
- Use `sauce_labs_list_tunnels`, `sauce_labs_get_tunnel`, `sauce_labs_get_tunnel_jobs_count`, and `sauce_labs_stop_tunnel` for Sauce Connect tunnels.
- Use `sauce_labs_api_get`, `sauce_labs_api_put`, and `sauce_labs_api_delete` for safe relative API paths not covered by first-class tools. Full URLs are rejected.
## Argument Notes
Most legacy job and tunnel endpoints include `username`; omit it on list calls to default to the configured username. V2 build tools require `build_source` (`vdc` or `rdc`). Asset tools use `file_name` for VDC assets and `asset_type` for RDC assets.
Read tools accept optional filters through `query`. Write tools accept request bodies through `payload`.
## Examples
```lua
local status = tools.sauce_labs_get_status({})
local builds = tools.sauce_labs_list_builds({
build_source = "vdc",
query = { limit = 20, sort = "desc" }
})
local assets = tools.sauce_labs_list_job_assets({
username = "sauce-user",
job_id = "job-id"
})
local tunnel = tools.sauce_labs_get_tunnel_jobs_count({
username = "sauce-user",
tunnel_id = "tunnel-id"
})
```
## Return Shapes
The integration returns decoded Sauce Labs JSON responses directly. Empty successful responses are normalized to:
```json
{"success": true}
```
Text or asset responses are normalized to:
```json
{"value": "raw response text"}
```
Sauce Labs uses regional API hosts. The default is `https://api.us-west-1.saucelabs.com`; set the API URL credential for other regions such as EU Central. local result = app.integrations.sauce_labs.get_status({})
print(result) Functions
get_status Read
Get Sauce Labs platform status.
- Lua path
app.integrations.sauce_labs.get_status- Full name
sauce-labs.sauce_labs_get_status
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
list_platforms Read
List supported Sauce Labs platforms.
- Lua path
app.integrations.sauce_labs.list_platforms- Full name
sauce-labs.sauce_labs_list_platforms
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
list_jobs Read
List VDC jobs for a user.
- Lua path
app.integrations.sauce_labs.list_jobs- Full name
sauce-labs.sauce_labs_list_jobs
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
get_job Read
Get one VDC job.
- Lua path
app.integrations.sauce_labs.get_job- Full name
sauce-labs.sauce_labs_get_job
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
update_job Write
Update one VDC job.
- Lua path
app.integrations.sauce_labs.update_job- Full name
sauce-labs.sauce_labs_update_job
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
stop_job Write
Stop one VDC job.
- Lua path
app.integrations.sauce_labs.stop_job- Full name
sauce-labs.sauce_labs_stop_job
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
delete_job Write
Delete one VDC job.
- Lua path
app.integrations.sauce_labs.delete_job- Full name
sauce-labs.sauce_labs_delete_job
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
list_job_assets Read
List assets for one VDC job.
- Lua path
app.integrations.sauce_labs.list_job_assets- Full name
sauce-labs.sauce_labs_list_job_assets
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
get_job_asset Read
Get one VDC job asset file.
- Lua path
app.integrations.sauce_labs.get_job_asset- Full name
sauce-labs.sauce_labs_get_job_asset
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
list_builds Read
List v2 builds by source.
- Lua path
app.integrations.sauce_labs.list_builds- Full name
sauce-labs.sauce_labs_list_builds
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
get_build Read
Get one v2 build.
- Lua path
app.integrations.sauce_labs.get_build- Full name
sauce-labs.sauce_labs_get_build
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
get_job_build Read
Lookup the build for a known job.
- Lua path
app.integrations.sauce_labs.get_job_build- Full name
sauce-labs.sauce_labs_get_job_build
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
list_build_jobs Read
List jobs in a v2 build.
- Lua path
app.integrations.sauce_labs.list_build_jobs- Full name
sauce-labs.sauce_labs_list_build_jobs
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
list_rdc_jobs Read
List real device jobs.
- Lua path
app.integrations.sauce_labs.list_rdc_jobs- Full name
sauce-labs.sauce_labs_list_rdc_jobs
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
get_rdc_job Read
Get one real device job.
- Lua path
app.integrations.sauce_labs.get_rdc_job- Full name
sauce-labs.sauce_labs_get_rdc_job
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
get_rdc_job_asset Read
Download one real device job asset.
- Lua path
app.integrations.sauce_labs.get_rdc_job_asset- Full name
sauce-labs.sauce_labs_get_rdc_job_asset
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
stop_rdc_job Write
Stop one real device job.
- Lua path
app.integrations.sauce_labs.stop_rdc_job- Full name
sauce-labs.sauce_labs_stop_rdc_job
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
delete_rdc_job Write
Delete one real device job.
- Lua path
app.integrations.sauce_labs.delete_rdc_job- Full name
sauce-labs.sauce_labs_delete_rdc_job
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
list_private_devices Read
List private real devices.
- Lua path
app.integrations.sauce_labs.list_private_devices- Full name
sauce-labs.sauce_labs_list_private_devices
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
list_tunnels Read
List Sauce Connect tunnels.
- Lua path
app.integrations.sauce_labs.list_tunnels- Full name
sauce-labs.sauce_labs_list_tunnels
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
get_tunnel Read
Get one Sauce Connect tunnel.
- Lua path
app.integrations.sauce_labs.get_tunnel- Full name
sauce-labs.sauce_labs_get_tunnel
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
get_tunnel_jobs_count Read
Get current running jobs for one tunnel.
- Lua path
app.integrations.sauce_labs.get_tunnel_jobs_count- Full name
sauce-labs.sauce_labs_get_tunnel_jobs_count
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
stop_tunnel Write
Stop one Sauce Connect tunnel.
- Lua path
app.integrations.sauce_labs.stop_tunnel- Full name
sauce-labs.sauce_labs_stop_tunnel
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
api_get Read
Call a safe relative Sauce Labs GET path.
- Lua path
app.integrations.sauce_labs.api_get- Full name
sauce-labs.sauce_labs_api_get
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
api_put Write
Call a safe relative Sauce Labs PUT path.
- Lua path
app.integrations.sauce_labs.api_put- Full name
sauce-labs.sauce_labs_api_put
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||
api_delete Write
Call a safe relative Sauce Labs DELETE path.
- Lua path
app.integrations.sauce_labs.api_delete- Full name
sauce-labs.sauce_labs_api_delete
| Parameter | Type | Required | Description |
|---|---|---|---|
| No parameters. | |||