The Asteroid Odyssey TypeScript SDK provides a simple way to interact with the Asteroid Agents API for triggering and monitoring agent executions, checking statuses, and retrieving results.

Agent Creation: Agents can only be created through the Asteroid Platform web interface. The API is designed for executing existing agents, not creating them.

Installation

1

Install Dependencies

Install the required packages:

npm install asteroid-odyssey typescript ts-node
2

Create Your File

Create a new file called example.ts and add this code:

import { 
  AsteroidClient, 
  executeAgent,
  waitForExecutionResult 
} from 'asteroid-odyssey';

(async () => {
  // Initialize the client with your API key
  const client = AsteroidClient('YOUR_API_KEY');

      // Execute an agent with prompt variables
const executionId = await executeAgent(client, 'YOUR_AGENT_ID', {
  DATA: "First name: John, Last name: Smith"
});
console.log("Agent execution started:", executionId);

  // Wait for execution to complete and retrieve the result
  try {
    const result = await waitForExecutionResult(client, executionId);
    console.log("Agent result:", result);
  } catch (err) {
    console.error("Agent execution failed:", err);
  }
})();
3

Run Your Code

Run the example using ts-node:

npx ts-node example.ts

Replace YOUR_API_KEY with your actual API key and YOUR_AGENT_ID with the ID of an agent you’ve created in the Asteroid Platform.

API Reference

Client Creation

import { AsteroidClient } from 'asteroid-odyssey';

const client = AsteroidClient('YOUR_API_KEY');

Agent Execution

import { executeAgent } from 'asteroid-odyssey';

const executionId = await executeAgent(client, 'YOUR_AGENT_ID', {
  DATA: "First name: John, Last name: Smith"
});

The executeAgent function takes:

  • client: The configured API client
  • agentId: The ID of the agent to execute (found in the Asteroid platform)
  • executionData: An object containing prompt variables that will be inserted into your agent’s prompt template

The example agent used in this documentation has a {{.DATA}} prompt variable configured, which is why our examples use the DATA parameter.

How Prompt Variables Work

When you create an agent, you define a prompt template with variables like {{.DATA}}. The values you pass to executeAgent replace these variables.

Example Agent Prompt:

Fill out the form!

These are the data to fill out:

{{.DATA}}

Make sure you fill out the data accurately including checking or leaving unchecked the checkboxes.

Then click on the Review button.

Execution Call:

const executionId = await executeAgent(client, 'your-agent-id', {
  DATA: "First name: John, Last name: Smith, Email: john.smith@example.com"
});

Resulting Prompt (what the agent sees):

Fill out the form!

These are the data to fill out:

First name: John, Last name: Smith, Email: john.smith@example.com

Make sure you fill out the data accurately including checking or leaving unchecked the checkboxes.

Then click on the Review button.

Getting Results

import { waitForExecutionResult } from 'asteroid-odyssey';

const result = await waitForExecutionResult(client, executionId);
console.log("Final result:", result);

Check Status (Optional)

import { getExecutionStatus } from 'asteroid-odyssey';

const status = await getExecutionStatus(client, executionId);
console.log("Current status:", status.status);

Get Current Result (Optional)

import { getExecutionResult } from 'asteroid-odyssey';

const result = await getExecutionResult(client, executionId);
console.log("Current result:", result);

Error Handling

try {
  const result = await waitForExecutionResult(client, executionId);
  console.log(result);
} catch (error) {
  console.error('Execution failed:', error);
}

Troubleshooting

Common Issues:

  • Authentication errors: Verify your API key is correct and active
  • Agent not found: Ensure the agent ID exists in your account and you have access to it. Remember, agents must be created through the web platform first.
  • Execution timeout: Some tasks may take longer than expected
  • Missing prompt variables: Ensure your execution data matches the prompt variables defined in your agent

For more help, visit the Asteroid Platform or check your execution logs there.

The Asteroid Odyssey TypeScript SDK provides a simple way to interact with the Asteroid Agents API for triggering and monitoring agent executions, checking statuses, and retrieving results.

Agent Creation: Agents can only be created through the Asteroid Platform web interface. The API is designed for executing existing agents, not creating them.

Installation

1

Install Dependencies

Install the required packages:

npm install asteroid-odyssey typescript ts-node
2

Create Your File

Create a new file called example.ts and add this code:

import { 
  AsteroidClient, 
  executeAgent,
  waitForExecutionResult 
} from 'asteroid-odyssey';

(async () => {
  // Initialize the client with your API key
  const client = AsteroidClient('YOUR_API_KEY');

      // Execute an agent with prompt variables
const executionId = await executeAgent(client, 'YOUR_AGENT_ID', {
  DATA: "First name: John, Last name: Smith"
});
console.log("Agent execution started:", executionId);

  // Wait for execution to complete and retrieve the result
  try {
    const result = await waitForExecutionResult(client, executionId);
    console.log("Agent result:", result);
  } catch (err) {
    console.error("Agent execution failed:", err);
  }
})();
3

Run Your Code

Run the example using ts-node:

npx ts-node example.ts

Replace YOUR_API_KEY with your actual API key and YOUR_AGENT_ID with the ID of an agent you’ve created in the Asteroid Platform.

API Reference

Client Creation

import { AsteroidClient } from 'asteroid-odyssey';

const client = AsteroidClient('YOUR_API_KEY');

Agent Execution

import { executeAgent } from 'asteroid-odyssey';

const executionId = await executeAgent(client, 'YOUR_AGENT_ID', {
  DATA: "First name: John, Last name: Smith"
});

The executeAgent function takes:

  • client: The configured API client
  • agentId: The ID of the agent to execute (found in the Asteroid platform)
  • executionData: An object containing prompt variables that will be inserted into your agent’s prompt template

The example agent used in this documentation has a {{.DATA}} prompt variable configured, which is why our examples use the DATA parameter.

How Prompt Variables Work

When you create an agent, you define a prompt template with variables like {{.DATA}}. The values you pass to executeAgent replace these variables.

Example Agent Prompt:

Fill out the form!

These are the data to fill out:

{{.DATA}}

Make sure you fill out the data accurately including checking or leaving unchecked the checkboxes.

Then click on the Review button.

Execution Call:

const executionId = await executeAgent(client, 'your-agent-id', {
  DATA: "First name: John, Last name: Smith, Email: john.smith@example.com"
});

Resulting Prompt (what the agent sees):

Fill out the form!

These are the data to fill out:

First name: John, Last name: Smith, Email: john.smith@example.com

Make sure you fill out the data accurately including checking or leaving unchecked the checkboxes.

Then click on the Review button.

Getting Results

import { waitForExecutionResult } from 'asteroid-odyssey';

const result = await waitForExecutionResult(client, executionId);
console.log("Final result:", result);

Check Status (Optional)

import { getExecutionStatus } from 'asteroid-odyssey';

const status = await getExecutionStatus(client, executionId);
console.log("Current status:", status.status);

Get Current Result (Optional)

import { getExecutionResult } from 'asteroid-odyssey';

const result = await getExecutionResult(client, executionId);
console.log("Current result:", result);

Error Handling

try {
  const result = await waitForExecutionResult(client, executionId);
  console.log(result);
} catch (error) {
  console.error('Execution failed:', error);
}

Troubleshooting

Common Issues:

  • Authentication errors: Verify your API key is correct and active
  • Agent not found: Ensure the agent ID exists in your account and you have access to it. Remember, agents must be created through the web platform first.
  • Execution timeout: Some tasks may take longer than expected
  • Missing prompt variables: Ensure your execution data matches the prompt variables defined in your agent

For more help, visit the Asteroid Platform or check your execution logs there.