UNPKG

ai-horde

Version:
49 lines 1.68 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getModels = exports.findUser = exports.waitForResponse = exports.generate = void 0; const request_1 = require("./request"); const DEFAULT_API_KEY = '0000000000'; async function generate(request, apikey = DEFAULT_API_KEY) { const url = `/generate/text/async`; const res = await (0, request_1.post)({ url, body: request, apikey }); return res; } exports.generate = generate; async function waitForResponse(id, timeoutSecs) { const url = `/generate/text/status/${id}`; const start = Date.now(); while (true) { if (timeoutSecs) { const diff = Date.now() - start; if (diff >= timeoutSecs * 1000) { throw new Error(`Request timed out: Exceeded ${timeoutSecs} seconds`); } } const res = await (0, request_1.get)({ url }); if (res.done) { return res; } if (res.faulted) { const error = new Error(`Generation failed: Faulted`); error.body = res; throw error; } await wait(); } } exports.waitForResponse = waitForResponse; async function findUser(apikey) { const user = await (0, request_1.get)({ url: `/find_user`, apikey }); return user; } exports.findUser = findUser; async function getModels(type = 'image') { const url = `/status/models?type=${type}`; const models = await (0, request_1.get)({ url }); return models; } exports.getModels = getModels; async function wait(secs = 2) { return new Promise((resolve) => setTimeout(resolve, secs * 1000)); } //# sourceMappingURL=index.js.map