Coverage for astrocyte/documents/__init__.py: 100%
9 statements
« prev ^ index » next coverage.py v7.15.0, created at 2026-07-04 05:24 +0000
« prev ^ index » next coverage.py v7.15.0, created at 2026-07-04 05:24 +0000
1"""Astrocyte Document Engine — PageIndex-style tree-structured documents.
3A standalone subsystem for parsing source documents (markdown, PDF, ...)
4into hierarchical tree representations. Independent of the Memory Engine
5— no shared tables, no foreign keys. Memory Engine never sees a tree;
6Document Engine never sees a Memory.
8Three retrieval paths (see docs/_design/document-engine-roadmap.md §2):
9 Path 1 (DE → ME): DocumentIngestor → memory.retain() → memory.recall()
10 Path 2 (CE → ME): ConversationIngestor → memory.retain() → memory.recall()
11 Path 3 (DE + CE → ME): both engines → same bank_id → DocumentNavigator or recall()
13Public API:
14 from astrocyte.documents import (
15 # types
16 Document, DocumentTree, TreeNode, NodeSummary,
17 # parsers
18 Parser, ConvertResult, UnsupportedFileTypeError,
19 ParserRegistry, MarkdownParser, MarkitdownParser,
20 # builders
21 build_markdown_tree, AdaptiveSummarizer,
22 # storage
23 DocumentStore, InMemoryDocumentStore, DocumentNotFoundError,
24 # ingestor
25 DocumentIngestor,
26 # retrieval (tree-search path)
27 DocumentRetriever, DocumentNavigator, make_retrieval_tools,
28 TreeSkeleton, SkeletonNode, NodeContent, SectionHit,
29 DocumentSearchResult, DocumentInfo,
30 )
31"""
33from astrocyte.documents.builders.md_builder import build_markdown_tree
34from astrocyte.documents.builders.summarizer import (
35 DEFAULT_THRESHOLD_TOKENS,
36 PAGEINDEX_SUMMARY_PROMPT,
37 AdaptiveSummarizer,
38)
39from astrocyte.documents.ingestor import DocumentIngestor
40from astrocyte.documents.parsers import (
41 ConvertResult,
42 MarkdownParser,
43 Parser,
44 ParserRegistry,
45 UnsupportedFileTypeError,
46)
47from astrocyte.documents.parsers.markitdown import MarkitdownParser
48from astrocyte.documents.retrieval import (
49 DocumentInfo,
50 DocumentNavigator,
51 DocumentRetriever,
52 DocumentSearchResult,
53 NodeContent,
54 SectionHit,
55 SkeletonNode,
56 TreeSkeleton,
57 make_retrieval_tools,
58)
59from astrocyte.documents.storage import (
60 DocumentNotFoundError,
61 DocumentStore,
62 InMemoryDocumentStore,
63)
64from astrocyte.documents.types import (
65 Document,
66 DocumentTree,
67 NodeSummary,
68 TreeNode,
69)
71__all__ = [
72 # types
73 "Document",
74 "DocumentTree",
75 "NodeSummary",
76 "TreeNode",
77 # parsers
78 "Parser",
79 "ConvertResult",
80 "UnsupportedFileTypeError",
81 "ParserRegistry",
82 "MarkdownParser",
83 "MarkitdownParser",
84 # builders
85 "build_markdown_tree",
86 "AdaptiveSummarizer",
87 "DEFAULT_THRESHOLD_TOKENS",
88 "PAGEINDEX_SUMMARY_PROMPT",
89 # storage
90 "DocumentStore",
91 "InMemoryDocumentStore",
92 "DocumentNotFoundError",
93 # ingestor (Memory-Engine bridge)
94 "DocumentIngestor",
95 # retrieval (tree-search path)
96 "DocumentRetriever",
97 "DocumentNavigator",
98 "make_retrieval_tools",
99 "DocumentInfo",
100 "SkeletonNode",
101 "TreeSkeleton",
102 "NodeContent",
103 "SectionHit",
104 "DocumentSearchResult",
105]