wifi-densepose/vendor/midstream/lean-agentic-js
rUv 407b46b206
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/.
2026-03-02 23:34:05 -05:00
..
src feat: vendor midstream and sublinear-time-solver libraries (#109) 2026-03-02 23:34:05 -05:00
README.md feat: vendor midstream and sublinear-time-solver libraries (#109) 2026-03-02 23:34:05 -05:00
package.json feat: vendor midstream and sublinear-time-solver libraries (#109) 2026-03-02 23:34:05 -05:00
tsconfig.json feat: vendor midstream and sublinear-time-solver libraries (#109) 2026-03-02 23:34:05 -05:00

README.md

Lean Agentic Learning System - TypeScript/JavaScript Client

A revolutionary learning framework combining formal reasoning, agentic AI, and stream learning for real-time adaptation.

Features

  • ๐ŸŽฏ Formal Reasoning - Lean-style theorem proving for verified knowledge
  • ๐Ÿค– Agentic AI - Autonomous decision-making with Plan-Act-Observe-Learn loops
  • ๐Ÿ“Š Stream Learning - Real-time online adaptation from data streams
  • ๐Ÿง  Knowledge Graph - Dynamic knowledge representation and evolution
  • โšก Real-Time Processing - Low-latency stream processing
  • ๐Ÿ”’ Type Safety - Full TypeScript support with comprehensive types

Installation

npm install @midstream/lean-agentic

Quick Start

import { LeanAgenticClient, StreamProcessor } from '@midstream/lean-agentic';

// Initialize client
const client = new LeanAgenticClient('http://localhost:8080', {
  enableFormalVerification: true,
  learningRate: 0.01,
  maxPlanningDepth: 5,
});

// Create stream processor
const processor = new StreamProcessor(client, 'session_001');

// Process stream chunks
const chunk = {
  content: 'Hello, I need weather information',
  timestamp: Date.now(),
};

const result = await processor.processChunk(chunk);

console.log('Action:', result.action.description);
console.log('Reward:', result.reward);
console.log('Verified:', result.verified);

Core Concepts

1. Agentic Loop (Plan-Act-Observe-Learn)

import { AgenticLoop } from '@midstream/lean-agentic';

const loop = new AgenticLoop();
const context = client.createContext('my_session');

// Plan
const plan = await loop.plan(context, 'Get weather for Tokyo');

// The system autonomously:
// - Generates action candidates
// - Ranks by expected reward
// - Executes highest-value action
// - Observes results
// - Learns from experience

2. Knowledge Graph

import { KnowledgeGraph, EntityType } from '@midstream/lean-agentic';

const kg = new KnowledgeGraph();

// Extract entities from text
const entities = kg.extractEntities('Alice works at Google in California');

// Update knowledge graph
kg.update(entities);

// Query entities
const people = kg.queryEntities(EntityType.Person);
const orgs = kg.queryEntities(EntityType.Organization);

// Find related entities
const related = kg.findRelated('alice_entity_id', 2);

3. Stream Processing

import { StreamProcessor } from '@midstream/lean-agentic';

const processor = new StreamProcessor(client, 'session_id');

// Listen to events
processor.on('chunk_processed', ({ chunk, result }) => {
  console.log(`Processed: ${chunk.content}`);
  console.log(`Reward: ${result.reward}`);
});

processor.on('high_reward', (result) => {
  console.log('High reward action detected!', result);
});

// Process stream
const chunks = [
  { content: 'chunk 1', timestamp: Date.now() },
  { content: 'chunk 2', timestamp: Date.now() },
];

const results = await processor.processStream(chunks);

4. Batched Processing

import { BatchedStreamProcessor } from '@midstream/lean-agentic';

// Process in batches of 10
const batchProcessor = new BatchedStreamProcessor(
  client,
  'session_id',
  10
);

batchProcessor.on('batch_processed', ({ result }) => {
  console.log('Batch processed with reward:', result.reward);
});

Advanced Usage

Configuration

const client = new LeanAgenticClient('http://localhost:8080', {
  // Enable formal verification of all actions
  enableFormalVerification: true,

  // Learning rate for online adaptation (0.0 - 1.0)
  learningRate: 0.01,

  // Maximum depth for action planning
  maxPlanningDepth: 5,

  // Confidence threshold for executing actions
  actionThreshold: 0.7,

  // Enable multi-agent collaboration
  enableMultiAgent: true,

  // Knowledge graph update frequency
  kgUpdateFreq: 100,
});

Context Management

const context = client.createContext('session_001');

// Add to history
context.history.push('Previous message');

// Set preferences
context.preferences['preferred_language'] = 0.9;
context.preferences['detail_level'] = 0.5;

// Update environment
context.environment['user_location'] = 'Tokyo';
context.environment['time_of_day'] = 'morning';

Querying System State

// Get system statistics
const stats = await client.getStats();
console.log(`Entities: ${stats.totalEntities}`);
console.log(`Theorems: ${stats.totalTheorems}`);
console.log(`Actions: ${stats.totalActions}`);
console.log(`Avg Reward: ${stats.averageReward}`);

// Get learning statistics
const learningStats = await client.getLearningStats();
console.log(`Iterations: ${learningStats.iterations}`);
console.log(`Parameters: ${learningStats.modelParameters}`);

// Query knowledge graph
const entities = await client.queryEntities({
  entityType: 'Person',
  searchText: 'Alice',
  limit: 10,
});

// Get theorems
const theorems = await client.getTheorems(['safety', 'verified']);

Examples

Real-time Chat Assistant

import { LeanAgenticClient, StreamProcessor } from '@midstream/lean-agentic';

async function chatAssistant() {
  const client = new LeanAgenticClient('http://localhost:8080');
  const processor = new StreamProcessor(client, 'chat_session');

  // Track high-value interactions
  processor.on('high_reward', (result) => {
    console.log('โœจ Learned something valuable!');
  });

  // Process user messages
  const messages = [
    'What is the weather like?',
    'Remember I prefer detailed forecasts',
    'How about tomorrow?',
  ];

  for (const msg of messages) {
    const result = await processor.processChunk({
      content: msg,
      timestamp: Date.now(),
    });

    console.log(`User: ${msg}`);
    console.log(`Action: ${result.action.description}`);
    console.log(`Verified: ${result.verified ? 'โœ“' : 'โœ—'}`);
    console.log('---');
  }

  // Get final statistics
  const stats = await client.getStats();
  console.log('Session Stats:', stats);
}

Learning from Feedback

async function learningExample() {
  const client = new LeanAgenticClient('http://localhost:8080', {
    learningRate: 0.05, // Higher learning rate
  });

  const context = client.createContext('learning_session');

  // Process with feedback loop
  for (let i = 0; i < 100; i++) {
    const result = await client.processChunk(
      `Training example ${i}`,
      context
    );

    // System automatically learns from rewards
    // Higher rewards reinforce action selection
  }

  const stats = await client.getLearningStats();
  console.log(`Learned from ${stats.iterations} iterations`);
  console.log(`Average reward: ${stats.averageReward}`);
}

API Reference

See API Documentation for complete reference.

Architecture

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚              Lean Agentic Learning System               โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚                                                         โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”      โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”               โ”‚
โ”‚  โ”‚   Formal     โ”‚      โ”‚   Agentic    โ”‚               โ”‚
โ”‚  โ”‚  Reasoning   โ”‚โ—„โ”€โ”€โ”€โ”€โ–บโ”‚    Loop      โ”‚               โ”‚
โ”‚  โ”‚   Engine     โ”‚      โ”‚  (P-A-O-L)   โ”‚               โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜      โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜               โ”‚
โ”‚         โ”‚                     โ”‚                        โ”‚
โ”‚         โ”‚    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”                 โ”‚
โ”‚         โ””โ”€โ”€โ”€โ–บโ”‚  Knowledge Graph &   โ”‚                 โ”‚
โ”‚              โ”‚   Theorem Store      โ”‚                 โ”‚
โ”‚              โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜                 โ”‚
โ”‚                           โ”‚                            โ”‚
โ”‚              โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”                 โ”‚
โ”‚              โ”‚  Stream Learning &   โ”‚                 โ”‚
โ”‚              โ”‚  Online Adaptation   โ”‚                 โ”‚
โ”‚              โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜                 โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

License

MIT

Contributing

Contributions welcome! See CONTRIBUTING.md

Support