@simpleapps-com/augur-api
Version:
TypeScript client library for Augur microservices API endpoints
84 lines • 4.27 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.createOpenSearchResource = createOpenSearchResource;
exports.createOpenSearchDataResource = createOpenSearchDataResource;
const zod_1 = require("zod");
const schemas_1 = require("../../../core/schemas");
const schemas_2 = require("../schemas");
// Create response schemas using BaseResponseSchema directly
const UnknownResponseSchema = (0, schemas_1.BaseResponseSchema)(zod_1.z.unknown());
/**
* Creates the openSearch resource methods
* OpenAPI Path: /open-search → openSearch.*
* @description Advanced search embedding and indexing functionality for agricultural content discovery
*/
function createOpenSearchResource(executeRequest) {
return {
/**
* Text embedding operations
*/
embedding: {
/**
* Generate text embedding for search optimization
* @description Creates vector embeddings for agricultural content to enable semantic search and content discovery
* @fullPath api.agrSite.openSearch.embedding.get
* @service agr-site
* @domain search-optimization
* @dataMethod openSearchData.embedding.get - returns only the embedding data without metadata
* @discoverable true
* @searchTerms ["embedding", "vector search", "semantic search", "text embedding", "opensearch", "search optimization", "content indexing"]
* @relatedEndpoints ["api.agrSite.fyxerTranscript.create", "api.agrSite.fyxerTranscript.update", "api.agrSite.settings.list"]
* @commonPatterns ["Generate content embeddings", "Optimize search index", "Create semantic vectors", "Agricultural content analysis"]
* @workflow ["search-optimization", "content-indexing", "ai-processing", "agricultural-content-analysis"]
* @prerequisites ["Valid authentication token", "Search integration permissions", "Valid text content"]
* @nextSteps ["Index embeddings in search system", "Use embeddings for content discovery"]
* @businessRules ["Optimizes embeddings for agricultural content", "Rate limited for large-scale operations", "Content filtered for relevance"]
* @functionalArea "site-content-and-ai-processing"
* @caching "Embeddings cached for 24 hours, invalidate on content changes"
* @performance "AI processing may take 2-5 seconds depending on content length"
* @param params Text content and embedding configuration parameters
* @returns Promise<BaseResponse<unknown>> Complete response with generated embedding vectors and metadata
* @example
* ```typescript
* const embedding = await client.openSearch.embedding.get({
* text: 'Sustainable farming practices for crop rotation and soil health',
* model: 'agricultural-optimized',
* dimensions: 384
* });
*
* // Get just the embedding data
* const embeddingData = await client.openSearchData.embedding.get({
* text: 'Organic farming techniques for sustainable agriculture'
* });
* ```
*/
get: async (params) => {
return executeRequest({
method: 'GET',
path: '/open-search/embedding',
paramsSchema: schemas_2.OpenSearchEmbeddingParamsSchema,
responseSchema: UnknownResponseSchema,
}, params);
},
},
};
}
/**
* Creates the openSearchData resource methods (data-only versions)
*/
function createOpenSearchDataResource(openSearch) {
return {
embedding: {
/**
* Get embedding data without response metadata
* @param params Text content and embedding configuration parameters
* @returns Promise<unknown> Embedding data directly
*/
get: async (params) => {
const response = await openSearch.embedding.get(params);
return response.data;
},
},
};
}
//# sourceMappingURL=open-search.js.map