mirror of
https://github.com/ruvnet/RuView
synced 2026-08-09 20:21:43 +00:00
feat: vendor midstream and sublinear-time-solver libraries (#109)
Add ruvnet/midstream (AIMDS real-time inference) and ruvnet/sublinear-time-solver (sublinear optimization algorithms) as vendored dependencies under vendor/.
This commit is contained in:
+120
@@ -0,0 +1,120 @@
|
||||
/**
|
||||
* Client for interacting with the Lean Agentic Learning System
|
||||
*/
|
||||
|
||||
import axios, { AxiosInstance } from 'axios';
|
||||
import {
|
||||
LeanAgenticConfig,
|
||||
Context,
|
||||
ProcessingResult,
|
||||
SystemStats,
|
||||
Entity,
|
||||
Theorem,
|
||||
LearningStats
|
||||
} from './types';
|
||||
|
||||
export class LeanAgenticClient {
|
||||
private client: AxiosInstance;
|
||||
private config: LeanAgenticConfig;
|
||||
|
||||
constructor(baseURL: string, config: Partial<LeanAgenticConfig> = {}) {
|
||||
this.client = axios.create({
|
||||
baseURL,
|
||||
timeout: 30000,
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
},
|
||||
});
|
||||
|
||||
this.config = {
|
||||
enableFormalVerification: true,
|
||||
learningRate: 0.01,
|
||||
maxPlanningDepth: 5,
|
||||
actionThreshold: 0.7,
|
||||
enableMultiAgent: true,
|
||||
kgUpdateFreq: 100,
|
||||
...config,
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Process a stream chunk through the lean agentic system
|
||||
*/
|
||||
async processChunk(
|
||||
chunk: string,
|
||||
context: Context
|
||||
): Promise<ProcessingResult> {
|
||||
const response = await this.client.post<ProcessingResult>('/process', {
|
||||
chunk,
|
||||
context,
|
||||
config: this.config,
|
||||
});
|
||||
|
||||
return response.data;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get system statistics
|
||||
*/
|
||||
async getStats(): Promise<SystemStats> {
|
||||
const response = await this.client.get<SystemStats>('/stats');
|
||||
return response.data;
|
||||
}
|
||||
|
||||
/**
|
||||
* Query entities from knowledge graph
|
||||
*/
|
||||
async queryEntities(query: {
|
||||
entityType?: string;
|
||||
searchText?: string;
|
||||
limit?: number;
|
||||
}): Promise<Entity[]> {
|
||||
const response = await this.client.get<Entity[]>('/knowledge/entities', {
|
||||
params: query,
|
||||
});
|
||||
|
||||
return response.data;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get theorems from the formal reasoning system
|
||||
*/
|
||||
async getTheorems(tags?: string[]): Promise<Theorem[]> {
|
||||
const response = await this.client.get<Theorem[]>('/reasoning/theorems', {
|
||||
params: { tags: tags?.join(',') },
|
||||
});
|
||||
|
||||
return response.data;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get learning statistics
|
||||
*/
|
||||
async getLearningStats(): Promise<LearningStats> {
|
||||
const response = await this.client.get<LearningStats>('/learning/stats');
|
||||
return response.data;
|
||||
}
|
||||
|
||||
/**
|
||||
* Update system configuration
|
||||
*/
|
||||
async updateConfig(config: Partial<LeanAgenticConfig>): Promise<void> {
|
||||
this.config = { ...this.config, ...config };
|
||||
await this.client.post('/config', this.config);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a new context
|
||||
*/
|
||||
createContext(sessionId: string): Context {
|
||||
return {
|
||||
history: [],
|
||||
preferences: {},
|
||||
sessionId,
|
||||
environment: {},
|
||||
timestamp: Date.now(),
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
export default LeanAgenticClient;
|
||||
Reference in New Issue
Block a user