11from __future__ import annotations
22
3- from typing import ClassVar , Dict , List , Optional , Sequence
3+ from typing import ClassVar , Dict , List , Optional , Sequence , Tuple
44
55
66class MossClient :
@@ -10,13 +10,26 @@ class MossClient:
1010
1111 def __init__ (self , project_id : str , project_key : str ) -> None : ...
1212
13+ async def session (
14+ self ,
15+ index_name : str ,
16+ model_id : Optional [str ] = None ,
17+ ) -> SessionIndex : ...
18+
1319 async def create_index (
1420 self ,
1521 name : str ,
1622 docs : List [DocumentInfo ],
1723 model_id : Optional [str ] = ...,
1824 ) -> MutationResult : ...
1925
26+ async def create_index_from_files (
27+ self ,
28+ name : str ,
29+ files : List [ParseFileInput ],
30+ model_id : Optional [str ] = None ,
31+ ) -> MutationResult : ...
32+
2033 async def add_docs (
2134 self ,
2235 name : str ,
@@ -53,16 +66,99 @@ class MossClient:
5366
5467 async def unload_index (self , name : str ) -> None : ...
5568
69+ async def load_indexes (
70+ self ,
71+ names : List [str ],
72+ auto_refresh : bool = False ,
73+ polling_interval_in_seconds : int = 600 ,
74+ ) -> LoadIndexesResult : ...
75+
76+ async def unload_indexes (self , names : List [str ]) -> None : ...
77+
5678 async def query (
5779 self ,
5880 name : str ,
5981 query : str ,
6082 options : Optional [QueryOptions ] = None ,
6183 ) -> SearchResult : ...
6284
85+ async def query_multi_index (
86+ self ,
87+ names : List [str ],
88+ query : str ,
89+ options : Optional [QueryOptions ] = None ,
90+ ) -> SearchResult : ...
91+
92+
93+ class SessionIndex :
94+ """Local in-session index for real-time indexing and querying."""
95+
96+ name : str
97+ doc_count : int
98+
99+ async def add_docs (
100+ self ,
101+ docs : List [DocumentInfo ],
102+ options : Optional [MutationOptions ] = None ,
103+ ) -> Tuple [int , int ]: ...
104+
105+ async def delete_docs (self , doc_ids : List [str ]) -> int : ...
106+
107+ async def get_docs (
108+ self ,
109+ options : Optional [GetDocumentsOptions ] = None ,
110+ ) -> List [DocumentInfo ]: ...
111+
112+ async def query (
113+ self ,
114+ query : str ,
115+ options : Optional [QueryOptions ] = None ,
116+ ) -> SearchResult : ...
117+
118+ async def push_index (self ) -> PushIndexResult : ...
119+
120+
121+ class ParseFileInput :
122+ """Input descriptor for a single file in the parse pipeline."""
123+
124+ name : str
125+ content_type : str
126+ path : Optional [str ]
127+ data : Optional [bytes ]
128+
129+ def __init__ (
130+ self ,
131+ name : str ,
132+ content_type : str ,
133+ path : Optional [str ] = None ,
134+ data : Optional [bytes ] = None ,
135+ ) -> None : ...
136+
137+
138+ class PushIndexResult :
139+ """Result from SessionIndex.push_index()."""
140+
141+ job_id : str
142+ index_name : str
143+ doc_count : int
144+ status : str
145+
146+
147+ class LoadIndexesResult :
148+ """Outcome of a load_indexes call. Best-effort across the batch."""
149+
150+ loaded : List [str ]
151+ failed : Dict [str , str ]
152+
153+ def __init__ (
154+ self ,
155+ loaded : Optional [List [str ]] = None ,
156+ failed : Optional [Dict [str , str ]] = None ,
157+ ) -> None : ...
158+
63159
64160class MutationResult :
65- """Return value from create_index/ add_docs/ delete_docs."""
161+ """Return value from create_index / add_docs / delete_docs."""
66162
67163 job_id : str
68164 index_name : str
@@ -86,8 +182,6 @@ class GetDocumentsOptions:
86182
87183
88184class JobStatus :
89- """Enum-like class for job status values."""
90-
91185 PENDING_UPLOAD : ClassVar [str ]
92186 UPLOADING : ClassVar [str ]
93187 BUILDING : ClassVar [str ]
@@ -98,8 +192,6 @@ class JobStatus:
98192
99193
100194class JobPhase :
101- """Enum-like class for job phase values."""
102-
103195 DOWNLOADING : ClassVar [str ]
104196 DESERIALIZING : ClassVar [str ]
105197 GENERATING_EMBEDDINGS : ClassVar [str ]
@@ -111,17 +203,13 @@ class JobPhase:
111203
112204
113205class JobProgress :
114- """Progress update for a job."""
115-
116206 job_id : str
117207 status : JobStatus
118208 progress : float
119209 current_phase : Optional [JobPhase ]
120210
121211
122212class JobStatusResponse :
123- """Full status response from get_job_status."""
124-
125213 job_id : str
126214 status : JobStatus
127215 progress : float
@@ -143,12 +231,14 @@ class QueryResultDocumentInfo:
143231 text : str
144232 metadata : Optional [Dict [str , str ]]
145233 score : float
234+ index_name : Optional [str ]
146235 def __init__ (
147236 self ,
148237 id : str ,
149238 text : str ,
150239 metadata : Optional [Dict [str , str ]] = ...,
151240 score : float = ...,
241+ index_name : Optional [str ] = ...,
152242 ) -> None : ...
153243
154244
@@ -230,6 +320,10 @@ __version__: str
230320
231321__all__ = [
232322 "MossClient" ,
323+ "SessionIndex" ,
324+ "ParseFileInput" ,
325+ "PushIndexResult" ,
326+ "LoadIndexesResult" ,
233327 "DocumentInfo" ,
234328 "GetDocumentsOptions" ,
235329 "IndexInfo" ,
0 commit comments