venice-ai-sdk-apl
Version:
A comprehensive SDK for the Venice AI API with CLI support, programmatic CLI usage, CLI-style interface, and interactive demo
69 lines • 2.17 kB
JavaScript
;
/**
* Characters Resource
*
* This module provides access to the Characters API resources.
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.CharactersResource = void 0;
const base_resource_1 = require("../base-resource");
/**
* Characters Resource
*/
class CharactersResource extends base_resource_1.BaseResource {
/**
* Creates a new characters resource
*
* @param http - HTTP client
*/
constructor(http) {
super(http);
}
/**
* Lists available characters
*
* @param options - Options for filtering characters
* @param options.isWebEnabled - Filter by web-enabled status
* @param options.isAdult - Filter by adult content status
* @returns Promise that resolves with the list of available characters
*
* @example
* ```typescript
* // List all characters
* const response = await venice.characters.list();
*
* // List only web-enabled characters
* const webEnabledCharacters = await venice.characters.list({ isWebEnabled: true });
*
* // List non-adult characters
* const familyFriendlyCharacters = await venice.characters.list({ isAdult: false });
* ```
*/
async list(options) {
const queryParams = new URLSearchParams();
if (options?.isWebEnabled !== undefined) {
queryParams.append('isWebEnabled', options.isWebEnabled.toString());
}
if (options?.isAdult !== undefined) {
queryParams.append('isAdult', options.isAdult.toString());
}
const queryString = queryParams.toString();
return this.get(`/characters${queryString ? `?${queryString}` : ''}`);
}
/**
* Gets a character by slug
*
* @param slug - Character slug
* @returns Promise that resolves with the character
*
* @example
* ```typescript
* const character = await venice.characters.getCharacter('assistant');
* ```
*/
async getCharacter(slug) {
return this.get(`/characters/${slug}`);
}
}
exports.CharactersResource = CharactersResource;
//# sourceMappingURL=index.js.map