UNPKG

@agentx-ai/agentx-js

Version:

Official JavaScript/TypeScript SDK for AgentX (https://www.agentx.so/)

109 lines 4.17 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.AgentX = void 0; const axios_1 = __importDefault(require("axios")); const util_1 = require("./util"); const agent_1 = require("./resources/agent"); const workforce_1 = require("./resources/workforce"); class AgentX { constructor(apiKey) { this.apiKey = apiKey || process.env.AGENTX_API_KEY || ""; if (!this.apiKey) { throw new Error("API key is required. Set AGENTX_API_KEY environment variable or pass apiKey parameter."); } else { process.env.AGENTX_API_KEY = this.apiKey; } } async getAgent(id) { const url = `https://api.agentx.so/api/v1/access/agents/${id}`; const response = await axios_1.default.get(url, { headers: (0, util_1.getHeaders)(), }); if (response.status === 200) { const agentRes = response.data; return new agent_1.Agent({ id: agentRes._id, name: agentRes.name, avatar: agentRes.avatar, createdAt: agentRes.createdAt, updatedAt: agentRes.updatedAt, }); } else { throw new Error(`Failed to retrieve agent: ${response.statusText}`); } } async listAgents() { const url = "https://api.agentx.so/api/v1/access/agents"; const response = await axios_1.default.get(url, { headers: (0, util_1.getHeaders)(), }); if (response.status === 200) { return response.data.map((agent) => new agent_1.Agent({ id: agent._id, name: agent.name, avatar: agent.avatar, createdAt: agent.createdAt, updatedAt: agent.updatedAt, })); } else { throw new Error(`Failed to list agents: ${response.statusText}`); } } async listWorkforces() { const url = "https://api.agentx.so/api/v1/access/teams"; const response = await axios_1.default.get(url, { headers: (0, util_1.getHeaders)(), }); if (response.status === 200) { return response.data.map((workforce) => new workforce_1.Workforce({ id: workforce._id, agents: workforce.agents.map((agent) => new agent_1.Agent({ id: agent._id, name: agent.name, avatar: agent.avatar, createdAt: agent.createdAt, updatedAt: agent.updatedAt, })), name: workforce.name, image: workforce.image, description: workforce.description, manager: new agent_1.Agent({ id: workforce.manager._id, name: workforce.manager.name, avatar: workforce.manager.avatar, createdAt: workforce.manager.createdAt, updatedAt: workforce.manager.updatedAt, }), creator: workforce.creator, context: workforce.context, references: workforce.references, workspace: workforce.workspace, createdAt: workforce.createdAt, updatedAt: workforce.updatedAt, })); } else { throw new Error(`Failed to list workforces: ${response.status} - ${response.statusText}`); } } async getProfile() { const url = "https://api.agentx.so/api/v1/access/getProfile"; const response = await axios_1.default.get(url, { headers: (0, util_1.getHeaders)(), }); if (response.status === 200) { return response.data; } else { throw new Error(`Failed to get profile: ${response.status} - ${response.statusText}`); } } } exports.AgentX = AgentX; //# sourceMappingURL=agentx.js.map