@simpleapps-com/augur-api
Version:
TypeScript client library for Augur microservices API endpoints
70 lines • 3.74 kB
JavaScript
import { BaseServiceClient } from '../../core/base-client';
import { createHealthCheckResource, createHealthCheckDataResource, createChatGptAskResource, createChatGptAskDataResource, createDocumentsResource, createDocumentsDataResource, createOllamaGenerateResource, createOllamaGenerateDataResource, } from './resources';
/**
* Gregorovich AI Service Client
*
* Provides access to AI-powered document management and conversational AI endpoints
* including ChatGPT integration, Ollama local models, and document processing capabilities.
*
* @service gregorovich
* @domain ai-and-document-management
* @discoverable true
* @searchTerms ["ai", "chatgpt", "ollama", "documents", "gregorovich", "artificial intelligence"]
* @relatedEndpoints ["api.gregorovich.chatGpt.ask.get", "api.gregorovich.ollama.generate.create", "api.gregorovich.documents.list"]
* @commonPatterns ["AI conversation", "Document management", "Local AI generation", "AI-powered assistance"]
* @workflow ["ai-operations", "document-processing", "conversational-ai"]
* @functionalArea "ai-and-document-management"
* @example
* ```typescript
* import { HTTPClient } from '@augur/api-client/core';
* import { GregorovichClient } from '@augur/api-client/services/gregorovich';
*
* const http = new HTTPClient('gregorovich', { siteId: 'your-site-id', bearerToken: 'your-token' });
* const gregorovich = new GregorovichClient(http);
*
* // Check service health
* const health = await gregorovich.healthCheck.get();
* const healthData = await gregorovich.healthCheckData.get();
*
* // Ask ChatGPT
* const response = await gregorovich.chatGpt.ask.get({ question: 'What is AI?' });
* const answer = await gregorovich.chatGptData.ask.get({ question: 'Explain ML' });
*
* // List documents
* const docs = await gregorovich.documents.list();
* const docsList = await gregorovich.documentsData.list();
*
* // Generate with Ollama
* const generation = await gregorovich.ollama.generate.create({ model: 'llama2', prompt: 'Write a story' });
* const story = await gregorovich.ollamaData.generate.create({ model: 'llama2', prompt: 'Write a poem' });
* ```
*/
export class GregorovichClient extends BaseServiceClient {
constructor(http, baseUrl) {
super('gregorovich', http, baseUrl || 'https://gregorovich.augur-api.com');
// Bind executeRequest for resource factories
const boundExecuteRequest = (config, params, pathParams) => {
if (params !== undefined || config.paramsSchema !== undefined) {
return this.executeRequest(config, params, pathParams);
}
return this.executeRequest(config, undefined, pathParams);
};
// Initialize resources
this.healthCheck = createHealthCheckResource(boundExecuteRequest);
this.healthCheckData = createHealthCheckDataResource(this.healthCheck);
const chatGptAsk = createChatGptAskResource(boundExecuteRequest);
const chatGptAskData = createChatGptAskDataResource(chatGptAsk);
this.chatGpt = { ask: chatGptAsk };
this.chatGptData = { ask: chatGptAskData };
this.documents = createDocumentsResource(boundExecuteRequest);
this.documentsData = createDocumentsDataResource(this.documents);
const ollamaGenerate = createOllamaGenerateResource(boundExecuteRequest);
const ollamaGenerateData = createOllamaGenerateDataResource(ollamaGenerate);
this.ollama = { generate: ollamaGenerate };
this.ollamaData = { generate: ollamaGenerateData };
}
getServiceDescription() {
return 'AI-powered document management and conversational AI service with ChatGPT and Ollama integration';
}
}
//# sourceMappingURL=client.js.map