Skip to content

Architecture

cognitive-engine is a monorepo with 14 packages, each handling one cognitive module.

Package Map

LayerPackageRole
Core@cognitive-engine/coreTypes, interfaces, events, config
Core@cognitive-engine/mathLinear algebra, sampling, temporal math
Perception@cognitive-engine/perceptionInput analysis, entity extraction, belief candidates
Memory@cognitive-engine/memoryEpisodic and semantic memory
Reasoning@cognitive-engine/reasoningWorld model, working memory, intention generation
Mind@cognitive-engine/mindReflection, relationships, open loops, emotional triggers
Emotional@cognitive-engine/emotionalEmotional state modeling
Social@cognitive-engine/socialRapport, boundaries, communication preferences
Temporal@cognitive-engine/temporalPatterns, causal chains, predictions
Planning@cognitive-engine/planningMulti-step plan generation
Metacognition@cognitive-engine/metacognitionContradiction detection, strategy tracking, cognitive load
Orchestrator@cognitive-engine/orchestratorFull pipeline orchestration
Bandit@cognitive-engine/banditThompson Sampling for strategy selection
Storage@cognitive-engine/store-memoryIn-memory store implementation
Provider@cognitive-engine/provider-openaiOpenAI LLM and embedding provider

Data Flow

The orchestrator runs a cognitive cycle on each input:

1. Perceive     - analyze input, extract entities and intent
2. Remember     - query episodic + semantic memory for context
3. Reason       - form beliefs, generate intentions
4. Plan         - create multi-step plan if needed
5. Metacognize  - check for contradictions, adjust strategy
6. Respond      - generate output with full cognitive context
7. Store        - save episode to memory for future recall

Provider Interface

All LLM calls go through the LlmProvider interface:

typescript
interface LlmProvider {
  complete(messages: LlmMessage[], options?: LlmOptions): Promise<LlmResponse>
  completeJson<T>(messages: LlmMessage[], options?: LlmOptions): Promise<LlmResponse & { parsed: T }>
}

Implement this interface to use any LLM. The @cognitive-engine/provider-openai package provides a ready-made OpenAI implementation.

Released under the Apache 2.0 License.