@darsai/api
v1.3.2
Published
Darsai API definition, CLI and utilities
Downloads
4
Readme
@darsai/api
This package defines the api of the darsai system, generates library code for using it in multiple programming languages and also builds an CLI application.
API declaration
The api definition starts on the api-definition.ts file, which references specific commands in the api folder. Some commands are implemented in this package (usually client commands, like login and logout) The rest of the commands are built as json payloads to be sent to the api endpoints (like AWS lambda)
CLI
Before using the CLI a user acount must have been created in some of the darsai web apps: e.g. https://darsai.com/admin/ by simply logging in.
This package provides a unified command line interface to Darsai Services. To use it try:
node dist/esm/cli.js --help
To login interactively (through a web browser) using the default profile, then run a command and then logout:
node dist/esm/cli.js login
node dist/esm/cli.js list-agents
node dist/esm/cli.js logout
The auth credentials are stored in ~/.darsairc.json
If the package is installed globally, the CLI script is aliased as darsai:
npm install --global @darsai/api
darsai login
darsai list-agents
darsai logout
To install the local package globally (cli commands darsai and darsai-admin):
cd /packages/api/api
npm link
cd /packages/api/admin
npm link
API Libraries code building
pnpm build:sources
Example usage of the ts-api
import * as darsai from '@darsai/api-ts';
const config: darsai.ClientConfig = { auth: { profile: 'default' } };
// Calling createAgent using the typed client
const client: darsai.DarsaiClient = new darsai.DarsaiClient(config);
const request: darsai.CreateAgentRequest = { type: darsai.AgentType.Pepe };
client
.createAgent(request)
.then((response: darsai.CreateAgentResponse) => {
console.log('createAgent 1 success', response);
})
.catch((err: any) => console.log('createAgent 1 error', err.message));
// Calling createAgent emulating the CLI
darsai
.sendCommandLine(config, 'create-agent --type pepe')
.then((response: any) => console.log('createAgent 2 success', response))
.catch((err: any) => console.log('createAgent 2 error', err.message));