mindstudio
Version:
Client library for MindStudio AI Workers
21 lines (20 loc) • 1.18 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.WorkerDiscoveryService = void 0;
const client_1 = require("../../core/http/client");
const types_1 = require("../../core/types");
class WorkerDiscoveryService {
static async fetchWorkerDefinitions(apiKey, baseUrl) {
const httpClient = new client_1.HttpClient(apiKey, { baseUrl });
const workers = await httpClient.get("/workers/load");
return await Promise.all(workers.apps
.sort((a, b) => a.name.localeCompare(b.name))
.map(async (workerData) => {
const workflowData = await httpClient.get(`/workers/${workerData.id}/workflows`);
return new types_1.Worker(workerData.id, workerData.name, workerData.slug, workflowData.workflows
.sort((a, b) => a.name.localeCompare(b.name))
.map((wf) => new types_1.Workflow(wf.id, wf.name, wf.slug, wf.launchVariables.map((v) => (v || '').replace(/[\W]+/g, '')).filter((v) => v), wf.outputVariables.map((v) => (v || '').replace(/[\W]+/g, '')).filter((v) => v), workerData)));
}));
}
}
exports.WorkerDiscoveryService = WorkerDiscoveryService;