Skip to content

Latest commit

 

History

History
62 lines (49 loc) · 4.06 KB

File metadata and controls

62 lines (49 loc) · 4.06 KB

API Index

Each EverAlgo distribution has its own README with a quick-start, public API surface, prompt customisation guide, and testing patterns.


Per-distribution READMEs

Distribution README What it provides
everalgo-core packages/everalgo-core/README.md ChatMessage, MemCell, Episode, RankInput/RankOutput, LLMClient, LLMConfig, FakeLLMClient
everalgo-boundary packages/everalgo-boundary/README.md detect_boundaries, DetectionResult, BoundaryDecision
everalgo-clustering packages/everalgo-clustering/README.md Cluster, cluster_by_geometry, cluster_by_llm
everalgo-rank packages/everalgo-rank/README.md rank.episodic, rank.profile, rank.case, rank.skill, rank.fusion, rank.weight, rank.rerank
everalgo-parser packages/everalgo-parser/README.md aparse, ParsedContent, image / audio / document / URL parsers (video deferred)
everalgo-user-memory packages/everalgo-user-memory/README.md BoundaryDetector, EpisodeExtractor, ForesightExtractor, AtomicFactExtractor, ProfileExtractor
everalgo-agent-memory packages/everalgo-agent-memory/README.md AgentBoundaryDetector, AgentCaseExtractor, AgentSkillExtractor, AgentProfileExtractor
everalgo-knowledge packages/everalgo-knowledge/README.md KnowledgeExtractor, aclassify_category, KnowledgeMemory, CategorySpec

Key types at a glance

All shared data contracts are in everalgo.types:

from everalgo.types import (
    ChatMessage,        # single conversation turn — kind="text"
    ToolCallRequest,    # assistant-emitted tool invocation — kind="tool_call"
    ToolCallResult,     # tool execution result — kind="tool_result"
    ConversationItem,   # ChatMessage | ToolCallRequest | ToolCallResult (discriminated union)
    MemCell,            # boundary-segmented conversation slice; items: list[ConversationItem]
    Episode,            # narrative memory — owner_id, episode, subject, timestamp
    Foresight,          # anticipated future event — owner_id, foresight, evidence, start_time, end_time, duration_days
    AtomicFact,         # single verifiable assertion — owner_id (str | None), fact, timestamp
    Profile,            # structured user profile — owner_id, summary, timestamp; extra fields via extra="allow"
    AgentCase,          # distilled agent trajectory — id, timestamp, task_intent, approach, quality_score, key_insight
    AgentSkill,         # aggregated skill — id, cluster_id (caller-stamped), name, description, content, confidence
    AgentProfilePatch,  # one section-level SOUL.md / AGENTS.md edit — file, action, section, old_text, new_text
    AgentProfileUpdate, # AgentProfileExtractor result — patches, soul_diff / agents_diff, new_*_md, signals
    AgentProfileSignal, # below-gate implicit signal — caller persists and feeds back as pending_signals
    KnowledgeMemory,    # extracted knowledge from a file (EXPERIMENTAL)
    RankInput,          # multi-route recall candidates + cross-memory linkage
    RankOutput,         # ranked memory list
    ParsedContent,      # multimodal file parsed into structured content (EXPERIMENTAL)
)

The clustering value object lives in everalgo.clustering:

from everalgo.clustering import Cluster
# Cluster: id (caller-supplied), centroid, count, last_ts, preview, members (caller entity ids)

LLM wire types live in everalgo.llm.types:

from everalgo.llm.types import ChatMessage, ChatResponse, Usage

everalgo.llm.types.ChatMessage is the LLM prompt wire type (sent to the model). everalgo.types.ChatMessage is the domain type (conversation message). They are distinct classes.