@simpleapps-com/augur-api
Version:
TypeScript client library for Augur microservices API endpoints
82 lines • 4.95 kB
JavaScript
import { BaseServiceClient } from '../../core/base-client';
import { createHealthCheckResource, createHealthCheckDataResource, createSettingsResource, createSettingsDataResource, createFyxerTranscriptResource, createFyxerTranscriptDataResource, createOpenSearchResource, createOpenSearchDataResource, createMetaFilesResource, createMetaFilesDataResource, createNotificationsResource, createNotificationsDataResource, createGeoCodesPostalCodesResource, createGeoCodesPostalCodesDataResource, createTrainingResource, createTrainingDataResource, } from './resources';
/**
* AGR-Site API Client
* @description Client for interacting with AGR-Site (Augur Site) microservice API endpoints for site content management, AI transcription processing, and search embedding functionality
* @fullPath api.agrSite
* @service agr-site
* @domain site-content-management
* @discoverable true
* @searchTerms ["agr-site", "augur site", "site content", "settings management", "fyxer transcripts", "AI transcription", "opensearch embedding", "content management", "site data"]
* @relatedEndpoints ["api.agrSite.settings", "api.agrSite.fyxerTranscript", "api.agrSite.openSearch.embedding", "api.agrSite.metaFiles.robots", "api.agrSite.notifications", "api.agrSite.healthCheck"]
* @commonPatterns ["Site content management", "AI transcript processing", "Search embedding integration", "Site settings configuration"]
* @workflow ["content-creation", "transcript-processing", "search-optimization", "site-data-management"]
* @functionalArea "site-content-and-ai-processing"
* @businessRules ["Requires valid site authentication", "Transcript processing for business content", "Settings changes affect site-wide behavior"]
* @performance "Supports pagination for large datasets, embedding operations may have latency"
* @example
* ```typescript
* import { HTTPClient } from '@augur/api-client/core';
* import { AgrSiteClient } from '@augur/api-client/services/agr-site';
*
* const http = new HTTPClient('agr-site', { siteId: 'your-site-id', bearerToken: 'your-token' });
* const agrSite = new AgrSiteClient(http);
*
* // Manage site settings
* const settings = await agrSite.settings.list();
* const settingsData = await agrSite.settingsData.list();
*
* // Process AI transcripts
* const transcript = await agrSite.fyxerTranscript.create({
* title: 'Business Meeting Notes',
* content: 'Discussion about project roadmap and priorities...',
* metadata: { tags: ['business', 'planning'] }
* });
*
* // Generate search embeddings
* const embedding = await agrSite.openSearch.embedding.get({
* text: 'Business strategy discussion for Q1 planning'
* });
*
* // Create notifications
* const notification = await agrSite.notifications.create({
* title: 'Crop Alert',
* message: 'New agricultural data available'
* });
* ```
*/
export class AgrSiteClient extends BaseServiceClient {
/**
* Create a new AgrSiteClient instance
* @param http Configured HTTPClient instance with authentication
* @param baseUrl Base URL for the AGR-Site API (default: https://agr-site.augur-api.com)
*/
constructor(http, baseUrl = 'https://agr-site.augur-api.com') {
super('agr-site', http, baseUrl);
// 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);
this.settings = createSettingsResource(boundExecuteRequest);
this.settingsData = createSettingsDataResource(this.settings);
this.fyxerTranscript = createFyxerTranscriptResource(boundExecuteRequest);
this.fyxerTranscriptData = createFyxerTranscriptDataResource(this.fyxerTranscript);
this.openSearch = createOpenSearchResource(boundExecuteRequest);
this.openSearchData = createOpenSearchDataResource(this.openSearch);
this.metaFiles = createMetaFilesResource(boundExecuteRequest);
this.metaFilesData = createMetaFilesDataResource(this.metaFiles);
this.notifications = createNotificationsResource(boundExecuteRequest);
this.notificationsData = createNotificationsDataResource(this.notifications);
this.geoCodesPostalCodes = createGeoCodesPostalCodesResource(boundExecuteRequest);
this.geoCodesPostalCodesData = createGeoCodesPostalCodesDataResource(this.geoCodesPostalCodes);
this.training = createTrainingResource(boundExecuteRequest);
this.trainingData = createTrainingDataResource(this.training);
}
}
//# sourceMappingURL=client.js.map