
Security News
Axios Supply Chain Attack Reaches OpenAI macOS Signing Pipeline, Forces Certificate Rotation
OpenAI rotated macOS signing certificates after a malicious Axios package reached its CI pipeline in a broader software supply chain attack.
The official TypeScript SDK for Cyberdesk, providing type-safe access to all Cyberdesk APIs.
npm install cyberdesk
The most common use case is to execute workflows that you've created in the Cyberdesk Dashboard.
import { createCyberdeskClient } from 'cyberdesk';
// Initialize client with your API key
const client = createCyberdeskClient('your-api-key');
// Create a run for your workflow
const { data: run } = await client.runs.create({
workflow_id: 'your-workflow-id',
machine_id: 'your-machine-id',
input_values: {
// Your workflow-specific input data
patient_id: '12345',
patient_first_name: 'John',
patient_last_name: 'Doe'
}
});
// Wait for the run to complete
let status = run.status;
while (status === 'scheduling' || status === 'running') {
await new Promise(resolve => setTimeout(resolve, 5000)); // Wait 5 seconds
const { data: updatedRun } = await client.runs.get(run.id);
status = updatedRun.status;
}
// Get the output data
if (status === 'success') {
console.log('Result:', updatedRun.output_data);
} else {
console.error('Run failed:', updatedRun.error?.join(', '));
}
Configure machine-specific values that automatically populate workflows running on specific desktops:
import { createCyberdeskClient } from 'cyberdesk';
const client = createCyberdeskClient('your-api-key');
// Set desktop parameters for a machine
await client.machines.update('machine-id', {
machine_parameters: {
username: 'machine_specific_user',
api_url: 'https://api-region-east.example.com',
config_path: 'C:\\MachineA\\config.json'
},
machine_sensitive_parameters: {
password: 'actual_secret_value', // Stored securely in Basis Theory
api_key: 'actual_api_key_123'
}
});
Use in workflows with standard syntax:
Log in to {api_url} using {username} and password {$password}.
Then open the config at {config_path}.
Desktop parameters automatically override run-level inputs and persist across runs. See the Desktop Parameters docs for more details.
For complete documentation including advanced usage, error handling, and all available methods, visit:
https://docs.cyberdesk.io/sdk-guides/typescript
const client = createCyberdeskClient('your-api-key', 'https://your-api.example.com');
client.machines.list(params?) - List machinesclient.machines.create(data) - Create machineclient.machines.get(machineId) - Get machineclient.machines.update(machineId, data) - Update machineclient.machines.delete(machineId) - Delete machineclient.workflows.list(params?) - List workflowsclient.workflows.create(data) - Create workflowclient.workflows.get(workflowId) - Get workflowclient.workflows.update(workflowId, data) - Update workflowclient.workflows.delete(workflowId) - Delete workflowclient.runs.list(params?) - List runsclient.runs.create(data) - Create runclient.runs.get(runId) - Get runclient.runs.update(runId, data) - Update runclient.runs.delete(runId) - Delete runclient.trajectories.list(params?) - List trajectoriesclient.trajectories.create(data) - Create trajectoryclient.trajectories.get(trajectoryId) - Get trajectoryclient.trajectories.update(trajectoryId, data) - Update trajectoryclient.trajectories.delete(trajectoryId) - Delete trajectoryclient.trajectories.getLatestForWorkflow(workflowId) - Get latest trajectory for workflowclient.connections.list(params?) - List connectionsclient.connections.create(data) - Create connectionThis SDK is built with TypeScript and provides full type safety:
import {
createCyberdeskClient,
type MachineResponse,
type WorkflowResponse
} from 'cyberdesk';
const client = createCyberdeskClient('your-api-key');
// All parameters and responses are fully typed
const machines: { data?: PaginatedResponseMachineResponse } =
await client.machines.list();
# Install dependencies
npm install
# Set up environment
cp .env.example .env
# Edit with your credentials
# Run all tests
npm test
# Run only webhook tests
npm run test:webhooks
# Run only integration tests (real API calls)
npm run test:integration
See tests/README.md for details.
MIT
FAQs
The official TypeScript SDK for Cyberdesk
We found that cyberdesk demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
OpenAI rotated macOS signing certificates after a malicious Axios package reached its CI pipeline in a broader software supply chain attack.

Security News
Open source is under attack because of how much value it creates. It has been the foundation of every major software innovation for the last three decades. This is not the time to walk away from it.

Security News
Socket CEO Feross Aboukhadijeh breaks down how North Korea hijacked Axios and what it means for the future of software supply chain security.