alwaysai
Version:
The alwaysAI command-line interface (CLI)
43 lines • 1.66 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const alwayscli_1 = require("@alwaysai/alwayscli");
const cloud_api_1 = require("@alwaysai/cloud-api");
const rpc_client_1 = require("../rpc-client");
const send_rpc_data_1 = require("../rpc-client/send-rpc-data");
const cognito_auth_1 = require("../util/cognito-auth");
const cli_config_1 = require("../util/cli-config");
const methods = Object.entries(cloud_api_1.rpcMethodSpecs).map(([methodName, { description }]) => {
return alwayscli_1.createLeaf({
name: methodName,
description,
args: alwayscli_1.createJsonInput({
placeholder: '<args>',
description: 'Method arguments array as a JSON string',
}),
async action(args) {
const rpcClient = await rpc_client_1.RpcClient();
const method = rpcClient[methodName];
const result = await method(...(args || []));
return result;
},
});
});
const raw = alwayscli_1.createLeaf({
name: 'raw',
args: alwayscli_1.createStringInput({
placeholder: '<data>',
required: true,
}),
description: 'Send a custom data payload to the RPC endpoint',
async action(data) {
const bearerToken = await cognito_auth_1.getBearerToken();
const sendRpcData = send_rpc_data_1.SendRpcData({ bearerToken, cloudApiUrl: cli_config_1.cloudApiUrl });
return await sendRpcData(data);
},
});
exports.rpc = alwayscli_1.createBranch({
name: 'rpc',
description: 'Call the alwaysAI cloud API RPC interface',
subcommands: [...methods, raw],
});
//# sourceMappingURL=rpc.js.map