Changelog¶
All notable changes to this project will be documented in this file.
[0.1.1] - 2026-03-31¶
Fixed¶
CLI commands failed to locate
.envwhen installed from PyPI (pip install xtrace-ai-sdk).dotenv.load_dotenv()without arguments searches from the caller’s file directory (site-packages), never reaching the user’s working directory. All 13 call sites now usefind_dotenv(usecwd=True)for cwd-based discovery. Editable installs (pip install -e .) were unaffected because the source tree sits under the user’s home directory._chunk_into_pagesemitted oversized chunks when a single sentence exceededpage_size. These are now hard-split by character boundary._chunk_jsongains acap_json_elementsoption to further split array elements that exceed the page size.initno longer warns about.envkey conflicts when the existing value already matches the value being written. T
Added¶
EmbeddingErrorexception inx_vec.inference.embeddingwithstatusandchunk_lenfields. The Ollama provider now parses error responses instead of raising a bareaiohttpClientResponseError.loadandupsert-fileaccept--max-chunk-charsto cap chunk size (splits oversized chunks via the text chunker) and--max-parallel-embeddingsto limit concurrent embedding requests.All CLI commands that embed (
load,upsert,upsert-file,retrieve) catchEmbeddingErrorand print context-specific hints (e.g. suggesting--max-chunk-charsfor context-length errors,--max-parallel-embeddingsfor server-busy errors).
[0.1.0] - 2026-03-30¶
Initial release¶
XTraceIntegration— HTTP client for the XTrace encrypted vector DB API (chunk CRUD, Hamming distance, metadata search, execution context management)DataLoader— encrypt and ingest document collections using Paillier homomorphic encryption + AESRetriever— encrypted nearest-neighbor search with optional multiprocessing decode (parallel=True)ExecutionContext— key-provider-protected container for all crypto state; save/load locally or via XTraceKeyProviderprotocol withPassphraseKeyProvider(scrypt-based) andAWSKMSKeyProvider(envelope encryption via AWS KMS)PaillierClientandPaillierLookupClient— Paillier homomorphic encryption clients optimised for Hamming distanceGoldwasserMicaliClient— Goldwasser-Micali homomorphic encryption clientEmbedding— embedding provider wrapper (Ollama, OpenAI, Sentence Transformers)InferenceClient— RAG inference wrapper (OpenAI, Anthropic, Redpill, Ollama)