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

1"""Astrocyte Document Engine — PageIndex-style tree-structured documents. 

2 

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. 

7 

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() 

12 

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""" 

32 

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) 

70 

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]